GodwillFoka/ransomwatch

GitHub: GodwillFoka/ransomwatch

RansomWatch 是一个通过 Tor 自动抓取勒索软件泄露网站数据并提供 CLI、REST API、仪表板和告警通知的威胁情报监控平台。

Stars: 0 | Forks: 0

# 🚨 RansomWatch **RansomWatch** 通过监控数据泄露网站 (DLS),汇总公开披露的数据,并以结构化、可操作的格式呈现,从而追踪勒索软件团伙及其受害者。 由 **Godwill FOKA / CYBERILL** —— 网络安全工程师(柏林)创建。 ## ✨ 功能 | 模块 | 状态 | 描述 | |--------|--------|-------------| | **CLI** | ✅ | 完整的命令行界面 (`ransomwatch`) | | **抓取** | ✅ | 通过 Tor 从已知的 DLS 站点收集数据 | | **REST API** | ✅ | 基于 FastAPI 构建,在 `/docs` 自动生成文档 | | **仪表板** | ✅ | 带有统计、表格和图表的 Web UI | | **通知** | ✅ | 邮件 (SMTP) + Telegram 机器人告警 | | **CI/CD** | ✅ | GitHub Actions(定时抓取任务)+ GitLab 镜像 | | **存储** | ✅ | 基于 JSON 文件(便携,可对比差异) | ## 🚀 快速开始 ``` # 1. 安装 pip install -r requirements.txt # 2. 运行抓取 ransomwatch scrape # 3. 查看数据 ransomwatch list groups ransomwatch list victims ransomwatch stats # 4. 启动 dashboard ransomwatch serve # → http://localhost:8000/dashboard # → http://localhost:8000/docs ``` ## 📋 CLI 用法 ``` Usage: ransomwatch [OPTIONS] COMMAND [ARGS]... 🚨 RansomWatch — Ransomware monitoring & threat intelligence. Commands: scrape 🔍 Run a full scraping cycle list 📋 List tracked data (groups, victims, IOCs) stats 📊 Show aggregated statistics serve 🌐 Start the API + Dashboard web server version Show version information ``` ### 示例 ``` # 抓取所有已知 groups ransomwatch scrape # Dry run(模拟而不保存) ransomwatch scrape --dry-run # 列出活跃的 groups ransomwatch list groups --active # 以 JSON 格式显示 groups ransomwatch list groups --json # 以 JSON 格式显示统计信息 ransomwatch stats --json # 按 group 过滤 victims ransomwatch list victims --group LockBit # 带自动重载启动(开发) ransomwatch serve --reload ``` ## 🌐 API 端点 | 方法 | 路径 | 描述 | |--------|------|-------------| | GET | `/api/v1/groups` | 列出所有勒索软件团伙 | | GET | `/api/v1/groups/{name}` | 获取团伙详情 | | GET | `/api/v1/victims` | 列出受害者(带过滤器) | | GET | `/api/v1/victims/recent` | 近期受害者(7 天内) | | GET | `/api/v1/iocs` | 列出 IOC | | GET | `/api/v1/stats` | 完整统计数据 | | GET | `/api/v1/stats/summary` | 快速统计摘要 | | GET | `/api/v1/search?q=term` | 搜索所有数据 | | GET | `/health` | 健康检查 | 交互式文档:`http://localhost:8000/docs` ## 🏗️ 项目结构 ``` ransomwatch/ ├── ransomware_watch/ │ ├── cli.py # CLI entry point │ ├── models.py # Pydantic data models │ ├── config.py # Environment config │ ├── scrapers/ # DLS scraping engines │ │ ├── sources.py # Known group URLs │ │ ├── base.py # Base scraper class │ │ └── dls.py # DLS scraper implementation │ ├── storage/ # JSON file storage │ │ └── store.py │ ├── server/ # FastAPI + Dashboard │ │ ├── app.py │ │ ├── api.py │ │ ├── dashboard.py │ │ ├── templates/ # Jinja2 HTML templates │ │ └── static/ # CSS, JS │ └── notifications/ # Alerts │ ├── email.py │ └── telegram.py ├── data/ # Scraped JSON data ├── tests/ # Pytest tests └── .github/workflows/ # CI/CD ``` ## 🔧 配置 将 `.env.example` 复制为 `.env` 并填写以下内容: ``` # 用于 .onion 抓取的 Tor proxy TOR_PROXY=socks5://127.0.0.1:9050 # Notifications — Email SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=your-email@gmail.com SMTP_PASSWORD=your-app-password # Notifications — Telegram TELEGRAM_BOT_TOKEN=your-bot-token TELEGRAM_CHAT_ID=your-chat-id # Server SERVER_HOST=0.0.0.0 SERVER_PORT=8000 ``` ## 📊 数据模型 ### RansomwareGroup | 字段 | 类型 | 描述 | |-------|------|-------------| | name | str | 团伙名称 | | aliases | list[str] | 已知别名 | | dls_urls | list[str] | 泄露网站 URL (.onion) | | active | bool | 当前是否活跃? | | first_seen | date | 首次发现时间 | | victims | list[Victim] | 已知受害者 | | iocs | list[IOC] | 攻陷指标 | ### Victim | 字段 | 类型 | 描述 | |-------|------|-------------| | group_name | str | 负责的团伙 | | name | str | 组织名称 | | country | str \| None | 国家 | | sector | str \| None | 行业部门 | | published_date | date | 发布到 DLS 的日期 | ### IOC | 字段 | 类型 | 描述 | |-------|------|-------------| | type | str | ip, domain, hash, url | | value | str | 指标值 | | group_name | str | 关联的团伙 | ## 🧪 运行测试 ``` pytest tests/ -v pytest tests/ --cov=ransomware_watch --cov-report=term ``` ## 🔄 自动抓取 (GitHub Actions) 该项目包含一个每 6 小时运行一次的 GitHub Actions 工作流: 1. 检出仓库 2. 安装 Tor + 依赖 3. 运行抓取器 4. 提交任何新数据 5. 将更新推送回仓库 数据目录 (`data/`) 充当 **基于 Git 的 CTI 订阅源** —— 每次抓取都会创建一个包含新受害者的提交。 ## 🪞 GitLab 镜像 该仓库会在每次推送时通过 GitHub Actions 自动镜像到 GitLab(参见 `.github/workflows/mirror.yml`)。 ## 📄 许可证 MIT — 可自由使用、修改和分发。 ## 👤 作者 **Godwill FOKA** —— 网络安全工程师,柏林 🚨 **CYBERILL** —— 守护数字安全,塑造未来 🔗 [GitHub](https://github.com/GodwillFoka) | [LinkedIn](https://linkedin.com/in/godwillfoka) | [CYBERILL](https://cyberill.onrender.com)
标签:AV绕过, FastAPI, Web仪表盘, 勒索软件监控, 威胁情报, 实时处理, 开发者工具, 暗网数据采集, 逆向工具