这篇文章主要是讲honeyd的应用,如果要看honeyd的安装的话请看我的另一篇文章:http://297020555.blog.51cto.com/1396304/538183
Honeyd 的命令格式如下:
honeyd [-dP] [-l logfile] [-s servicelog] [-p fingerprints] [-0 p0f-file] [-x xprobe]
[-a assoc] [-f file] [-i interface] [-u uid] [-g gid]
[--webserver-address address] [--webserver-port port]
[--webserver-root path] [--rrdtool-path path]
[--disable-webserver] [--disable-update] [--verify-config]
[--fix-webserver-permissions] [-V|--version] [-h|--help] [--include-dir]
[--data-dir] [net ...]
各选项的含义如下:
-d :非守护程序的形式,允许冗长的调试信息。
-P :在一些系统中,pcap 不能通过 select(2)来获得事件通知是不可能的,在这种情况下,honeyd 需要在轮训模式下工作,这个标志位是使论询位有效的。
-l logfile:对日志包和日志文件的连接是被日志文件指定的。
-s servicelog:将honeyd记录的服务层日志写入到指定的服务日志文件中。
-x xprobe:读 xprobe 类型的指纹,这个文件决定了 honeyd 如何响应 ICMP 指纹工具。
-a assoc:读联系 nmap 风格指纹和 xprobe 指纹风格的文件。
-f file:读取名为 file 的配置文件。
-i interface:指定侦听的接口,可以指定多个接口。
[ V|--version:打印出版本信息同时退出。
-include-dir:用作插件开发,指定 honeyd 存贮它的头文件的位置。
[--webserver-address address] [--webserver-port port] [--webserver-root path] [--rrdtool-path path] [--fix-webserver-permissions]指定Honeyd软件内建Web服务的地址、端口和根目录,以及Web服务依赖的RRDTool的位置,--fix-webserver-permissions修正Web目录权限设置导致网页不可读取问题。
net:指定IP地址或者网络或者IP地址范围,如果没有指定,honeyd将监视它能看见的任何IP地址的流量。
- [root@localhost ~]# mkdir /var/log/honeyd
- [root@localhost ~]# touch /var/log/honeyd/honeyd.log
- [root@localhost ~]# touch /var/log/honeyd/service.log
- [root@localhost ~]# chown nobody.nobody /var/log/honeyd/*.log
touch /etc/honeyd.conf
honeyd.conf的内容如下:
- create windows
- set windows personality "Microsoft Windows NT 4.0 SP3"
- set windows default tcp action reset
- set windows default udp action reset
- add windows tcp port 110 open
- add windows tcp port 80 open
- add windows tcp port 25 open
- add windows tcp port 22 open
- add windows tcp port 21 open
- bind 192.168.211.199 windows
上面的配置文件创建了一个叫做windows的模板,绑定了一个honeypot的IP到这个模板上。上面的这个windows模板告诉honeyd,当一个客户端试图用NMap或者XProbe探测honeypot的指纹时,把它自己伪装成Microsoft Windows NT 4.0 SP3的系统。在蜜罐上有5个端口被打开:21/tcp, 22/tcp, 25/tcp, 80/udp and 110/udp。对于关闭的端口,honeyd将发出一个RST(对于TCP协议),或者一个ICMP端口不可到达的消息(对于UDP协议)。192.168.211.199为要虚拟的ip地址。
- [root@localhost ~]# arpd 192.168.211.199
- arpd[14670]: listening on eth0: arp and (dst 192.168.211.199) and not ether src 00:0c:29:fe:19:7a
- [root@localhost ~]# honeyd
- honeyd honeydctl honeydstats
- [root@localhost ~]# honeyd -f /etc/honeyd.conf 192.168.211.199
- Honeyd V1.5c Copyright (c) 2002-2007 Niels Provos
- honeyd[14705]: started with -f /etc/honeyd.conf 192.168.211.199
- Warning: Impossible SI range in Class fingerprint "IBM OS/400 V4R2M0"
- Warning: Impossible SI range in Class fingerprint "Microsoft Windows NT 4.0 SP3"
- honeyd[14705]: listening promiscuously on eth0: (arp or ip proto 47 or (udp and src port 67 and dst port 68) or (ip and (host 192.168.211.199))) and not ether src 00:0c:29:fe:19:7a
- Honeyd starting as background process
- [root@localhost ~]#
这种方法想对于第一种来要简单多了。
- [root@localhost]# tar -zxvf honeyd_kit-1.0c-a.tgz
- [root@localhost]# mv honeyd_kit-1.0c-a honeyd
- [root@localhost]# chown -R nobody honeyd
- [root@localhost]# mkdir /var/log/honeyd
- [root@localhost]# touch /var/log/honeyd/honeyd.conf
- [root@localhost]# touch /var/log/honeyd/service.conf
- [root@localhost]# chown nobody /var/log/honeyd/*.log
配置:
[root@localhost]# cd honeyd
首先配置arpd启动脚本--“start-arpd.sh”:
[root@localhost]# vi ./start-arpd.sh
start-arpd.sh的内容:
#!/bin/sh
set -x
./arpd 192.168.211.0/24 (或者是./arpd 192.168.211.199)
#上行中arpd后跟的参数是本VLAN内使用的网络号
[ESC]:wq
接下来是配置虚拟蜜罐脚本,程序默认自带几个配置脚本:
-rw-r----- 1 nobody 501 2330 Jun 13 2005 honeyd.conf
-rw-r----- 1 nobody 501 11005 Jun 10 2005 honeyd.conf.bloat
-rw-r----- 1 nobody 501 8921 Jun 1 2005 honeyd.conf.networks
-rw-r----- 1 nobody 501 2330 Jun 9 2005 honeyd.conf.simple
honeyd.conf是默认的配置文件(默认内容与honeyd.conf.simple相同);
honeyd.conf.bloat是一个高级应用的honeyd.conf例子,能发挥高级的虚拟蜜罐性能;
honeyd.conf.networks是一个高级应用的、基于蜜罐网络的例子;
honeyd.conf.simple是一个简单的honeyd.conf应用例子,用于测试。
我们就直接修改一下默认的honeyd.conf:
[root@localhost]# vi honeyd.conf
honeyd.conf默认虚拟了一个WINDOWS XP的蜜罐系统:
create default
set default personality "Microsoft Windows XP Home Edition"
set default default tcp action reset
set default default udp action reset
set default default icmp action open
add default tcp port 80 "sh scripts/misc/test.sh"
add default tcp port 139 open
add default tcp port 137 open
add default udp port 137 open
add default udp port 135 open
在文件的最底端加入一行:
bind 192.168.211.199default
[ESC]:wq
最后是编辑honeyd的启动脚本“start-honeyd.sh”:
[root@localhost]# vi ./start-honeyd.sh
start-honeyd.sh的内容:
#!/bin/sh
set -x
./honeyd -f honeyd.conf -p nmap.prints -x xprobe2.conf -a nmap.assoc -0 pf.os -l /var/log/honeyd 192.168.211.199
[ESC]:wq
启动:
若是上述的‘安装’和‘配置’过程都顺利完成的话,启动honeyd就简单了,只要依次执行“start-honeyd.sh”与“start-honeyd.sh”这两个SHELL脚本就可以了:
- [root@localhost honeyd_kit-1.0c-a]# ./start-arpd.sh
- + ./arpd 192.168.211.199
- arpd[14907]: listening on eth0: arp and (dst 192.168.211.199) and not ether src 00:0c:29:fe:19:7a
- [root@localhost honeyd_kit-1.0c-a]# ./start-honeyd.sh
- + ./honeyd -f honeyd.conf -p nmap.prints -x xprobe2.conf -a nmap.assoc -0 pf.os -l /var/log/honeyd 192.168.211.199
- Honeyd V1.0c Copyright (c) 2002-2004 Niels Provos
- honeyd[14910]: started with -f honeyd.conf -p nmap.prints -x xprobe2.conf -a nmap.assoc -0 pf.os -l /var/log/honeyd 192.168.211.199
- Warning: Impossible SI range in Class fingerprint "IBM OS/400 V4R2M0"
- Warning: Impossible SI range in Class fingerprint "Microsoft Windows NT 4.0 SP3"
- honeyd[14910]: listening promiscuously on eth0: (arp or ip proto 47 or (udp and src port 67 and dst port 68) or (ip and (host 192.168.211.199))) and not ether src 00:0c:29:fe:19:7a
- Honeyd starting as background process
- [root@localhost honeyd_kit-1.0c-a]#
这样就成功了 。
最后问大家一个问题:
大家有没有注意,真是地址和虚拟地址的mac地址是相同的。
有什么好的解决方案吗?