dharamshiyash/Automatic-Reconnaissance-Tool

GitHub: dharamshiyash/Automatic-Reconnaissance-Tool

一款基于 Python 的企业级网络安全侦察框架,通过并发引擎整合十余个 OSINT 与资产发现模块并自动生成多格式评估报告。

Stars: 0 | Forks: 0

# 🛡️ 自动化侦察工具 ### 专业的被动与主动 OSINT 网络安全框架 [![Python](https://img.shields.io/badge/Python-3.9%2B-3776AB.svg?style=for-the-badge&logo=python&logoColor=white)](https://python.org) [![License: MIT](https://img.shields.io/badge/License-MIT-00e5ff.svg?style=for-the-badge)](LICENSE) [![Platform](https://img.shields.io/badge/Platform-macOS%20%7C%20Linux%20%7C%20Windows-4EAA25.svg?style=for-the-badge&logo=linux&logoColor=white)](https://github.com/dharamshiyash/Automatic-Reconnaissance-Tool) [![Stars](https://img.shields.io/github/stars/dharamshiyash/Automatic-Reconnaissance-Tool.svg?style=for-the-badge&color=ff69b4)](https://github.com/dharamshiyash/Automatic-Reconnaissance-Tool/stargazers) [![Issues](https://img.shields.io/github/issues/dharamshiyash/Automatic-Reconnaissance-Tool.svg?style=for-the-badge&color=orange)](https://github.com/dharamshiyash/Automatic-Reconnaissance-Tool/issues) **这是一款企业级并发网络安全侦察框架,专为自动化被动信息收集、安全态势评估、漏洞特征分析及专业报告生成而设计。** [核心功能](#-features) • [架构设计](#-architecture) • [界面展示](#-screenshots) • [安装说明](#-installation) • [使用指南](#-usage) • [技术栈](#-tech-stack)
## 📖 概述 在现代网络安全工程中,有效的渗透测试和主动防御始于全面的**侦察**。安全工程师通常需要花费大量人工时间运行各种零散的工具(WHOIS 查询、DNS 枚举、SSL 评级、Shodan 查询、网页抓取和目录模糊测试),并将这些原始数据汇总成完整的报告。 **自动化侦察工具**填补了这一空白,将 11 多个专门的侦察模块统一整合到一个并发执行引擎中。它配备了直观的图形用户界面 (GUI) 和多格式自动化报告生成功能,使安全专业人员、道德黑客和防御工程师能够快速准确地评估组织的网络资产暴露面。 ### 🎯 网络安全应用场景 - **外部攻击面管理 (EASM):** 持续发现并映射域名资产、暴露的管理后台和遗漏的子域名。 - **漏洞特征分析与 Shodan 扩充:** 快速将目标 IP 地址与 Shodan 情报进行交叉比对,以发现开放端口、运行服务和已知的 CVE。 - **自动化合规与态势评级:** 依托自动化 0–100 评分引擎,根据行业基准评估 TLS 密码套件、安全响应头(HSTS、CSP、CORS)和 DNS 配置(SPF、DMARC、DNSSEC)。 - **高管报告:** 自动将技术发现综合为执行摘要,提供 PDF、HTML、JSON 和纯文本格式,并支持可选的自动化 SMTP 邮件分发功能。 ## ✨ 核心功能 | 状态 | 侦察模块 | 描述与功能 | | :---: | :--- | :--- | | ✅ | **WHOIS 查询** | 提取域名注册详情、注册商元数据、创建/过期日期以及权威域名服务器。 | | ✅ | **DNS 分析** | 深度枚举 A、AAAA、MX、TXT、NS、SOA、CAA 和 PTR 记录,并跟踪 SPF、DMARC、DNSSEC 和 TTL。 | | ✅ | **SSL 检查** | 分析证书链、TLS 版本、密码强度、SAN,并标记弱密码或自签名证书。 | | ✅ | **HTTP Header 分析** | 检查安全响应头(HSTS、CSP、X-Frame-Options)、Cookie 标志、CORS 策略、robots.txt 和 Sitemap。 | | ✅ | **管理后台发现** | 多线程目录扫描器,通过误报检测评估 200 多个高概率的管理员路径。 | | ✅ | **技术检测** | 通过 50 多项 Wappalyzer 特征和 BuiltWith 对 CMS 平台、Web 服务器、前端框架和 JavaScript 库进行指纹识别。 | | ✅ | **截图捕获** | 无头自动化浏览器捕获,提供桌面端 (1280×800)、移动端 (iPhone 外形规格) 和整页滚动快照。 | | ✅ | **子域名枚举** | 结合证书透明度 (`crt.sh`) 日志和 Sublist3r 多源枚举的被动 OSINT 发现。 | | ✅ | **Shodan 集成** | 查询 Shodan 情报以获取 ISP 元数据、ASN、开放端口、Banner、软件产品版本和分配的 CVE。 | | ✅ | **PDF 报告生成** | 生成适合高管发布的 PDF 报告,包含封面、评分徽章、数据表格和嵌入式截图。 | | ✅ | **HTML 交互式报告** | 现代的深色主题交互式 HTML 仪表板,具备搜索过滤、可折叠卡片和 SVG 评分仪表。 | | ✅ | **邮件报告发送** | 内置 SMTP 发送代理,在扫描完成后自动通过电子邮件发送加密或标准的 PDF 侦察报告。 | | ✅ | **专业 GUI** | 响应式 Tkinter 深色模式界面,具有进度条、实时执行跟踪和选项卡式仪表板视图。 | ## 🏗️ 架构图 本应用程序采用清晰的解耦架构,将 GUI 视图、并发执行引擎、分析评分和报告生成 pipeline 分离开来: ``` ┌──────────────────────────────────────────────────────────────────────────────────┐ │ PRESENTATION LAYER │ │ Tkinter GUI (app.py, dashboard.py, theme.py) │ └────────────────────────────────────────┬─────────────────────────────────────────┘ │ User Input (Target URL & Email) ▼ ┌──────────────────────────────────────────────────────────────────────────────────┐ │ ORCHESTRATION LAYER │ │ Concurrent Engine (engine.py, ThreadPoolExecutor) │ ├────────────────────────────────────────┬─────────────────────────────────────────┤ │ PHASE 1: Concurrent I/O Scans │ PHASE 2: Heavy & Sequential Scans │ │ ├── WHOIS Lookup Module │ ├── Admin Panel Directory Scanner │ │ ├── DNS & TXT Record Enumerator │ ├── Subdomain OSINT Enumerator │ │ ├── SSL/TLS Certificate Inspector │ ├── Shodan Intelligence Analyzer │ │ ├── HTTP Security Header Scanner │ └── Headless Selenium Screenshot Capt │ │ ├── GeoIP & AS Routing Lookup │ │ │ └── Technology Fingerprinter │ │ └────────────────────────────────────────┬─────────────────────────────────────────┘ │ Structured Dataclass Results ▼ ┌──────────────────────────────────────────────────────────────────────────────────┐ │ ANALYSIS LAYER │ │ Security Scoring Engine (0–100 Grade) & Executive AI Summary Generator │ └────────────────────────────────────────┬─────────────────────────────────────────┘ │ Compiled Scan Summary ▼ ┌──────────────────────────────────────────────────────────────────────────────────┐ │ REPORTING LAYER │ │ ├── PDF Report Generator ──────► reports/_report_.pdf │ │ ├── HTML Interactive Dashboard ► reports/_report_.html │ │ ├── JSON Machine Export ───────► reports/_report_.json │ │ ├── TXT Formatted Log ─────────► reports/_report_.txt │ │ └── SMTP Email Dispatcher ─────► Sends PDF Report directly to Client Inbox │ └──────────────────────────────────────────────────────────────────────────────────┘ ``` ## 📸 界面展示 ### 1. 图形用户界面 (GUI) 与进度追踪 现代深色主题界面通过直观的视觉状态指示器实时跟踪模块执行情况。

