cr-akshayvarun/honeypot-dashboard
GitHub: cr-akshayvarun/honeypot-dashboard
一款集成了实时可视化仪表板的 SSH 与 HTTP 蜜罐系统,用于捕获攻击者行为并进行威胁情报富化分析。
Stars: 0 | Forks: 0
# 蜜罐 + 威胁情报仪表板
部署 SSH 和 HTTP 蜜罐以捕获攻击者行为(凭据、命令、HTTP 负载),并通过实时 SSE 流、GeoIP 映射以及威胁情报富化,在实时仪表板上将所有内容可视化。
## 技术栈
| | |
|---|---|
| 后端 | Python, Flask, Paramiko, PyCryptodome |
| 蜜罐 | 自定义 SSH (Paramiko) + HTTP (Flask) |
| 威胁情报 | AbuseIPDB, Shodan, MaxMind GeoIP |
| 基础设施 | Docker Compose |
## 功能
- **SSH 蜜罐** — 运行在 2222 端口的虚假 SSH 服务器,记录凭据和命令
- **HTTP 蜜罐** — 运行在 8080 端口的虚假 Web 应用,记录请求和负载
- **实时仪表板** — SSE 事件流,无需刷新页面
- **攻击地图** — 攻击来源的 GeoIP 散点图
- **威胁情报** — AbuseIPDB 信誉评分,Shodan 富化
- **TTP 分类** — 将攻击者行为映射到 MITRE ATT&CK 框架
- **数据导出** — JSON / JSONL 导出和清除功能
- **ELK 集成** — 可选的 Elasticsearch + Kibana + Grafana
## 快速开始
### Docker(推荐)
```
docker compose up -d
```
### 手动
```
pip install -r requirements.txt
python run.py
```
## 服务
| 服务 | 端口 | 描述 |
|---|---|---|
| SSH 蜜罐 | 2222 | 虚假 SSH 服务器,捕获凭据和命令 |
| HTTP 蜜罐 | 8080 | 虚假 Web 应用,捕获请求和漏洞利用尝试 |
| 仪表板 | 5000 | 实时可视化和威胁情报 |
## API
| 方法 | Endpoint | 描述 |
|---|---|---|
| GET | `/api/stats` | 总体统计数据 |
| GET | `/api/recent` | 最近事件 |
| GET | `/api/stream` | SSE 实时事件流 |
| GET | `/api/attackers` | 带有次数统计的攻击者列表 |
| GET | `/api/geodata` | 用于地图可视化的 GeoIP 数据 |
| GET | `/api/credentials` | 捕获的凭据 |
| GET | `/api/top` | 最常见的用户名、密码、命令和类型 |
| GET | `/api/export` | 导出所有事件 (JSON/JSONL) |
| POST | `/api/clear` | 清除所有事件数据 |
| GET | `/api/config` | 服务端口配置 |
## 配置
将 `.env.example` 复制到 `.env` 并进行配置:
```
cp .env.example .env
```
| 变量 | 描述 |
|---|---|
| `ABUSEIPDB_API_KEY` | IP 信誉检查 |
| `SHODAN_API_KEY` | 可选的 Shodan 富化 |
| `ELASTICSEARCH_ENABLED` | 设置为 `true` 以将事件发送到 Elasticsearch |
标签:ADCS攻击, CISA项目, DFIR, Docker, Flask, Python, 威胁情报, 安全, 安全防御评估, 开发者工具, 无后门, 版权保护, 蜜罐, 证书利用, 超时处理, 越狱测试, 逆向工具