nim-loader
通过拼凑资源来学习nim,创建一个实现常见EDR/AV规避技术的shellcode加载器,这是一个非常粗糙的进行中的冒险。
这很混乱,仅供研究目的!请不要指望它不经你自己的修改就能编译和运行。
使用说明
- 将
loader.nim 中的字节数组替换为你自己的 x64 shellcode
- 编译EXE并运行:
nim c -d:danger -d:strip --opt:size "loader.nim"
- 可能要通过查看你使用的注入文件夹方法中的 .nim 文件来调整要注入到的进程...
已完成功能
- 从NTDLL动态解析的直接系统调用(感谢 @ShitSecure)
- AMSI和ETW补丁(感谢 @byt3bl33d3r)
- NTDLL解除挂钩(感谢 @MrUn1k0d3r)
- CreateRemoteThread注入(感谢 @byt3bl33d3r, @ShitSecure)
正在开发的功能
混淆
- 考虑使用 @LittleJoeTables 的 denim 以支持使用obfuscator-llvm编译nim!
参考与启发
- Marcello Salvati (@byt3bl33d3r) 的 OffensiveNim
- Alfie Champion (@ajpc500) 的 NimlineWhispers2
- klezVirus (@KlezVirus) 的 SysWhispers3
- Cas van Cooten (@chvancooten) 的 NimPackt-v1
- Mr. Un1k0d3r (@MrUn1k0d3r) 的 unhook_bof.c
- S3cur3Th1sSh1t (@ShitSecure) 的 NimGetSyscallStub
- snovvcrash (@snovvcrash) 的 NimHollow
示例