jarvishubai/recon-toolkit

GitHub: jarvishubai/recon-toolkit

一款模块化OSINT侦察工具包,集成子域名枚举、邮箱收集、技术栈检测和端口扫描功能,支持一键生成JSON和Markdown格式侦察报告。

Stars: 0 | Forks: 0

# recon-toolkit [![Python 3.10+](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) 一款模块化的 OSINT 侦察工具包,支持被动子域名枚举、邮箱收集、技术栈检测和端口扫描 — 全部通过命令行完成。 ![recon-toolkit demo](https://via.placeholder.com/800x400?text=recon-toolkit+demo+screenshot) ## 功能特性 - **子域名枚举** — 通过证书透明度日志、HackerTarget 和 AlienVault OTX 发现子域名 - **邮箱收集** — 从域名自身页面及公共搜索引擎抓取邮箱地址 - **技术栈检测** — 通过 HTTP 头和 HTML 指纹识别 Web 服务器、框架、CMS 平台、CDN 和分析工具 - **端口扫描** — 快速、异步 TCP 端口扫描器,支持服务名称识别 - **报告生成** — 一键运行所有模块并输出整洁的 JSON + Markdown 报告 ## 安装说明 ### 从源码安装(推荐) ``` git clone https://github.com/jarvishubai/recon-toolkit.git cd recon-toolkit pip install -e . ``` ### 包含开发依赖 ``` pip install -e ".[dev]" ``` ## 快速开始 ``` # 枚举子域名 recon-toolkit subdomains example.com # 收集邮箱 recon-toolkit emails example.com # 检测 tech stack recon-toolkit techstack example.com # 扫描端口 recon-toolkit portscan example.com -p 80,443,8080 # 完整报告(所有模块) recon-toolkit report example.com ``` ## 使用说明 ### 子域名枚举 ``` recon-toolkit subdomains [-o output.txt] ``` 查询被动数据源(crt.sh、HackerTarget、AlienVault OTX)以发现子域名。 ``` $ recon-toolkit subdomains example.com Found 12 subdomain(s): • api.example.com • blog.example.com • mail.example.com • www.example.com ... ``` ### 邮箱收集 ``` recon-toolkit emails [-o output.txt] ``` 抓取域名自身页面(`/`、`/contact`、`/about` 等)及搜索引擎结果。 ``` $ recon-toolkit emails example.com Found 3 email(s): • info@example.com • support@example.com • admin@example.com ``` ### 技术栈检测 ``` recon-toolkit techstack [-o output.json] ``` 通过 HTTP 响应头、HTML meta 标签和 JavaScript 指纹识别技术。 ``` $ recon-toolkit techstack example.com Detected technologies: Web Server • Nginx CDN / Proxy • Cloudflare JavaScript Framework • React Analytics • Google Analytics ``` ### 端口扫描 ``` recon-toolkit portscan [-p PORTS] [-t TIMEOUT] [-o output.txt] ``` 异步 TCP 端口扫描器。支持范围(`1-1024`)、逗号分隔(`80,443`)或两者结合。 ``` $ recon-toolkit portscan example.com -p 1-1024 Scanning 1024 port(s) on example.com... Open ports: • 80 (HTTP) • 443 (HTTPS) ``` ### 完整报告 ``` recon-toolkit report [-o OUTPUT_DIR] [--skip-ports] ``` 运行所有模块并在输出目录中生成 JSON + Markdown 报告。 ``` $ recon-toolkit report example.com Running full recon on example.com... → Enumerating subdomains... Found 12 subdomain(s) → Harvesting emails... Found 3 email(s) → Detecting tech stack... Detected 5 technolog(ies) → Scanning common ports... Found 2 open port(s) Report saved to ./reports/example.com_20260228_120000.md ``` ![Report output](https://via.placeholder.com/800x500?text=report+output+screenshot) ## 项目结构 ``` recon_toolkit/ ├── __init__.py # Package version ├── cli.py # Click CLI entry point ├── modules/ │ ├── subdomains.py # Subdomain enumeration │ ├── emails.py # Email harvesting │ ├── techstack.py # Technology detection │ ├── portscan.py # Async port scanner │ └── report.py # Report generation └── utils/ └── http.py # Shared async HTTP client ``` ## 运行测试 ``` pip install -e ".[dev]" pytest ``` ## 法律免责声明 本工具仅设计用于**授权的安全测试**和**教育目的**。在对非您所有的目标进行扫描或枚举之前,请务必获取适当的授权。作者不对本工具的滥用行为负责。 ## 许可证 [MIT](LICENSE) — 详见 [LICENSE](LICENSE) 文件。 ## 作者 - GitHub: [@jarvishubai](https://github.com/jarvishubai) - Twitter: [@jarvis_hub](https://twitter.com/jarvis_hub)
标签:C2日志可视化, ESC4, GitHub, Kali工具, OSINT, Python, 侦查工具包, 加密文件系统, 子域名枚举, 实时处理, 密码管理, 技术栈检测, 指纹识别, 数据展示, 数据统计, 无后门, 漏洞分析, 端口扫描, 系统安全, 红队, 网络安全, 自动化报告, 路径探测, 逆向工具, 邮箱收集, 隐私保护