如何在CentOS 5.5上安装Kippo蜜罐

原创
安全 数据安全
Kippo是一个可交互的SSH蜜罐,旨在记录暴力攻击行为,最重要的是可以记录攻击者的shell交互行为,如果你需要了解有关Kippo更多信息,请访问它的官方网站http://code.google.com/p/kippo/,本教程只教你如何在CentOS 5.5服务器上编译和安装Kippo,但我不保证你照做也能成功。

【51CTO.com 独家译稿】Kippo是一个可交互的SSH蜜罐,旨在记录暴力攻击行为,最重要的是可以记录攻击者的shell交互行为,如果你需要了解有关Kippo更多信息,请访问它的官方网站http://code.google.com/p/kippo/,本教程只教你如何在CentOS 5.5服务器上编译和安装Kippo,但我不保证你照做也能成功。

安装Python 2.6

你可能已经知道,CentOS自带的是Python 2.4,因此你需要安装Python 2.6,具体的安装教程请访问下面这个链接:

http://www.geekymedia.com/tech-articles/rhel5-centos5-rpms-for-python-2-5-and-2-6/.

重要提示:

1)安装你需要的RPM包,包括Python基础包和libs包。

2)在命令行输入python26启动Python 2.6,注意不是输入python(系统自带的Python 2.4仍然保留在系统中)。

3)如果你使用setuptolls安装软件包,确保使用正确的python版本(如python26 setup.py安装)

Twisted,Zope和Pycrypto安装

Twisted是一个事件驱动的网络引擎,使用Python编写,基于MIT许可协议发布,Twisted项目支持TCP,UDP,SSL/TLS,多播,Unix套接字和其它许多协议(包括HTTP,NNTP,IMAP,SSH,IRC和FTP等)。

  1. cd /tmp  
  2. wget http://twistedmatrix.com/Releases/Twisted/10.2/Twisted-10.2.0.tar.bz2  
  3. tar -xvf Twisted-10.2.0.tar.bz2  
  4. cd Twisted-10.2.0 
  5. python26 setup.py build  
  6. python26 setup.py install 

Zope是一个开源的Web应用程序服务器,主要用Python写成。

  1. cd /tmp  
  2. wget http://www.zope.org/Products/ZopeInterface/3.3.0/zope.interface-3.3.0.tar.gz  
  3. tar -xvf zope.interface-3.3.0.tar.gz  
  4. cd zope.interface-3.3.0 
  5. python26 setup.py build  
  6. python26 setup.py install  

Pycrypto是一套使用Python实现的加密算法和协议集合。

  1. cd /tmp  
  2. wget wget http://www.amk.ca/files/python/crypto/pycrypto-2.0.1.tar.gz  
  3. tar -xvf pycrypto-2.0.1.tar.gz  
  4. cd pycrypto-2.0.1 
  5. python26 setup.py build  
  6. python26 setup.py install  

ASN.1类型和编码(BER,CER,DER)也是使用Python编程语言实现的。

  1. cd /tmp  
  2. wget http://sourceforge.net/projects/pyasn1/files/pyasn1-devel/0.0.12a/pyasn1-0.0.12a.tar.gz/download  
  3. tar -xvf pyasn1-0.0.12a.tar.gz  
  4. cd pyasn1-0.0.12a 
  5. python26 setup.py build  
  6. python26 setup.py install 

创建用户

Kippo不能以root用户运行,因此我们必须创建一个正规的用户。

useradd kippouser

你需要从http://kippo.googlecode.com下载最新的Kippo源代码包。

#p#

  1. su - kippouser   
  2. wget http://kippo.googlecode.com/files/kippo-0.5.tar.gz  
  3. tar -xvf kippo-0.5.tar.gz  
  4. cd kippo-0.5 

