cowrie/cowrie

GitHub: cowrie/cowrie

Stars: 6207 | Forks: 1011

## 玛瑙贝 ## 什么是 Cowrie Cowrie 是一个中等至高交互的 SSH 和 Telnet 蜜罐, 旨在记录暴力破解攻击以及攻击者执行的 Shell 交互。在中等交互模式(shell)下,它 用 Python 模拟一个 UNIX 系统;在高交互模式(代理) 下,它作为一个 SSH 和 Telnet 代理,用于观察攻击者 在另一个系统上的行为。在 LLM 模式下,它使用大型语言模型来 针对攻击者的命令生成动态响应。 `Cowrie `_ 由 Michel Oosterhof 维护。 ## 文档 文档可以在 `这里 `_ 找到。 ## Slack 你可以通过以下 `Slack 工作区 `_ 加入 Cowrie 社区。 ## 功能特性 * 选择作为模拟 Shell 运行(默认): * 带有添加/删除文件功能的伪文件系统。包含一个类似于 Debian 5.0 安装的完整伪文件系统 * 可以添加伪文件内容,以便攻击者可以 `cat` 诸如 `/etc/passwd` 之类的文件。仅包含最少的文件内容 * Cowrie 保存通过 wget/curl 下载或通过 SFTP 和 scp 上传的文件,以供后续检查 * 或者将 SSH 和 Telnet 代理到另一个系统 * 作为纯粹的 Telnet 和 SSH 代理运行并进行监控 * 或者让 Cowrie 管理一个 QEMU 模拟服务器池,以提供登录系统 * 或者使用 LLM 后端(实验性): * 使用大型语言模型(例如 OpenAI GPT)动态生成逼真的 Shell 响应 * 无需预定义响应即可处理任何命令 * 维护对话上下文以保持会话一致性 对于这两种设置: * 会话日志以 `UML 兼容 `_ 格式存储,便于使用 `playlog` 工具重放。 * 支持 SFTP 和 SCP 文件上传 * 支持 SSH exec 命令 * 记录直接 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` - 登录前横幅 * `honeyfs/etc/motd `_ - 登录后横幅 * `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 正是基于此构建 * Dave Germiquet (davegermiquet) 负责 TFTP 支持、单元测试、新进程处理 * Olivier Bilodeau (obilodeau) 负责 Telnet 支持 * Ivan Korolev (fe7ch) 多年来的许多改进。 * Florian Pelgrim (craneworks) 负责代码清理和 Docker 的工作。 * Guilherme Borges (sgtpepperpt) 负责 SSH 和 Telnet 代理(GSoC 2019) * 以及其他许多人。
标签:Cobalt Strike, Cowrie, Debian模拟, DLL 劫持, EDR 绕过, ETW劫持, GUI应用, Homebrew安装, LLM, OpenAI, PE 加载器, Python, QEMU, Rust语言, SCP, SFTP, Shell模拟, SSH蜜罐, Telnet蜜罐, UML, Unmanaged PE, 中高交互蜜罐, 代理, 免杀, 免杀技术, 入侵检测, 内存分配, 内存规避, 内联执行, 反射式注入, 大语言模型, 威胁情报, 开发者工具, 恶意文件捕获, 恶意软件开发, 攻击诱捕, 文件系统模拟, 无后门, 无控制台执行, 无文件攻击, 日志记录, 暴力破解检测, 用户界面自定义, 红队行动, 网络信息收集, 网络安全, 蜜罐, 行为分析, 证书利用, 请求拦截, 身份验证强制, 进程注入, 逆向工具, 隐私保护