esrovillar/finsec-ioc-monitor

GitHub: esrovillar/finsec-ioc-monitor

面向金融行业的轻量级威胁情报聚合与实时监控工具,自动关联IOC并推送告警。

Stars: 0 | Forks: 0

# 🏦 FinSec-IOC-Monitor 专注于金融领域的实时威胁指标监控工具。从多个源聚合威胁情报,将 IOC 与您的基础设施进行关联,并在检测到相关威胁时发出警报。 ## 功能特性 - **多源聚合** — AlienVault OTX、AbuseIPDB、MISP、FS-ISAC 及自定义源 - **金融领域聚焦** — 优先处理针对银行、征信机构和金融基础设施的威胁 - **IOC 匹配** — 将实时源与您的监控列表进行比对(IP、域名、哈希、邮箱) - **MITRE ATT&CK 映射** — 为 IOC 标记相关的 TTP - **实时告警** — Telegram、Slack、邮件通知 - **仪表盘** — CLI 和 Web 端的 IOC 查看器,支持趋势分析 - **导出** — STIX/TAXII、CSV、JSON 格式,便于与 SIEM 集成 ## 架构 ``` ┌─────────────┐ ┌──────────────┐ ┌─────────────┐ │ IOC Feeds │────▶│ Aggregator │────▶│ IOC Store │ │ │ │ & Parser │ │ (SQLite) │ └─────────────┘ └──────────────┘ └──────┬──────┘ │ ┌─────────────┐ ┌──────────────┐ │ │ Watchlist │────▶│ Matcher │◀───────────┘ │ (your IPs, │ │ Engine │ │ domains) │ └──────┬───────┘ └─────────────┘ │ ┌──────▼───────┐ ┌─────────────┐ │ Enrichment │────▶│ Alerting │ │ (GeoIP, │ │ (Telegram, │ │ Whois, │ │ Slack, │ │ VirusTotal)│ │ Email) │ └──────────────┘ └─────────────┘ ``` ## 支持的源 | 源 | 类型 | 需要 API Key | 金融焦点 | |------|------|-----------------|-----------------| | AlienVault OTX | OSINT | 免费 | 通用 + 金融安全 Pulse | | AbuseIPDB | IP 信誉 | 免费层级 | 通用 | | MISP (公开实例) | OSINT | 视情况而定 | 可配置 | | URLhaus | 恶意 URL | 免费 | 通用 | | ThreatFox | IOC | 免费 | 通用 | | Feodo Tracker | C2 IP | 免费 | 银行木马 ✅ | | SSL Blacklist | SSL 证书 | 免费 | 通用 | ## 快速开始 ``` # 克隆 git clone https://github.com/YOUR_USER/finsec-ioc-monitor.git cd finsec-ioc-monitor # 安装 pip install -r requirements.txt # 配置 cp config/config.example.yaml config/config.yaml # 使用您的 API 密钥和 watchlist 编辑 config.yaml # 运行 python -m src.core.monitor --config config/config.yaml # 一次性扫描 python -m src.core.monitor --scan-once # 仪表板 python -m src.core.dashboard ``` ## 配置 ``` feeds: otx: enabled: true api_key: "YOUR_OTX_API_KEY" pulse_tags: ["banking", "financial", "ransomware", "apt"] abuseipdb: enabled: true api_key: "YOUR_ABUSEIPDB_KEY" min_confidence: 80 feodo: enabled: true # No API key needed urlhaus: enabled: true # No API key needed threatfox: enabled: true # No API key needed watchlist: ips: ["203.0.113.0/24", "198.51.100.0/24"] # Your external IP ranges domains: ["example-bank.com", "*.example-bank.com"] alerting: telegram: enabled: true bot_token: "YOUR_BOT_TOKEN" chat_id: "YOUR_CHAT_ID" schedule: interval_minutes: 30 # How often to check feeds ``` ## 项目结构 ``` finsec-ioc-monitor/ ├── src/ │ ├── core/ │ │ ├── monitor.py # Main orchestrator │ │ ├── database.py # SQLite IOC store │ │ ├── matcher.py # IOC matching engine │ │ └── dashboard.py # CLI/web dashboard │ ├── feeds/ │ │ ├── base.py # Abstract feed class │ │ ├── otx.py # AlienVault OTX │ │ ├── abuseipdb.py # AbuseIPDB │ │ ├── feodo.py # Feodo Tracker (banking C2s) │ │ ├── urlhaus.py # URLhaus │ │ └── threatfox.py # ThreatFox │ ├── enrichment/ │ │ ├── geoip.py # GeoIP lookup │ │ ├── whois.py # Whois lookup │ │ └── virustotal.py # VT enrichment │ └── alerting/ │ ├── telegram.py # Telegram alerts │ ├── slack.py # Slack alerts │ └── email.py # Email alerts ├── config/ │ ├── config.example.yaml # Example configuration │ └── mitre_mapping.yaml # ATT&CK TTP mappings ├── tests/ ├── docs/ ├── requirements.txt ├── setup.py └── README.md ``` ## 路线图 - [x] 项目结构 - [ ] 核心:IOC 数据库 - [ ] 核心:源聚合框架 - [ ] 源:Feodo Tracker(银行木马) - [ ] 源:URLhaus - [ ] 源:ThreatFox - [ ] 源:AlienVault OTX - [ ] 源:AbuseIPDB - [ ] 核心:匹配引擎 - [ ] 富化:GeoIP - [ ] 告警:Telegram - [ ] 核心:CLI 仪表盘 - [ ] 导出:STIX 格式 - [ ] Web 仪表盘 ## 环境要求 - Python 3.9+ - SQLite3 - API keys(可选,用于付费源) ## 作者 **Esteban Rojas Villar** — 高级网络安全事件响应专家 - LinkedIn: [linkedin.com/in/estebanrojas](https://linkedin.com/in/estebanrojas) - BSides San José (Costa Rica) 创始人兼组织者 ## 许可证 MIT
标签:AbuseIPDB, AMSI绕过, ESC4, GPT, HTTP/HTTPS抓包, IOC监控, IP 地址批量处理, OSINT, SecOps, SIEM集成, STIX/TAXII, 云安全架构, 信用社安全, 威胁情报, 威胁检测, 安全运营, 密码管理, 开发者工具, 态势感知, 扫描框架, 时间线生成, 漏洞管理, 网络安全, 逆向工具, 金融安全, 银行基础设施, 隐私保护, 黑名单匹配