ryukadll/flay-grabber-deobfuscator
GitHub: ryukadll/flay-grabber-deobfuscator
一款针对常见信息窃取器和远控木马的静态分析工具,通过指纹识别恶意软件家族并提取C2配置。
Stars: 0 | Forks: 0
# [flay](https://solution-flay.netlify.app/)
一款用于识别和提取常见 Stealer 和 RAT 中 C2 配置的静态分析工具。只需将其指向一个可疑的二进制文件,它就能识别恶意软件家族,尽可能提取 Webhook 或 Bot Token,并进行实时验证。
```
███████╗██╗ █████╗ ██╗ ██╗
██╔════╝██║ ██╔══██╗╚██╗ ██╔╝
█████╗ ██║ ███████║ ╚████╔╝
██╔══╝ ██║ ██╔══██║ ╚██╔╝
██║ ███████╗██║ ██║ ██║
╚═╝ ╚══════╝╚═╝ ╚═╝ ╚═╝
grabber deobfuscator
```
## 功能特性
- 仅凭二进制文件即可识别恶意软件家族,无需执行
- 在格式允许静态恢复的情况下,提取 Discord Webhook、Discord Bot Token 和 Telegram Bot Token
- 实时验证提取的凭证(检查 Webhook/Token 是否仍处于活跃状态)
- 支持通过 URL 直接下载样本(`-d` 前缀)
- 针对 Python 编写的 Grabber,支持 PyInstaller 提取及自动去混淆
## 检测覆盖范围
### Stealers
| 家族 | 检测 | C2 提取 |
|---|---|---|
| Umbral Stealer | ✅ | ✅ Webhook |
| Doenerium | ✅ | ✅ Webhook |
| StormKitty | ✅ | ✅ Telegram token/Webhook |
| Skuld Stealer | ✅ | ✅ Webhook |
| RedLine Stealer | ✅ | ❌ |
| Blank Grabber | ✅ (通过 PyInstaller) | ✅ Webhook |
| Exela Stealer | ✅ (通过 PyInstaller) | ✅ Webhook |
| Luna Grabber | ✅ (通过 PyInstaller) | ✅ Webhook |
| Empyrean / Vespy | ✅ (通过 PyInstaller) | ✅ Webhook |
| Ben Grabber | ✅ (.jar) | ✅ Webhook |
### RATs
| 家族 | 检测 | C2 提取 |
|---|---|---|
| Discord RAT | ✅ | ✅ Bot token + Guild ID |
| XWorm | ✅ | ❌ |
| AsyncRAT | ✅ | ❌ |
| VenomRAT | ✅ | ❌ |
| DCRat | ✅ | ❌ |
| Quasar / Pulsar RAT | ✅ | ❌ |
| NjRAT / Bladabindi | ✅ | ❌ |
| LimeRAT | ✅ | ❌ |
| OrcusRAT | ✅ | ❌ |
## 环境要求
- Python 3.10+
- `requirements.txt` 中列出的依赖项
```
pip install -r requirements.txt
```
## 用法
```
python flay.py
```
系统将提示您输入文件路径或 URL。
**本地文件:**
```
Enter file path (or URL with -d prefix): C:\samples\malware.exe
```
**直接下载并分析:**
```
Enter file path (or URL with -d prefix): -d https://example.com/sample.exe
```
## 工作原理
检测采用分层指纹评分系统。每个二进制文件都会根据特定家族的字符串模式(.NET 使用 UTF-16LE,其他使用 ASCII/Go 字符串表)进行检查,并按置信度加权:
- **HIGH** (高) 指纹:+3 — 特定家族源代码独有的字符串
- **MEDIUM** (中) 指纹:+2 — 关联性强,极少出现在其他地方
- **LOW** (低) 指纹:+1 — 存在于该家族中,但仅凭此无法唯一确定
必须达到可配置的阈值(默认 ≥5)才能确认家族。这可以避免因 Fork 或共享代码导致的误报。对于继承自其他家族代码的家族(例如 VenomRAT 继承自 AsyncRAT),会在调度器中优先检查。
对于通过 PyInstaller 打包的 Python Grabber,工具会在分析前解压存档并反编译嵌入的字节码。
## 注意事项
- 检测仅基于静态分析 — 不涉及沙箱或动态分析
- C2 提取仅在凭证以明文存储或使用可恢复编码的情况下才可行。加密的配置(XWorm、AsyncRAT 等)无法被提取
- 提取的 Webhook 可选择在工具内进行删除或轰炸 (Spam) 操作
## 局限性
**flay 仅对未修改或轻微修改的样本可靠工作。** 检测基于原始源代码中存在的已知字符串指纹。如果样本经过了自定义 Crypter、Packer 或混淆器处理,flay 寻找的明文字符串将不会出现在二进制文件中,从而导致检测失败。这是预期行为,是静态字符串分析的基本限制,而非 Bug。
**未检测到结果并不代表文件无害。** 如果 flay 未识别某个文件,并不意味着该文件是安全的。这意味着 flay 无法自信地将其与已知家族匹配。该文件可能仍然是恶意的,可能是未知家族、经过大幅修改的变种或定制构建的恶意软件。
如果 flay 未查出结果且您仍对文件存疑,请将其提交至 **[threat.rip](https://threat.rip)** 进行更深入的分析。
## 致谢
- 本项目深受 TaxMachine 的 [Grabbers-Deobfuscator](https://github.com/TaxMachine/Grabbers-Deobfuscator) 和 uncoverit.org 的启发
标签:AsyncRAT, BotToken, C2提取, C2日志可视化, DAST, DiscordRAT, DNS 反向解析, Doenerium, HTTP工具, IP 地址批量处理, PyInstaller解包, Python, RedLine, Webhook提取, XWorm, 不执行检测, 云安全监控, 反病毒, 威胁情报, 开发者工具, 恶意软件分析, 恶意软件识别, 指纹识别, 无后门, 窃密木马, 远控木马, 配置提取, 静态分析