CSSG:功能强大的Cobalt Strike 生成工具

boyanx2个月前技术教程13

CSSG

CSSG是一款功能强大的Cobalt Strike Shellcode生成工具。本质上来说,CSSG是一个具备攻击性的Python脚本,广大研究人员可以使用它来轻松生成并格式化信标Shellcode。

该工具支持生成无阶段信标Shellcode,并带有暴露的退出方法、额外的格式化、加密、编码、压缩和多行输出等功能。

注意:Shellcode的转换通常需要按菜单顺序降序执行。

执行要求

可选的AES加密选项使用/assets文件夹中的python脚本实现。

具体取决于要安装的pycryptodome包来执行AES加密。

在使用pip命令安装pycryptodome包时,具体取决于你的Python环境:

python -m pip install pycryptodome

python3 -m pip install pycryptodome

py -3 -m pip install pycryptodome

py -2 -m pip install pycryptodome

我们可以在pip安装执行完成之后检测pycryptodome包的安装情况,使用命令如下:

python -m pip list | grep crypto

生成器将会使用系统默认的“python”命令来启动AES加密脚本。

工具下载

广大研究人员可以使用下列命令将该项目源码克隆至本地并使用:

git clone https://github.com/RCStep/CSSG.git

Shellcode生成器选项

监听器:

使用"..."按钮选择一个有效的监听器。Shellcode将会根据选择的监听器来生成。

发送器:

无阶段(CSSG是一款不支持阶段操作的Shellcode生尘器)。

退出方法:

进程:当信标关闭之后,退出整个进程;

线程:当信标关闭之后,退出运行信标的线程;

本地Shellcode选项:

如果要从现有信标执行Shellcode,则可以使用该选项。

生成一个信标Shellcode Payload,该Payload可以从同一架构父信标继承关键函数指针。

现有会话:

Shellcode会将会话元数据提取至父Beacon会话中。

Shellcode将会在此信标会话中执行。

x86选项:

生成x86 Shellcode,默认生成x64 Shellcode。

使用Shellcode文件:

使用外部生成的原始Shellcode文件代替生成信标Shellcode。

这将允许我们使用以前导出的Shellcode文件或其他工具(Donut、msfvenom等)的输出。

格式化:

元数据 - Shellcode二进制源码输出,无格式化;

十六进制 - Shellcode十六进制格式输出;

0x90,0x90,0x90 - Shellcode C#风格字节数组输出;

\x90\x90\x90 - Shellcode C\C++风格字节数组输出;

b64 - Base64编码选项;

异或加密Shellcode:

勾选以对Shellcode进行异或加密。

异或密钥:

使用随机生成的或可编辑的异或密钥字符进行加密。

多个字符意味着多轮异或加密。

AES加密Shellcode:

勾选以启用对Shellcode的AES加密,加密类型可选。

使用一个Python脚本来执行AES分组密码AES-CBC加密。

Shellcode将会填充\0值来满足分组大小要求。

除此之外,工具还会在在加密的Shellcode数据前面加上一个随机生成的向量。

AES密钥:

用于加密的随机生成的可编辑AES密钥。

生成32字节的密钥,并优先用于256位加密强度。

接受的加密密钥字节长度为16、24和32位。

编码和压缩:

无编码/压缩 - 不对Shellcode进行编码和压缩。

b64 - 进行Base64编码。

Gzip + b64 - 先进行gzip压缩,然后进行Base64编码。

gzip - 进行gzip压缩。

b64 + gzip - 先进行Base64编码,然后进行gzip压缩。

工具运行截图

添加Shellcode-Cobalt Strike顶部菜单栏的Shellcode生成器:

CSSG:【
https://github.com/RCStep/CSSG】

相关文章

你要的CSS布局都在这里

大家好,我是三木。这篇文章,替大家汇总了css的布局方式,在每个布局的结尾附上了我认为比较好的文章链接,不仅仅可以当作学习资料,也可以当作方法的查询手册,以后开发的时候忘记了某个属性就来查查。看完推荐...

Python之文本解析:字符串格式化的逆操作?

引言前面的文章中,提到了关于Python中字符串中的相关操作,更多地涉及到了字符串的格式化,有些地方也称为字符串插值操作,本质上,就是把多个字符串拼接在一起,以固定的格式呈现。关于字符串的操作,其实还...

什么是Markdown,如何使用它?

Markdown是一种简单的语法,它以标题、列表、粗体等形式格式化文本,这种标记语言很流行,你肯定有一些应用程序支持它。下面是一个Markdown的简单示例,介绍了什么是Markdown,如何和在哪里...

关于CSS伪类&伪元素的一些知识——CSS学习之路

最近两天接触到了CSS伪类和伪元素之间的关系,伪类和伪元素在css代码中使用:做标识符,同来识别元素。我倒是理解,可是为什么时常见到一会用一个冒号,一会用两个,然后就感觉很迷糊了,于是就有了这一篇文章...

CSS视觉格式化模型,你真的了解么?

CSS视觉格式化模型(visual formatting model)是用来处理文档并将它显示在视觉媒体上的机制。这是CSS 2.1的一个基础概念。视觉格式化模型根据CSS盒模型为文档的每个元素生成0...

一个vsCode格式化插件

ESlint:是用来统一JavaScript代码风格的工具,不包含css、html等。背景近来研究前端,然后一直在百度上找VScode格式化(ESlint)的插件,结果找了半天都不靠谱。目前没有一个可...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。