mmessiassts/threat-hunting-tool

GitHub: mmessiassts/threat-hunting-tool

一款轻量级 Python 威胁狩猎工具,自动从 Apache/SSH 日志中提取入侵指标并与公开威胁情报源关联,帮助 SOC 分析师快速识别已知恶意活动。

Stars: 0 | Forks: 0

# Threat Hunter 一个轻量级的 Python 工具,用于从 Apache/SSH 日志中提取入侵指标 (IOC),并将它们与无需 API key 的公共 威胁情报源进行关联 —— 通过严重性评分标记已知的恶意 IP、域名和文件 哈希。 ## 开发背景 在日志审查期间,手动将可疑 IP 与威胁情报源进行交叉引用 既缓慢又容易出错。此工具自动执行了该初步筛查 步骤:解析 → 提取 → 关联 → 报告,以便 SOC 分析师能够立即 查看日志中的哪些活动与已知的恶意基础设施相关联。 ## 功能 - 解析 Apache combined 日志格式和 SSH 认证日志(`Failed password`、 `Invalid user`、`Accepted password/publickey` 事件) - 通过 regex 提取 IP、域名和文件哈希 (MD5/SHA1/SHA256) - 与公共威胁情报源进行交叉引用: - [Feodo Tracker](https://feodotracker.abuse.ch/) (C2 IP) - [Blocklist.de](https://www.blocklist.de/) (暴力破解 / 滥用源) - [URLhaus](https://urlhaus.abuse.ch/) (恶意主机/域名) - 无需 API key 或账号 —— 所有源均为开放的纯文本列表 - 本地源缓存,用于离线/可重复分析 - 易读的终端报告 + 可选的 JSON 导出 - 基于命中源数量的严重性评分 ## 使用说明 ``` # 分析日志文件,下载最新的 threat intel feeds python3 threat_hunter.py sample_logs/auth.log # 仅使用本地 feed cache 进行分析(无网络调用) python3 threat_hunter.py sample_logs/access.log --use-local-cache # 将完整报告导出为 JSON python3 threat_hunter.py sample_logs/auth.log --json-out report.json ``` ## 输出示例 ``` [HIGH] IP: 185.220.101.45 Linha 1 | Evento: Failed password Feeds: feodotracker_c2, blocklist_de_all Log: Jul 20 03:12:01 srv01 sshd[1022]: Failed password for root from 185.220.101.45 port 51422 ssh2 ``` ## 示例数据 `sample_logs/` 目录包含合成的 Apache 和 SSH 日志,而 `feed_cache/` 包含一个小型离线源示例,以便无需任何 网络访问即可立即运行和演示该工具。 ## 环境要求 - Python 3.8+ - 无需第三方依赖(仅使用标准库) ## 路线图 - [ ] 为拥有免费 API key 的用户添加 VirusTotal / AbuseIPDB 支持 - [ ] 支持额外的日志格式(Nginx、Windows Event Log) - [ ] 添加 `--watch` 模式以进行持续/实时的日志监控 ## 关于 作为 SOC 分析师实操学习路线的一部分而构建,专注于蓝队 行动、威胁检测和实用的日志分析。
标签:IOC提取, IP 地址批量处理, Python, 威胁情报, 开发者工具, 无后门, 逆向工具