sanyanabs/OSINT-Threat-Intelligence-Tool
GitHub: sanyanabs/OSINT-Threat-Intelligence-Tool
基于 FastAPI 构建的自动化 Web 侦察工具,能够一站式收集目标域名的多维度信息并生成安全评估报告。
Stars: 0 | Forks: 0
# OSINT 威胁情报工具
## 概述
本项目是一个使用 Python 和 FastAPI 构建的 Web 侦察工具。它能够自动收集有关目标域名的信息,并将结果汇总到一份综合报告中。
该工具可执行常见的侦察任务,例如查询 WHOIS 信息、收集 DNS 记录、检查 SSL 证书、识别 Web 技术、扫描常见端口以及审查基础安全 HTTP 标头。扫描完成后,它会生成一份文本报告和一份可供下载的 PDF 报告。
构建此项目旨在练习自动化侦察任务,同时将代码组织成小型的、可复用的模块。
# 功能
* 域名解析
* WHOIS 查询
* DNS 记录收集
* 子域名发现
* IP 地址及基础地理位置查询
* HTTP 响应标头收集
* SSL/TLS 证书检查
* robots.txt 获取
* sitemap.xml 获取
* 常见端口扫描
* Web 技术检测
* 基础安全观察
* 风险发现与建议
* PDF 报告生成
* 基于 FastAPI 的 REST API
# 项目结构
```
app/
│
├── api/
│ └── API endpoints
│
├── reports/
│ ├── report_generator.py
│ └── pdf_generator.py
│
├── services/
│ ├── dns.py
│ ├── dns_records.py
│ ├── findings.py
│ ├── http_headers.py
│ ├── ip_lookup.py
│ ├── port_scanner.py
│ ├── robots_checker.py
│ ├── sitemap_checker.py
│ ├── ssl_checker.py
│ ├── subdomain_enum.py
│ ├── technology_detector.py
│ └── whois_lookup.py
│
├── main.py
│
tests/
│
requirements.txt
```
# 架构
应用程序被划分为多个小型服务模块。每个模块负责收集一种类型的信息。API 负责协调整个扫描过程,从各个服务中收集结果,并将所有数据传递给报告生成器。
这种架构使得添加新模块变得更加容易,而无需更改应用程序的其余部分。
```
User
│
▼
FastAPI
│
▼
Recon Coordinator
│
├── WHOIS
├── DNS
├── IP Lookup
├── Subdomains
├── Port Scan
├── Technology Detection
├── HTTP Headers
├── SSL Checker
├── robots.txt
└── sitemap.xml
│
▼
Findings Generator
│
▼
Report Generator
│
┌────┴────┐
▼ ▼
Text PDF
```
# 安装说明
克隆代码库。
```
git clone https://github.com/sanyanabs/web-recon-automation-framework.git
cd web_recon_automation+framework
```
创建虚拟环境。
```
python3 -m venv venv
```
激活虚拟环境。
macOS/Linux
```
source venv/bin/activate
```
安装所需的依赖包。
```
pip install -r requirements.txt
```
# 运行应用程序
启动 FastAPI 服务器。
```
python3 -m uvicorn app.main:app --reload
```
在浏览器中打开 Swagger。
```
http://127.0.0.1:8000/docs
```
# 工作原理
1. 输入目标域名。
2. 应用程序从每个服务中收集侦察数据。
3. 结果分析模块会审查这些结果,并识别出基础的安全问题。
4. 生成报告。
5. 报告可以 PDF 格式下载。
# 使用的库
| 库 | 用途 |
| ------------- | ---------------------------- |
| FastAPI | API 框架 |
| Uvicorn | 应用服务器 |
| Requests | HTTP 请求 |
| python-whois | WHOIS 查询 |
| dnspython | DNS 查询 |
| ipinfo | IP 地理位置 |
| ReportLab | PDF 生成 |
| BeautifulSoup | HTML 解析与技术检测 |
| socket | 端口扫描 |
| ssl | SSL 证书检查 |
# 局限性
* 端口扫描器仅检查一小部分常见的端口。
* 子域名发现使用预定义的字典,可能无法找到所有子域名。
* 技术检测依赖于公开可用的信息。
* 地理位置信息依赖于第三方服务。
* 安全检查是基础的,不能替代全面的安全评估。
# 未来改进
扩展该项目的一些想法包括:
* 增加更多的被动侦察来源
* Certificate Transparency 日志搜索
* 并发扫描以获得更快的结果
* 导出为 JSON 或 CSV
* 身份验证与扫描历史记录
* 更详细的安全检查
# 为什么采用这种结构?
我将每项侦察任务都分离到了各自的模块中,以便每个模块都只承担单一职责。这使得代码更易于阅读、测试和维护。这也意味着以后可以在不更改现有模块的情况下添加新的侦察模块。
标签:AV绕过, ESC4, FastAPI, GitHub, OSINT, Python, Splunk, 动态插桩, 威胁情报, 实时处理, 密码管理, 开发者工具, 无后门, 网络测绘, 逆向工具