SkillDevloper/Reco-Nova

GitHub: SkillDevloper/Reco-Nova

一款基于 Python 的 Linux 命令行侦察自动化框架,旨在自动化漏洞赏金与渗透测试中的信息收集阶段并生成报告。

Stars: 1 | Forks: 0

# Reco-Nova - 侦察自动化框架 ``` ██████╗ ███████╗ ██████╗ ██████╗ ███╗ ██╗ ██████╗ ██╗ ██╗ █████╗ ██╔══██╗██╔════╝██╔════╝██╔═══██╗ ████╗ ██║██╔═══██╗██║ ██║██╔══██╗ ██████╔╝█████╗ ██║ ██║ ██║█████╗██╔██╗ ██║██║ ██║██║ ██║███████║ ██╔══██╗██╔══╝ ██║ ██║ ██║╚════╝██║╚██╗██║██║ ██║╚██╗ ██╔╝██╔══██║ ██║ ██║███████╗╚██████╗╚██████╔╝ ██║ ╚████║╚██████╔╝ ╚████╔╝ ██║ ██║ ╚═╝ ╚═╝╚══════╝ ╚═════╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝ ╚═══╝ ╚═╝ ╚═╝ ```

## ⚠️ 项目状态:原型版 (v1.1) 本项目目前处于 **版本 1.1**,被视为**原型**。 此版本可能存在 bug、错误或不完整的功能。 在将其用于任何生产环境之前,请务必**仔细验证和测试所有内容**。 https://github.com/user-attachments/assets/5f2b82f9-74fd-4da1-a20d-dc546cd2e2e4 一款强大的**基于 Linux 的命令行侦察工具**,旨在自动化 bug bounty 和渗透测试侦察的关键阶段。具有增强型 UI 和自动依赖管理的**专业版**。 ## ✨ 核心功能 - **🔍 Wayback URL 收集**:从归档服务收集历史 URL - **📊 参数提取**:从 URL 中提取 HTTP 查询参数 - **🌐 子域名枚举**:使用多种工具发现子域名 - **💡 存活主机检测**:识别活跃的 Web 主机 - **⚡ JavaScript 分析**:从 JavaScript 文件中提取 endpoint - **🔒 敏感文件检测**:扫描暴露的敏感文件 - **📸 截图捕获**:捕获 Web 资产的屏幕截图 - **🎨 专业 CLI 界面**:美观、多彩且具有交互性 - **🔄 自动依赖管理**:自动安装和更新依赖项 - **🛡️ 兼容 Python 3.12+**:支持最新版本的 Python - **📦 模块化架构**:易于扩展和定制 ## 🚀 安装说明 ### 前置条件 - **Python 3.12+**(必需) - **Linux 操作系统**(推荐 Kali、Ubuntu、Debian) ### ⚡ 快速开始(推荐) **无需手动安装!** Reco-Nova 会自动检查并安装依赖项: ``` # 克隆 repository git clone https://github.com/SkillDevloper/Reco-Nova.git cd reco-nova # 运行任意命令 - 依赖自动安装! python reco-nova.py --help ``` ### 🔧 手动安装 如果您偏好手动设置: ``` # 安装 Python 依赖 pip install -r requirements.txt # 检查依赖 python reco-nova.py --check-deps ``` ### 🛠️ 外部工具(可选但推荐) 使用以下工具可增强功能: ``` # 安装 Go tools go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest go install github.com/tomnomnom/assetfinder@latest go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest go install -v github.com/sensepost/gowitness@latest # 将 Go tools 添加到 PATH export PATH=$PATH:~/go/bin echo 'export PATH=$PATH:~/go/bin' >> ~/.bashrc ``` ## 🎮 用法 ### 🎯 交互模式(推荐) 体验美观的专业界面: ``` python reco-nova.py -i ``` **功能:** - 🎨 彩色菜单系统 - 📊 实时进度反馈 - 🔍 交互式域名输入 - ✨ 专业动画效果 - 🛡️ 带提示的错误处理 ### ⚡ 命令行模式 #### 基本用法 ``` python reco-nova.py -d example.com ``` #### 运行全面侦察 ``` python reco-nova.py -d example.com --full ``` #### 单个模块 ``` # 收集 Wayback URLs python reco-nova.py -d example.com --wayback # 提取 Parameters python reco-nova.py -d example.com --params # 发现 Subdomains python reco-nova.py -d example.com --subs # 检测 Live Hosts python reco-nova.py -d example.com --live # 分析 JavaScript python reco-nova.py -d example.com --js # 扫描敏感文件 python reco-nova.py -d example.com --sensitive # 捕获截图 python reco-nova.py -d example.com --shots ``` #### 输出选项 ``` # 运行而不保存文件(仅内存) - 各个模块在屏幕上显示结果 python reco-nova.py -d example.com --wayback --no-save python reco-nova.py -d example.com --params --no-save # 完整侦察始终保存输出(综合报告) python reco-nova.py -d example.com --full --no-save # Note: Will still save output # 仅生成报告(无单个文件) python reco-nova.py -d example.com --full --reports-only # 基本用法(无特定模块) - 如果使用 --no-save 则在屏幕上显示结果 python reco-nova.py -d example.com --no-save ``` #### 帮助命令 ``` # 显示帮助 python reco-nova.py -h python reco-nova.py --help # 检查依赖 python reco-nova.py --check-deps ``` ## 📁 输出结构 该工具会在 `output/` 目录中生成井然有序的输出: ``` output/ ├── urls.txt # Collected URLs ├── parameters.txt # Extracted parameters ├── subdomains.txt # Discovered subdomains ├── live_hosts.txt # Active hosts ├── javascript_files.txt # JavaScript files found ├── js_endpoints.txt # Endpoints from JS ├── sensitive_files.txt # Sensitive files found ├── api_endpoints.txt # API endpoints ├── screenshots/ # Captured screenshots └── reports/ # Professional reports ├── report_domain.com.json # JSON report └── report_domain.com.html # HTML report (with CSS) ``` ## 📊 专业报告 Reco-Nova 会自动生成包含全面扫描结果的 **JSON 和 HTML 报告**: ### 🎨 HTML 报告功能 - **🌈 精美设计**:现代、带有渐变的响应式界面 - **📱 移动端友好**:适用于所有设备和屏幕尺寸 - **🔍 交互元素**:悬停效果和动画 - **📊 可视化摘要**:颜色编码的统计数据和指标 - **⚠️ 风险高亮**:敏感文件以红色标记 - **🎯 专业布局**:企业级的展示效果 ### 📋 报告内容 - **扫描摘要**:发现的每种数据类型的计数 - **详细结果**:所有发现的完整列表 - **时间戳**:执行扫描的时间 - **域名信息**:目标域名详情 - **风险评估**:高亮显示的敏感发现 ### 📄 报告访问 ``` # 报告自动生成于: output/reports/report_.html output/reports/report_.json # 在浏览器中打开 HTML 报告: # 双击 .html 文件或使用: firefox output/reports/report_.html ``` ## 📋 输出行为 ### 🎯 智能输出管理 Reco-Nova 根据侦察类型提供智能的输出管理: #### 📊 **单个模块 - 屏幕显示** 当单个模块使用 `--no-save` 时,结果将显示在屏幕上: ``` $ python reco-nova.py -d example.com --wayback --no-save [*] Output saving: DISABLED [*] Starting Wayback URL Collection... [!] Output saving is disabled. Results will not be saved to files. ============================================================ [*] URLs Results (25 found) ============================================================ [ 1] https://example.com/login [ 2] https://example.com/admin [ 3] https://example.com/api/user ... Total urls: 25 ============================================================ ``` #### 🔄 **全面侦察 - 始终保存** 全面侦察始终会保存输出,以便进行全面的报告: ``` $ python reco-nova.py -d example.com --full --no-save [!] Note: Full reconnaissance always saves output for comprehensive reporting [*] Output saving: ENABLED [+] Saved 25 URLs to output/urls.txt [+] Saved 8 parameters to output/parameters.txt ... [+] Generated HTML report: output/reports/report_example.com.html ``` #### � **基本用法 - 智能显示** 基本用法(未指定具体模块)在使用 `--no-save` 时会在屏幕上显示结果: ``` $ python reco-nova.py -d example.com --no-save [*] Output saving: DISABLED [*] Starting Basic Reconnaissance... [+] Collected 25 URLs (displayed on screen) [+] Extracted 8 parameters (displayed on screen) ... ``` ### 📱 **交互模式 - 用户选择** 交互模式会询问用户是否为每个操作保存输出: ``` > Save output to files? (Y/n): n [*] Output saving: DISABLED # 屏幕上显示的结果 ``` ### 🎨 **屏幕显示功能** - 📊 **格式化结果**:带有清晰格式的编号列表 - 🎯 **前 20 项**:显示初始结果,然后是摘要 - 📈 **总计数量**:清晰的发现摘要 - 🌈 **颜色编码**:专业的视觉呈现 - ⚠️ **空结果**:未找到项目时提供清晰提示 ### 视觉设计 - **🌈 颜色编码输出**:针对不同消息类型使用不同颜色 - **📊 专业 ASCII 艺术**:精美的 banner 和标题 - **🎯 交互式菜单**:用户友好的选择系统 - **✨ 进度指示器**:实时操作反馈 ### 用户体验 - **🔄 自动依赖管理**:无需手动设置 - **🛡️ 错误处理**:平滑的错误恢复和有用的提示信息 - **📝 清晰的日志**:带时间戳的结构化日志 - **🎮 直观的导航**:易于使用的交互模式 ### 跨平台兼容性 - **💻 Windows 支持**:完全兼容 Windows 终端 - **🐧 Linux 优化**:在 Linux 系统上性能最佳 - **⚡ 快速启动**:快速的依赖检查和加载 ## 模块说明 ### Wayback URL 收集 从 Wayback Machine API 收集历史 URL,并筛选出相关的 Web endpoint。 ### 参数提取 分析收集到的 URL,提取唯一的 HTTP 查询参数以供测试。 ### 子域名枚举 使用多种工具(subfinder、assetfinder)发现与目标域名相关的子域名。 ### 存活主机检测 检查发现的子域名,识别哪些主机正在活跃响应。 ### JavaScript 分析 - 从 URL 和存活主机中发现 JavaScript 文件 - 从 JavaScript 代码中提取 API endpoint 和隐藏路径 - 识别潜在的攻击面 ### 敏感文件检测 扫描存活主机,查找通常暴露的敏感文件,如配置文件、备份和凭证。 ### 截图捕获 对存活的 Web 资产进行截图,用于视觉侦察和记录。 ## 📸 示例 ### 全面侦察示例 ![界面1](/ImageVideo/Interface%201.jpg) ### 交互模式示例 ![界面1](/ImageVideo/Interface%202.jpg) ## 📝 日志与故障排除 ### 自动日志 日志会自动生成在 `logs/` 目录中,并带有时间戳,用于调试和审计: ``` logs/ ├── recon_20260310_123456.log # Timestamped session logs └── recon_20260310_234567.log # Multiple session support ``` ### 常见问题与解决方案 #### 🔧 依赖问题 ``` # 检查依赖是否已正确安装 python reco-nova.py --check-deps # 自动安装失败时的手动安装 pip install -r requirements.txt ``` #### 🐍 Python 版本问题 ``` # 检查 Python 版本(要求 3.12+) python --version # 如有需要升级 Python # 在 Ubuntu/Debian 上: sudo apt update && sudo apt install python3.12 # 在 Kali Linux 上: sudo apt update && sudo apt install python3.12 ``` #### 🛠️ 外部工具问题 ``` # 检查是否已安装 Go go version # 如果缺少则安装 Go # 在 Ubuntu/Debian 上: sudo apt install golang-go # 在 Kali Linux 上: sudo apt install golang-go ``` #### 🖥️ Windows 兼容性 - 使用 PowerShell 或命令提示符 - 确保 Python 包含在 PATH 中 - 如有需要,请以管理员身份运行 ### 🔍 调试模式 如需详细调试,请检查日志文件: ``` # 查看最新日志 tail -f logs/recon_$(date +%Y%m%d)_*.log # 或检查所有日志 ls -la logs/ ``` ## 安全与道德 - 仅扫描您有权限测试的域名 - 专注于被动侦察技术 - 尊重 robots.txt 和速率限制 - 负责任且合乎道德地使用 ## 📋 更新日志 ### 版本 1.2 - 专业版 - ✨ **全新专业 CLI 界面** - 美观、多彩且具交互性 - 🔄 **自动依赖管理** - 自动安装和更新依赖项 - 🛡️ **支持 Python 3.12+** - 兼容最新版本的 Python - 🎨 **增强的视觉设计** - 专业的 ASCII 艺术和配色方案 - 📝 **改进的错误处理** - 平滑的错误恢复 - 🔍 **更好的日志系统** - 带时间戳的结构化日志 - ⚡ **性能优化** - 更快的启动和执行速度 ## 📄 许可证 本项目基于 MIT 许可证授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。 ## 👨‍💻 开发者 由 **Daniyal Shahid** 开发 ## ⚠️ 免责声明 **本工具仅供授权的安全测试使用。** 用户有责任确保在扫描任何目标之前已获得适当的授权。开发者不对滥用本工具的行为负责。 ### 🛡️ 道德使用准则 - ✅ **仅扫描您拥有或获得明确测试权限的域名** - ✅ **专注于被动侦察技术** - ✅ **尊重 robots.txt 和速率限制** - ✅ **负责任且合乎道德地使用** - ❌ **请勿用于恶意目的** - ❌ **未经授权请勿扫描目标** **🎯 感谢您使用 Reco-Nova - 专业侦察自动化工具!**
标签:GitHub, Python, 实时处理, 密码管理, 无后门, 自动化侦察, 运行时操纵, 逆向工具