CSSG:一款功能強大的Cobalt Strike Shellcode生成工具

語言: CN / TW / HK

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:【 GitHub傳送門