shinchxn/VOIP-OAINT

GitHub: shinchxn/VOIP-OAINT

面向执法与网络安全人员的命令行威胁情报工具,专注于VoIP通信欺诈场景下的号码、IP、域名和SIP流量的自动化采集、关联分析与取证报告生成。

Stars: 0 | Forks: 0

``` __ __ ___ ___ ___ __ _ _ _____ \ \ / /__ |_ _| _ \ / _ \/ _\| \| ||_ _| \ V / _ \ | || _/ | (_) \__ \ .` | | | \_/\___/|___|_| \___/|___/_|\_| |_| VoIP OSINT APEX v2.0 | LEA EDITION ``` [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/) [![Platform](https://img.shields.io/badge/platform-Ubuntu_22.04-orange.svg)]() [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)]() [![Status](https://img.shields.io/badge/status-Active-success.svg)]() **面向执法人员与网络安全专家的高级 CLI 威胁情报工具**
## ✨ 核心功能 ### 核心模块 | 模块 | 描述 | | :--- | :--- | | 📞 **号码情报** | 电话号码解析、一次性/VOIP检测、运营商查询和欺诈评分 (IPQualityScore, Numverify)。 | | 🌍 **IP 情报** | 关联来自 IP-API、AbuseIPDB、Shodan、VirusTotal、ProxyCheck 和 Tor 出口节点的 IP 数据。 | | 🔍 **域名侦察** | 收集 WHOIS、DNS记录、证书透明度日志 (`crt.sh`),并集成 `theHarvester`。 | | 📡 **SIP & RTP 分析** | 实时网络嗅探和 PCAP 解析,以提取 SIP 头部、用户代理、转发轨迹和媒体服务器 IP。 | | 🧠 **威胁关联** | 自动化证据链构建、置信度评分、归因,并生成结构化的传票目标。 | ### 升级模块 (v2.0) | 模块 | 描述 | | :--- | :--- | | 🛰️ **WebRTC/STUN 追踪器** | 通过 STUN 绑定请求捕获从 WhatsApp、Telegram 和 Google Meet 泄露的真实 IP —— 绕过 VPN 掩护。 | | 📶 **HLR / 运营商情报** | IMSI/SS7 感知 —— 使用 HLR 查询 API 检查号码是否处于漫游、已携号转网或活跃状态,而无需真实的 SS7 访问权限。 | | 🛡️ **威胁情报源** | 自主黑名单集成 —— 结合本地缓存,根据 6 个以上的 VoIP/滥用情报源 (Emerging Threats、Blocklist.de VoIP/SIP、Spamhaus DROP 等) 检查 IP。 | | 🌳 **呼叫图可视化** | 使用 Rich 从 SIP 数据包数据构建 ASCII 呼叫流程树,并导出用于 HTML 报告的 Mermaid 序列图。 | | 🗄️ **案例管理** | 基于 SQLite 的持久化案例存储 —— 保存、搜索、重新加载和导出过往调查,无需 PostgreSQL。 | | 🔢 **号码排列器** | 生成诈骗团伙使用的相邻/相关号码变体(尾号、连续、区号交换模式)。 | | 🌐 **被动 DNS** | 使用 HackerTarget、SecurityTrails 和 crt.sh 追踪域名的 IP 历史变更。 | | 📜 **传票生成器** | 生成格式正确的法律 PDF 文档(执法记录请求)及 SHA-256 完整性哈希值。 | ## 🚀 快速开始 在几分钟内启动并运行环境: ``` # 克隆仓库 git clone https://github.com/shinchxn/VOIP-OAINT.git cd VOIP-OAINT/voip-osint-apex ``` ## 🖥️ 高级 CLI 体验 VOIP-OAINT 采用高保真命令行界面 (CLI),使用 **`rich`** 库为调查人员提供复杂数据清晰且具可操作性的视图: * **📊 实时进度监控**:在多线程 API 查询和网络扫描期间提供实时状态指示。 * **🎨 颜色编码情报**:提供风险级别的即时视觉反馈(绿色 = 低,黄色 = 中,红色 = 高,深红色 = 严重)。 * **📋 结构化数据面板**:格式整洁的表格和面板,用于展示 SIP 数据包头部、WHOIS 记录和归因提示。 * **📑 交互式审计日志**:样式化控制台日志,将调查发现与系统状态消息区分开。 ## 🛠️ 环境设置 ### 1️⃣ 系统前提条件 在干净的 **Ubuntu 22.04** 环境中运行以下命令: ``` sudo apt update && sudo apt upgrade -y sudo apt install -y asterisk nmap sngrep tshark wireshark \ sipp redis-server masscan whois \ python3.11 python3-pip python3-venv \ git curl jq net-tools ``` ### 2️⃣ 外部工具集成 ``` # SIPVicious pip install sipvicious # theHarvester cd /opt && sudo git clone https://github.com/laramies/theHarvester cd theHarvester && pip install -r requirements/base.txt # DNSRecon sudo git clone https://github.com/darkoperator/dnsrecon /opt/dnsrecon pip install -r /opt/dnsrecon/requirements.txt ``` ## 📞 ASTERISK 实验室设置 — 完整命令 为分析实时 SIP 流量,请配置本地 Asterisk 实验室以模拟非法 VoIP 转发: ### 1️⃣ 配置 PJSIP 端点 编辑 `/etc/asterisk/pjsip.conf`: ``` [transport-udp] type=transport protocol=udp bind=0.0.0.0 [6001] type=endpoint context=from-internal disallow=all allow=ulaw auth=6001 aors=6001 [6001] type=auth auth_type=userpass password=unsecurepassword username=6001 [6001] type=aor max_contacts=1 ``` ### 2️⃣ 配置拨号方案(转发模拟) 编辑 `/etc/asterisk/extensions.conf`: ``` [from-internal] exten => 100,1,NoOp(VOIP OSINT TEST CALL) same => n,Dial(PJSIP/6001,20) same => n,Hangup() exten => 200,1,NoOp(FORWARDING TRACE TEST) same => n,Set(CALLERID(num)=+14155552671) same => n,Dial(PJSIP/6001,,b(handler^s^1)) ``` ### 3️⃣ 初始化服务与嗅探 ``` # 重启 Asterisk sudo systemctl restart asterisk # 验证 endpoints sudo asterisk -rx "pjsip show endpoints" # 启动 VOIP-OAINT live sniffer sudo python3 main.py live --iface lo --alert ``` ## ⚙️ 项目配置 ### 1️⃣ Python 虚拟环境 强烈建议使用虚拟环境来管理依赖项: ``` # 创建环境 python3.11 -m venv venv # 在 Linux/macOS 上激活 source venv/bin/activate # 在 Windows (PowerShell) 上激活 # .\venv\Scripts\Activate.ps1 ``` ### 2️⃣ 依赖安装 导航至项目目录并安装所需的取证库: ``` cd voip-osint-apex pip install --upgrade pip pip install -r requirements.txt ``` ### API 密钥 (`.env`) 为了保护您的凭据,我们使用被 Git 忽略的 `.env` 文件。 1. 复制模板文件:`cp .env.example .env` 2. 打开 `.env` 并添加您的密钥: | 密钥 | 服务 | 用途 | | :--- | :--- | :--- | | `IPQS_KEY` | [IPQualityScore](https://www.ipqualityscore.com/) | 欺诈评分与运营商检测 | | `SHODAN_KEY` | [Shodan.io](https://www.shodan.io/) | 基础设施与端口扫描 | | `ABUSEIPDB_KEY` | [AbuseIPDB](https://www.abuseipdb.com/) | IP 信誉与报告 | | `VIRUSTOTAL_KEY` | [VirusTotal](https://www.virustotal.com/) | 恶意软件与域名分析 | | `NUMVERIFY_KEY` | [Numverify](https://numverify.com/) | 号码验证与 HLR 回退 | | `SECURITYTRAILS_KEY` | [SecurityTrails](https://securitytrails.com/) | 被动 DNS 历史查询(可选) | ## 🚀 使用指南 查看全局帮助菜单和所有 18 个可用命令: ``` python main.py --help ``` ### 1️⃣ 号码分析 分析电话号码的运营商数据、欺诈评分和线路类型。 ``` python main.py number +14155552671 --save --pdf ``` ### 2️⃣ IP 情报 深入挖掘 IP 信誉、VPN/Tor 检测和开放端口。 ``` python main.py ip 104.21.45.67 --ports --save ``` ### 3️⃣ 域名侦察 收集 WHOIS、DNS 和证书透明度数据。 ``` python main.py domain target-voip.com --harvest --save ``` ### 4️⃣ 电子邮件与域名 OSINT 将电子邮件与泄露的数据库和社交平台进行交叉比对。 ``` # 分析电子邮件 python main.py osint --email investigator@example.com # 运行域名侦察 (Harvester + DNSRecon) python main.py osint --domain target-voip.com ``` ### 5️⃣ 网络扫描 对 VoIP 基础设施执行高速扫描。 ``` python main.py scan 192.168.1.0/24 ``` ### 6️⃣ SIP 指纹识别 识别媒体服务器类型并追踪网络路径。 ``` python main.py fingerprint 104.21.45.67 ``` ### 7️⃣ PCAP 取证 解析现有的网络捕获文件以获取 SIP 和 RTP 元数据。 ``` python main.py pcap evidence.pcap --rtp --save ``` ### 8️⃣ 实时调查嗅探 监控实时网络接口的 SIP 流量。 ``` sudo python main.py live --iface eth0 --alert ``` ### 9️⃣ 全情报流水线 将多个实体(号码 + IP + 域名)关联到一个单一的取证报告中。 ``` python main.py full --number +14155552671 --ip 1.1.1.1 --domain example.com --save --pdf ``` ### 🔟 报告关联 对现有的调查报告进行关联。 ``` python main.py correlate --report outputs/reports/investigation_123.json ``` ## 🆕 升级模块命令 (v2.0) ### 1️⃣ WebRTC/STUN 检测 检测通过 WebRTC STUN 绑定请求从 WhatsApp、Telegram、Google Meet 等应用泄露的真实 IP。 ``` # 在 eth0 上嗅探 60 秒 sudo python main.py stun --iface eth0 --duration 60 # 嗅探 120 秒,保存结果 sudo python main.py stun --iface wlan0 --duration 120 --save ``` ### 2️⃣ HLR 运营商查询 查询运营商情报 —— 漫游状态、携号转网标志、线路类型。 ``` python main.py hlr +14155552671 ``` ### 3️⃣ 威胁情报源检查 根据 6 个以上的 VoIP/滥用黑名单检查 IP,并进行加权评分。 ``` # 标准检查 (使用 6 小时缓存) python main.py feeds 104.21.45.67 # 首先强制刷新所有 feeds python main.py feeds 104.21.45.67 --refresh ``` ### 4️⃣ 呼叫图可视化 将 SIP 呼叫流程渲染为 ASCII 树,并可选导出 Mermaid 图表。 ``` # 从 PCAP 文件 python main.py graph --pcap evidence.pcap # 从已保存的 case,导出 Mermaid python main.py graph --case-id 5 --mermaid ``` ### 5️⃣ 案例管理 用于所有调查的持久化 SQLite 案例存储。 ``` # 列出所有过去的调查 python main.py cases # 重新加载特定的 case python main.py cases --id 5 # 按号码、IP 或域名搜索 cases python main.py cases --search "14155" # 将所有 cases 导出为 CSV python main.py cases --export ``` ### 6️⃣ 号码排列 生成诈骗团伙使用的相邻号码变体。 ``` # 默认模式 (last_digit + sequential) python main.py permute +14155552671 # 自定义模式 python main.py permute +14155552671 --modes "last_digit,sequential,swap_area" ``` ### 7️⃣ 被动 DNS 历史 追踪任何域名的 IP 历史变更。 ``` # 完整聚合查询 python main.py pdns target-voip.com # Timeline 视图 (按时间顺序排序) python main.py pdns target-voip.com --timeline ``` ### 8️⃣ 传票 PDF 生成 生成格式规范的法律记录请求文档。 ``` python main.py subpoena \ --case-id CASE-2026-001 \ --number "+14155552671" \ --platform "TextNow" \ --ip "104.21.45.67" \ --officer "Det. John Smith" \ --badge "B-4521" \ --agency "Cyber Crime Division" ``` ## 📊 输出与证据 所有输出均整理在 `outputs/` 目录下: | 目录 | 内容 | | :--- | :--- | | `outputs/reports/` | 带有 SHA-256 完整性哈希的 JSON、PDF、CSV 调查报告 | | `outputs/logs/` | 带有时间戳的审计跟踪日志 | | `outputs/pcaps/` | 捕获的网络流量文件 | | `outputs/subpoenas/` | 生成的法律请求 PDF | | `outputs/feed_cache/` | 本地缓存的威胁情报源数据(6 小时 TTL) | | `outputs/cases.db` | 所有已保存调查的 SQLite 数据库 | | `outputs/stun_events.json` | 捕获的 WebRTC/STUN 泄露事件 | ## 📁 项目结构 ``` voip-osint-apex/ ├── main.py # CLI entry point (18 commands) ├── requirements.txt # Python dependencies ├── .env.example # API key template ├── .env # Your API keys (git-ignored) ├── realtime.py # Realtime streaming placeholder ├── modules/ │ ├── number_lookup.py # Phone number intelligence │ ├── ip_intel.py # IP reputation & geolocation │ ├── domain_lookup.py # WHOIS, DNS, crt.sh │ ├── sip_parser.py # SIP/RTP packet parsing │ ├── port_scan.py # Nmap, Masscan, SIPVicious │ ├── osint_engine.py # Holehe, theHarvester, DNSRecon │ ├── network_mapper.py # VoIP path tracing & fingerprinting │ ├── threat_correlator.py # Evidence correlation engine │ ├── report.py # JSON/PDF/CSV report generation │ ├── webrtc_tracker.py # WebRTC/STUN IP leak detection │ ├── carrier_intel.py # HLR / carrier intelligence │ ├── threat_feeds.py # Autonomous blacklist checking │ ├── call_graph.py # SIP call flow visualizer │ ├── number_permutator.py # Phone number variant generator │ ├── passive_dns.py # Historical DNS tracking │ └── subpoena_generator.py # Legal document PDF builder ├── utils/ │ ├── logger.py # Audit logging │ ├── cache.py # Redis caching layer │ └── case_db.py # SQLite case management └── outputs/ # All generated files ```
标签:Ask搜索, CTI, DNS记录, ESC4, GitHub, HLR查询, HTTP/HTTPS抓包, IMSI, IP归因, OSINT, PCAP分析, Python, RTP, SIP协议分析, SOC, SS7信令安全, STUN, VirusTotal, VoIP安全, VPN穿透去匿名化, WebRTC, WHOIS查询, 协议探测, 反欺诈, 号码情报, 域名字符串, 域渗透, 威胁情报, 实时处理, 开发者工具, 态势感知, 执法机构工具, 搜索引擎查询, 数据泄露, 无后门, 电子数据取证, 网络嗅探, 网络安全, 网络流量分析, 证书透明度, 防御绕过, 隐私保护, 隐私绕过, 黑灰产溯源