配置Kippo

  1. vi kippo.cfg  
  2. #  
  3. # Kippo configuration file (kippo.cfg)  
  4. #  
  5. [honeypot]  
  6. # IP addresses to listen for incoming SSH connections.  
  7. #  
  8. # (default: 0.0.0.0) = any address  
  9. #ssh_addr = 0.0.0.0  
  10. # Port to listen for incoming SSH connections.  
  11. #  
  12. # (default: 2222)  
  13. ssh_port = 2222 
  14. # Hostname for the honeypot. Displayed by the shell prompt of the virtual  
  15. # environment.  
  16. #  
  17. # (default: sales)  
  18. hostname = sales  
  19. # Directory where to save log files in.  
  20. #  
  21. # (default: log)  
  22. log_path = log  
  23. # Directory where to save downloaded (malware) files in.  
  24. #  
  25. # (default: dl)  
  26. download_path = dl  
  27. # Directory where virtual file contents are kept in.  
  28. #  
  29. # This is only used by commands like 'cat' to display the contents of files.  
  30. # Adding files here is not enough for them to appear in the honeypot - the  
  31. # actual virtual filesystem is kept in filesystem_file (see below)  
  32. #  
  33. # (default: honeyfs)  
  34. contents_path = honeyfs  
  35. # File in the python pickle format containing the virtual filesystem.   
  36. #  
  37. # This includes the filenames, paths, permissions for the whole filesystem,  
  38. # but not the file contents. This is created by the createfs.py utility from  
  39. # a real template linux installation.  
  40. #  
  41. # (default: fs.pickle)  
  42. filesystem_file = fs.pickle  
  43. # Directory for miscellaneous data files, such as the password database.  
  44. #  
  45. # (default: data_path)  
  46. data_path = data  
  47. # Directory for creating simple commands that only output text.  
  48. #  
  49. # The command must be placed under this directory with the proper path, such  
  50. # as:  
  51. #   txtcmds/usr/bin/vi  
  52. # The contents of the file will be the output of the command when run inside  
  53. # the honeypot.  
  54. #  
  55. # In addition to this, the file must exist in the virtual  
  56. # filesystem {filesystem_file}  
  57. #  
  58. # (default: txtcmds)  
  59. txtcmds_path = txtcmds  
  60. # Public and private SSH key files. If these don't exist, they are created  
  61. # automatically.  
  62. #  
  63. # (defaults: public.key and private.key)  
  64. public_key = public.key  
  65. private_key = private.key  
  66. # Initial root password. Future passwords will be stored in  
  67. # {data_path}/pass.db  
  68. #  
  69. # (default: 123456)  
  70. password = 123456 
  71. # IP address to bind to when opening outgoing connections. Used exclusively by  
  72. # the wget command.  
  73. #  
  74. # (default: not specified)  
  75. #out_addr = 0.0.0.0  
  76. # Sensor name use to identify this honeypot instance. Used by the database  
  77. # logging modules such as mysql.  
  78. #  
  79. # If not specified, the logging modules will instead use the IP address of the  
  80. # connection as the sensor name.  
  81. #  
  82. # (default: not specified)  
  83. #sensor_name=myhostname  
  84. # Fake address displayed as the address of the incoming connection.  
  85. # This doesn't affect logging, and is only used by honeypot commands such as  
  86. # 'w' and 'last'  
  87. #  
  88. # If not specified, the actual IP address is displayed instead (default  
  89. # behaviour).  
  90. #  
  91. # (default: not specified)  
  92. #fake_addr = 192.168.66.254  
  93. # MySQL logging module  
  94. #  
  95. # Database structure for this module is supplied in doc/sql/mysql.sql  
  96. #  
  97. # To enable this module, remove the comments below, including the  
  98. # [database_mysql] line.  
  99. #[database_mysql]  
  100. #host = localhost  
  101. #database = kippo  
  102. #username = kippo  
  103. #password = secret 

#p#

启动Kippo

  1. ./start.sh 

日志文件

默认情况下,kippo的输出将会被重定向到日志文件log/kippo.log,使用下面的命令查看Kippo的日志:

  1. tail -f log/kippo.log 

提示:如何访问Kippo

默认情况下,Kippo运行在2222端口上,如果运行在Windows上,端口22通常是空闲的,可以将Kippo运行在这个端口上,在Linux上,端口22有所限制,只能由root使用,但可以使用下面的命令进行端口映射:

  1. iptables -t nat -A PREROUTING -i IN_IFACE -p tcp --dport 22 -j REDIRECT --to-port 2222 

使用你真实的接口名如eth0替换这里的IN_IFACE。

测试

使用root用户连接到Kippo服务器的2222端口:

  1. ssh 127.0.0.1 -p 2222 -l root 

如果成功登录,你一定会看到下面的banner:

  1. sales:~# 

原文出处:http://www.howtoforge.com/how-to-set-up-kippo-ssh-honeypot-on-centos-5.5

原文名:How To Set Up Kippo SSH Honeypot On CentOS 5.5

【51CTO.com独家译稿,非经授权谢绝转载!合作媒体转载请注明原文出处及出处!】

【编辑推荐】

  1. Honeyd:您私人的蜜罐系统
  2. 蜜罐技术:如何跟踪攻击者的活动?
  3. 黑客开始利用蜜罐系统诱捕安全研究人员?
  4. 蜜罐服务器成黑客DoS元凶 安全公司很受伤
责任编辑:佟健 来源: 51CTO.com
相关推荐

2014-12-01 11:27:54

CentOS 7Docker

2017-08-15 11:58:15

LinuxCentOSApache Hado

2017-05-03 14:00:00

LinuxCentOSElastic Sta

2010-11-19 09:30:29

2020-03-02 14:06:54

CentOS 8FFmpegLinux

2013-04-07 15:14:41

2013-12-04 14:45:22

2017-04-11 13:20:06

CentOSRHELFedora

2015-09-10 11:38:37

iTOPCentOS开源

2015-12-11 13:16:10

CentOS 7Redis服务器

2019-12-02 11:50:09

CentOS 8VirtualBoxLinux

2015-12-21 13:19:23

CentosRHEL 6.XWetty

2017-04-24 18:10:27

DrupalCentOSFedora

2015-12-29 13:59:53

Ubuntu 15.0CentOS 7Android Stu

2011-09-09 16:22:21

centosHandlerSock

2016-01-06 13:04:13

CentOS 7Ubuntu 15.0Laravel

2017-03-21 15:51:57

LinuxCentOS 7MariaDB 10

2019-10-12 10:24:06

CentOSRHELCockpit

2019-08-02 15:30:42

UbuntuMongoDB命令

2019-07-23 09:10:41

MacOSKibana开源
点赞
收藏

51CTO技术栈公众号