JIMIT-PARIKH-01/recon-suite

GitHub: JIMIT-PARIKH-01/recon-suite

一款纯 Python 标准库构建的轻量级侦察工具包,集成异步端口扫描、HTTP 安全头评级和被动子域名枚举,支持流水线编排并生成 Markdown 报告。

Stars: 0 | Forks: 0

# Recon Suite [![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/JIMIT-PARIKH-01/recon-suite/actions/workflows/ci.yml) ![Python](https://img.shields.io/badge/python-3.8%2B-blue) ![License](https://img.shields.io/badge/license-MIT-green) 一个轻量级、**无依赖**的侦察工具包,专为授权的安全测试设计 — 四合一工具,同时提供 **GUI 和 CLI**: 1. **端口扫描器** — 异步 TCP connect 扫描(常用端口或自定义范围) 2. **安全头分析器** — 为站点的 HTTP 安全头评级(防御性) 3. **子域名枚举器** — 通过 Certificate Transparency (crt.sh) 进行被动发现 4. **侦察流水线** — 将上述三者串联,生成一份 Markdown 报告 仅基于 Python 标准库构建(`asyncio`、`urllib`、`socket`、`ssl`)。 ![demo](https://raw.githubusercontent.com/JIMIT-PARIKH-01/recon-suite/main/docs/demo.png) ## ⚠️ 仅限授权使用 **仅**在你拥有或获得**明确书面授权**的系统上运行这些工具。 对不受你控制的系统进行端口扫描和枚举可能是违法行为。 本项目仅适用于 CTF、个人实验环境/虚拟机以及官方授权的测试任务。 ## 安装与运行 仅需 **Python 3.8+** — 无需额外安装。 ``` # GUI (选项卡:Port Scan / Headers / Subdomains / Full Recon) python recon_suite/gui.py # or double-click run.bat # CLI python -m recon_suite portscan 127.0.0.1 --ports 1-1024 --timeout 0.5 python -m recon_suite portscan example.com --ports top python -m recon_suite headers github.com python -m recon_suite subs example.com python -m recon_suite recon example.com --out report.md ``` ### 命令参考 | 命令 | 功能 | 关键标志 | |---|---|---| | `portscan HOST` | 异步 TCP connect 扫描 | `--ports top\|1-1024\|22,80` · `--timeout` · `--concurrency` | | `headers URL` | 安全头评级 | `--timeout` | | `subs DOMAIN` | 被动子域名枚举 | `--no-resolve` | | `recon DOMAIN` | 完整流水线 → 报告 | `--out FILE` · `--no-subs/--no-headers/--no-ports` | ## 工作原理 - **端口扫描:** 使用 `asyncio` 进行 TCP 连接并带有并发上限;报告开放端口及服务名称。无隐蔽或规避机制 — 这是一次纯粹的、常规的 connect 扫描。 - **安全头:** 发送一次 GET 请求,随后检查 HSTS、CSP、X-Frame-Options、X-Content-Type-Options、Referrer-Policy、Permissions-Policy;给出 A-F 的评级,并标记出存在信息泄露风险的头(如 `Server` 等)。 - **子域名:** 查询 crt.sh 的 Certificate Transparency 日志(被动方式 — 不会向目标发送数据包),随后可选择是否解析每个域名。(crt.sh 可能会比较慢;该工具具备良好的容错降级能力。) - **流水线:** 运行各个阶段,容忍单个阶段的失败,并最终渲染出一份清晰的 Markdown 报告。 ## 项目结构 ``` recon-suite/ └── recon_suite/ ├── portscan.py # async TCP port scanner ├── headers.py # security-header analyzer ├── subdomains.py # passive subdomain enumeration (crt.sh) ├── pipeline.py # orchestrates the three stages ├── report.py # Markdown report ├── cli.py gui.py run.bat requirements.txt ``` ## ⬇️ 下载与安装 **这是一个公开工具 — 免费下载并在你的设备上使用。** ``` # 1) Clone it git clone https://github.com/JIMIT-PARIKH-01/recon-suite.git cd recon-suite # 2) ...或下载 ZIP (无需 git) # https://github.com/JIMIT-PARIKH-01/recon-suite/archive/refs/heads/main.zip # 3) ...或直接从 GitHub 安装命令 pip install git+https://github.com/JIMIT-PARIKH-01/recon-suite.git ``` 然后按照上方用法说明中的方式运行(CLI 使用 `python -m ...`,或通过 `run.bat` 启动 GUI)。
🔒 请求访问私有工具 公开工具可以通过上述命令直接安装。如果工具是**私有**的,访问权限由所有者通过 GitHub 授予 — 静态链接无法解锁私有代码,只有 GitHub 可以: 1. **请求访问权限** — 打开[访问申请](https://github.com/JIMIT-PARIKH-01/JIMIT-PARIKH-01/issues/new?template=tool-access-request.md&title=Access+request:+recon-suite)或在 [LinkedIn](https://www.linkedin.com/in/jimit-devangkumar-parikh/) 上留言。 2. 所有者会进行审核,如果通过,会**将你添加为**私有仓库的**协作者**。 3. 接着 GitHub 会允许你使用自己的账号 clone / 下载该工具。一旦所有者将你移出协作者名单,访问权限即被撤销。
## 许可证 MIT — 查看 [LICENSE](./LICENSE)。
标签:GitHub, Python, 子域名枚举, 实时处理, 异步, 插件系统, 数据统计, 无后门, 端口扫描, 系统安全, 计算机取证, 资产测绘, 逆向工具