noderaven/payload-obfuscator

GitHub: noderaven/payload-obfuscator

一款用于学习 Windows PE64 静态规避技术的 Python 工具,通过多种混淆技术降低二进制文件的静态检测特征。

Stars: 0 | Forks: 0

# payload-obfuscator 一款针对 Windows PE64 二进制文件应用静态规避技术的 Python 工具。专为 OSEP (PEN-300) 学习以及 Windows 11 / EDR 静态检测研究而构建。仅供授权实验室使用。 ## 状态:第一阶段(静态规避) 第一阶段会生成结构有效且特征稀疏的 PE 文件,能够规避常见的静态启发式检测。注入的 XOR 字符串解密器和 PEB 遍历 API 解析器 stub 已写入二进制文件,但尚未在加载时调用,因此输出的二进制文件在运行时不具备功能。TLS callback 的接入将在第二阶段完成。 ## 技术 通过 `ObfuscationPipeline` 按以下顺序应用: 1. `header_normalize` - 将 TimeDateStamp 置零,剥离 Rich header,清除调试目录 2. `string_encrypt` - 对 `.rdata`/`.data` 中的可打印 ASCII 字符串进行 XOR 加密;注入解密器 stub 和表 3. `import_hash` - 用无害的诱饵覆盖高风险导入名称(如 VirtualAlloc、CreateThread 等);注入 ROR-13 PEB 遍历解析器 stub 4. `section_rename` - 将节重命名为看似合理的 MSVC 名称;保留关键节(`.rsrc`、`.reloc`、`.tls`) 5. `entropy_reduce` - 用低熵模式填充节间隙,以规避加壳启发式检测 6. `junk_sections` - 附加一个低熵诱饵节 ## 安装 ``` git clone https://github.com/noderaven/payload-obfuscator.git cd payload-obfuscator python -m venv .venv source .venv/bin/activate pip install -r requirements.txt ``` 需要 Python 3.10+。支持跨平台运行;已在 Linux/Kali 上测试。 ## 用法 ``` # 列出可用的 techniques python __main__.py --list-techniques # 混淆 binary(默认输出: _obf.exe) python __main__.py path/to/input.exe # 指定输出、跳过 techniques、启用 debug logging python __main__.py input.exe -o output.exe --skip junk_sections,entropy_reduce --verbose ``` 执行 `pip install -e .` 后,也可以使用 `payload-obfuscator` 命令行脚本。 ## 开发 ``` pip install -r requirements-dev.txt pytest # 47 tests python src/stubs/generate.py # regenerate stub bytes (requires keystone-engine) ``` ## 免责声明 仅供教育用途。旨在用于授权的实验室目标以及与 OSEP (PEN-300) 课程相关的自学。作者不对任何滥用行为负责。
标签:DNS 反向解析, PE文件处理, Python, 安全规则引擎, 数据展示, 无后门, 混淆, 红队, 逆向工具