Wambita/osint_master
GitHub: Wambita/osint_master
综合性开源网络情报工具,整合 IP 查询、跨平台用户名搜索和域名枚举功能,支持子域名接管风险检测。
Stars: 0 | Forks: 0
# OSINT Master - 多功能侦察工具
一款综合性的开源网络情报 (OSINT) 工具,利用公开数据进行被动侦察。该工具可执行 IP 地址查询、跨社交平台用户名搜索,以及带有子域名接管检测功能的域名枚举。
## 法律与道德免责声明
**仅供教育目的**
本工具仅设计用于教育目的和授权的安全测试。用户必须:
- 在收集任何目标信息之前获得明确许可
- 遵守所有适用法律,包括 GDPR、CFAA 和当地隐私法规
- 尊重隐私,仅收集必要数据
- 负责任且合乎道德地使用本工具
- 通过负责任的披露实践报告漏洞
**开发者不对本工具的滥用行为负责。未经授权访问计算机系统是违法的。**
## 功能特性
- **IP 地址查询**:获取地理位置、ISP 详情、ASN 和滥用报告
- **用户名搜索**:检查在 6 个以上社交平台上的存在情况
- **域名枚举**:利用证书透明度日志发现子域名
- **SSL 证书分析**:检查证书有效性和到期日期
- **子域名接管检测**:识别潜在的接管漏洞
## 前置条件
- Python 3.7 或更高版本
- 互联网连接
- 虚拟机(建议用于隔离)
### 推荐的虚拟机配置
为了安全和隔离:
- **操作系统**:Ubuntu 20.04+ 或 Kali Linux
- **资源配置**:2GB 内存,20GB 磁盘空间
- **网络**:NAT 或桥接模式
- **软件**:VirtualBox、VMware 或 QEMU/KVM
## 安装说明
### 方法 1:标准安装
1. 克隆仓库:
```
git clone https://learn.zone01kisumu.ke/git/shfana/osint-master.git
cd osint-master
```
2. 安装依赖项:
```
pip install -r requirements.txt
```
3. 运行工具:
```
./osintmaster --help
```
### 方法 2:开发模式安装
```
pip install -e .
```
这将以可编辑模式安装软件包,并全局创建 `osintmaster` 命令。
## 配置
### API 密钥(可选)
为了增强滥用报告功能,请从 [AbuseIPDB](https://www.abuseipdb.com/) 获取免费的 API 密钥:
1. 复制示例环境文件:
```
cp .env.example .env
```
2. 注册一个免费的 AbuseIPDB 账户并生成 API 密钥
3. 编辑 `.env` 并添加您的 API 密钥:
```
ABUSEIPDB_API_KEY=your_actual_key_here
```
**注意**:该工具在没有 API 密钥的情况下也能工作,但滥用数据会受到限制。
## 使用说明
### 命令行选项
```
./osintmaster --help
# 或
python3 -m src.main --help
```
**选项:**
- `-i "IP Address"` - 按 IP 地址搜索信息
- `-u "Username"` - 按用户名搜索信息
- `-d "Domain"` - 枚举子域名并检查接管风险
- `-o "FileName"` - 保存输出的文件名
- `--help` - 显示帮助信息
### 示例
#### IP 地址查询
```
./osintmaster -i 8.8.8.8 -o result1.txt
```
**输出:**
```
ISP: Google LLC
City: Mountain View
Country: United States
ASN: 15169
Known Issues: No reported abuse
Data saved in result1.txt
```
#### 用户名搜索
```
./osintmaster -u "torvalds" -o result2.txt
```
**输出:**
```
GitHub: Found
Bio: Creator of Linux
Followers: 150000
Public Repos: 5
Twitter: Found
LinkedIn: Not Found
Instagram: Not Found
Facebook: Not Found
Reddit: Not Found
Recent Activity: Active on GitHub
Data saved in result2.txt
```
#### 域名枚举
```
./osintmaster -d "example.com" -o result3.txt
```
**输出:**
```
Main Domain: example.com
Subdomains found: 3
- www.example.com (IP: 93.184.216.34)
SSL Certificate: Valid until 2024-12-31
- mail.example.com (IP: 93.184.216.34)
SSL Certificate: Valid until 2024-12-31
- test.example.com (IP: Not resolved)
SSL Certificate: Not found
Potential Subdomain Takeover Risks:
- Subdomain: test.example.com
CNAME record points to amazonaws
Recommended Action: Remove or update the DNS record to prevent potential misuse
Data saved in result3.txt
```
## 输出格式
结果以包含结构化信息的纯文本格式保存:
- 清晰的章节标题
- 缩进的层级数据
- 易读的格式化
- 保存到 `output/` 目录或指定位置
## 架构
```
osint-master/
├── src/
│ ├── __init__.py # Package initialization
│ ├── config.py # Configuration settings
│ ├── ip_lookup.py # IP geolocation and abuse checking
│ ├── username_lookup.py # Social media username enumeration
│ ├── domain_enum.py # Subdomain discovery and takeover detection
│ └── main.py # CLI interface and output formatting
├── output/ # Results storage directory
├── osintmaster # Executable entry point
├── setup.py # Package installation configuration
├── requirements.txt # Python dependencies
├── .env.example # Environment variables template
├── .gitignore # Git ignore rules
├── MANIFEST.in # Package manifest
├── LICENSE # License file
└── README.md # This file
```
## 技术实现
### IP 查询
- **API**:ip-api.com(免费,45 次请求/分钟)
- **数据**:地理位置、ISP、ASN
- **滥用检查**:AbuseIPDB API(可选)
### 用户名搜索
- **平台**:GitHub、Twitter、Instagram、Facebook、LinkedIn、Reddit
- **方法**:带有状态码和内容分析的 HTTP 请求
- **并发**:使用 ThreadPoolExecutor 进行并行检查
- **GitHub API**:获取个人资料简介、关注者和仓库数量
### 域名枚举
- **子域名发现**:证书透明度日志
- **DNS 解析**:Python socket 库
- **SSL 分析**:通过 socket 进行 SSL 证书检查
- **接管检测**:带有特定服务签名的 CNAME 分析
## 子域名接管风险
### 什么是子域名接管?
当子域名指向一个已不存在或未被声明的外部服务(通过 CNAME)时,就会发生子域名接管。攻击者可以声明该服务并控制该子域名。
### 检测方法
本工具检查:
- 指向云服务(AWS S3、GitHub Pages、Heroku、Azure)的 CNAME 记录
- 指示资源未被声明的特定服务错误签名
- 指向不存在资源的 DNS 记录
### 防护策略
1. 立即**删除未使用的 DNS 记录**
2. 定期**监控 DNS 配置**
3. 在创建 DNS 记录之前**声明所有外部资源**
4. 使用 DNS 监控工具**设置告警**
5. **实施 DNS CAA 记录**以限制证书颁发
## 限制
- 免费 API 的速率限制(ip-api:45 次请求/分钟)
- 社交媒体平台可能会阻止自动化请求
- 子域名枚举仅限于证书透明度日志
- 部分平台需要身份验证才能获取详细数据
- 结果取决于公开可用的信息
## 故障排除
### 常见问题
**“Module not found” 错误:**
```
pip install -r requirements.txt
```
**连接超时:**
- 检查互联网连接
- 验证防火墙设置
- 部分API可能受到速率限制
**未找到子域名:**
- 域名可能没有证书透明度日志
- 请使用知名域名进行测试
**社交媒体“Not Found”误报:**
- 平台可能会阻止自动化请求
- 如被速率限制,请使用 VPN 或更换 IP
## 最佳实践
1. 在扫描目标前**务必获取许可**
2. **使用虚拟机**进行隔离和安全防护
3. **遵守速率限制**以避免 IP 被封禁
4. **安全存储 API 密钥**(使用环境变量)
5. 分享前**审查输出**以避免泄露敏感数据
6. **保持依赖项更新**以获取安全补丁
## 未来增强计划
- 带有电话/地址查询的全名搜索
- GUI 界面以提高可访问性
- PDF 报告生成
- 邮箱枚举和数据泄露检查
- WHOIS 信息检索
- 反向 IP 查询
- 暗网存在检查
## 贡献指南
这是一个教育项目。贡献应:
- 遵循道德准则
- 包含适当的文档
- 尊重 API 服务条款
- 为学习目标增加价值
## 许可证
本项目用于教育目的。请确保遵守所有适用法律和法规。
## 资源
- [OSINT Framework](https://osintframework.com/)
- [Awesome OSINT](https://github.com/jivoi/awesome-osint)
- [OWASP Subdomain Takeover](https://owasp.org/www-community/attacks/Subdomain_Takeover)
- [Certificate Transparency](https://certificate.transparency.dev/)
## 支持
如有问题或疑问:
1. 查阅本文档
2. 仔细审查错误信息
3. 验证 API 配置
4. 使用已知可用的示例进行测试(8.8.8.8,example.com)
**请记住:能力越大,责任越大。请合法、合乎道德地使用本工具。**
标签:ESC4, IP地址查询, OSINT, Python, SSL证书分析, URL抓取, 商业软件, 威胁情报, 子域名接管, 子域名枚举, 安全工具库, 实时处理, 密码管理, 开发者工具, 数据抓取, 无后门, 用户名搜索, 社交媒体侦察, 系统安全, 被动侦察, 逆向工具, 隐私合规