“蜜罐”配置实验

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验23“蜜罐”配置实验
1.实验目的
通过安装和配置“蜜罐”,了解“蜜罐”的原理,及其配置使用方法。

2.实验原理
2.1“蜜罐”技术的起源
入侵检测系统能够对网络和系统的活动情况进行监视,及时发现并报告异常现象。

但是,入侵检测系统在使用中存在着难以检测新类型黑客攻击方法,可能漏报和误报的问题。

蜜罐使这些问题有望得到进一步的解决,通过观察和记录黑客在蜜罐上的活动,人们可以了解黑客的动向、黑客使用的攻击方法等有用信息。

如果将蜜罐采集的信息与IDS采集的信息联系起来,则有可能减少IDS的漏报和误报,并能用于进一步改进IDS的设计,增强IDS的检测能力。

“蜜罐”的思想最早是由Clifford Stoll于1988年5月提出。

该作者在跟踪黑客的过程中,利用了一些包含虚假信息的文件作为黑客“诱饵”来检测入侵,这就是蜜罐的基本构想,但他并没有提供一个专门让黑客攻击的系统。

蜜罐正式出现是Bill Cheswick提到采用服务仿真和漏洞仿真技术来吸引黑客。

服务仿真技术是蜜罐作为应用层程序打开一些常用服务端口监听,仿效实际服务器软件的行为响应黑客请求。

例如,提示访问者输入用户名和口令,从而吸引黑客进行登录尝试。

所谓漏洞仿真是指返回黑客的响应信息会使黑客认为该服务器上存在某种漏洞,从而引诱黑客继续攻击。

2.2蜜罐技术的优点
Honeypot是一个相对新的安全技术,其价值就在被检测、攻击,以致攻击者的行为能够被发现、分析和研究。

它的概念很简单:Honeypot没有任何产品性目的,没有授权任何人对它访问,所以任何对Honeypot的访问都有可能是检测、扫描甚至是攻击。

Honeypot的检测价值在于它的工作方式。

正如前文所提到的,由于Honeypot没有任何产品性功能,没有任何授权的合法访问,所以在任何时间来自任何地方对Honeypot的任何
访问都有可能是非法的可疑行为。

Honeypot的工作方式同NIDS等其他的传统检测技术正好相反,NIDS不能解决的问题,Honeypot却能轻易解决。

Honeypot和NIDS相比较:
(1)数据量小:
Honeypot仅仅收集那些对它进行访问的数据。

在同样的条件下,NIDS可能会记录成千上万的报警信息,而Honeypot却只有几百条。

这就使得Honeypot收集信息更容易,分析起来也更为方便。

(2)减少误报率:
Honeypot能显著减少误报率。

任何对Honeypot的访问都是未授权的、非法的,这样Honeypot检测攻击就非常有效,从而大大减少了错误的报警信息,甚至可以避免。

这样网络安全人员就可以集中精力采取其他的安全措施。

(3)捕获漏报
Honeypot可以很容易地鉴别捕获针对它的新的攻击行为。

由于针对Honeypot的任何操作都不是正常的,这样就使得任何新的以前没有见过的攻击很容易暴露。

(4)资源最小化
Honeypot所需要的资源很少,即使工作在一个大型网络环境中也是如此。

一个简单的Pentium主机就可以模拟具有多个IP地址的C类网络。

(5)解密
无论攻击者对连接是否加密都没有关系,Honeypot都可以捕获他们的行为。

2.3Honeyd介绍
Honeyd是一个很小巧的用于创建虚拟的网络上的主机的后台程序,这些虚拟主机可以配置使得它们提供任意的服务,利用个性处理可以使得这些主机显示为在某个特定版本的操作系统上运行。

Honeyd是GNU General Public License下发布的开源软件,目前也有一些商业公司在使用这个软件。

其最初面向的是类Linux操作系统,可以运行在BSD系统,Solaris,GNU/Linux 等操作系统上,由Niels Provos开发和维护。

这里主要介绍面向类linux系统的Honeyd程序。

Honeyd能让一台主机在一个模拟的局域网环境中配有多个地址(曾测试过的最多可以达到65536个),外界的主机可以对虚似的主机进行ping、traceroute等网络操作,虚拟主机上任何类型的服务都可以依照一个简单的配置文件进行模拟,也可以为真实主机的服务提供代理。

Honeyd可以通过提供威胁检测与评估机制来提高计算机系统的安全性,也可以通过将真实系统隐藏在虚拟系统中来阻止外来的攻击者。

因为Honeyd只能进行网络级的模拟,不能提供真实的交互环境,能获取的有价值的攻击者的信息比较有限,所以Honeyd所模拟的
蜜罐系统常常是作为真实应用的网络中转移攻击者目标的设施,或者是与其他高交互的蜜罐系统一起部署,组成功能强大但花费又相对较少的网络攻击信息收集系统。

