一款静态分析工具,用于从 laZzzy 封装的 PE 二进制文件中提取加密的 shellcode,无需动态执行、调试或模拟。
laZzzy Dump 是一款恶意软件分析工具,通过静态提取由 laZzzy 编译的二进制文件中的 shellcode 来辅助分析。laZzzy 是一个开源 shellcode 加载器,使用 AES-CBC 加密结合 XOR 混淆。
在涉及多阶段恶意软件链的事件响应调查中,手动解密 laZzzy 载荷既繁琐又耗时。本工具通过以下方式自动化该过程:
laZzzy 生成一个完整的 Windows PE 可执行文件,其中包含:
由 laZzzy 编译的 AESDecrypt 函数包含可识别的指令序列:
该工具扫描二进制文件以查找此模式,无需反汇编器即可定位该函数。
一旦找到该函数,工具会从 LEA 和 MOV 指令中提取操作数,并解析 RIP 相对地址以恢复:
提取的材料通过以下方式解密:
结果是可供进一步分析的原始 shellcode。
pip install pefile pycryptodome
./laZzzy_dump.py -n <path_to_lazzy_binary>
./laZzzy_dump.py -n malware.exe
该工具会打印:
<binary_path>_dumped[+] Processing malware.exe
[+] Found AESDecrypt function: Virtual Address:0x140026db0 File Offset:0x2db0
[+] Key:
[+] 0002f010 48 c2 f4 a1 12 34 56 78 9a bc de f0 11 22 33 44 |H..q...x......"3D|
[+] IV:
[+] 0002f020 55 66 77 88 99 aa bb cc dd ee ff 00 11 22 33 44 |Ufgw............"3D|
[+] XOR Key:
[+] 0002f030 aa bb cc dd ee ff 00 11 22 33 44 55 66 77 88 99 |......"3DUfw....|
[+] Writing shellcode to malware.exe_dumped
该工具已针对多个独立生成的 laZzzy 样本进行了验证,这些样本具有不同的构建配置和载荷类型。签名模式成功地在这些样本中定位了 AESDecrypt 函数,且无误报。
本工具仅供教育和授权的安全研究目的使用。未经授权访问计算机系统是非法的。仅可在您拥有或获得明确测试许可的系统上使用。