我爱电脑技术论坛's Archiver

tianshiren 发表于 2008-6-15 08:36

根据Web服务器记录来追击黑客

现今的网络,安全越来越受到大家的重视,在构建网络安全环境时,在技术手段,管理制度等方面都逐步加强,设置防火墙,安装入侵检测系统等等。但网络安全是个全方位的问题,忽略哪一点都会造成木桶效应,使得整个安全系统虚设。本文从分析Web服务器的logging记录来找出漏洞,防范攻击,从而加强Web服务器安全。 U.JC,~VE8`
kH4b5|q8^-m G/p
Web服务是Internet所提供最多,最丰富的服务,各种Web服务器自然也是受到攻击最多的,我们采用了很多措施来防止遭受攻击和入侵,其中查看Web服务器的记录是最直接,最常用,又比较有效的一种方法,但logging记录很庞大,查看logging记录是很繁琐的事情,如果抓不住重点,攻击线索就容易被忽略。下面就对最流行的两类Web服务器:Apache和IIS做攻击的实验,然后在众多的记录中查到攻击的蛛丝马迹,从而采取适当的措施加强防范。 $HE3GP0R e
a/If'A'w!f
1.默认的web记录 @1oL9H'zi

Zb+@#GPd R5M*a 对于IIS,其默认记录存放在c:\\winnt\\system32\\logfiles\\w3svc1,文件名就是当天的日期,记录格式是标准的W3C扩展记录格式,可以被各种记录分析工具解析,默认的格式包括时间、访问者IP地址、访问的方法(GET or POST…)、请求的资源、HTTP状态(用数字表示)等。对于其中的HTTP状态,我们知道200-299表明访问成功;300-399表明需要客户端反应来满足请求;400-499和500-599表明客户端和服务器出错;其中常用的如404表示资源没找到,403表示访问被禁止。
4gj1g-{L7R|'S -E%MF` E(YJU
Apache的默认记录存放在/usr/local/apache/logs,其中最有用的记录文件是access_log,其格式包括客户端IP、个人标示(一般为空)、用户名(如果需要认证)、访问方式(GET or POST…)、HTTP状态、传输的字节数等。 (\H)h e#yJ5OO L
1nD)J W'J"\.MXZb.jU
2.收集信息 )XL$o3a-I&t;WO

)D8M)tm9C9H 我们模拟黑客攻击服务器的通常模式,先是收集信息,然后通过远程命令一步步实施入侵。我们使用的工具是netcat1.1 for windows,Web服务器ip为10.22.1.100,客户端IP为:10.22.1.80。
!n!qO"] }(tP`;I9pA e6p/YN#U3D+p
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[u$ot#_

4VD:m!N'~$k+Y0~ 7]qUg}!i]
+h*I b(?|&K U/yL
liT$H^#X
:KfP m~(VA*A
以上的活动看上去很正常,也不会对服务器产生任何影响,但这是通常攻击的前奏。 [Z$a4tF&rJ
3. Web站点镜像 d%N:i \]*Z

U4y"J5k'E+f 黑客经常镜像一个站点来帮助攻击服务器,常用来镜像的工具有Windows下的Teleport pro和Unix下的Wget。 tB3V9^ aAJ
7W*a+\-JNVl O
下面我们看使用这两个工具后在服务器记录里的信息: ](U,o:N&{
2Z(R thr!M-bz
VR$r_2_?P`
1a U:k2Zq.V1PH
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
0rj.V9zC zt
#?Y,Na`Z n'b "Y4\$O2mZ*X#Z,`p

*HrPmYL f"{:s I;{K:ui[!Pq$^

:@$uM-`1SUY 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地址来的重复资源请求。 k2IM)Rk \!m,R

;C5U5D-g6usW/~h 4.漏洞扫描 "Q2e+U)_n8^z
/rjyd8y(hC7_
随着攻击的发展,我们可以用一些Web漏洞检查的软件,如Whisker,它可以检查已知晓的各种漏洞,如cgi程序导致的安全隐患等。下面是运行Whisker1.4的IIS和Apache的相关记录: O {+S3L`({D

M X.X!^l)u|7x1XP IIS $N^5?h1r Ve.K

e7H0y+@$VC^${L1?h 12:07:56 10.22.1.81 GET /SiteServer/Publishing/viewcode.asp 404 elx v0o,O!RU

sX-Xgxm 12:07:56 10.22.1.81 GET /msadc/samples/adctest.asp 200
F*y\.fqMOH/J_-z V]Y;u:@6agK
12:07:56 10.22.1.81 GET /advworks/equipment/catalog_type.asp 404 0H-K#p'S ?&Z7leA
-]7cA;H"bT:{/eE
12:07:56 10.22.1.81 GET /iisadmpwd/aexp4b.htr 200
(T3h} `? K rC9]t`0k l&d
12:07:56 10.22.1.81 HEAD /scripts/samples/details.idc 200
!lId(](q`"O7zS
r$c$e U*C;a1YY 12:07:56 10.22.1.81 GET /scripts/samples/details.idc 200 X;R!B-@Rs4r!^Kt-E

L1`r_4C"X @_ 12:07:56 10.22.1.81 HEAD /scripts/samples/ctguestb.idc 200
X9J D2O0D B{WTv)l+O
12:07:56 10.22.1.81 GET /scripts/samples/ctguestb.idc 200 [r4jS7k U7^ ]{7o

%x9O7L$w9^5m]_"y#] 12:07:56 10.22.1.81 HEAD /scripts/tools/newdsn.exe 404
0`9H Vgy )YW*lN m3[O f:R4BH
12:07:56 10.22.1.81 HEAD /msadc/msadcs.dll 200 Y B)W \O^O)e,S
Wd]2W*MA
12:07:56 10.22.1.81 GET /scripts/iisadmin/bdir.htr 200 3WMGPw(Ynrq[
7xy,Np`
12:07:56 10.22.1.81 HEAD /carbo.dll 404 Tf O+nI8B

,d LFd{0D }PA 12:07:56 10.22.1.81 HEAD /scripts/proxy/ 403 5O6pi7w.\9AZ
!w/c+Gp8H
12:07:56 10.22.1.81 HEAD /scripts/proxy/w3proxy.dll 500
e`)uIGI)O2D )X;L aYg#U4d
12:07:56 10.22.1.81 GET /scripts/proxy/w3proxy.dll 500
[U|Y'P
)G:t s2@oMX`J{)` Apache
XJ.l:~\H*L7~T
,V5\l ~H/@I1a8~ 10.22.1.80-[08/Oct/2002:12:57:28 -0700] \"GET /cfcache.map HTTP/1.0\" 404 266 Z+r W\-m'F5g0s9F

)R ZEz*{2B_ 10.22.1.80-[08/Oct/2002:12:57:28 -0700] \"GET /cfide/Administrator/startstop.html HTTP/1.0\" 404 289
8y8C9}g8An @MXTh{B$Y
10.22.1.80-[08/Oct/2002:12:57:28 -0700] \"GET /cfappman/index.cfm HTTP/1.0\" 404 273 &e,c%K N.t(Lr(W
"UmX(`o+Mc[b1?8m
10.22.1.80-[08/Oct/2002:12:57:28 -0700] \"GET /cgi-bin/ HTTP/1.0\" 403 267
0]!Nm1X7v \ Y2q3Xw
10.22.1.80-[08/Oct/2002:12:57:29 -0700] \"GET /cgi-bin/dbmlparser.exe HTTP/1.0\" 404 277 L0P.X&E0gf:E

4P [6`8suz&zh 10.22.1.80-[08/Oct/2002:12:57:29 -0700] \"HEAD /_vti_inf.html HTTP/1.0\" 404 0
]'N$m ]8wt7A3DC /{)u8l1d]7lP
10.22.1.80-[08/Oct/2002:12:57:29 -0700] \"HEAD /_vti_pvt/ HTTP/1.0\" 404 0
"~7^*hL9x5_
3r_-MT9vc 10.22.1.80-[08/Oct/2002:12:57:29 -0700] \"HEAD /cgi-bin/webdist.cgi HTTP/1.0\" 404 0 3H(vR.By0C8F%[ J2fe@7`!~

{V lwS0ksF 10.22.1.80-[08/Oct/2002:12:57:29 -0700] \"HEAD /cgi-bin/handler HTTP/1.0\" 404 0
9o f{9s'av2h
h3I[/Q e#I 10.22.1.80-[08/Oct/2002:12:57:29 -0700] \"HEAD /cgi-bin/wrap HTTP/1.0\" 404 0
/x3H5F`e Tk9uj w6om6Z(G
10.22.1.80-[08/Oct/2002:12:57:29 -0700] \"HEAD /cgi-bin/pfdisplay.cgi HTTP/1.0\" 404 7?#M8B&D]8dM@&Z
5Zs*p5Od.d'Nvw
C(ZW\Gn D

#j`!{'Et1b !gzG+u%@[
检查这种攻击的关键是看同一IP地址对cgi目录(IIS是scripts,Apache是cgi-bin)文件请求出现多个404状态。这时就要检查相应cgi目录里的程序安全性。 3T5I6{MU#V#q*V3A
$n5Em1`P`#b&u,P
5.远程攻击NE1S }E/|?.B
4{0_%U;x7f ny~F2[9U@
下面我们以针对IIS的MDAC攻击为例,来了解远程攻击在log里的记录情况。MDAC漏洞使得攻击者可以在Web服务器端执行任何命令。
z,O5Z1~9d%ekXYlq
eY4LD4I2k5@ 17:48:49 10.22.1.80 GET /msadc/msadcs.dll 200 A%]-Vr+[|}B
p/y$H@,@!?:IDW:X
17:48:51 10.22.1.80 POST /msadc/msadcs.dll 200 d$aXJ8Z*H0k3eD

~GyLn c{8r 当攻击发生后,在log会留下对msadcs.dll请求的记录。 #x h`o9Q^

1gnjul7f1Z 另一个有名的攻击是asp源代码泄漏的漏洞,当这种攻击发生时,log文件会有如下记录: @K[6@c HH ^
7l-|syw s b
17:50:13 10.22.1.81 GET /default.asp+.htr 200
;[|,Isz4bgB{7_ -b D{,[}#[ _u7Q
对于未授权访问的攻击记录,Apache log会显示: Wo#u ?4lZl4q&ri

vf#jSPj [08/Oct/2002:18:58:29 -0700] \"GET /private/ HTTP/1.0\" 401 462 8QLF{6Z&{1B)k

~A7k/F4Z `#I(Y[5q5E

{&u.I-q6Qq#I 6.总结
z(y!d dm-ir
Mv$x d7{ 管理一个安全站点要求系统管理人员具备安全的常识和警惕性,从不同的渠道了解安全的知识不仅能对付已发生的攻击,还能对将会发生的攻击做到较好的防范。而通过Log文件来了解、防范攻击是很重要但又经常容易忽略的手段。
NL8[4^Rm4K#\
QD0C$j!po IDS(入侵检测系统)能帮助你很多,但不能完全代替安全管理。仔细检查Log,IDS所遗漏的东西,就可能在这里发现。

页: [1]
   

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.