关于AtomLdr
AtomLdr是一款带有规避功能的高级DLL加载工具,在该工具的帮助下,广大研究人员可以轻松地以隐蔽性极强的形式在目标设备上实现DLL加载。
功能介绍
1、独立的CRT库;
2、最后的DLL文件可以通过加载DLL(执行其入口点)或通过命令行执行导出的“Atom”函数来运行Payload;
3、DLL从\KnwonDlls目录解除钩子,而且没有RWX字段;
4、加密的Payload存储在资源字段,可以通过自定义代码进行检索;
5、使用AES256-CBC对Payload加密;
6、AES密钥和IV加密;
7、间接系统调用,使用了带有ROP小工具的HellHall;
8、使用APC调用实现Payload注入;
9、使用APC实现Payload执行;
10、使用了两种不同的CRC32字符串哈希算法实现API哈希;
11、整个工具代码提及非常小;
工作机制
工具下载
广大研究人员可以使用下列命令将该项目源码克隆至本地:
git clone https://github.com/NUL0x4C/AtomLdr.git
工具使用
1、PayloadBuilder需要使用指定的Payload进行编译和执行,它将输出一个PayloadConfig.pc文件,该文件包含加密的有Payload及其加密密钥和IV;
2、生成的PayloadConfig.pc文件接下来需要替换AtomLdr项目中的【PayloadConfig.pc】;
3、将AtomLdr项目编译为x64版本;
4、若要启用调试模式,请在【此处】取消注释;
工具使用样例
样例一
执行AtomLdr.dll,运行rundll32.exe,运行HavocPayload,工具界面如下图所示:
AtomLdr.dll的导入地址表:
样例二-调试模式
运行PayloadBuilder.exe,加密demon[111].bin(一个Havoc Payload文件):
使用rundll32.exe来运行AtomLdr.dll:
Payload执行后,Havoc获取屏幕截图:
许可证协议
本项目的开发与发布遵循Apache-2.0开源许可证协议。
项目地址
AtomLdr:【GitHub传送门】
参考资料
https://github.com/NUL0x4C/AtomLdr/blob/main/maldevacademy.com
https://github.com/bitcoin-core/ctaes
https://github.com/Maldev-Academy/HellHall
https://www.x86matthew.com/view_post?id=writeprocessmemory_apc