cod735/honeypot-project

GitHub: cod735/honeypot-project

一个基于 Cowrie 的 SSH 蜜罐分析系统,集成威胁情报丰富、MITRE ATT&CK 映射和实时 SOC 仪表板,将攻击行为转化为可操作的安全洞见。

Stars: 0 | Forks: 0

# 蜜罐分析系统
![Python](https://img.shields.io/badge/Python-3.12-blue?style=flat-square&logo=python) ![Flask](https://img.shields.io/badge/Flask-3.1-black?style=flat-square&logo=flask) ![MITRE ATT&CK](https://img.shields.io/badge/MITRE-ATT%26CK-red?style=flat-square) ![AbuseIPDB](https://img.shields.io/badge/AbuseIPDB-Threat%20Intel-orange?style=flat-square) ![Discord](https://img.shields.io/badge/Discord-Alerts-5865F2?style=flat-square&logo=discord) ![License](https://img.shields.io/badge/License-MIT-green?style=flat-square) ![Status](https://img.shields.io/badge/Status-Active-brightgreen?style=flat-square) **一个完整的防御性网络安全工具,用于捕获真实攻击者行为、丰富威胁情报、将攻击映射到 MITRE ATT&CK,并在实时 SOC 仪表板上可视化展示所有内容。** *属于 [ShieldLog](https://github.com/cod735/shieldlog-siem) 统一安全平台的一部分。* ![Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/7a16ed4500124703.png)
## 概述 蜜罐分析系统是一个独立的防御性安全工具,旨在引诱、捕获和分析真实世界的攻击者。它解析 Cowrie SSH 蜜罐日志,通过 AbuseIPDB 威胁情报数据库丰富每个攻击者 IP 的信息,将所有观察到的命令映射到 MITRE ATT&CK 框架,并在带有 Discord 告警功能的实时 Flask 仪表板中呈现所有内容。 作为独立安全工具组合的一部分构建 —— 每个工具都设计为最终通过 [ShieldLog SIEM](https://github.com/cod735/shieldlog-siem) REST API 集成到统一平台中。 ## 功能特性 | 功能 | 描述 | |---|---| | **蜜罐日志解析** | 解析 Cowrie SSH 蜜罐 JSON 日志 — 登录、命令、文件下载 | | **IP 威胁情报** | 通过 AbuseIPDB 丰富每个攻击者 IP 信息 — 国家、ISP、滥用评分、Tor 检测 | | **MITRE ATT&CK 映射** | 自动将攻击者命令映射到 8 种战术的技术 | | **实时 SOC 仪表板** | 实时 Flask 仪表板,包含图表、事件流、威胁情报和分析 | | **Discord 告警** | 针对关键事件和每日摘要的即时 Discord 通知 | | **IP 缓存** | 本地 JSON 缓存可防止冗余 API 调用并遵守速率限制 | | **Systemd 服务** | 在 Linux 上作为具有自动重启功能的后台服务运行 | | **ShieldLog 集成** | 位于端口 5003 的 REST API,用于与 ShieldLog SIEM 集成 | ## 仪表板 仪表板通过五个页面提供蜜罐活动的完整 SOC 风格视图: - **概览** — 总事件数、唯一 IP 数、关键 IP 数、MITRE 技术、攻击时间轴图表 - **事件** — 完整的事件表,包含类型徽章、滥用评分、命令、国家 - **威胁情报** — 顶级攻击者 IP、国家、尝试的密码 - **MITRE ATT&CK** — 战术条形图、执行的顶级命令 - **分析** — 事件类型细分、威胁级别分布 ## MITRE ATT&CK 覆盖范围 | 技术 ID | 名称 | 战术 | |---|---|---| | T1033 | System Owner/User Discovery | Discovery | | T1082 | System Information Discovery | Discovery | | T1016 | System Network Configuration Discovery | Discovery | | T1057 | Process Discovery | Discovery | | T1083 | File and Directory Discovery | Discovery | | T1087 | Account Discovery | Discovery | | T1110 | Brute Force | Credential Access | | T1555 | Credentials from Files | Credential Access | | T1059 | Command and Scripting Interpreter | Execution | | T1222 | File and Directory Permissions Modification | Execution | | T1021 | Remote Services | Lateral Movement | | T1053 | Scheduled Task/Job | Persistence | | T1098 | Account Manipulation | Persistence | | T1136 | Create Account | Persistence | | T1543 | Create or Modify System Process | Persistence | | T1105 | Ingress Tool Transfer | Command & Control | | T1095 | Non-Application Layer Protocol | Command & Control | | T1070 | Indicator Removal | Defense Evasion | | T1485 | Data Destruction | Defense Evasion | | T1140 | Deobfuscate/Decode Files | Defense Evasion | | T1560 | Archive Collected Data | Exfiltration | | T1041 | Exfiltration Over C2 Channel | Exfiltration | ## 技术栈 | 工具 | 版本 | 用途 | |---|---|---| | Python | 3.12 | 核心语言 | | Flask | 3.1 | Web 仪表板后端 | | Flask-SocketIO | 5.3 | 实时仪表板更新 | | Eventlet | 0.36 | 异步服务器 | | Cowrie | — | SSH 蜜罐引擎(日志源) | | AbuseIPDB API | v2 | IP 威胁情报 | | MITRE ATT&CK | — | 技术映射框架 | | Chart.js | 4.4 | 仪表板图表 | | Discord Webhooks | — | 实时告警 | | python-dotenv | — | 环境变量管理 | | Requests | — | HTTP API 调用 | ## 项目结构 ``` honeypot-project/ ├── main.py # Entry point — CLI flags for all modes ├── requirements.txt # Python dependencies ├── install.sh # Linux installer + systemd setup ├── uninstall.sh # Clean uninstaller ├── .env # API keys (not committed) │ ├── parser/ │ ├── log_parser.py # Parse Cowrie JSON logs into events │ ├── ip_enricher.py # AbuseIPDB IP threat enrichment + cache │ ├── mitre_mapper.py # MITRE ATT&CK regex-based mapping (22 rules) │ └── pipeline.py # Full analysis pipeline (parse → enrich → map) │ ├── dashboard/ │ ├── app.py # Flask + SocketIO backend, REST API, log watcher │ └── templates/ │ └── index.html # SOC dashboard frontend (Chart.js, dark theme) │ ├── alerts/ │ └── discord_alert.py # Discord webhook alerts + daily summaries │ ├── logs/ # Drop Cowrie JSON log files here ├── data/ │ └── ip_cache.json # Local AbuseIPDB cache └── samples/ # Dashboard screenshot ``` ## 安装说明 ### 前置条件 - Ubuntu / Debian Linux (或 WSL2) - Python 3.10+ - 一个免费的 [AbuseIPDB](https://www.abuseipdb.com/) 账户用于获取 API 密钥 - 一个包含 Webhook URL 的 Discord 服务器(可选,用于告警) ### 选项 A — 自动安装(推荐) ``` git clone https://github.com/cod735/honeypot-project.git cd honeypot-project sudo bash install.sh ``` 安装程序将: 1. 创建 Python 虚拟环境 2. 从 `requirements.txt` 安装所有依赖项 3. 创建所需的目录(`logs/`、`data/`、`samples/`) 4. 如果不存在则生成 `.env` 模板 5. 安装并启用 systemd 服务 6. 可选择立即启动服务 ### 选项 B — 手动安装 ``` git clone https://github.com/cod735/honeypot-project.git cd honeypot-project python3 -m venv venv source venv/bin/activate pip install -r requirements.txt cp .env.example .env nano .env ``` ### 配置 API 密钥 编辑您的 `.env` 文件: ``` # 在 https://www.abuseipdb.com/ 获取免费 key ABUSEIPDB_API_KEY=your_key_here # Discord: Server Settings → Integrations → Webhooks → Copy URL DISCORD_WEBHOOK_URL=your_webhook_url_here ``` ## 使用指南 ### 运行所有内容(流水线 + 仪表板) ``` source venv/bin/activate python main.py ``` ### 模式 ``` python main.py # Full pipeline + dashboard (default) python main.py --dashboard # Dashboard only python main.py --pipeline # Pipeline only — terminal output python main.py --summary # Quick summary and exit python main.py --no-alerts # Skip Discord alerts ``` ### 通过 Systemd 服务 ``` sudo systemctl start honeypot # Start sudo systemctl stop honeypot # Stop sudo systemctl status honeypot # Check status sudo journalctl -u honeypot -f # View live logs ``` ### 仪表板 ``` http://localhost:5003 ``` ## 添加蜜罐日志 将 Cowrie JSON 日志文件放入 `logs/` 文件夹: ``` cp /path/to/cowrie/log/cowrie.json.2026-03-28 logs/ ``` 仪表板监视器每 5 秒轮询一次并自动获取新文件。无需重启。 预期的 Cowrie 日志格式(每行一个 JSON 对象): ``` {"eventid":"cowrie.login.failed","src_ip":"185.220.101.45","username":"root","password":"admin123","timestamp":"2026-03-28T10:23:05.111Z"} {"eventid":"cowrie.command.input","src_ip":"185.220.101.45","input":"whoami","timestamp":"2026-03-28T10:23:11.444Z"} ``` ## 示例发现(来自测试数据) ``` Total events : 10 Unique attacker IPs : 2 MITRE techniques : 2 Critical IPs : 1 Critical IP: 185.220.101.45 Country : Germany (DE) ISP : Network for Tor-Exit traffic Score : 100% — 98 reports Tor Node : Yes Tactics : Discovery ``` ## REST API 端点 | 端点 | 描述 | |---|---| | `GET /api/summary` | 事件计数、唯一 IP 数、关键 IP 数、MITRE 技术 | | `GET /api/events` | 包含威胁情报信息的最近 50 个事件 | | `GET /api/top_ips` | 包含丰富数据的前 10 个攻击 IP | | `GET /api/top_passwords` | 尝试次数最多的前 10 个密码 | | `GET /api/top_commands` | 执行次数最多的前 10 个命令 | | `GET /api/mitre` | MITRE ATT&CK 战术计数 | | `GET /api/countries` | 攻击者国家细分 | | `GET /api/timeline` | 按小时分组的事件(最近 24 小时) | ## 与 ShieldLog SIEM 集成 此工具通过其位于 `localhost:5003` 的 REST API 接入 [ShieldLog SIEM](https://github.com/cod735/shieldlog-siem) 平台。ShieldLog 将蜜罐事件与来自 [PacketSentinel](https://github.com/cod735/PacketSentinel) 的网络告警以及来自 [SysVigilant](https://github.com/cod735/SysVigilant) 的文件完整性事件关联起来,以实现统一的威胁检测。 ## 展示的技能 - 防御性安全工具开发和蜜罐概念 - 日志解析和从 Cowrie 提取结构化数据 - 威胁情报 API 集成 (AbuseIPDB) - MITRE ATT&CK 框架 — 通过正则规则进行技术映射 - 全栈 Web 开发 — Flask 后端 + JS 前端 - 使用 Flask-SocketIO + Eventlet 的实时数据 - Discord webhook 告警和每日摘要 - Systemd 服务配置和 Linux 部署 - API 缓存以遵守速率限制 - Python 3.12 — 模块化、整洁的项目架构 ## 作者 **Abbas Khan** - GitHub: [@cod735](https://github.com/cod735) - 项目: [honeypot-project](https://github.com/cod735/honeypot-project) ### 其他项目 | 项目 | 描述 | |---|---| | [ShieldLog SIEM](https://github.com/cod735/shieldlog-siem) | 具有 18 条 MITRE ATT&CK 检测规则的 Flask SIEM | | [PacketSentinel](https://github.com/cod735/PacketSentinel) | 具有 SOC 仪表板的实时网络流量监视器 | | [SysVigilant](https://github.com/cod735/SysVigilant) | 具有 VirusTotal 集成的跨平台文件完整性监视器 | ## 许可证 MIT 许可证 — 可免费使用、修改和分发。
*作为统一防御安全平台的一部分构建 — ShieldLog + PacketSentinel + SysVigilant + Honeypot*
标签:AbuseIPDB, Chart.js, Cloudflare, Discord机器人, DNS 解析, Flask, HTTP/HTTPS抓包, HTTP工具, IP信誉分析, MITRE ATT&CK, Python, SOC仪表盘, SSH蜜罐, 威胁情报, 开发者工具, 态势感知, 攻击行为分析, 无后门, 日志解析, 网络信息收集, 网络安全, 网络安全审计, 网络测绘, 蜜罐系统, 证书伪造, 进程注入, 隐私保护