aptwatcher/aptwatch

GitHub: aptwatcher/aptwatch

专注于追踪俄罗斯APT基础设施的开源威胁情报平台,集IOC聚合、多源验证和实时黑名单生成于一体。

Stars: 2 | Forks: 1

APTWatch

APT Intel

追踪俄罗斯 APT 基础设施的开源威胁情报数据库。
汇总来自 OSINT 源的 IOC,通过 10 多个 API 进行验证,并提供实时黑名单源。

Schema: v2.0 | 状态: 活跃

## 架构 项目分为三个目标。 | 组件 | 内容 | 位置 | |-----------|------|-------| | 核心数据库 | `apt_intel.db` (400MB+), API 服务器, 验证 cron | 私有服务器 | | DDoS 防护 | WAF, 速率限制, 源站 IP 遮蔽 | Cloudflare | | 公共仓库 | 脚本, IOC 文件, 黑名单, 仪表板, CI/CD | GitHub + Pages | ## 快速开始 ### 本地(仅分析) ``` git clone https://github.com/aptwatcher/aptwatch.git cd aptwatch cp config.ini.example config.ini # Add your API keys python3 apt.py # Interactive menu python3 apt.py query stats # Database statistics ``` ### 服务器部署 服务器部署脚本和文档单独维护。请联系维护者获取访问权限。 ## API 端点 部署后,服务器公开以下源(均为只读): | 端点 | 格式 | 描述 | |----------|--------|-------------| | `/api/blocklist/ips/high` | firehol .netset | 高置信度 IP(5+ OSINT 源) | | `/api/blocklist/ips/medium` | firehol .netset | 中置信度(3+ 源) | | `/api/blocklist/ips` | firehol .netset | 所有已验证 IP | | `/api/blocklist/subnets` | firehol .netset | 高密度 /24 子网 | | `/api/blocklist/domains` | StevenBlack .hosts | 恶意域名 | | `/api/blocklist/combined` | StevenBlack .hosts | IP + 域名组合 | | `/api/feed/json` | JSON | 带元数据的最新 IOC | | `/api/ioc/` | JSON | 单个 IP 的完整档案 | | `/api/search?q=` | JSON | 跨 IOC 搜索 | | `/api/stats` | JSON | 数据库统计 | 静态黑名单文件也可在 `/static/blocklists/` 下以及通过 GitHub Pages 获取。 ## CLI 所有操作通过 `apt.py` 进行: ``` python3 apt.py # Interactive menu python3 apt.py --help # All commands # Core commands python3 apt.py rebuild # Full DB rebuild from source files python3 apt.py import iocs # Re-import IOC files python3 apt.py import vulnscan scan.csv # Import vulnerability scan python3 apt.py query stats # Full statistics python3 apt.py query ip 1.2.3.4 # Full IP profile python3 apt.py query critical # Top critical IPs # Recon & enrichment python3 apt.py recon enrich-top 100 # Enrich via ip-api.com + RDAP python3 apt.py recon detect-staging # Find staging/relay servers python3 apt.py recon find-candidates # Discover new candidates # OSINT validation (10 sources) python3 apt.py validate auto # Scheduled run (respects daily limits) python3 apt.py validate run all 100 # All sources, 100 IPs each python3 apt.py validate check 1.2.3.4 python3 apt.py validate status # Coverage stats # Export & blocklists python3 apt.py export # Web DB for dashboard python3 scripts/generate_blocklists.py ``` ## 验证源 | 源 | 需要 Key | 免费层 | |--------|-------------|-----------| | Shodan InternetDB | 否 | 无限制 | | DShield/SANS ISC | 否 | ~5,000/天 | | abuse.ch ThreatFox | 否 | ~5,000/天 | | FireHOL blocklists | 否 | 离线 | | Steven Black hosts | 否 | 离线 | | AlienVault OTX | 是 | ~10,000/天 | | AbuseIPDB | 是 | 1,000/天 | | VirusTotal | 是 | 500/天 | | Censys | 是 | 有限 | 所有源均为可选。缺失的 key 会被自动跳过。 ## 自动化 ### 服务器(systemd 定时器) - 验证每 6 小时运行一次 - 每次验证后重新生成黑名单 - 更新的 IOC/黑名单自动推送到 GitHub ### GitHub Actions - `validate.yml` — 定时 OSINT 验证(每 6h) - `blocklists.yml` — IOC 变更时重新生成黑名单 - `pages-deploy.yml` — 将仪表板部署到 GitHub Pages - `validate-pr.yml` — 验证社区 IOC 提交 ### 本地(Windows/Linux) - `tasks/linux/validate_continuous.sh` — 持续验证循环 - `tasks/linux/import_incremental.sh` — 监控新扫描文件 - `tasks/run.bat` / `tasks/linux/run.sh` — 快速启动器 ## 项目结构 ``` aptwatch/ ├── apt.py # CLI entry point ├── scripts/ # Core Python modules │ ├── validate.py # OSINT validation (10 sources) │ ├── import_data.py # Data importer │ ├── query.py # Database queries │ ├── recon.py # Enrichment & discovery │ ├── rebuild.py # Database rebuild │ ├── export.py # Web DB export │ ├── generate_blocklists.py # Blocklist generator │ └── db_manager.py # DB utilities ├── .github/workflows/ # CI/CD ├── database/schema_v2.sql # Schema definition ├── iocs/ # IOC text files ├── blocklists/ # Generated blocklists ├── community/ # Community IOC submissions ├── web/ # GitHub Pages dashboard ├── config.ini.example # Config template └── requirements.txt # Python dependencies ``` ## 社区贡献 通过 Pull Request 提交 IOC。详情请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 贡献者在 `community/submissions/` 中添加一个 YAML 文件。GitHub Action 会验证格式并检查重复。维护者审核并导入批准的 IOC。 ## 法律声明 所有 IOC 均来源于公开的 OSINT 源和报告。进攻性使用需获得适当授权。
标签:APT追踪, C2服务器, ESC4, Firehol列表, IOC数据库, IP黑名单, OSINT, Python安全工具, StevenBlack列表, 俄罗斯APT, 信标验证, 域名拦截, 威胁情报, 实时处理, 密码管理, 开发者工具, 攻击基础设施, 网络安全, 逆向工具, 配置审计, 防御 evasion, 隐私保护