AbhyudaySura001/Automated-Network-Reconnaissance-Framework

GitHub: AbhyudaySura001/Automated-Network-Reconnaissance-Framework

一个模块化的 Python 网络侦察框架,通过插件架构自动化渗透测试信息收集阶段并生成结构化报告。

Stars: 0 | Forks: 0

# 自动化网络侦察框架 一个模块化、插件驱动的 Python 平台,可自动执行渗透测试的信息收集阶段——包括被动侦察、主动扫描、Web 技术指纹识别和结构化报告——旨在映射专业红队的侦察工作流程。 ## ⚖️ 仅限授权使用 该工具针对网络基础设施执行侦察。**仅在你拥有或获得明确书面授权评估的系统上运行它。** 未经授权的扫描可能会违反计算机滥用法。你对保持在授权范围内负全部责任。该框架默认开启速率限制,以支持受控的低影响评估。 ## 为什么采用此设计 每项侦察能力都是一个独立的 **module**,它继承自 `ReconModule` 基类,并在运行时被**自动发现**。所有 module 都对同一个类型化的 **`ReconResult`** 对象进行读写。编排器知道如何按顺序(被动 → 主动)运行 module,但对它们各自的具体行为一无所知。实际的好处在于:以后添加 ASN 查询、Shodan 或反向 DNS 只需*在 `plugins/` 中添加一个新文件*——核心代码零修改。 有关详细的理论依据和图表,请参阅 [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md)。 ## 快速开始 ``` # 1. 安装依赖(第 3 周的主动扫描需要 Nmap binary) pip install -r requirements.txt sudo apt install nmap # Kali/Debian # 2. 列出 loader 可见的模块 python main.py --list-modules # 3. 运行仅被动模式的 recon 并写入 JSON + HTML 报告 python main.py --target example.com --passive-only # 4. 使用自定义 config + scan profile 运行 python main.py -t example.com -c recon_framework/config/default.yaml --profile quick # 5. 完整运行,选择报告格式(默认为 json,html) python main.py -t example.com --report-format json,html ``` 报告会保存在 `output/recon__.{json,html}` 中。HTML 文件是独立的——可以直接在浏览器中打开。 ### 关键 CLI 标志 | 标志 | 用途 | |------|---------| | `-t, --target` | 目标域名或 IP | | `-c, --config` | YAML/JSON 配置文件 | | `--profile` | `quick` \| `standard` \| `comprehensive` | | `--passive-only` | 禁用主动扫描 | | `--modules a,b` | 仅运行指定的 module | | `--list-modules` | 显示所有已发现的 module 并退出 | | `--log-level` | `DEBUG`…`CRITICAL` | | `--report-format` | 逗号分隔列表:`json`、`html`(默认为 `json,html`) | | `--no-report` | 仅输出控制台摘要 | ## 项目结构 ``` recon_framework/ ├── core/ # framework, config, loader, models, logging, output, rate limiter ├── passive/ # WHOIS, DNS, subdomains, CT logs (Week 2) ├── active/ # Nmap engine, scan profiles, service analysis (Week 3) ├── plugins/ # base contract + drop-in third-party plugins ├── reporting/ # HTML/JSON report generation (Week 4) ├── templates/ # Jinja2 HTML report templates (Week 4) ├── config/ # default.yaml and user configs ├── logs/ # rotating audit-trail logs ├── tests/ # pytest suite └── docs/ # architecture + sprint docs main.py # CLI entrypoint ``` ## 运行测试 ``` python -m pytest recon_framework/tests -q ``` 第一周发布了 17 个通过的测试,涵盖了数据模型、配置管理器、module 加载器以及端到端的框架执行。 ## 路线图 | 周 | 重点 | 交付成果 | |------|-------|--------------| | **1 ✅** | 核心框架 | framework、module_loader、config_manager、output_formatter、models、插件基类 | | **2 ✅** | 被动侦察 | dns_enum、whois_lookup、ct_log_parser、subdomain_discovery、validators、http_client | | **3 ✅** | 主动侦察 | active_scanner、scan_profiles、service_analyzer (python-nmap) | | **4 ✅** | 报告与隐蔽性 | report_generator、HTML 模板、JSON-lines 审计日志、隐蔽预设 | ## 许可与免责声明 仅出于教育和授权的安全评估目的提供。不提供任何保证。作者对滥用行为不承担任何责任。
标签:CTI, GitHub, Python, 动态插桩, 安全规则引擎, 实时处理, 插件系统, 无后门, 逆向工具