droberson/ssh-honeypot

GitHub: droberson/ssh-honeypot

Stars: 671 | Forks: 247

# SSH Honeypot 这个不幸命名的程序监听传入的 SSH 连接,并记录客户端使用的 IP 地址、用户名和密码。这是一个低交互蜜罐,不允许恶意软件或攻击者登录。 最初编写它是为了收集有关暴力破解攻击的基础情报,并不用于生产环境。 现在,我主要在攻防 CTF 中将其与 sshunt 配合使用: https://github.com/droberson/sshunt 我设置 sshunt 将 Hydra、Metasploit 和 Ncrack 等工具转发到 ssh-honeypot,并允许 OpenSSH 客户端正常连接到 SSH。 ## 快速入门 ### Linux 确保已安装以下组件的头文件/开发包: - libssh - openssl - libjson-c - libpcap ``` apt install libssh-dev libjson-c-dev libpcap-dev libssl-dev ``` 构建并运行 ``` make ssh-keygen -t rsa -f ./ssh-honeypot.rsa bin/ssh-honeypot -r ./ssh-honeypot.rsa ``` ### OSX(实验性/不支持) _警告:我还没有在 OSX 上测试过 JSON 日志记录、HASSH 或其他任何功能。由于我不拥有任何 Mac 设备来测试此软件,因此 MacOS 是官方不支持的。_ 确保 xcode 是最新的。 安装 libssh 和 json-c ``` brew install libssh json-c ``` 使用 make 指定 MakefileOSX: ``` make -f MakefileOSX ``` ### Docker(实验性) 请查看我们的 [Docker 文档](docker/README.md)。 ## HASSH 自 0.2.0 版本起,ssh-honeypot 会尝试计算与 ssh-honeypot 发起会话的客户端软件的 HASSH。简而言之,您可以判断客户端是否使用的是 OpenSSH、PuTTY、SecureCRT 等。 有关 HASSH 的更多信息,请参考以下链接: - https://github.com/salesforce/hassh - https://engineering.salesforce.com/open-sourcing-hassh-abed3ae5044c ## Syslog 设施 自 0.0.5 版本起,支持记录到 syslog。此功能通过 -s 标志切换。您需要自行适当地配置 syslog 设施。它记录到 LOG_AUTHPRIV,通常是 /var/log/auth.log。如果您担心密码泄露,可能需要将其修改为使用某个 LOG_LOCAL 设施。 ## 权限降级 自 0.0.8 版本起,您可以在绑定到特权端口后降低此程序的 root 权限。例如,您现在可以在端口 22 上以 _nobody_ 身份而不是 root 身份运行此程序,但最初必须以 root 身份启动它: ``` sudo bin/ssh-honeypot -p 22 -u nobody ``` 请注意,这也会将日志文件的所有权更改为指定的用户。 ## 更改 Banner ssh-honeypot 允许您更改服务器的 Banner,以便与网络上的其他主机融合或模拟特定设备。 列出可用的 Banner ``` bin/ssh-honeypot -b ``` 设置 Banner 字符串 ``` bin/ssh-honeypot -b "my banner string" ``` 通过索引设置 Banner ``` bin/ssh-honeypot -i ``` ## JSON 日志记录 `-j` CLI 标志指定以 JSON 格式记录结果的路径。此功能可以使日志分析变得更加容易,因为许多语言都有强大的 JSON 支持。 JSON 日志可以发送到远程主机。`-J` 和 `-P` CLI 标志分别设置发送 JSON 日志的主机和端口。目前,日志通过 UDP 传输,且未加密。 在运行多个 ssh-honeypot 实例时,此功能非常有用。可以为 Splunk 和 ElasticSearch 创建监听器以摄取这些日志并使其可搜索。 ## Systemd 集成 在 Linux 上,您可以将 ssh-honeypot 安装为 Systemd 服务,以便它在系统启动时自动运行: ``` make install systemctl enable --now ssh-honeypot ``` 在安装之前,请检查 `ssh-honeypot.service` 并对其进行修改,以便使用您想要的选项运行。
标签:DNS解析, Docker, Docker‑Compose, ETW劫持, HASSH指纹, Libssh, minikerberos, PFX证书, PoC, Rust语言, SSH蜜罐, Syslog, 低交互蜜罐, 凭据收集, 威胁情报, 安全测试工具, 安全防御评估, 客户端加密, 客户端加密, 带宽管理, 开发者工具, 开源项目, 攻击检测, 日志记录, 暴力破解, 渗透测试框架, 用户界面自定义, 端口监控, 网络安全, 诱捕技术, 请求拦截, 进程注入, 防御, 隐私保护