介绍
您是否觉得有人试图访问您的服务器?要找出答案,您可以部署蜜罐通过确认或消除最初的信念来帮助您缓解妄想症。例如,您可以启动Kippo SSH蜜罐,该蜜罐可用于监视brute-force次尝试,收集当今的漏洞利用和恶意软件。 Kippo还会自动记录黑客的Shell会话,您可以重播该会话以探索各种黑客技术,然后使用收集到的知识来强化生产服务器。安装蜜罐的另一个原因是要引起生产服务器的注意。在本教程中,我们将展示如何在Ubuntu服务器上部署Kippo SSH honeypot。
先决条件
Kippo SSH honeypot是一个基于python的应用程序。因此,我们需要首先安装python库:
$ sudo apt-get install python-twisted
通常你会跑sshd服务在默认端口22上侦听。将这个端口用于SSH蜜罐是有意义的,因此,如果您已经在运行SSH服务,我们需要将默认端口更改为其他端口号。我建议不要使用备用端口2222,因为它的使用已经广为人知,并且可能破坏您的伪装。让我们选择一个随机的4位数字,例如4632。打开SSH /etc /ssh /sshd_config配置文件,并将Port指令从以下位置更改:
Port 22
至
Port 4632
完成后,重新启动sshd:
$ sudo service ssh restart
您可以使用确认已正确更改了端口。netstat命令:
$ netstat -ant | grep 4632
tcp 0 0 0.0.0.0:4632 0.0.0.0:* LISTEN
此外,Kippo需要运行一个非特权用户,因此创建一个单独的用户帐户并在该帐户下运行Kippo是一个好主意。创建一个新的用户kippo:
$ sudo adduser kippo
安装
Kippo不需要任何繁琐的安装。所有需要做的就是下载一个压缩的tarball并将其解压缩到kippo的目录中。首先,以kippo身份登录或将用户更改为kippo,然后下载Kippo的源代码:
kippo@ubuntu:~$ wget http://kippo.googlecode.com/files/kippo-0.5.tar.gz
用以下命令提取它:
kippo@ubuntu:~$ tar xzf kippo-0.5.tar.gz
这将创建一个名为kippo-0.5的新目录。
组态
导航到Kippo的目录后,您将看到:
kippo@ubuntu:~/kippo-0.5$ ls
data dl doc fs.pickle honeyfs kippo kippo.cfg kippo.tac log start.sh txtcmds utils
这里最著名的目录和文件是:
- dl-kippo将使用wget命令存储黑客下载的所有恶意软件和漏洞利用程序时,这是默认目录
- 蜜糖-该目录包含一些文件,这些文件将呈现给攻击者
- kippo.cfg-kippo的配置文件
- 日志-默认目录,以记录攻击者与shell的交互
- -这是启动kippo的shell脚本
- 实用程序-包含各种kippo实用程序,其中最著名的是playlog.py,可让您重播攻击者的Shell会话
Kippo预先配置了端口2222。这主要是因为kippo需要以非特权用户身份运行,并且非特权用户无法打开任何小于1024的端口。要解决此问题,我们可以将iptables与”PREROUTING”和”REDIRECT”指令。这不是最佳解决方案,因为任何用户都可以打开1024以上的端口,从而创造了利用的机会。
打开Kippo的配置文件,并将默认端口号更改为任意数字,例如4633。此后,创建从端口22重定向到端口4633上kippo的iptables:
$ sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 4633
可选配置
文件系统
接下来,您可能希望配置文件系统,一旦登录到我们的蜜罐,它将显示给攻击者。默认情况下,Kippo带有自己的文件系统,但其历史可以追溯到2009年,看起来似乎不再可行。您可以使用Kippo的实用程序克隆自己的文件系统而无需透露任何信息utils /createfs.py。具有root特权执行以下命令linux命令克隆文件系统:
# cd /home/kippo/kippo-0.5/
# utils/createfs.py > fs.pickle
Doing stuff
操作系统名称
Kippo还允许您更改/etc /issue文件中的操作系统名称。假设我们使用Linux Mint 14 Julaya。当然,您将使用真实而合理的内容。
$ echo "Linux Mint 14 Julaya \n \l" > honeyfs/etc/issue
密码档案
编辑honeyfs /etc /passwd并使其更加合理和多汁。
备用根密码
Kippo随附了预先设置的密码”123456″。您可以保留此设置并添加更多密码,例如:pass,a,123,密码,root
kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add pass
kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add a
kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add 123
kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add password
kippo@ubuntu:~/kippo-0.5$ utils/passdb.py data/pass.db add root
现在,攻击者将可以使用上述任何密码以root用户身份登录。
创建新命令
此外,Kippo允许您配置存储在txtcmds /目录中的其他命令。例如,要创建一个新命令df我们只是将输出重定向为真实dftxtcmds /bin /df的命令:
# df -h > txtcmds/bin/df
上面是一个简单的静态文本输出命令,但是它将使攻击者忙一段时间。
主机名
编辑配置文件kippo.cfg并将主机名更改为更有吸引力的名称,例如:
hostname = accounting
启动Kippo SSH Honeypot
如果到目前为止,您仍然按照上述说明进行操作,那么到目前为止,您应该已经使用以下设置配置了SSH honeypot:
- 监听端口4633
- iptables从22转发-> 4633
- 主机名:计费
- 多个root密码
- 现有系统的最新Honeyfs克隆
- 操作系统:Linux Mint 14 Julaya
现在开始启动Kippo SSH honeypot。
$ pwd
/home/kippo/kippo-0.5
kippo@ubuntu:~/kippo-0.5$ ./start.sh
Starting kippo in background...Generating RSA keypair...
done.
kippo@ubuntu:~/kippo-0.5$ cat kippo.pid
2087
通过上面的内容,您可以看到Kippo已启动,并且它为SSH通信创建了所有必需的RSA密钥。此外,它还创建了一个名为kippo.pid的文件,其中包含正在运行的Kippo实例的PID编号,您可以使用该ID终止kippo。杀命令。
测试SSH Honeypot部署
现在,我们应该能够在默认的ssh端口22上登录到新的ssh服务器别名ssh honeypot:
$ ssh root@server
The authenticity of host 'server (10.1.1.61)' can't be established.
RSA key fingerprint is 81:51:31:8c:21:2e:41:dc:e8:34:d7:94:47:35:8f:88.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'server,10.1.1.61' (RSA) to the list of known hosts.
Password:
accounting:~#
accounting:~# cd /
accounting:/# ls
var sbin home srv usr
mnt selinux tmp vmlinuz initrd.img etc
root dev sys lost+found proc
boot opt run media lib64 bin
lib
accounting:/# cat /etc/issue
Linux Mint 14 Julaya \n \l
看起来很熟悉?我们完了
附加功能
Kippo带有其他多个选项和设置。其中之一是使用utils /playlog.py实用程序来重放存储在log /tty /目录中的攻击者的shell交互。另外,Kippo允许日志文件由MySQL数据库存储。有关其他设置,请参见配置文件。
结论
需要提到的一件事是建议将Kipps的dl目录配置为一些单独的文件系统。此目录将保存攻击者下载的所有文件,因此您不希望由于没有磁盘空间而挂起应用程序。
对于完整的chroot蜜罐环境,Kippo似乎是一种很好且易于配置的SSH蜜罐替代品。 Kippo提供的功能比本指南中描述的功能更多。请阅读kippo.cfg以熟悉它们,并调整Kippo的设置以适合您的环境。