3.实验环境
硬件:局域网内联网的两台主机,其中一台为Linux操作系统主机用作安装“蜜罐”。

另一台为windows主机,对蜜罐进行扫描。

软件:libdnet-1.10.tar.gz,libevent-1.1a.tar.gz,libpcap-0.9.3.tar.gz,honeyd-1.0.tar.gz (Honeyd源代码包),honeyd_kit-1.0c-a.tar.gz(Honeyd快速安装包),Superscan,Flashfxp (或其他FTP客户端软件)。

注意:windows主机的默认网关要改为本机地址。

而且每个学生虚拟的网段不要重叠,可以通过修改start-arpd和start-honeyd来实现。

4.实验步骤
(1)手动安装Honeyd(推荐使用快速安装包)
安装libdnet-1.10.tar.gz,libevent-1.1a.tar.gz,libpcap-0.9.3.tar.gz三个honeyd的支持软件。

将这三个包复制到Linux根目录下,直接解压安装
tar xvzf libdnet-1.10.tar.gz
进入libdnet-1.10目录
cd/libdnet-1.10
运行./configure
运行make
运行make install
采用同样步骤完成libevent-1.1a.tar.gz,libpcap-0.9.3.tar.gz,honeyd-1.0.tar.gz的安装。

检查honeyd安装位置
whereis honeyd如果成功的话应该如图23.1所示:
图23.1显示honeyd路径
编辑honeyd.conf
vi/etc/honeyd.conf如图23.2所示:
图23.2honeyd配置文件
第一行create linux:建立一个模板命名为linux。

第二行set linux personality“Linux2.4.20”:将蜜罐虚拟出来的主机操作系统定位Linux2.4.20。

第三行set linux default tcp action reset:模拟关闭所有的TCP端口。

第四行set linux tcp port80“perl scripts/iis-0.95/iisemul8.pl”:打开蜜罐80端口,利用iisemul8.pl虚拟出IIS服务。

第六行bind192.168.0.4linux:用蜜罐虚拟出利用该模板的主机,IP为192.168.0.4。

经过以上步骤,已经成功的手动安装了honeyd。

其具体的配置和使用方法,将在下一部分针对honeyd快速安装包详细讲解。

(2)快速安装Honeyd
我们在honeyd_kit-1.0c-a.tar.gz的基础上,对honeyd进行了一些修改,完善了honeyd_kit-1.0c-a.tar.gz的快速安装包。

将honeyd_kit-1.0c-a.tar.gz复制到linux根目录下。

直接解压
tar xvzf honeyd_kit-1.0c-a.tar.gz
如果以root身份登录系统,则已经可以直接运行honeyd。

(3)配置和运行Honeyd
在快速安装包里包括:
arpd arp欺骗工具
docs相关文档
honeyd已经编译好的honeyd执行文件
honeyd.conf修改过的honeyd配置文件
honeyd.conf.simple一个功能简单的配置文件
honeyd.conf.bloat一个功能比较复杂的配置文件
works一个应用于大规模网络的配置文件
logs用于记录蜜罐的连接信息
nmap.prints nmap指纹识别库
nmap.assoc联合指纹文件
pf.os被动操作系统指纹识别库
scripts用于模拟蜜罐服务的脚本
start-arpd.sh开始监听流量
start-honeyd.sh开始honeyd进程
xprobe2.conf Xprobe2指纹识别库
使用vi命令打开starthoneyd.sh,看honeyd如何运行。

vi/honeyd_kit-10c-a/start-honeyd.sh如图23.3所示:
图23.3honeyd执行脚本
从该脚本可以看出honeyd参数的设置:
-f honeyd.conf加载配置文件
-p nmap.prints加载nmap指纹库
-a nmap.assoc加载联合指纹库
-0pf.os加载被动操作系统指纹识别
-x xprobe2.conf加载xprobe2指纹库
-l/honeyd_kit-1.0c-a/logs/honeyd.log指定日志文件
192.168.1.100-192.168.1.253指定虚拟的蜜罐主机IP地址
运行honeyd
cd/honeyd_kit-1.0c-a进入honeyd文件夹
./start-arpd.sh启动arpd,起导入网络流量的作用,如图23.4所示:
图23.4运行arpd
./start-honeyd.sh启动honeyd,如图23.5所示:
图23.5运行honeyd
配置文件:honeyd.conf
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 port80"/honeyd_kit-1.0c-a/scripts/win32/win2k/iis.sh"
#上面的Web服务的记录在/honeyd_kit-1.0c-a/logs/web.log
add default tcp port8080"/honeyd_kit-1.0c-a/scripts/HoneyWeb-0.4/HoneyWeb-0.4.py"
add default tcp port21"/honeyd_kit-1.0c-a/scripts/win32/win2k/msftp.sh"
#上面的ftp服务的记录在/honeyd_kit-1.0c-a/logs/ftp.log
add default tcp port2121"/honeyd_kit-1.0c-a/scripts/unix/linux/ftp.sh"
add default tcp port23"/honeyd_kit-1.0c-a/scripts/telnet/faketelnet.pl"
add default tcp port110"/honeyd_kit-1.0c-a/scripts/win32/win2k/exchange-pop3.sh"
add default tcp port139open
add default tcp port137open
add default udp port137open
add default udp port135open
这里我们主要要看80端口的iis.sh脚本模拟的WEBweb服务,以及21端口msftp.sh脚本模拟的FTP服务。

