关于SuperMega
SuperMega是一款功能强大的Shellcode加载工具,该工具不仅能够帮助广大研究人员实现Shellcode的自定义加载,而且还可以将其注入到可执行文件中执行进一步的安全测试。
SuperMega的加载器使用C语言开发,支持将Shellcode注入到.exe或.dll中,并实现动态加载,以此实现针对应用程序安全的审计任务。
功能介绍
1、加密Payload;
2、执行护栏,因此Payload仅在目标上解密;
3、反模拟,对抗 AV 模拟器;
4、EDR 去条件器,针对 EDR 内存扫描;
5、保留可执行文件的所有原始属性(导入等);
6、非常小的装载器;
7、利用 main 函数劫持执行代码;
8、无需 PEB 遍历,重用 IAT 来执行 Windows API 函数;
9、将数据注入载体 shellcode 的 .rdata 中;
工具要求
pytest
pefile
capstone
keystone-engine
jinja2
Pygments
ansi2html
requests
pyyaml
flask
setuptools
intervaltree
r2pipe
brotli
工具安装
由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好最新版本的Python 3环境。
接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:
git clone https://github.com/dobin/SuperMega.git
然后切换到项目目录中,使用pip命令和项目提供的requirements.txt安装该工具所需的其他依赖组件:
cd SuperMega pip install -r requirements.txt
工具使用
> ./web.py
然后打开浏览器,访问http://localhost:5001即可。
或者,使用下列命令在命令行工具中执行工具脚本:
./supermega.py --help
工具目录结构
data/binary/shellcodes:输入:我们想要用作输入(Payload)的 Shellcode;
data/binary/exes/:输入:我们注入的非恶意 EXE 文件;
data/source/carrier:输入:载体C模板;
projects/<projectname>:输出:包含所有文件的项目目录;
projects/default:输出:包含所有文件的项目目录;
工具运行演示
许可证协议
本项目的开发与发布遵循GPL-3.0开源许可协议。
项目地址
SuperMega:【GitHub传送门】
参考资料
https://docs.google.com/presentation/d/1_gwd0M49ObHZO5JtrkZl1NPwRKXWVRm_zHTDdGqRl3Q/edit?usp=sharing