speedw124/Secure-SSH-Honeypot-Platform-for-Cyber-Threat-Intelligence

GitHub: speedw124/Secure-SSH-Honeypot-Platform-for-Cyber-Threat-Intelligence

Cowrie 是一个支持中高交互的 SSH/Telnet 蜜罐平台,用于记录攻击者的暴力破解和 shell 交互行为以支持网络威胁情报研究。

Stars: 0 | Forks: 0

## Cowrie ## 什么是 Cowrie Cowrie 是一个中高交互的 SSH 和 Telnet 蜜罐, 旨在记录暴力破解攻击以及攻击者执行的 shell 交互。 在中交互模式(shell)下,它使用 Python 模拟一个 UNIX 系统; 在高交互模式(proxy)下,它作为 SSH 和 Telnet 代理运行, 以观察攻击者对另一个系统的行为。在 LLM 模式下,它使用大语言模型来 对攻击者的命令生成动态响应。 `Cowrie `_ 由 Michel Oosterhof 维护。 ## 文档 文档可以`在这里 `_ 找到。 ## 功能 * 选择作为模拟 shell 运行(默认): * 带有添加/删除文件功能的虚假文件系统。包含一个类似于 Debian 5.0 安装的完整虚假文件系统 * 可以添加虚假文件内容,这样攻击者就可以 `cat` 诸如 `/etc/passwd` 的文件。仅包含最少的文件内容 * Cowrie 会保存通过 wget/curl 下载或通过 SFTP 和 scp 上传的文件,以供日后检查 * 或者将 SSH 和 Telnet 代理到另一个系统 * 作为带有监控功能的纯 Telnet 和 SSH 代理运行 * 或者让 Cowrie 管理一个 QEMU 模拟的服务器池,以提供登录系统 * 或者使用 LLM 后端(实验性): * 使用大语言模型(例如 OpenAI GPT)动态生成真实的 shell 响应 * 无需预定义响应即可处理任何命令 * 维护对话上下文以保持会话的一致性 对于这两种设置: * 会话日志以 `UML Compatible `_ 格式存储,方便使用 `playlog` 工具进行重播。 * 支持通过 SFTP 和 SCP 上传文件 * 支持 SSH exec 命令 * 记录 direct-tcp 连接尝试(SSH 代理) * 将 SMTP 连接转发到 SMTP 蜜罐(例如 `mailoney `_) * JSON 日志记录,便于在日志管理解决方案中进行处理 ## 安装 目前有三种安装 Cowrie 的方式:`git clone`、`Docker` 和 `pip`。 `Docker` 是尝试和运行的最简单方法,但要进行配置和修改,您需要对容器和卷有深入的了解。 如果您想更改蜜罐的配置,建议使用 `git clone`。 `pip` 模式仍在开发中。 ## Docker `Docker 镜像 `_ 可在 Docker Hub 上获取。 * 要快速开始并体验 Cowrie,请运行: $ docker run -p 2222:2222 cowrie/cowrie:latest $ ssh -p 2222 root@localhost * 若要在本地构建,请运行: $ make docker-build ## PyPI `Cowrie 可在 PyPI 上获取 `_,若要安装,请运行: ``` $ pip install cowrie $ twistd cowrie ``` 通过这种方式安装时,其行为与完整下载目录的方式会有所不同。 此方法目前仍处于测试阶段,可能无法按预期工作,建议使用 `git clone` 或 `docker` 方法。 ## 要求 本地运行所需的软件: * Python 3.10+ * python-virtualenv ## 相关文件: * `etc/cowrie.cfg` - Cowrie 的配置文件。 * `etc/cowrie.cfg.dist `_ - 默认设置,请勿更改此文件 * `etc/userdb.txt` - 访问蜜罐的凭据 * `src/cowrie/data/fs.pickle` - 虚假文件系统,仅包含元数据(路径、uid、gid、大小) * `honeyfs/ `_ - 虚假文件系统的内容 * `honeyfs/etc/issue.net` - 登录前的 banner * `honeyfs/etc/motd `_ - 登录后的 banner * `src/cowrie/data/txtcmds/` - 简单虚假命令的输出 * `var/log/cowrie/cowrie.json` - JSON 格式的审计输出 * `var/log/cowrie/cowrie.log` - 日志/调试输出 * `var/lib/cowrie/tty/` - 会话日志,可使用 `playlog` 工具重播。 * `var/lib/cowrie/downloads/` - 从攻击者传输到蜜罐的文件存储在此处 ## 命令 * `cowrie` - 启动、停止和重启 Cowrie * `fsctl` - 修改虚假文件系统 * `createfs` - 创建您自己的虚假文件系统 * `playlog` - 重播会话日志的工具 * `asciinema` - 将 Cowrie 日志转换为 asciinema 文件 ## 贡献者 多年来,许多人参与了 Cowrie 的贡献。特别感谢: * Upi Tamminen (desaster) 在开发 Kippo 方面所做的大量工作,Cowrie 正是基于 Kippo 开发的 * Dave Germiquet (davegermiquet) 对 TFTP 支持、单元测试和新的进程处理做出的贡献 * Olivier Bilodeau (obilodeau) 对 Telnet 支持做出的贡献 * Ivan Korolev (fe7ch) 多年来做出的许多改进。 * Florian Pelgrim (craneworks) 在代码清理和 Docker 方面所做的工作。 * Guilherme Borges (sgtpepperpt) 对 SSH 和 Telnet 代理做出的贡献(GSoC 2019) * 以及其他许多贡献者。
标签:LLM, SSH, Telnet, Unmanaged PE, 安全, 攻击行为分析, 蜜罐, 证书利用, 请求拦截, 超时处理, 身份验证强制, 逆向工具