arthurvit-dev/reconTool

GitHub: arthurvit-dev/reconTool

一款 Python 自动化侦察工具,用于渗透测试初期的子域名枚举、端口扫描和 HTTP 安全头检测。

Stars: 0 | Forks: 0

我用 Python 制作的一款工具,旨在自动化 pentest 中的信息收集阶段。 我开发这个项目是为了自动化 pentest 中部分信息收集阶段的工作,同时也实践了我在进攻性安全领域学习的一些概念。 该脚本主要执行三个任务: - 通过 DNS 测试常见的子域名列表,以确认哪些是存在的 - 扫描常见端口(HTTP、SSH、FTP、RDP、MySQL 等),以识别暴露的服务 - 检查网站是否使用了 HTTP 安全 headers(CSP、HSTS、X-Frame-Options) 最后,所有结果都会保存到一个 JSON 报告中。 ## 道德规范与合法使用 仅在你获得授权测试的域名上运行此工具。我使用了 `scanme.nmap.org` 来测试该脚本,这是 Nmap 项目专门公开提供用于此类练习的域名。未经许可扫描第三方域名 是非法的,即使“仅仅是信息收集”。 ## 演示: --初始化: 该工具首先会识别输入的目标,并准备信息收集的各个阶段。 ![工具初始化](https://static.pigsec.cn/wp-content/uploads/repos/cas/a3/a336e9ae8f3955df7bd06ddff5472498736cd3ceb487589c6b42e8067afec2f6.png) --扫描与分析: 在执行过程中,会进行端口扫描以及主要 HTTP 安全 headers 的分析。 ![扫描与分析](https://static.pigsec.cn/wp-content/uploads/repos/cas/f4/f4fd598d2b3c3bf302eed2628c949334d4afef5c15b37fd932fd8d60c259ffef.png) --生成的报告: 结束后,所有收集到的信息都会自动导出为一个 JSON 文件。 ![JSON 报告](https://static.pigsec.cn/wp-content/uploads/repos/cas/f5/f51e6ac0a28904403c522f4f9ffa05e17aed6bf41abae8742f0e0830cd7168f2.png) ## 如何运行 安装依赖项: ``` pip install requests ``` 然后运行: ``` python recon_tool.py scanme.nmap.org ``` 你也可以跳过某些步骤: ``` python recon_tool.py scanme.nmap.org --skip-subdomains ``` 或者使用 `-w minha_wordlist.txt` 指定自定义的子域名 wordlist,并使用 `-o nome.json` 更改报告的名称。 注意:请仅输入域名或 IP。不要包含 http:// 或 https://,否则会导致报错,因为在检查 HTTP headers 时,该工具会自动添加协议。 ## 内部运行机制 子域名枚举和端口扫描通过使用线程 (`ThreadPoolExecutor`)并发执行,因此脚本不再逐一测试每个子域名或端口, 而是同时测试多个目标——这使得整个过程快了许多。 至于 headers 检查,它会向目标发起一个 HTTP/HTTPS 请求,并将响应 与预期的安全 headers 列表进行比对,从而指出缺少了哪些 headers。 ## 我学到了什么 / 后续计划 在 scanme.nmap.org 上进行测试时,我发现该服务器运行的是 Apache 2.4.7(非常过时) 并且没有使用任何安全 headers——这在实践中印证了为什么这些 基本检查在安全评估中如此重要。 后续优化想法:检测网站使用的技术(WordPress、Cloudflare 等), 将报告导出为 HTML,以及增加扫描速度控制功能。
标签:Python, 子域名枚举, 实时处理, 密码管理, 数据统计, 无后门, 端口扫描, 系统安全, 逆向工具