idlandanish/FlagHound

GitHub: idlandanish/FlagHound

FlagHound 是一款 CTF 取证自动化工具,通过递归解压、编码解码、XOR 暴力破解和并行扫描快速发现 flag。

Stars: 1 | Forks: 0

# 🚩 FlagHound v2.0 - CTF 取证自动化 [![Python 3.8+](https://img.shields.io/badge/python-3.8+-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](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, 二进制分析, 云安全运维, 无后门, 自动化分析, 解密, 跨站脚本, 逆向工具