天赋决定了你能达到的上限,努力程度决定了你能达到的下限本文用于记录IIS6.0 WebDav 远程命令执行漏洞的相关信息,检测利用方法以及修复方案,内容大多来自互联网,在此记录备忘。
以绝大多数人的努力程度之低,远远没有达到要去拼天赋的地步
免责申明:文章中的工具等仅供个人测试研究,请在下载后24小时内删除,不得用于商业或非法用途,否则后果自负
漏洞信息
漏洞编号:CVE-2017-7269
发现人员:Zhiniang Peng和Chen Wu(华南理工大学信息安全实验室,计算机科学与工程学院)
漏洞简述:开启WebDAV服务的IIS 6.0被爆存在缓存区溢出漏洞导致远程代码执行,目前针对 Windows Server 2003 R2 可以稳定利用,该漏洞最早在2016年7,8月份开始在野外被利用。
漏洞类型:缓冲区溢出
漏洞等级:高危
影响产品:Microsoft Windows Server 2003 R2 开启WebDAV服务的IIS6.0(目前已验证,其他版本尚未验证)
触发函数:ScStoragePathFromUrl函数
附加信息:ScStoragePathFromUrl函数被调用了两次
漏洞细节:在Windows Server 2003的IIS6.0的WebDAV服务的ScStoragePathFromUrl函数存在缓存区溢出漏洞,攻击者通过一个以“If: <Http://”开始的较长header头的PROPFIND请求执行任意代码。
利用条件
- iis6.0
- 开启WebDav功能(具体为PROPFIND方法,成功则返回207或者200)
- windows server 2003 R2
Poc
|
|
poc来自:https://github.com/edwardz246003/IIS_exploit/blob/master/exploit.py
修改代码sock.connect((‘127.0.0.1’,80)),将其中ip地址改为目标网站ip,运行该py文件,会在目标服务器上产生一个calc进程(计算器)。
Exp
以上poc只是用来验证此漏洞是否存在,但需要登录的服务器上查看进程才能确定。经过国外大牛的加工,编写了一个利用msf反弹shell的ruby脚本。
Usage
新建一个文件,如:cve-2017-7269.rb,将以上代码复制进去(或者直接下载该文件)。
找到metasploit安装目录,将cve-2017-7269.rb文件放到opt/metasploit/apps/pro/msf3/modules/exploit/windows/iis/目录下。(我在mac上试的,目录有所不同,放在这个目录下是为了方便分类管理)。
运行msfconsole并加载cve-2017-7269模块
|
|
运行exploit,会在本机监听4444端口,存在漏洞的目标服务器会连上本机的4444端口,反弹一个meterpreter。(前提是目标服务器能够ping通本机)
通过meterpreter执行shell命令,反弹cmdshell
此模块默认会加载reverse_tcp payload,用于让目标服务器远程连接本地的某个端口,当然我们也可以改变payload,将其改为bind_tcp,用于让目标服务器监听一个端口,本地主动连接弹出shell。
改完之后,再次测试
运行exploit,目标服务器监听4444端口,本机会连上目标的4444端口,反弹一个meterpreter。(前提是本机能够ping通目标服务器)
在msf模块中输入set,可查看能够修改的项目,比show options要全一点。
临时解决办法
- 关闭WebDAV服务
- 使用相关防护设备