IIS 是 Internet Information Services 的缩写,意为互联网信息服务,是由微软公司提供的基于运行 Microsoft Windows 的互联网基本服务。
WebDAV (Web-based Distributed Authoring and Versioning) 一种基于 HTTP 1.1 协议的通信协议。它扩展了 HTTP 1.1,在 GET、POST、HEAD 等几个 HTTP 标准方法以外添加了一些新的方法,使应用程序可对 Web Server 直接读写,并支持写文件锁定 (Locking) 及解锁 (Unlock),还可以支持文件的版本控制。
漏洞描述:
开启 WebDAV 服务的 IIS 6.0 被爆存在缓存区溢出漏洞导致远程代码执行,目前针对 Windows Server 2003 R2 可以稳定利用,该漏洞最早在 2016 年 7,8 月份开始被利用。
漏洞原理:
在 Windows Server 2003 的 IIS6.0 的 WebDAV 服务的 ScStoragePathFromUrl 函数存在缓存区溢出漏洞,攻击者通过一个以 “If: <http://” 开始的较长 header 头的 PROPFIND 请求执行任意代码。
漏洞复现:
1、在本地搭建 IIS6.0 服务,查看服务器显示进程,确认无 “计算器” 进程,如下图所示:
2、确认开启 WebDAV 服务,如下图所示:
3、执行网络公开的攻击脚本,脚本链接:
https://github.com/edwardz246003/IIS_exploit/blob/master/exploit.py
4、攻击成功,打开任务管理器可看到 “计算器” 进程成功启动,如下图所示:
友情提示:
1.临时解决方案可以关闭WebDAV。
2.POC运行时会产生溢出,没法执行第二次,可以选择重启。
3.启动计算器进程的用户是NETWORK SERVICE用户,权限有限。