攻击者对企业网络的攻击、渗透,往往以获取服务器的控制权,窃取企业敏感数据为目的。服务器一旦部署完成就处于内外攻击之中,安全实践证明,打造百分之百安全的服务器只能是梦想。因此,与其疲于防范,不如改变防御策略主动出击。搭建蜜罐服务器是个不错的方案,通过它分析获取攻击时间、攻击方式,甚至分析攻击者的心理习惯等,既保护了真正的服务器,同时为我们抓捕攻击者提供了依据。
下面,笔者搭建测试环境,进行蜜罐服务器的部署及其攻防演示。
模拟环境:
虚拟机A(蜜罐服务器)
系统:windows server 2003
IP:192.168.1.10
虚拟机B(攻击主机)
系统:Windows XP SP2
IP:192.168.1.6
一、WEB服务器蜜罐攻防
1、工具:Trap Server
这是一款WEB服务器蜜罐软件,它可以模拟很多不同的服务器,例如:Apache HTTP Server、IIS等。Trap Server蜜罐运行时就会开放一个伪装的WEB服务器,虚拟服务器将对这个服务器的访问情况进行监视,并把所有对该服务器的访问记录下来,包括IP地址,访问文件等。通过这些对黑客的入侵行为进行简单的分析。
2、部署与设置
下载Trap Server安装并运行,在“服务器类别”菜单下有三个选项。分别是“启动IIS服务”、“启动Apache服务器”和“启动EasyPHP服务器”,软件可以模拟上述三种服务器。(图1)

Trap Server模拟的IIS、Apache和EasyPHP都是WEB服务器,所以默认监听的都是80端口。主页路径默认的是安装Trap Server目录下面的WEB文件夹,可以自己另外设置别的目录。但主页的路径不能修改,可以把自己做的主页放到文件夹里面,这样这款蜜罐就可以做为WEB服务器用了。软件默认监听的80端口,也可以修改,比如系统安装了IIS,占用了80,那么完全可以选择一个没有被占用的端口,比如7626之类的。
3、实时监视
选择要模拟的服务器类型后,在主界面点击“开始监听”按钮,即可启动蜜罐服务。我们在虚拟机B的浏览器中输入192.168.1.10,在虚拟机A中就可以监视到虚拟机B的操作。(图2)

假如有攻击者通过浏览器输入自己服务器的IP,访问用Trap Server模拟的WEB服务,在Trap Server主界面里就会自动监听并显示攻击者的访问操作记录。例如,分离一些重复信息后,看到如下的记录(图3)。

<2008-1-20> <11:06:51> Listening for HTTP connections on 0.0.0.0:80.
User logged in
<2008-1-20> <11:07:23> Command GET /receibed form 192.168.1.6:2025
Serving file C:\Program Files\虚拟服务器软件\Web\iis\index.htm(4628 bytes /4628 bytes sent to 192.168.1.6:1943)
User logged out
第一行表示,Trap Server开始侦听服务器的80端口。接下来是有一个账户登录服务器,发送了一个命令,行为是GET,后面是该账户的IP地址和使用的端口。再下面一行就是登录者获取的文件,是IIS下面的index.htm,发送2648个字节给这个地址的GET请求,完成之后用户退出。
其实有黑客攻击经验的用户都知道此记录代表的意思。他表示有攻击者用Telnet连接了我们的蜜罐服务器,并进行了版本探测。很多朋友都系统用手工的方法去探测服务器版本,最常用的就是直接用Telnet去连接服务器的80端口,然后输入get index.htm,通过返回的信息就知道服务器的版本了。(图4)

4、记录与跟踪
在实际应用方面,Trap Server正是当下非常流行的SQL注入的天敌,能详细地记录各种手工的和利用工具实现的方法,并完整地再现当时的入侵过程。
另外,在遭受攻击时,如果不知道攻击者的真实IP地址,可以点击“跟踪”按钮,软件会跟踪IP经过的路由,揪出攻击者的IP地址。(图5)

二、部署全方位的蜜罐服务器
1、工具:Defnet HoneyPot 2004
这是一款著名的“蜜罐”虚拟系统,它会虚拟一台有“缺陷”的服务器,等着恶意攻击者上钩。利用该软件虚拟出来的系统和真正的系统看起来没有什么两样,但它是为恶意攻击者布置的陷阱。通过它可以看到攻击者都执行了那些命令,进行了哪些操作,使用了哪些恶意攻击工具。通过陷阱的记录,可以了解攻击者的习惯,掌握足够的攻击证据,甚至反击攻击者。
2、蜜罐服务器部署
运行Defnet HoneyPot,在程序主界面右侧,点击“HoneyPot”按钮,弹出设置对话框,在设置对话框中,可以虚拟Web、FTP、SMTP、Finger、POP3和Telnet等常规网站提供的服务。(图6)

