前段时间因为拿了一个 digitalocean 的优惠码,于是开了一个 VPS,配置好了一些常用的功能以后就放在那边了,今天登录进去无意间看了一下 /usr/log/auth.log, 也就是ssh登录的记录,TMD发现有成千上万条记录————很显然,有人想暴力破解我的root密码,绝对不能忍!! 于是想到用Kippo部署一个ssh的蜜罐耍一耍这个王八蛋。

先说一下大概的思路。
正常的 ssh 一般使用22端口,比如我们常用的命令 ssh root@host 的时候,默认是连接到 host 的 22 端口,另外你改变了默认端口,那么命令就应该这样 ssh root@host -p 2333

所以,整个的过程是,先改变ssh的默认监听端口,比如改到2015上,这样就不会影响你正常的使用ssh远程登录 ssh root@host -p 2015。然后,部署 kippo,让它监听 22 号端口就完了。

事实上,端口号低于 1024 的都需要 root 权限,而我们让一个引诱攻击的蜜罐程序跑在root权限下显然是不安全的,所以需要做一个端口转发,把22上的所有流量转到大于1024的其他端口,这样kippo在普通用户权限下就可以监听。具体见下面的步骤。

部署

1. 改变 ssh 默认端口。
root 权限下编辑 /etc/ssh/sshd_config 中得 port, 改成你想要的,比如 2015
然后重启 ssh 服务
sudo service ssh restart

2. 端口转发
前面提到,我们把22 端口上的所有数据转发到kippo将要监听的端口上,比如 2016
sudo iptables -t nat -A PREROUTING -p tcp –dport 22 -j REDIRECT –to-port 2016

3. 安装 kippo 依赖的异步事件库 twisted
sudo apt-get install python-twisted

4. 新建一个普通用户,比如叫 kippo,让我们的蜜罐程序跑在普通权限下。
sudo adduser kippo

接下来我们从 root 用户切换到 kippo 用户,后面的操作都在 kippo 用户下面进行。
su kippo

5. 下载 kippo 程序,kippo是用python写的,直接下载源码便可以运行。
git clone https://github.com/desaster/kippo.git

进入 kippo 的目录,修改 kippo.cfg 文件中的 ssh_port, 改成你刚刚设置的转发到的端口,本文是 2016, 然后运行 ./start.sh 脚本蜜罐就开始运行了。

不过如果你想让蜜罐更好玩,还可以在里面加一些东西,比如增加几个root的密码,这样让攻击者更加容易“破解”,还可以增加一些假的命令,具体可以查看参考资料[1]或者自己搜索。

查看log

1. 所有进入蜜罐的攻击者的操作都会被kippo记录在 log/tty/*.log 里面,你可以用kippo自带的工具 util/playlog.py 动态的复现蜜罐中小白的操作,效果很酷炫。

2. 还有一个叫 Kippo-Graph 的项目,可以在浏览器上以各种图表的方式展现log,不过需要apache支持,我的VPS安装了nginx,所以没有玩了。

最后,我的蜜罐,ssh root@192.241.227.52 密码 123456,欢迎大家来玩。

参考资料:

[1] http://how-to.linuxcareer.com/deployment-of-kippo-ssh-honeypot-on-ubuntu-linux

 

1,494 views
Home

8 Comments so far

Trackbacks/Pingbacks

Leave a comment

Name(required)
Mail (required),(will not be published)
Website(recommended)

Fields in bold are required. Email addresses are never published or distributed.

Some HTML code is allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
URLs must be fully qualified (eg: http://blog.nlogn.cn),and all tags must be properly closed.

Line breaks and paragraphs are automatically converted.

Please keep comments relevant. Off-topic, offensive or inappropriate comments may be edited or removed.