machphy/malicious-domains

GitHub: machphy/malicious-domains

聚合多个公开OSINT恶意域名情报源,经标准化去重后生成可直接用于SOC、SIEM及DNS拦截的统一域名黑名单。

Stars: 2 | Forks: 0

# 恶意域名 – 开放威胁情报 Feed 聚合器 本仓库将多个**公开威胁情报 (TI) 数据源**聚合为一个单一的、标准化的、去重后的恶意、钓鱼、C2 及可疑域名列表。 其目标是为以下场景提供一个**干净、开箱即用的 IOC 数据集**: - SOC 与 DFIR 团队 - 蓝队威胁狩猎 - SIEM 查询丰富 - DNS/防火墙拦截 - OSINT/CTI 研究 # 核心特性 ✔ 聚合 19+ 个原始 feed ✔ 使用严格的正则表达式提取域名 ✔ 自动去重 ✔ 确定性排序输出(稳定的 Git diffs) ✔ 适配 CI/CD 的 feed pipeline ✔ 专为 SOC 生产环境设计 # 仓库结构 ``` malicious-domains/ ├── sources/ # Raw upstream threat intel feeds ├── scripts/ # TI ingestion + normalization pipeline │ ├── update_feeds.sh │ └── combine_feeds.py ├── output/ # Final unified domain lists │ ├── domains.txt │ └── domains.csv ├── docs/ # Engineering documentation │ ├── ARCHITECTURE.md │ ├── DATA_MODEL.md │ └── FEED_SOURCES.md └── CONTRIBUTING.md ``` # 架构概述 该 pipeline 遵循清晰的分层隔离原则: ``` [Raw OSINT Feeds] --> sources/ (untouched) sources/ --> combine_feeds.py (parse + extract + dedupe) combine_feeds.py --> output/ (normalized artifacts) ``` 核心原则: * **无损接入**(在 `sources/` 中保留原始数据) * **仅在 scripts 中进行标准化** * **幂等运行** * **确定性排序** 更多图示:请参阅 [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) # 运行 Pipeline ## 更新 feed(可选) ``` ./scripts/update_feeds.sh ``` 这会刷新 `sources/` 中的原始 `.txt` feed 文件。 ## 合并与标准化 ``` python3 scripts/combine_feeds.py ``` 在 `output/` 目录下生成的文件: | 文件 | 用途 | | ------------- | ------------------------------------------------------------ | | `domains.txt` | 每行一个域名的列表(可直接用于 DNS/防火墙) | | `domains.csv` | 带有表头的 CSV 格式文件(用于 SIEM 查询表、SOAR 丰富) | # 指标数据模型 * 指标类型:**Domain** * 基于正则的严格提取 * 规范格式:仅包含小写的域名 * 不包含 URL、IP、路径或协议 未来计划加入的元数据: * 来源 feed * 威胁类型(钓鱼/恶意软件/C2) * first_seen / last_seen 时间戳 * 置信度得分 更多详情:[`docs/DATA_MODEL.md`](docs/DATA_MODEL.md) # Feed 源 所有提供 OSINT 数据的文件均位于 `sources/` 目录下。 映射详情:[`docs/FEED_SOURCES.md`](docs/FEED_SOURCES.md) # 实战集成示例 ## SOC / SIEM 威胁情报丰富 将 `output/domains.csv` 上传为: * 查询表 * 动态黑名单 * 丰富数据集 应用场景: * 当 DNS/Proxy/Firewall 日志中包含某域名时: * 检查其是否在此列表中 * 将其标记为可疑 * 映射到对应的威胁情报源 ## DNS 拦截(Pi-hole、Bind、Unbound) 将域名转换为 hosts 文件格式: ``` 0.0.0.0 bad-domain.example ``` 示例: ``` sed 's/^/0.0.0.0 /' output/domains.txt > output/hosts.txt ``` 将 `hosts.txt` 作为拦截列表使用。 ## 防火墙(Fortigate / Palo Alto) 转换为批量黑名单导入格式。 示例 URL 模式: ``` *.malicious-domain.com ``` ## SOAR 自动化 将 `domains.csv` 导入至: * Cortex XSOAR playbooks * Shuffle 自动化流程 * 任何 SOC 自定义的情报丰富微服务 # 研究与 OSINT 应用场景 ✔ 恶意基础设施趋势分析 ✔ 域名年龄分析 ✔ 恶意软件活动关联 ✔ TI 评分模型 ✔ WhoIs 情报透视 ✔ APT/C2 基础设施聚类 # 🛠 路线图 * 通过 GitHub Actions 添加自动化 feed 接入 * 导出制品: * STIX * MISP JSON * hosts 文件 * 添加元数据标注: * threat_type * first_seen * confidence * 构建用于实时域名信誉查询的 lookup API: GET /lookup?domain=xyz.com # 免责声明 收集的所有数据仅用于: * 学术研究 * 蓝队防御安全 * 仅限 SOC/威胁情报使用 ❗ 请勿将此数据集用于任何攻击性或非法目的。 ❗ 维护者对任何不当使用不承担任何责任。
标签:ESC4, IP 地址批量处理, OSINT, 域名黑名单, 威胁情报, 安全运营, 应用安全, 开发者工具, 扫描框架, 逆向工具