Bshisia/osint-master
GitHub: Bshisia/osint-master
一款集成IP查询、社交平台用户名搜索和子域名枚举的Python被动侦察工具,支持SSL证书分析与子域名接管风险检测。
Stars: 0 | Forks: 0
# OSINT Master - 多功能侦察工具
一个综合性的开源网络情报 (OSINT) 工具,利用公开数据进行被动侦察。该工具执行 IP 地址查询、跨社交平台用户名搜索,以及包含子域名接管检测的域名枚举。
## ⚠️ 法律与道德免责声明
**仅供教育目的**
本工具仅设计用于教育目的和授权的安全测试。用户必须:
- 在收集任何目标信息前获得明确许可
- 遵守所有适用法律,包括 GDPR、CFAA 和当地隐私法规
- 尊重隐私,仅收集必要数据
- 负责任且合乎道德地使用本工具
- 通过负责任的披露流程报告漏洞
**开发者不对本工具的滥用负责。未经授权访问计算机系统是违法行为。**
## 功能特性
- **IP 地址查询**:检索地理位置、ISP 详情、ASN 和滥用报告
- **用户名搜索**:检查 6 个以上社交平台(GitHub, Twitter, Instagram, Facebook, LinkedIn, Reddit)
- **域名枚举**:使用证书透明度日志发现子域名
- **SSL 证书分析**:检查证书有效性和过期日期
- **子域名接管检测**:识别潜在的接管漏洞
## 前置条件
- Python 3.7 或更高版本
- 互联网连接
- 虚拟机(建议用于隔离)
### 推荐的虚拟机配置
为了安全和隔离:
- **操作系统**:Ubuntu 20.04+ 或 Kali Linux
- **资源**:2GB 内存,20GB 磁盘空间
- **网络**:NAT 或桥接模式
- **软件**:VirtualBox, VMware, 或 QEMU/KVM
## 安装说明
### 方法一:标准安装
1. 克隆仓库:
```
git clone https://learn.zone01kisumu.ke/git/bshisia/osint-master.git
cd osint-master
```
2. 安装依赖项:
```
pip install -r requirements.txt
```
3. 运行工具:
```
./osintmaster --help
```
### 方法二:开发模式安装
```
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**:检索个人简介、关注者和仓库数量
### 域名枚举
- **子域名发现**:证书透明度日志 (crt.sh)
- **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, Python脚本, SSL证书分析, 公网数据, 动态插桩, 商业软件, 子域名接管, 子域名枚举, 安全工具库, 实时处理, 密码管理, 无后门, 用户名搜索, 社交媒体侦察, 系统安全, 网络安全, 蓝队, 被动侦察, 逆向工具, 隐私保护