开箱即用的SSH攻击字典收集工具

本文介绍了一个基于修改OpenSSH源码的SSH蜜罐项目——Baithook。该项目通过收集暴力破解尝试中的用户名和密码来生成字典文件,并记录攻击者的IP地址。文章提供了详细的部署步骤,包括如何使用Docker镜像快速搭建蜜罐环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ssh暴力攻击可以说是一种非常好的字典来源, 所以我做了个工具当诱饵来收集字典.

既然是诱饵, 那就叫baithook吧

呃, 我修改openssh的源码, 然后打包了docker镜像, 在这篇文章记录一下用法.

首先放上github的链接, 仓库里是构建用的脚本.

然后是docker hub的链接.

快速上手

可以用如下命令

docker -run -p 2222:22 -itd catium/baithook:latest

直接拉取打包好的镜像运行.
一定得保证容器的22端口通过某种方式转发到公网了才会有攻击源上钩.

原理

修改了openssh源码里面验证身份的函数, 然后把尝试的用户名和密码都写进文件, 然后拒绝所有连接.
拒绝连接是为了防止万一真的被被攻破了就寄了…
就算寄了也很难实施容器逃逸吧

收获

容器运行后, 在sshd第一次被尝试连接的时候会在容器根目录生成/dict.txt/addr.txt, 分别是攻击的字典和攻击源ip地址, 攻击源地址可以加入宿主机黑名单什么的.

运行一段时间后文件可能会很大, 建议定期归档.
我挂了一晚上就收了好几千组, 不过质量不是特别高, 有一些重复的, 回头可以写个脚本去重.
字典节选
攻击源节选

拓扑

建议:
把容器的22端口转发到宿主机2222端口, 宿主机ssh server仍然使用22端口.
把宿主机2222端口转发至公网22端口, 作为诱饵露出.
令宿主机22端口仅对安全的网络开放, 比如内网.
network

构建

如果您希望再修改点什么, 可以修改github仓库下载下来压缩包的build.sh文件.
里面定义了编译后的安装目录, 还有要基于哪个版本的openssh修改.

现在的构建方式是, 从镜像站拉某个版本的openssh源码包, 解压之后用预先修改过关键函数的文件替换源码同名文件, 然后编译安装.

构建后会生成一个目录以及一个/run.sh, 在容器直接把/run.sh作为启动进程就行.

已知的问题: 在Ubuntu环境下可能会缺少libcrypto库而无法编译, 编译出来也不能正常运行. 最好在CentOS环境编译.
已修复, 查看

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值