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抓取, 商业软件, 威胁情报, 子域名接管, 子域名枚举, 安全工具库, 实时处理, 密码管理, 开发者工具, 数据抓取, 无后门, 用户名搜索, 社交媒体侦察, 系统安全, 被动侦察, 逆向工具, 隐私合规