另一种使用 C++ 的 shellcode 注入技术,尝试使用 XOR 加密魔法和 UUID 字符串疯狂来绕过 Windows Defender :)。
该shellcode注入技术包括以下步骤:
- 首先,它通过有效载荷的执行和驻留分配虚拟内存:
VirtualAlloc
- 它使用密钥值
xor
解密有效载荷xor
- 用于
UuidFromStringA
将UUID
字符串转换为二进制表示形式,并将其存储在先前分配的内存中。这是为了避免使用诸如WriteProcessMemory
或 之类的可疑 APImemcpy
。 - 用于
EnumChildWindows
执行先前加载到内存中的有效载荷
Shellcode 生成
-
首先,生成二进制格式的有效载荷(使用
Havoc
,CobaltStrike
或msfvenom
),例如,在中msfvenom
,您可以这样做(我使用的有效载荷是为了说明目的,您可以使用任何您想要的有效载荷):msfvenom -p windows/messagebox -f raw -o shellcode.bin
-
UUID
然后使用 Python3 脚本将 shellcode(二进制/原始格式)转换为字符串格式bin_to_uuid.py
:./bin_to_uuid.py -p shellcode.bin -o uuid.txt
-
xor
使用 Python3 脚本加密UUID
中的字符串。uuid.txt
xor_encryptor.py
./xor_encryptor.py uuid.txt > xor_crypted_out.txt
-
复制
C-style
文件中的数组,xor_crypted_out.txt
并将其作为数组粘贴到 C++ 文件中,unsigned char
即unsigned char payload[]{your_output_from_xor_crypted_out.txt}
下载链接
原文始发于微信公众号(贝雷帽SEC):【红队】一款使用 UUID 编码的 Shellcode 的工具
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论