osintph/threatintel-platform
GitHub: osintph/threatintel-platform
一个专为东南亚地区构建的自托管威胁情报平台,集成暗网爬虫、Telegram监控和勒索软件追踪,实现实时威胁情报收集与分析。
Stars: 117 | Forks: 18
# 🔍 暗网扫描器 — 网络威胁情报平台
一个自托管、开源的威胁情报平台,专为菲律宾及东南亚安全环境而构建。它爬行 .onion 网络、监控 Telegram 频道、追踪勒索软件团伙、分析威胁行为者,并每日推送情报摘要 —— 所有功能均通过单次 Docker 部署实现。
**版本:1.0.1 · 许可证:AGPL v3**
## ⚡ 快速部署
```
curl -fsSL https://raw.githubusercontent.com/osintph/darkweb-scanner/main/deploy.sh -o /tmp/deploy.sh && sudo bash /tmp/deploy.sh
```
适用于 Ubuntu 22.04/24.04、Debian 及大多数基于 Debian 的发行版。该脚本将自动安装 Docker、克隆仓库、配置 Tor、生成密钥、设置带 SSL 的 Nginx 并启动所有服务。
**使用真实域名和 SSL 证书:**
```
DOMAIN=scanner.yourdomain.com SSL_EMAIL=you@example.com \
curl -fsSL https://raw.githubusercontent.com/osintph/darkweb-scanner/main/deploy.sh -o /tmp/deploy.sh && \
sudo bash /tmp/deploy.sh
```
## 🧩 功能
- **暗网爬虫** — 基于异步 Tor 的 .onion 站点爬虫,可配置关键词监控,实时告警
- **情报仪表盘** — 全新主页,实时显示威胁等级、勒索软件受害者信息流、团伙排名、东南亚国家细分、ThreatFox IOC 迷你信息流及新闻头条
- **ransomware.live PRO 集成** — 全面的 PRO API 集成:324+ 个追踪团伙、26,000+ 名受害者、IOC、谈判聊天记录、勒索信、YARA 规则、SEC 8-K 文件、CSIRT 目录
- **IOC 信息流** — 来自 ThreatFox、URLhaus 和 Feodo Tracker 的实时危害指标,支持搜索、类型过滤和置信度评分
- **频段监控** — 交互式仪表盘标签页,可按需爬取任意 Telegram 频道,自动将消息翻译为英文,并将结果下载为 ZIP(HTML 报告 + 媒体文件)
- **Telegram 爬取器** — 使用与爬虫相同的引擎监控公共 Telegram 频道的关键词匹配
- **项目** — 作用域监控任务,支持按项目设置关键词、目标域名、实体及匹配追踪
- **IP 调查** — 并行查询 AbuseIPDB 与 VirusTotal,附带地理位置、ASN 和历史记录
- **基础设施侦察** — 全面的被动 + 主动 DNS 侦察,含 DNSDumpster 增强、活动子域暴力破解、跨 30 项服务的 TCP 端口扫描、HTTP 目录枚举、证书透明度历史、区域传送尝试、SPF/DMARC/DKIM 电子邮件安全评分、交互式子域节点图、每 IP 端口热力图,以及带世界地图的 PDF 导出
- **OSINT 工具集** — 七种代理 OSINT 工具(Shodan、Censys、GreyNoise、URLScan、MXToolbox、SecurityTrails、VirusTotal)可直接从仪表盘访问
- **网站检查** — 针对任意域名的按需 OSINT 分析:SSL、头部信息、开放端口、技术栈、WHOIS 等
- **勒索软件追踪器** — 由 ransomware.live PRO 提供支持,实时追踪 324+ 个勒索软件团伙,重点关注东南亚/菲律宾地区,包含受害者数量及针对东南亚的标记
- **威胁行为者画像** — 与东南亚相关的 APT 和网络犯罪分子结构化画像
- **每日摘要** — 每日早晨推送邮件,包含 CISA KEV、OTX 脉冲、abuse.ch 信息流及精选 RSS — 通过 Mailgun 发送
- **身份验证** — bcrypt 密码、TOTP 双因素认证、可选 Google/GitHub OAuth、基于角色的访问控制
- **多用户** — 管理员和普通用户角色,每用户项目所有权
## 🚀 部署
### 要求
- 新的 Linux 服务器(推荐 Ubuntu 22.04/24.04)
- 最低 2GB 内存(Chromium 渲染 PDF 地图需要预留空间)
- 开放端口 80 和 443
- 一个域名(可选但推荐,用于受信任的 SSL)
### 部署后首次设置
1. 访问 `https://YOUR_SERVER_IP/register` 并创建您的管理员账户
2. 编辑您的配置:
```
nano ~/darkweb-scanner/.env
nano ~/darkweb-scanner/config/keywords.yaml
nano ~/darkweb-scanner/config/seeds.txt
```
3. 重启以应用配置更改:
```
cd ~/darkweb-scanner && docker compose restart dashboard
```
### 网站检查(手动步骤 — 不在 deploy.sh 中)
网站检查作为独立服务运行,必须在主平台部署后手动设置。详见 [docs/deployment.md](docs/deployment.md#web-check-integration) 获取完整说明。
```
# 简短版本
cd /root
git clone https://github.com/lissy93/web-check.git
cd web-check && BASE_URL=/ yarn install && yarn build
cd /root/darkweb-scanner && docker compose up -d webcheck
```
然后为 `webcheck.YOURDOMAIN` 签发 SSL 证书并重载 nginx — 完整步骤请参见部署文档。
### 更新
```
cd ~/darkweb-scanner
git pull
docker compose build --no-cache
docker compose up -d
```
## ⚙️ 配置
所有配置均在 `.env` 文件中。**切勿提交此文件。**
### 基本变量
| 变量 | 描述 |
|----------|-------------|
| `DASHBOARD_SECRET_KEY` | Flask 会话密钥 — 请修改此项 |
| `TOR_CONTROL_PASSWORD` | 由部署脚本自动生成 |
| `DATABASE_URL` | SQLite(默认)或 PostgreSQL |
### 威胁情报信息流
| 变量 | 描述 |
|----------|-------------|
| `RANSOMWARE_LIVE_API_KEY` | **ransomware.live PRO — 在 my.ransomware.live 永久免费** — 解锁 IOC、谈判记录、勒索信、YARA 规则,每日 3000 次调用 |
| `THREATFOX_API_KEY` | ThreatFox (abuse.ch) — 在 threatfox.abuse.ch 免费获取 — 实时 IOC 信息流 |
| `WHITEINTEL_API_KEY` | WhiteIntel — 在 whiteintel.io 免费层级 — 凭据暴露监控 |
| `OTX_API_KEY` | AlienVault OTX — 在 otx.alienvault.com 免费获取 |
| `ABUSEIPDB_API_KEY` | AbuseIPDB — 免费层级:每日 1,000 次检查 |
| `VIRUSTOTAL_API_KEY` | VirusTotal — 免费层级:每分钟 4 次请求 |
| `DNSDUMPSTER_API_KEY` | DNSDumpster — 用于基础设施侦察增强 |
### 每日摘要(Mailgun)
| 变量 | 描述 |
|----------|-------------|
| `MAILGUN_API_KEY` | Mailgun API 密钥 |
| `MAILGUN_DOMAIN` | 您的 Mailgun 发送域名 |
| `MAILGUN_FROM` | 发件人地址 |
### Telegram 爬取器
| 变量 | 描述 |
|----------|-------------|
| `TELEGRAM_API_ID` | 来自 my.telegram.org/apps |
| `TELEGRAM_API_HASH` | 来自 my.telegram.org/apps |
| `TELEGRAM_PHONE` | 您的带国家代码的手机号码 — 频段监控标签页必需 |
| `TELEGRAM_CHANNELS` | 以逗号分隔的频道用户名(无 @) — 后台爬取器使用 |
## 📡 频段监控
**频段监控** 标签页允许您直接从仪表盘按需爬取任何公共 Telegram 频道 — 无需 CLI。它获取消息,自动检测并翻译为英文,下载媒体文件(照片和视频),并将所有内容打包成可下载的 ZIP 文件。
### 设置
将以下内容添加到您的 `.env` 文件:
```
TELEGRAM_API_ID=12345678
TELEGRAM_API_HASH=abcdef1234567890abcdef1234567890
TELEGRAM_PHONE=+639XXXXXXXXX
```
### 首次身份验证
Telegram 首次登录需要交互式验证。请在服务器上运行一次此命令:
```
cd ~/darkweb-scanner
docker compose exec dashboard python3 -c "
import asyncio
from telethon import TelegramClient
import os
from dotenv import load_dotenv
load_dotenv('/app/.env')
async def auth():
c = TelegramClient('/app/data/channel_monitor/channel_monitor', int(os.environ['TELEGRAM_API_ID']), os.environ['TELEGRAM_API_HASH'])
await c.start(phone=os.environ['TELEGRAM_PHONE'])
print('Auth OK:', (await c.get_me()).username)
await c.disconnect()
asyncio.run(auth())
"
```
提示时输入发送到您 Telegram 应用的一次性密码。该会话在重启后保持有效 — 您只需执行一次此操作。
## 📁 项目结构
```
config/
keywords.yaml # keyword monitoring rules
seeds.txt # .onion seed URLs for the crawler
docs/ # feature documentation
src/darkweb_scanner/
crawler.py # async Tor crawler
scanner.py # keyword matching engine
storage.py # SQLAlchemy models and storage layer
feeds.py # OTX, CISA, abuse.ch, RSS feeds
digest.py # daily email digest
dns_crawler.py # DNS recon + subdomain brute-force + port scan + dir enum
ip_lookup.py # IP investigation module
ransomware_live.py # ransomware.live PRO API client (NEW)
telegram_scraper.py # Telegram channel scraper (keyword hit pipeline)
channel_monitor.py # Telegram channel monitor (on-demand scrape + translate)
threat_actors.py # threat actor profile data
ransomware_data.py # local ransomware group data (merged with live API)
dashboard/
app.py # Flask application factory
auth_routes.py # login, register, TOTP, OAuth
dashboard_routes.py # all API and dashboard routes + proxy endpoints
ransomware_live_routes.py # ransomware.live PRO API routes (NEW)
channel_monitor_routes.py # Channel Monitor API routes + job runner
templates/
index.html # single-page dashboard UI
docker/
app/Dockerfile
tor/Dockerfile
nginx/ # nginx with auto SSL entrypoint
deploy.sh # zero-prerequisite deployment script
```
## 🔧 实用命令
```
# 运行 ~/darkweb-scanner
make scan # run a crawl (foreground)
make check-tor # verify Tor connectivity
make stats # show scan statistics
make hits # show recent keyword hits
make logs # tail all container logs
make stop # stop all containers
```
## 🗺️ 路线图
- WhiteIntel 完整仪表盘集成(按域名显示凭据暴露情况)
- 泄露数据搜索(HIBP 集成)
- 通过仪表盘自定义端口扫描字典上传
- 计划 / 定期 DNS 侦察任务
- 移动端界面
- 扩展东南亚/菲律宾威胁行为者画像和关键词覆盖
- 勒索软件团伙详情弹窗,包含完整的 ransomware.live PRO 数据
## 📄 许可证
本项目根据 GNU Affero 通用公共许可证 v3.0 (AGPL-3.0-only) 授权。
您可以使用、修改和分发本软件。如果您运行修改版本作为网络服务,则必须向该服务的用户提供源代码。
详见 [LICENSE](LICENSE) 文件获取完整文本。
## 🤝 贡献
欢迎提交拉取请求。如果您是菲律宾或东南亚的安全研究人员,希望就关键词列表、威胁行为者数据或区域情报覆盖进行合作 — 请联系我们。
问题与功能请求:https://github.com/osintph/darkweb-scanner/issues
OSINT PH:https://www.osintph.info
标签:ESC4, IOC监控, OSINT, Telegram监控, Tor网络, 东南亚安全, 勒索软件追踪, 品牌监控, 威胁情报, 威胁行为者分析, 开发者工具, 开源威胁情报, 异步爬虫, 情报仪表板, 暗网监控, 每日情报摘要, 网络安全, 自托管平台, 菲律宾安全, 请求拦截, 逆向工具, 隐私保护