itscalledfreefall/honeypot-threat-intelligence-pipeline

GitHub: itscalledfreefall/honeypot-threat-intelligence-pipeline

一个基于 Cowrie 蜜罐的端到端威胁情报管道,实现从日志采集、事件标准化、IOC 提取、威胁情报富化到可视化展示和自动化响应的完整工作流。

Stars: 0 | Forks: 0

# 蜜罐威胁情报管道 本仓库是 COMP490/498 毕业设计项目的实现空间:一个自主蜜罐网络与威胁情报管道。 ## 项目简介 蜜罐是一种旨在吸引攻击者的诱饵系统。蜜罐并不试图预先阻止每一次攻击,而是让我们能够安全地观察恶意行为并收集有用的遥测数据,例如: - 攻击者 IP 地址 - 登录尝试 - 获取访问权限后输入的命令 - payload 下载尝试 - 连接模式 本项目的长期目标是: 1. 在受控环境中部署一个或多个蜜罐 2. 收集并集中处理生成的日志 3. 将日志标准化为一致的事件格式 4. 利用威胁情报 API(如 AbuseIPDB 和 VirusTotal)丰富攻击者数据 5. 自动执行响应操作,如防火墙封禁 6. 在仪表盘中可视化活动 ## 当前范围 本仓库从最安全、最实用的第一步开始: 1. 从文件中读取蜜罐日志事件 2. 将其标准化为结构化 schema 3. 提取简单的失陷指标 (IOC) 4. 对观察到的攻击行为进行分类 5. 导出结构化记录和批次摘要以供后续分析 这是正确的第一步,因为所有后续功能都依赖于可靠的事件解析。 ## 初始架构 - `src/honeypot_pipeline/models.py` 定义整个管道中使用的标准化事件结构。 - `src/honeypot_pipeline/cowrie.py` 解析并标准化 Cowrie JSON 日志行。 - `src/honeypot_pipeline/ioc.py` 提取 IP 地址、用户名、密码、命令和 URL 等指标。 - `src/honeypot_pipeline/classification.py` 为每个事件分配简单的攻击类别和严重性。 - `src/honeypot_pipeline/cli.py` 小型命令行入口点,用于标准化 Cowrie 日志文件并导出结果。 - `src/honeypot_pipeline/dashboard.py` 运行一个只读的 Web 仪表盘,用于查看处理后的事件记录和摘要。 - `tests/` 用于解析器、分类、丰富和输出辅助工具的自动化测试。 ## 为什么首选 Cowrie Cowrie 是一款广泛使用的 SSH/Telnet 蜜罐。它能生成结构化的 JSON 日志,并直接符合项目需求。从这里开始可以使首次实现保持简单且切题。 ## 项目路线图 ### 阶段 1 针对 Cowrie 事件的本地解析器和标准化 schema。 ### 阶段 2 威胁情报丰富: - AbuseIPDB 查询 - VirusTotal 查询 - 恶意评分 ### 阶段 3 存储与可视化: - 保存标准化事件 - 保存丰富结果 - 构建仪表盘 ### 阶段 4 自动化响应: - 防火墙黑名单生成 - 封禁前的安全审查工作流 - 实验室环境中的可选自动执行 ## 快速开始 创建虚拟环境并安装包: ``` python3 -m venv .venv source .venv/bin/activate pip install -e . ``` 运行包含的示例: ``` PYTHONPATH=src python3 -m honeypot_pipeline.cli examples/cowrie.sample.ndjson ``` 运行测试: ``` PYTHONPATH=src python3 -m unittest discover -s tests -v ``` ## 重要安全提示 1. 将所有捕获的数据视为不可信。 2. 不要执行攻击者的 payload。 3. 测试时不要暴露真实的生产系统。 4. 将 API 密钥保留在环境变量中,不要放入源代码版本控制。 ## 下一步构建内容 在此脚手架之后的下一个编码步骤是 API 丰富: 1. 获取一个标准化事件 2. 提取攻击者 IP 3. 查询威胁情报提供商 4. 将结果附加到事件中 5. 保存丰富后的输出 该管道现在还支持: 1. 基于规则的攻击分类 2. 将处理后的事件写入 JSONL 输出文件 3. 写入批次摘要 JSON 文档 该项目现在还包括: 1. 用于浏览处理后蜜罐事件的本地 Flask 仪表盘 2. 按 IP、事件类型、攻击类别和协议进行事件过滤 3. 用于查看丰富信息和原始事件检查的详细视图 4. 可选的自动刷新,用于在追加新记录时进行实时演示 5. 安全的操作输出,如可下载的黑名单和 Markdown 报告 6. 基于 Docker 的 Cowrie 实验室路径和用于实时演示的辅助脚本 ## 环境变量 将 `.env.example` 中的值复制到你的 Shell 或本地环境中: ``` export ABUSEIPDB_API_KEY="your-key-here" export VIRUSTOTAL_API_KEY="your-key-here" ``` 在启用丰富功能的情况下运行 CLI: ``` PYTHONPATH=src python3 -m honeypot_pipeline.cli \ examples/cowrie.sample.ndjson \ --enrich-abuseipdb ``` 同时使用两个提供商运行 CLI: ``` PYTHONPATH=src python3 -m honeypot_pipeline.cli \ examples/cowrie.sample.ndjson \ --enrich-abuseipdb \ --enrich-virustotal ``` 将处理后的记录写入磁盘: ``` PYTHONPATH=src python3 -m honeypot_pipeline.cli \ examples/cowrie.sample.ndjson \ --output-file exports/cowrie.records.jsonl \ --summary-file reports/generated/cowrie.summary.json ``` 持续跟踪并追加实时 Cowrie 日志文件的处理记录: ``` PYTHONPATH=src python3 -m honeypot_pipeline.cli \ /path/to/cowrie.json \ --follow \ --poll-interval 1 \ --output-file exports/cowrie.records.jsonl \ --summary-file reports/generated/cowrie.summary.json ``` 根据已保存的输出运行仪表盘: ``` honeypot-dashboard \ --records-file exports/cowrie.records.jsonl \ --summary-file reports/generated/cowrie.summary.json ``` 然后打开 `http://127.0.0.1:5000`。 要进行实时演示,请在事件页面 URL 中添加 `?refresh=3`,以每 3 秒自动刷新一次。 从已保存的输出生成报告包: ``` honeypot-report \ --records-file exports/cowrie.records.jsonl \ --summary-file reports/generated/cowrie.summary.json \ --output-dir reports/generated/demo-bundle ``` ## 实时实验室演示 本仓库现在包括: - 位于 [docker-compose.yml](/home/fe/honeypot-threat-intelligence-pipeline/docker/cowrie/docker-compose.yml) 的 Cowrie Docker 配置 - 位于 [lab-demo.sh](/home/fe/honeypot-threat-intelligence-pipeline/scripts/lab-demo.sh) 的实验室辅助脚本 - 位于 [live-lab-demo.md](/home/fe/honeypot-threat-intelligence-pipeline/docs/live-lab-demo.md) 的完整演练指南 简要流程: ``` scripts/lab-demo.sh up-cowrie scripts/lab-demo.sh pipeline scripts/lab-demo.sh dashboard ``` 然后,从另一台机器上: ``` ssh -p 2222 root@ ``` 打开: `http://127.0.0.1:5000/events?refresh=3`
标签:CISA项目, IP 地址批量处理, SOC工具, 失陷标示提取, 威胁情报, 安全仪表盘, 安全可视化, 安全编排与自动化响应, 安全遥测, 实时日志分析, 开发者工具, 恶意IP分析, 情报关联, 攻击行为分析, 攻击诱骗, 日志解析, 时序数据库, 毕业设计, 漏洞发现, 网络信息收集, 网络安全, 自动化响应, 蜜罐网络, 证书伪造, 请求拦截, 逆向工具, 防御加固, 隐私保护