anshul-verma-creator/Custom-Payload-Encoder-Obfuscation-Framework
GitHub: anshul-verma-creator/Custom-Payload-Encoder-Obfuscation-Framework
一个用于研究攻击性 Payload 如何通过编码和混淆绕过签名检测的教学型安全工具框架。
Stars: 1 | Forks: 0
# 自定义 Payload 编码器与混淆框架
## 项目概述
一个实用的 payload 编码和混淆框架,旨在研究攻击性 payload 如何通过转换来规避基于特征检测的系统(AV、EDR、IPS、防火墙)。
### 功能说明
| 模块 | 功能 |
|--------|-----------|
| **编码器 (Encoder)** | Base64、XOR(用户自定义密钥)、ROT13、多层链式编码 |
| **混淆器 (Obfuscator)** | 6 种不同的字符串混淆技术 |
| **规避测试器 (Evasion Tester)** | 模拟的基于特征的检测引擎,包含 35+ 个默认特征 |
| **报告生成器 (Report Generator)** | 包含绕过率的完整对比报告 |
## 项目结构
```
payload encoder/
├── main.py ← Entry point (interactive + CLI)
├── encoder.py ← Encoding module (Base64 / XOR / ROT13)
├── obfuscator.py ← String obfuscation module
├── evasion_tester.py ← Detection engine + evasion comparison
├── report_generator.py ← Report builder
├── samples/
│ └── sample_payloads.txt ← Example test payloads
├── reports/ ← Auto-created, stores generated .txt reports
└── README.md
```
## 快速开始
### 前置条件
- Python 3.8 或更高版本
- 无外部依赖 — 仅使用 Python 标准库
### 运行(交互模式)
```
python main.py
```
### 运行(CLI 模式)
```
# 单个 payload
python main.py --payload "whoami"
# 自定义 XOR key
python main.py --payload "net user" --xor-key 77
# 多层编码(先 base64 → 再 xor)
python main.py --payload "ipconfig" --layer base64,xor --xor-key 33
# 从文件加载 payload
python main.py --file samples/sample_payloads.txt
# Quiet mode(隐藏控制台输出,仍保存报告)
python main.py --payload "mimikatz" --quiet --output-dir ./results
```
## 模块
### `encoder.py` — 编码模块
| 函数 | 描述 |
|----------|-------------|
| `base64_encode(payload)` | 对字符串进行 Base64 编码 |
| `base64_decode(encoded)` | 将 Base64 解码回明文 |
| `xor_encode(payload, key)` | 将每个字符与密钥(0–255)进行 XOR 运算,返回十六进制字符串 |
| `xor_decode(hex_str, key)` | 逆向 XOR 编码 |
| `rot13_encode(payload)` | 应用 ROT13 替换密码 |
| `rot13_decode(encoded)` | 逆向 ROT13(自逆运算) |
| `layered_encode(payload, methods, xor_key)` | 链式执行多个编码步骤 |
### `obfuscator.py` — 字符串混淆模块
| 技术 | 描述 |
|-----------|-------------|
| 垃圾字符插入 | 在 payload 字符之间注入随机字符 |
| 字符分割 | 将字符串表示为 `"c"+"m"+"d"` 拼接形式 |
| 反转 | 反转 payload 字符串 |
| Unicode 转义 | 将每个字符转换为 `\u00XX` 形式 |
| 大小写交替 | 交替大/小写形式(例如 `WhOaMi`) |
| 十六进制交错 | 使用空字节分隔符将字符转换为十六进制 |
### `evasion_tester.py` — 检测引擎
- 35+ 个默认特征,涵盖:shell 命令、下载木马、反向 shell 模式、SQL 注入、XSS 以及已知的恶意软件名称
- `SignatureDetector.scan(payload)` — 扫描单个 payload
- `SignatureDetector.compare(original, variants)` — 比较原始 payload 与所有编码/混淆后的变体
- 返回带有绕过率的结构化 `EvasionReport`
### `report_generator.py` — 报告引擎
生成一个结构化的 `.txt` 报告,包含:
- 编码后的 payload 输出
- 混淆后的 payload 输出
- 各个变体的检测结果
- 绕过率 / 检出率统计
- 解码验证部分
## 示例输出
```
╔══════════════════════════════════════════════════════════════╗
║ CUSTOM PAYLOAD ENCODER & OBFUSCATION FRAMEWORK v1.0 ║
╚══════════════════════════════════════════════════════════════╝
STEP 1 — ENCODING
[Base64] d2hvYW1p
[XOR k=42] 5d 46 52 47 52 4b
[ROT13] jubnzv
STEP 2 — STRING OBFUSCATION
[Junk Insert] w!@#h#$o$%a%^m^&i…
[Char Split] "w"+"h"+"o"+"a"+"m"+"i"
[Reversal] imaohw
[Unicode Escape] \u0077\u0068\u006f\u0061\u006d\u0069
[Case Alternation] WhOaMi
[Hex Interleave] \x77\x00\x68\x00\x6f…
STEP 3 — EVASION TESTING
Original → 🔴 DETECTED
Base64 encoded → 🟢 BYPASSED
XOR encoded → 🟢 BYPASSED
ROT13 encoded → 🟢 BYPASSED
…
Bypass rate : 88.9%
Detection rate: 11.1%
```
## 工作流架构
```
START
│
▼
Load Payload (string / file)
│
▼
Select Encoding Methods (Base64 / XOR / ROT13 / Layered)
│
▼
Apply String Obfuscation (6 techniques)
│
▼
Run Evasion Test (signature matching on original + all variants)
│
▼
Generate Report → ./reports/evasion_report_.txt
│
▼
END
```
## 学习成果
- payload 如何转换以规避静态特征检测
- XOR / Base64 编码为何能绕过简单的模式匹配
- 混淆如何增加恶意软件分析的难度
- 为什么需要分层安全和行为检测
- 红队如何在实战中隐藏恶意内容
## 许可证与道德规范
本项目仅用于:
- 学术课程作业和学习
- 实验室环境中的授权渗透测试
- 获得明确书面许可的安全研究
**滥用此框架是非法且不道德的行为。在对任何系统进行测试之前,请务必获得书面许可。**
标签:DNS 反向解析, Python, 免杀技术, 无后门, 暴力破解检测, 混淆框架, 载荷编码, 逆向工具