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傳送門