sanasimran1403-jpg/cowrie-honeypot-dashboard
GitHub: sanasimran1403-jpg/cowrie-honeypot-dashboard
基于 Cowrie 的自托管 SSH/Telnet 蜜罐,配备实时威胁情报仪表盘和 MITRE ATT&CK 映射,用于捕获和分析暴力破解攻击行为。
Stars: 0 | Forks: 0
.. SPDX-FileCopyrightText: 2014 Upi Tamminen
.. SPDX-FileCopyrightText: 2014-2025 Michel Oosterhof
..
.. SPDX-License-Identifier: BSD-3-Clause
## 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 兼容 `_ 的格式存储,便于使用 `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 的配置文件(由操作者拥有)。由 ``cowrie init`` 创建。
* `src/cowrie/data/etc/cowrie.cfg.dist `_ - 自带的默认配置,请转而修改您的 ``etc/cowrie.cfg``
* `etc/userdb.txt` - 访问蜜罐的凭据
* `src/cowrie/data/fs.pickle` - 伪造的文件系统;携带元数据(路径、uid、gid、大小、模式)以及攻击者经常 cat 的小文件的嵌入内容(``A_CONTENTS`` 字节)。通过 ``fsctl`` 编辑;通过 ``make build-fs-pickle`` 重新构建。
* `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)
* 以及许多许多其他人。
标签:DLL 劫持, Homebrew安装, Python, SSH, Telnet, 大语言模型, 威胁情报, 开发者工具, 无后门, 蜜罐, 证书利用, 请求拦截, 身份验证强制, 逆向工具