其余设为open的端口可以被检测到,但没有设置脚本,所以不会提供具体服务。

(4)测试honeyd
运行honeyd。

./start-arpd.sh
./start-honeyd.sh
测试活动主机,IP地址由192.168.1.100-192.168.1.253(蜜罐虚拟地址)。

使用Superscan扫描该网段,检测主机是否活动。

如图23.6所示:
图23.6检测活动主机
测试主机开放端口。

使用Superscan检测该网段主机开放端口,选取192.168.1.100为例。

如图23.7所示:
图23.7检测主机开放端口
测试蜜罐的虚拟WEB服务。

在浏览器中输入http://192.168.1.100。

服务成功则如图23.8所示:
图23.8测试WEB服务
测试蜜罐的虚拟FTP服务。

运行flashfxp,登录192.168.1.100。

服务成功,可以看到相关登录信息。

如图23.9所示:
图23.9测试FTP服务
(5)honeyd虚拟服务脚本
以上两个虚拟出来的服务分别是由iis.sh和msftp.sh两个脚本程序实现的。

我们可以看一下它们是如何工作的。

1)在Linux下,使用vi打开脚本程序。

vi/honeyd_kit-1.0c-a/scripts/win32/win2k/iis.sh
这个脚本程序为我们提供了那个“Site is under heavy construction”页面。

在脚本程序中可以看到如下html代码:
<html><title>Under Heavy Construction</title>
<body>
<br><br>
<h1>Site is under Heavy Construction</h1>
<b>coming soon...<b>
</body>
</html>
这就是该脚本虚拟出来的WEB页,可以使人误以为这里有一个IIS服务器。

另外下面这段代码指定该脚本自己的日志文件存放路径。

我们也将其设为honeyd的日志路径:
LOG="/honeyd_kit-1.0c-a/logs/web.log"
2)在Linux下,使用vi打开脚本程序。

vi/honeyd_kit-1.0c-a/scripts/win32/win2k/msftp.sh
这个脚本程序为我们提供了FTP服务。

在脚本程序中可以看到如下代码,该代码正是提供了我们交互信息,如图23.10中红框所示:
echo-e"211-$HOST Microsoft Windows NT FTP Server status:\r"
echo-e"Version5.0\r"
echo-e"Connected to$HOST.$DOMAIN\r"在图中为主机地址192.168.1.100
echo-e"Logged in as$PASS\r"
echo-e"TYPE:$type,FORM:Nonprint;STRUcture:File;transfer MODE:$mode\r"
echo-e"No data connection\r"
echo-e"211End of status.\r"
(5)honeyd日志文件
我们这里把honeyd的日志路径设为/honeyd_kit-1.0c-a/logs/honeyd.log。

cd/honeyd_kit-1.0c-a/logs如图23.10所示:
图23.10honeyd日志存放路径
其中ftp.log和web.log是由上面介绍的脚本程序产生的。

honeyd的日志文件记录了所有与蜜罐虚拟出来的主机连接的信息,包括了时间戳、协议类型、源地址、目的地址、端口号、操作系统类型等信息。

使用vi命令查看。

vi honeyd/log如图23.11所示:
图23.11honeyd日志
以上日志中,攻击主机为59.64.153.234,红框中显示了攻击主机与蜜罐虚拟的主机建立连接。

包括了TELNET、FTP、HTTP。

通过查询这些信息,可以收集攻击者的入侵证据,同时由于这些主机都是由蜜罐虚拟出来的,所以不会对系统造成威胁。

5.实验报告要求:
1.掌握快速安装方法,能够熟练安装honeyd。

尝试采用手的方法安装。

2.通过安装和配置honeyd,按照实验步骤写一份完整的实验报告。

3.尝试手动安装honeyd,一切路径都按照默认方式。

尝试使用新的脚本程序。

相关文档
最新文档