hosafxd/HoneyManager
GitHub: hosafxd/HoneyManager
一个面向家庭和中小企业的超轻量级蜜罐管理框架,能将废旧硬件转化为内部欺骗传感器,实现对内网威胁的高保真检测与自动化告警。
Stars: 1 | Forks: 2
# 🍯 HoneyManager
**诱饵情报:通过欺骗技术实现自动化威胁分类**
HoneyManager 是一个专为家庭用户和中小企业 (SMB) 设计的超轻量级开源蜜罐管理框架。它可以将废旧硬件——旧笔记本电脑、台式机、树莓派或 Android 设备——转化为主动安全传感器,用于检测外部攻击和内部横向移动。
## 🎯 为什么选择 HoneyManager?
传统的企业安全解决方案需要配备大容量 RAM 的昂贵服务器。HoneyManager 改变了这一现状:
- **🖥️ 在“无用”的硬件上运行**:即使是一台拥有 512MB RAM 的 15 年前 Core 2 Duo 笔记本电脑,也能变身为现代安全设备
- **🎭 零误报**:内部蜜罐意味着每一次连接都是已确认的威胁(没有合法设备会去连接它们)
- **🔍 检测“访客威胁”**:能够捕捉受感染的智能手机或咨询师的笔记本电脑在你的 Wi-Fi 上尝试的横向移动
- **🌱 可持续技术**:重新利用电子垃圾,而不是购买新的安全设备
## ✨ 主要特性
### 🚀 超轻量级架构
- **RAM 使用量**:总计约 250MB(相比之下 ELK 栈需要 8GB 以上)
- **存储**:最低 4GB
- **CPU**:1GHz 单核即可满足需求
- 定制 Python 分析引擎(无需笨重的 JVM 或复杂的索引)
### 🎭 四种蜜罐配置
1. **SSH/Telnet 陷阱**:模拟 QNAP NAS 或 OpenWRT 路由器
- 捕获暴力破解尝试、执行的命令以及下载的恶意软件哈希值
2. **网络摄像头模拟**:基于 Alpine 的 5MB 容器
- 伪造 Hikvision 摄像头界面
- 甚至能在加密流量中从 POST 请求提取凭证
3. **Windows 服务**:SMB/FTP/MS-SQL 陷阱
- 在隔离的容器中捕获真实的恶意软件二进制文件
4. **自定义 IoT**:通用 Linux IoT 模拟
- 模拟开启了 Telnet/FTP/SSH 的智能冰箱、打印机
### 🔔 智能告警
- **Telegram 集成**:针对关键事件的即时通知
- **严重级别**:严重(登录尝试)、高(端口扫描)、中(侦察)
- **高保真度**:得益于内部部署,实现接近零误报
### 🌐 专业网络
- **Macvlan 支持**:容器从你的路由器获取真实 IP(绕过 NAT 开销)
- **低 CPU 影响**:直接的二层网络降低了虚拟化负载
## 🖥️ 系统要求
| 组件 | 最低要求 | 推荐配置 |
|-----------|---------|-------------|
| **CPU** | 1 GHz 单核 | 任何现代双核处理器 |
| **RAM** | 512 MB | 1 GB |
| **存储** | 4 GB SD卡/硬盘 | 16 GB SSD |
| **网络** | 以太网/Wi-Fi | 推荐以太网 |
| **操作系统** | Linux (RHEL, Ubuntu, Debian, Rocky) | 最新 LTS 版 Ubuntu/Debian |
*已在以下平台测试:树莓派 Zero W、2008 年上网本、Proxmox LXC 容器*
## 🚀 快速入门指南
### 1. 克隆仓库
```
git clone https://github.com/yourusername/honeymanager.git
cd honeymanager
```
### 2. 配置环境
```
cp .env.example .env
# 编辑 .env 并添加你的 Telegram Bot API key
nano .env
```
### 3. 安装 Python 依赖
```
pip3 install -r backend/requirements.txt
```
### 4. 创建 Macvlan 网络
*根据你的路由器调整子网/网关*
```
docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 \
-o parent=eth0 \
macvlan_honeynet
```
### 5. 构建并启动
```
docker-compose build
# Terminal 1: 启动 API
python3 backend/app.py
# Terminal 2: 启动 Log Watcher
python3 backend/watcher.py
```
### 6. 访问仪表板
打开浏览器:`http://:5000`
### 7.(可选)Systemd 开机自启
```
sudo cp systemd/*.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable honeymanager-api honeymanager-watcher
sudo systemctl start honeymanager-api honeymanager-watcher
```
## 🏗️ 架构概览
```
┌─────────────────────────────────────────────────────┐
│ HoneyManager Host │
│ ┌─────────────┐ ┌──────────────┐ ┌──────────┐ │
│ │ Flask │ │ SQLite │ │ Custom │ │
│ │ Backend │ │ Database │ │ Watcher │ │
│ └──────┬──────┘ └──────────────┘ └────┬─────┘ │
│ │ │ │
│ ┌──────┴─────────────────────────────────┴─────┐ │
│ │ Docker + Macvlan Network │ │
│ │ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ │
│ │ │ Cowrie │ │ Dionaea │ │ IoT │ │ │
│ │ │ (SSH) │ │ (SMB) │ │ (Multi) │ │ │
│ │ └────┬────┘ └────┬────┘ └────┬────┘ │ │
│ └───────┼──────────┼──────────┼───────────────┘ │
└──────────┼──────────┼──────────┼──────────────────┘
│ │ │
Real IPs: 192.168.1.x/24 (Direct from Router)
```
**核心组件:**
- **app.py**:Flask API 和 Web 仪表板
- **watcher.py**:实时日志分析引擎(替代笨重的 SIEM)
- **models.py**:用于告警和事件的 SQLite ORM
- **docker_manager.py**:通过 Docker SDK 进行容器编排
## 📊 能检测到什么?
| 威胁类型 | 示例 | 严重程度 |
|-------------|---------|----------|
| **暴力破解** | 5分钟内出现 5 次以上 SSH 登录失败 | 🔴 严重 |
| **横向移动** | 访客手机扫描内部 IP | 🔴 严重 |
| **凭证收集** | 向伪造的摄像头登录页面发送 POST 请求 | 🟠 高 |
| **恶意软件投放** | 通过 SMB 上传的二进制文件 | 🟠 高 |
| **侦察** | 端口扫描、服务枚举 | 🟡 中 |
## 🔒 安全说明
⚠️ **重要提示**:HoneyManager 是一种**检测**工具,而非防御系统。为了继续收集情报,它故意不封锁攻击者的 IP。请与你的防火墙配合使用。
- 所有恶意软件样本均在隔离的 Docker 容器中捕获
- SQLite 数据库虽轻量,但默认未加密(请加密你的主机磁盘)
- 将蜜罐放置在内部 VLAN 中以获得最佳保护
## 🛣️ 路线图及当前状态
🚧 **活跃开发阶段**
HoneyManager 目前功能完备且已投入部署,但我们正在对其进行快速迭代。以下是即将推出的内容:
### ✅ 已完成
- [x] 核心 Flask 后端和 REST API
- [x] 四种蜜罐容器类型
- [x] Telegram 告警系统
- [x] Macvlan 网络支持
- [x] 实时日志监控器
- [x] Web 仪表板 UI
### 🔄 进行中
- [ ] 高级分析仪表板(攻击图谱、趋势)
- [ ] 集成自动恶意软件沙箱
- [ ] 用于外部 SIEM 集成的 REST API
### 📋 计划功能
- [ ] 使用机器学习进行攻击模式识别 (MITRE ATTACK CATEGORY LABELLING)
- [ ] 自动威胁情报源 (IOC 阻断)
- [ ] 使用 Kafka 和 Python 服务进行动态打标
- [ ] 支持扩展的 Kubernetes
- [ ] 基于 Web 的配置向导
## 🙏 致谢
- [Cowrie](https://github.com/cowrie/cowrie) 提供的优秀 SSH 蜜罐
- [Dionaea](https://github.com/DinoTools/dionaea) 提供的多协议捕获
- Alpine Linux 让 5MB 容器成为可能
- 开源安全社区
献给那些通过 NLP 和自动化分类从欺骗中提取上下文威胁情报的分析师们。
标签:Cobalt Strike, DAST, Dionaea, Docker容器, Honeymanager, Honeypot, IoT, LangChain, MS-SQL, NAS模拟, Nginx, Python, Shellcode执行, SMB, SSH, Telegram告警, Telnet, 中小企业安全, 威胁情报, 安全告警, 家庭安全, 密码提取, 库, 应急响应, 废旧硬件利用, 开发者工具, 恶意软件分析, 插件系统, 摄像头模拟, 攻击诱捕, 攻击面发现, 无后门, 横向移动检测, 欺骗技术, 物联网安全, 电子垃圾再利用, 红队行动, 网络信息收集, 网络安全, 网络安全审计, 蜜罐, 蜜网, 证书利用, 请求拦截, 路由器模拟, 轻量级, 逆向工具, 错误配置检测, 隐私保护, 零误报