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)以进行更广泛的威胁检测。 * **实时威胁情报**:捕获攻击者交互、执行命令及上传恶意软件的详细日志,为攻击方法论提供即时洞察。 ## 架构 ![架构图](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/166af3ecc6190526.png) 上图展示了系统的高级架构: 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, 威胁情报, 安全防御评估, 开发者工具, 版权保护, 蜜罐, 证书利用, 请求拦截, 逆向工具