GUI Progress Window

### 2. 自动化视觉侦察捕获 自动化的无头浏览器捕获会自动获取桌面端、移动端和全页面布局的证据。

Generated Screenshot Preview

### 3. 生成的报告 Pipeline 报告被无缝编译成结构化的交付物,可直接用于高管分发或审计文档。 ``` reports/ ├── https_www.target.com_report_20260629_120000.pdf (Executive PDF Report) ├── https_www.target.com_report_20260629_120000.html (Interactive HTML Dashboard) ├── https_www.target.com_report_20260629_120000.json (Machine-readable Export) └── https_www.target.com_report_20260629_120000.txt (Plain-text Log Summary) ``` ## ⚡ 安装说明 按照以下步骤在您的本地开发或测试环境中设置此工具: ### 1. 克隆代码库 ``` git clone https://github.com/dharamshiyash/Automatic-Reconnaissance-Tool.git cd Automatic-Reconnaissance-Tool ``` ### 2. 创建并激活虚拟环境(推荐) ``` # macOS / Linux python3 -m venv venv source venv/bin/activate # Windows python -m venv venv venv\Scripts\activate ``` ### 3. 安装所需依赖 ``` pip install --upgrade pip pip install -r requirements.txt ``` ### 4. 配置环境变量 复制配置模板并插入您的 API 密钥和 SMTP 发送凭证: ``` cp .env.example .env ``` 使用您喜欢的文本编辑器编辑 `.env` 文件: ``` RECON_SMTP_SERVER=smtp.gmail.com RECON_SMTP_PORT=587 RECON_SMTP_USER=your_email@gmail.com RECON_SMTP_PASS=your_16_char_app_password RECON_SMTP_USE_TLS=yes SHODAN_API_KEY=your_shodan_api_key_here ``` ## 🎮 使用指南 ### 启动图形化应用程序 要运行带有动态启动画面和实时仪表板的完整交互式 GUI 框架: ``` python automatic_recon_gui.py ``` ### 逐步执行指南: 1. **目标输入:** 在主要目标字段中输入目标 URL 或域名(例如 `https://example.com` 或 `testphp.vulnweb.com`)。 2. **邮件接收者(可选):** 如果您希望在扫描完成后自动通过 SMTP 发送已完成的 PDF 评估报告,请输入电子邮件地址。 3. **执行扫描:** 点击 **Start Scan** 按钮。 4. **实时监控:** 观察侧边栏指示器,查看多线程并发执行情况(绿色 = 成功,红色 = 发现问题/漏洞,黄色 = 警告/跳过)。 5. **查看仪表板:** 扫描完成后,在 **Dashboard** 和 **Raw Output** 标签页之间切换,探索详细的 DNS 记录、SSL 密码和发现的管理后台路径。 6. **获取报告:** 从 `reports/` 目录中获取最终生成的 PDF、HTML、JSON 和 TXT 格式的交付文件。 ## 💻 技术栈 本项目利用了行业标准的 Python 库和安全框架: * **编程语言:** Python 3.9+ * **GUI 框架:** Tkinter(自定义深色模式 UI 设计) * **并发引擎:** Python `concurrent.futures.ThreadPoolExecutor` * **HTTP 与 Web 抓取:** `requests`, `BeautifulSoup4` (`bs4`) * **浏览器自动化:** `selenium`, `webdriver-manager`(无头 Chromium 截图生成) * **PDF 引擎:** `fpdf2`(自定义样式、页眉、页脚和表格渲染) * **DNS 枚举:** `dnspython` * **WHOIS 查询:** `python-whois` * **技术指纹识别:** `builtwith` + 自定义正则表达式特征 * **威胁情报:** `shodan` API Client * **子域名发现:** `Sublist3r` 集成与证书透明度 (`crt.sh`) REST API ## 🛣️ 未来改进(路线图) 我们正在不断努力扩展该框架的功能。计划中的未来升级包括: - [ ] **无头 CLI 模式:** 添加终端 flag 参数(`--target`、`--output`、`--silent`),用于自动化的 CI/CD 安全 pipeline。 - [ ] **Nmap 端口扫描集成:** 引入 `python-nmap` 进行主动的 SYN/TCP 端口扫描和 service banner grabbing。 - [ ] **漏洞与 CVE 映射:** 自动将发现的软件版本与 NIST NVD / VulnDB APIs 进行交叉比对。 - [ ] **Docker 容器化:** 提供官方的轻量级 `Dockerfile` 和 `docker-compose.yml`,以实现隔离的 container 执行。 - [ ] **REST API Server 集成:** 实现 FastAPI 后端,支持远程执行和多用户团队仪表板功能。 - [ ] **自定义字典支持:** 允许在 runtime 动态加载用户指定的模糊测试字典和子域名字典。 ## ⚖️ 许可证与致谢 本项目是开源软件,基于 **MIT License** 授权。请查看 [LICENSE](LICENSE) 文件了解完整的条款和细节。 ## 👨‍💻 作者 **Yash Dharamshi** * **GitHub:** [@dharamshiyash](https://github.com/dharamshiyash) * **代码库:** [Automatic-Reconnaissance-Tool](https://github.com/dharamshiyash/Automatic-Reconnaissance-Tool)

⭐ 如果您觉得此项目对您的网络安全工程工作流程有帮助,请考虑在 GitHub 上给它点个 Star! ⭐

标签:ESC4, GitHub, LLM鲁棒性, OSINT, Python, 实时处理, 密码管理, 无后门, 网络安全, 自动化报告, 逆向工具, 隐私保护