例如要虚拟一个FTP Server服务,则可选中相应服务“FTP Server”复选框,并且可以给恶意攻击者“Full Access”权限。并可设置好“Directory”项,用于指定伪装的文件目录项。(图7)

在“Finger Server”的“Aclvanced”高级设置项中,可以设置多个用户,“admin”用户是伪装成管理员用户的,其提示信息是“administrator”即管理员组用户,并且可以允许40个恶意攻击者同时连接该用户。(图8)

在“Telnet Server”的高级设置项中,还可以伪装驱动器盘符(Drive)、卷标(Volume)、序列号(serial no),以及目录创建时间和目录名,剩余磁盘空间(Free space in bytes),MAC地址,网卡类型等。(图9)

3、开启监视
蜜罐搭建成功后,点击HoneyPot主程序界面的“Monitore”按钮,开始监视恶意攻击者了。当有人攻击我们的系统时,会进入我们设置的蜜罐。在HoneyPot左面窗口中的内容,就可以清楚地看到,恶意攻击者都在做什么,进行了哪些操作了。
例如我们在虚拟机B中对虚拟机A(蜜罐服务器)进行telnet连接,蜜罐中显示信息如下:(图10)

(9:20:52) The IP 192.168.1.6 () tried invasion by telnet (CONNECTION )
(9:21:31) The IP 192.168.1.6 () tried invasion by telnet (USER administrator)
(9:21:53) The IP 192.168.1.6 () tried invasion by telnet (PASSWORD )
(9:22:21) The IP 192.168.1.6 () tried invasion by telnet (USER admin)
(9:22:42) The IP 192.168.1.6 () tried invasion by telnet (PASSWORD )
(9:23:08) The IP 192.168.1.6 () tried invasion by telnet (USER root)
(9:23:29) The IP 192.168.1.6 () tried invasion by telnet (PASSWORD )
The invasor disconnected from the telnet server
(9:23:58) The IP 192.168.1.6 () tried invasion by telnet (CONNECTION )
(9:24:22) The IP 192.168.1.6 () tried invasion by telnet (USER root)
(9:24:44) The IP 192.168.1.6 () tried invasion by telnet (PASSWORD root)
(9:25:08) The IP 192.168.1.6 () tried invasion by telnet (dir)
(9:25:41) The IP 192.168.1.6 () tried invasion by telnet (cd files)
(9:26:20) The IP 192.168.1.6 () tried invasion by telnet (net user)
(9:26:49) The IP 192.168.1.6 () tried invasion by telnet (net user)
(9:27:38) The IP 192.168.1.6 () tried invasion by telnet (net user asp$ test168 /add)
(9:28:32) The IP 192.168.1.6 () tried invasion by telnet (net u)
(9:29:12) The IP 192.168.1.6 () tried invasion by telnet (net localgroup administrators asp$ /add)
(9:29:36) The IP 192.168.1.6 () tried invasion by telnet (exit)
信息分析:从信息中,我们可以看到攻击者Telnet到服务器分别用administrator、admin、root空密码进行探视均告失败,然后再次连接用root用户和root密码进入系统。接下来用dir命令查看了目录,创建了一个用户名为asp$,密码为test168的管理员密码。攻击者的所作所为一目了然,我们获得了这些信息后,可以尝试用此用户和密码远程连接攻击者的服务器。因为,很多恶意攻击者,在入侵后创建的用户就是自己的服务器使用的用户和密码,这也是社会工程学的利用吧。
4、蜜罐提醒
如果我们不能在服务器前跟踪攻击者的攻击动作时,当想了解攻击者都做了些什么时,可以使用HoneyPot提供的“提醒”功能。在软件主界面点击“Options”按钮,在打开设置窗口中,设置自己的E-mail信箱,其自动将攻击者的动作记录下来,发送到设置的邮箱中。选中“Send logs by e-mail”,在输入框中填写自己的邮箱地址,邮件发送服务器地址,发送者邮箱地址。再选中“Authenticaton required”,填写邮箱的登录名和密码,自己就可以随时掌握攻击者的入侵情况了。
另外还可以选中“Save outomatic logs on in the directory”将入侵日志保存到指定的目录中,方便日后分析(图11)。

总结:上面是笔者在模拟环境中进行的演示,真实网络环境中的部署与此类似。通过演示,大家可以看到蜜罐服务器不仅误导了攻击者让他们无功而返,同时获取了必要的入侵信息,为我们对真正的服务器进行安全设置提供了依据,也是下一步的反攻的前提。 |