idlandanish/FlagHound
GitHub: idlandanish/FlagHound
FlagHound 是一款 CTF 取证自动化工具,通过递归解压、编码解码、XOR 暴力破解和并行扫描快速发现 flag。
Stars: 1 | Forks: 0
# 🚩 FlagHound v2.0 - CTF 取证自动化
[](https://www.python.org/downloads/)
[](https://opensource.org/licenses/MIT)
**助力夺得第一的最快 CTF 取证工具。** FlagHound 自动化文件分析、嵌套归档解压和混淆破解,以秒为单位找到 flag,而不是小时。
## 🏆 核心功能
- 递归归档解压**:自动解压嵌套的 `.zip`、`.tar`、`.gz`、`.bz2`、`.xz`,最深可达 **10 层**。包含防范 zip 炸弹的安全保护措施。
- XOR 暴力破解引擎**:使用频率分析和 flag 模式启发式算法(`flag{`、`CTF{` 等),自动检测并破解单字节和短多字节 XOR 密钥。
- 智能取证**:
- 从 ELF/Mach-O/PE 文件中提取二进制字符串。
- 熵分析以检测加密/压缩区域。
- 内存映射(`mmap`),无需耗尽 RAM 即可处理 GB 级别的文件。
- 并行处理**:通过 `ProcessPoolExecutor` 使用所有 CPU 核心扫描目录。
- Web 支持**:直接分析 URL(`http/https`),无需手动下载。
- 自动解码**:递归解码 Base64、Hex、Rot13 和 URL 编码,直到出现明文。
- 健壮性**:全局错误恢复(跳过损坏的文件)、详细的日志记录和安全的路径处理。
## 安装说明
### 通过源码
```
git clone https://github.com/yourusername/flaghound.git
cd flaghound
pip install -e .
```
### 依赖项
FlagHound 需要 Python 3.8+ 以及以下包(自动安装):
- `chardet`(字符编码检测)
- `requests`(Web 获取)
```
pip install -r requirements.txt
```
## 🚀 使用说明
### 基础扫描
扫描单个文件或目录:
```
flaghound /path/to/challenge.zip
flaghound ./ctf_challenges/misc/
```
### 从 URL 扫描
直接分析远程文件:
```
flaghound https://example.com/challenge.bin
```
### 详细模式
启用详细日志记录以查看解压层和分析步骤:
```
flaghound -v ./nested_archives/
```
### 输出控制
将结果保存到文件:
```
flaghound -o results.txt ./big_dataset/
```
### 帮助
```
flaghound --help
```
## 🔍 工作原理
1. **数据获取**:接受本地路径或 URL。
2. **解压循环**:递归解压归档文件(最大深度 10)。检测 magic bytes,而不仅仅是扩展名。
3. **取证**:
- 计算熵以发现加密。
- 根据文件类型提取字符串(二进制与文本)。
- 运行密码解码器(Base64/Hex/Rot13 链)。
4. **密码攻击**:如果检测到高熵或 XOR 模式,则对常见的 flag 格式运行暴力破解。
5. **报告**:输出找到的 flag 及其文件路径和上下文。
## 📂 项目结构
```
flaghound/
├── __init__.py # Package exports
├── cli.py # Entry point, argument parsing, parallel orchestration
├── triage.py # Core analysis logic (strings, entropy, file types)
├── crypto.py # Decoding (Base64, Hex, Rot13) + XOR brute-forcer
├── archives.py # Recursive extraction logic (zip, tar, gz, etc.)
├── web.py # URL fetching and content handling
├── utils.py # Helper functions (flag regex, formatting)
├── setup.py # Installation script
└── requirements.txt # Python dependencies
```
## 🧪 示例
### 嵌套归档挑战
```
$ flaghound -v challenge.zip
[+] Scanning: challenge.zip
[+] Detected: ZIP Archive
[+] Extracting layer 1: data.tar.gz
[+] Extracting layer 2: payload.xz
[+] Extracting layer 3: secret.txt
[+] Found Flag: flag{x0r_brut3_f0rc3_w0rk5}
```
### XOR 加密的二进制文件
```
$ flaghound encrypted.bin
[+] Scanning: encrypted.bin
[+] High entropy detected (7.98)
[+] Attempting XOR brute-force...
[+] Key found: 0x5A
[+] Found Flag: CTF{h1dd3n_1n_pl41n_s1ght}
```
## ⚡ 性能提示
- **对大型数据集使用 `-v`** 以跟踪进度。
- **并行化**是自动的;FlagHound 利用所有可用的核心。
- **内存安全**:大文件通过内存映射处理,确保即使在低 RAM 机器上也能保持稳定性。
## 📄 许可证
基于 MIT 许可证分发。查看 `LICENSE` 了解更多信息。
## 🙏 致谢
- 专为讨厌手动取证的 CTF 选手打造。
- 灵感来源于竞争环境中对速度的需求。
**FlagHound v2.0** - *找到 flag,赢得比赛。*
标签:Python, 二进制分析, 云安全运维, 无后门, 自动化分析, 解密, 跨站脚本, 逆向工具