web服务器记录中查找黑客踪迹的方法与技巧
摘要:本文主要讲述如何分析Web服务器记录,在众多记录里查找黑客攻击的蛛丝马迹,并针对当今流行的两类Web服务器给出具体的一些实例。
现今的网络,安全越来越受到大家的重视,在构建网络安全环境时,在技术手段,管理制度等方面都逐步加强,设置防火墙,安装入侵检测系统等等。但网络安全是个全方位的问题,忽略哪一点都会造成木桶效应,使得整个安全系统虚设。本文从分析Web服务器的logging记录来找出漏洞,防范攻击,从而加强Web服务器安全。
Web服务是Internet所提供最多,最丰富的服务,各种Web服务器自然也是受到攻击最多的,我们采用了很多措施来防止遭受攻击和入侵,其中查看Web服务器的记录是最直接,最常用,又比较有效的一种方法,但logging记录很庞大,查看logging记录是很繁琐的事情,如果抓不住重点,攻击线索就容易被忽略。下面就对最流行的两类Web服务器:Apache和IIS做攻击的实验,然后在众多的记录中查到攻击的蛛丝马迹,从而采取适当的措施加强防范。
1、默认的web记录
对于IIS,其默认记录存放在c:\winnt\system32\logfiles\w3svc1,文件名就是当天的日期,记录格式是标准的W3C扩展记录格式,可以被各种记录分析工具解析,默认的格式包括时间、访问者IP地址、访问的方法(GET or POST…)、请求的资源、HTTP状态(用数字表示)等。对于其中的HTTP状态,我们知道200-299表明访问成功;300-399表明需要客户端反应来满足请求;400-499和500-599表明客户端和服务器出错;其中常用的如404表示资源没找到,403表示访问被禁止。
Apache的默认记录存放在/usr/local/apache/logs,其中最有用的记录文件是Access_log,其格式包括客户端IP、个人标示(一般为空)、用户名(如果需要认证)、访问方式(GET or POST…)、HTTP状态、传输的字节数等。
2、收集信息
我们模拟黑客攻击服务器的通常模式,先是收集信息,然后通过远程命令一步步实施入侵。我们使用的工具是netcat1.1 for Windows,Web服务器ip为10.22.1.100,客户端IP为:10.22.1.80。
C:>nc -n 10.22.1.100 80 HEAD / HTTP/1.0 HTTP/1.1 200 OK Server: Microsoft-IIS/4.0 Date: Sun, 08 Oct 2002 14:31:00 GMT Content-Type: text/html Set-Cookie: ASPSESSIONIDGQQQQQPA=IHOJAGJDECOLLGIBNKMCEEED; path=/ Cache-control: private
在IIS和Apache的log里显示如下:
IIS: 15:08:44 10.22.1.80 HEAD /Default.asp 200 Linux: 10.22.1.80- - [08/Oct/2002:15:56:39 -0700] "HEAD / HTTP/1.0" 200 0
以上的活动看上去很正常,也不会对服务器产生任何影响,但这是通常攻击的前奏。 3、Web站点镜像
黑客经常镜像一个站点来帮助攻击服务器,常用来镜像的工具有Windows下的Teleport pro和Unix下的Wget。
下面我们看使用这两个工具后在服务器记录里的信息:
16:28:52 10.22.1.80 GET /Default.asp 200 16:28:52 10.22.1.80 GET /robots.txt 404 16:28:52 10.22.1.80 GET /header_protecting_your_privacy.gif 200 16:28:52 10.22.1.80 GET /header_fec_reqs.gif 200 16:28:55 10.22.1.80 GET /photo_contribs_sidebar.jpg 200 16:28:55 10.22.1.80 GET /g2klogo_white_bgd.gif 200 16:28:55 10.22.1.80 GET /header_contribute_on_line.gif 200 16:49:01 10.22.1.81 GET /Default.asp 200 16:49:01 10.22.1.81 GET /robots.txt 404 16:49:01 10.22.1.81 GET /header_contribute_on_line.gif 200 16:49:01 10.22.1.81 GET /g2klogo_white_bgd.gif 200 16:49:01 10.22.1.81 GET /photo_contribs_sidebar.jpg 200 16:49:01 10.22.1.81 GET /header_fec_reqs.gif 200 16:49:01 10.22.1.81 GET /header_protecting_your_privacy.gif 200
10.22.1.80是使用Wget的Unix客户端,10.22.1.81是使用Teleport pro的Windows客户端,都请求robots.txt文件,Robots.txt是请求没有被镜像的文件时所要用到的。所以看到有对robots.txt文件的请求,表明有镜像的企图。当然,在Wget和Teleport pro客户端,可以手工禁止对robots.txt文件的访问,这时,辨别方法可以看是否有从同一IP地址来的重复资源请求。
4、漏洞扫描
随着攻击的发展,我们可以用一些Web漏洞检查的软件,如 Whisker,它可以检查已知晓的各种漏洞,如cgi程序导致的安全隐患等。下面是运行Whisker1.4的IIS和Apache的相关记录:
IIS 12:07:56 10.22.1.81 GET /SiteServer/Publishing/viewcode.asp 404 12:07:56 10.22.1.81 GET /msadc/samples/adctest.asp 200 12:07:56 10.22.1.81 GET /advworks/equipment/catalog_type.asp 404 12:07:56 10.22.1.81 GET /iisadmpwd/aexp4b.htr 200 12:07:56 10.22.1.81 HEAD /scripts/samples/details.idc 2
|