MIRAGE 是一个多协议实时蜜罐欺骗网络平台,通过六种蜜罐捕获攻击者行为并利用基于规则和统计的方法进行分类、聚类与 MITRE ATT&CK 映射,提供统一的实时情报仪表板。
🪞 MIRAGE
一个实时欺骗网络 —— 具备实时分析功能的多协议蜜罐架构
## 概述
**MIRAGE** 是一个全面的多协议实时欺骗网络。它能够捕获、分类和聚类在各种易受攻击服务中观察到的攻击者行为。所有的分类都是**基于规则或统计**的 —— 整个技术栈中没有使用任何 LLM/生成式 AI 调用。
该平台旨在捕获从自动化僵尸网络扫描到人工驱动的 APT 攻击活动的一切行为,并将所有情报汇总到一个统一的实时仪表板中。
### 🪤 陷阱(蜜罐)
| 蜜罐 | 协议 | 端口 | 用途 |
|---|---|---|---|
| **Cowrie** | SSH | 2222 | 捕获 SSH 暴力破解和交互式 shell 会话 |
| **Heralding** | FTP, Telnet, SMTP, VNC | 21, 23, 25, 5900 | 跨遗留协议的高保真凭据捕获 |
| **Wordpot** | HTTP (WordPress) | 8081 | 模拟易受攻击的 WP 站点以诱捕扫描器和暴力破解者 |
| **Elasticpot** | HTTP (Elasticsearch) | 9200 | 虚假数据库集群,用于捕获数据窃贼和勒索软件投放者 |
| **ADBHoney** | ADB | 5555 | 虚假的 Android 调试桥,用于捕获 IoT 僵尸网络 (Mirai/Ares) |
| **Decoy** | HTTP (通用) | 8080 | 虚假的登录页面、API 和管理面板 |
### 🧠 情报能力
| 能力 | 描述 |
|---|---|
| 📊 **统一仪表板** | 实时 Flask 仪表板,可视化来自全部 6 个蜜罐的数据 |
| 🔍 **MITRE ATT&CK 映射** | 80 多个 regex 特征码自动将 shell 和 HTTP 命令映射到 ATT&CK |
| 🔑 **凭据追踪** | 聚合并对黑客尝试使用的高频密码进行排名 |
| 🤖 **机器人检测** | 统计启发式方法(击键间隔时间)区分机器人与真人 |
| 📡 **实时推送** | 针对网络的所有攻击的实时事件推送 |
## 架构
```
┌────────────────────────────────────────────────────────┐
│ Docker: mirage-net │
Internet │ │
────────► :2222 ─────┤──► Cowrie (SSH) │
────────► :8080 ─────┤──► Decoy (HTTP) ┌────────────────────┐ │
────────► :21,23 ─────┤──► Heralding (FTP/Telnet/etc) │ │ │
────────► :8081 ─────┤──► Wordpot (WordPress) ──────► honeypot-logs vol │ │
────────► :9200 ─────┤──► Elasticpot (DB) │ │ │
────────► :5555 ─────┤──► ADBHoney (IoT) └─────────┬──────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────┐ │
│ │ Ingestion & Enrichment │ │
│ └──────────────┬──────────┘ │
│ ▼ │
│ ┌─────────────────────────┐ │
│ │ mirage-data (SQLite) │ │
│ └──────────────┬──────────┘ │
│ ▼ │
│ ┌─────────────────────────┐ │
│ │ Dashboard (:5000) │ │
└──────────────────────────┴─────────────────────────┴───┘
│
Analyst ◄─────┘
```
## 快速开始
### 1. 克隆与配置
```
git clone https://github.com/yourusername/mirage.git
cd mirage
cp .env.example .env
```
### 2. 部署
```
docker-compose up -d --build
```
### 3. 开放防火墙端口
确保您的服务器上开放了以下入站端口:
`21, 23, 25, 2222, 5000, 5555, 5900, 8080, 8081, 9200`
### 4. 访问仪表板
在浏览器中打开 **http://your-server-ip:5000**。
## 数据库 Schema
包含严格外键约束的七个高度索引表 (PRD §6):
| 表 | 用途 |
|---|---|
| `sources` | 带有地理位置元数据的唯一攻击者 IP |
| `clusters` | DBSCAN 聚类质心(行为特征分析) |
| `sessions` | 与源和聚类关联的单个连接 |
| `commands` | 带有执行时间的单个命令/请求 |
| `credentials` | 捕获的用户名和密码 |
| `technique_signatures`| MITRE ATT&CK regex 模式 |
| `session_techniques` | 交叉表:哪个会话匹配了哪种技术 |
## 许可证
```
MIT License
Copyright (c) 2026 MIRAGE Project
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
```