black1892004-cloud/Containerized-Secure-SSH-Honeypot-for-Threat-Intelligence
GitHub: black1892004-cloud/Containerized-Secure-SSH-Honeypot-for-Threat-Intelligence
基于 Cowrie 和 Docker 构建的高保真 SSH 蜜罐系统,通过自定义文件系统和角色配置实现欺骗工程,用于在隔离环境中捕获攻击者行为并收集威胁情报。
Stars: 0 | Forks: 0
# 用于威胁情报的容器化安全 SSH 蜜罐
## 项目概述
本项目使用 Cowrie 实现了一个高保真 SSH 蜜罐,并通过 Docker 进行容器化,旨在吸引并分析攻击者行为,同时避免真实系统面临风险。其主要目标是在受控的隔离环境中,通过观察攻击者的战术、技术和程序(TTPs)来收集可操作的威胁情报。
## 核心特性
* **安全容器化**:利用 Docker 容器提供强大的隔离性,确保即使攻击者攻破了蜜罐,宿主系统依然安全。
* **高保真欺骗**:采用高级文件系统工程和角色自定义技术,构建出一个高度逼真、模拟生产服务器的诱饵系统,从而延长攻击者的停留时间并提升数据质量。
* **自定义文件系统(`fs.pickle`)**:使用 `fsctl.py` 进行修改,以构建具有说服力的目录结构并植入诱饵文件(honeyfiles),例如包含伪造 API 密钥的 `.env` 文件、`backup.sql` 文件以及 `bash_history` 日志。
* **角色自定义**:创建了多个用户账户(例如 `sysadmin`、`oracle`、`abdallah`、`root`),并赋予合理的文件所有权和权限,以增强真实感。
* **主动防御**:集成了诱饵 payload(使用 `msfvenom` 生成),以测试攻击者的反应并潜在地收集更多信息。
* **易于部署与扩展**:Docker-Compose 简化了快速设置与扩展流程,支持部署多个蜜罐(蜜网/Honeynet)以进行更广泛的威胁检测。
* **实时威胁情报**:捕获攻击者交互、执行命令及上传恶意软件的详细日志,为攻击方法论提供即时洞察。
## 架构

上图展示了系统的高级架构:
1. **攻击者**:通过 22 端口发起 SSH 连接。
2. **Docker 宿主机**:接收连接并将其转发至 Cowrie 容器。
3. **Cowrie 容器**:蜜罐的核心,提供交互式 shell。
4. **文件系统工程**:通过自定义的 `fs.pickle` 和 `honeyfs` 提供逼真的环境。
5. **数据捕获**:所有交互、日志和恶意软件样本都会被捕获并存储在外部以供分析。
## 入门指南
### 前置条件
* 系统中已安装 Docker 和 Docker Compose。
### 安装与设置
1. **克隆代码仓库:**
git clone https://github.com/your-username/Deception-Engineering-Cowrie-Honeypot.git
cd Deception-Engineering-Cowrie-Honeypot
2. **构建并运行 Docker 容器:**
docker-compose up --build -d
这将在分离模式下启动 Cowrie 蜜罐。
3. **访问蜜罐:**
可以通过 SSH 访问 `2222` 端口上的蜜罐(或根据 `docker-compose.yml` 中的配置访问)。
ssh user@localhost -p 2222
(将 `user` 替换为配置好的诱饵用户之一,如 `root`、`sysadmin`、`oracle` 等。)
## 自定义
### 文件系统工程
修改蜜罐的文件系统(`fs.pickle`):
1. 进入 Cowrie 容器的 shell:
docker-compose exec cowrie bash
2. 使用 `fsctl.py` 工具操作 `fs.pickle`:
/opt/cowrie/bin/fsctl.py
有关 `fsctl.py` 的详细用法,请参阅 Cowrie 的官方文档。
### 角色自定义
* 编辑容器内的 `/opt/cowrie/cowrie-data/honeyfs/etc/passwd` 和 `/opt/cowrie/cowrie-data/honeyfs/etc/shadow` 文件,以添加或修改诱饵用户及其权限。
* 将诱饵文件放置在 `honeyfs` 中的相关目录下(例如 `/opt/cowrie/cowrie-data/honeyfs/home/sysadmin/`)。
## 日志与分析
Cowrie 会记录所有攻击者交互,包括执行的命令、上传的文件以及会话数据。这些日志通常以 JSON 格式存储,可以在 `cowrie/var/log/cowrie/` 目录中找到(已映射至 Docker 数据卷以持久化保存)。
查看实时日志:
```
tail -f cowrie/var/log/cowrie/cowrie.json
```
## 故障排除
* **端口冲突**:确保 `2222` 端口(或您选择的 SSH 端口)未被宿主机上的其他程序占用。
* **Docker 数据卷映射**:检查 `docker-compose.yml` 中的 `cowrie-data` 数据卷是否正确映射,以确保 `honeyfs` 和日志的持久化。
## 许可证
本项目基于 MIT 许可证授权 - 详见 `LICENSE` 文件。
## 致谢
* Cowrie 蜜罐项目
* Docker 社区
标签:ADCS攻击, Docker, 威胁情报, 安全防御评估, 开发者工具, 版权保护, 蜜罐, 证书利用, 请求拦截, 逆向工具