某HW行动中的一次渗透测试
字数 1342 2025-08-19 12:41:36

HW行动渗透测试实战教学:从SQL注入到权限提升

1. 目标识别与初步探测

1.1 目标系统分析

  • 目标系统:智慧校园管理系统
  • 发现功能点:
    • 多身份登录选择(学生/教师/管理员等)
    • 学生登录时可选择年级

1.2 漏洞探测方法

  1. 使用Burp Suite拦截请求
  2. 观察服务器响应年级数据的交互过程
  3. 尝试在年级参数中添加单引号(')测试SQL注入

2. SQL注入利用

2.1 确认漏洞存在

  • 添加单引号后系统返回数据库错误,确认存在SQL注入漏洞
  • 网站无WAF防护,可直接使用自动化工具

2.2 使用SQLMap进行利用

sqlmap -u "目标URL" --data="参数" --level=3 --risk=3 --batch
  • 成功获取管理员账号凭据
  • 获取os-shell权限

3. 权限维持与绕过限制

3.1 尝试获取WebShell的障碍

  1. Web目录未知:目录包含中文字符导致os-shell无法正常列出
  2. 杀软拦截:PowerShell反弹被赛门铁克杀毒软件阻止

3.2 后台文件上传利用

  1. 使用获取的管理员凭据登录后台
  2. 发现文件上传功能
  3. 绕过前端检测上传ASPX文件:
    • 修改请求包绕过前端验证
    • 上传成功但返回500错误
    • 文件实际已上传但无法执行(IIS权限限制)

3.3 绕过IIS限制的两种方法

  1. 方法一:上传web.config增加执行权限

    <configuration>
      <system.webServer>
        <handlers>
          <add name="ASPClassic" path="*.asp" verb="*" modules="IsapiModule" scriptProcessor="%windir%\system32\inetsrv\asp.dll" resourceType="File" />
        </handlers>
      </system.webServer>
    </configuration>
    
    • 上传后出现未编译错误(系统使用预编译源码)
  2. 方法二:上传ASP文件

    • 成功上传并解析ASP WebShell
    • 使用蚁剑连接获取交互式Shell

4. 横向移动与C2控制

4.1 环境侦察

  • tasklist查看运行进程,确认存在赛门铁克杀毒软件
  • systeminfo查看系统补丁情况

4.2 Cobalt Strike配置与免杀

  1. SSL证书配置

    openssl pkcs12 -export -in fullchain.pem -inkey key.pem -out stao.p12 -name stao.site -passout pass:mypass
    keytool -importkeystore -deststorepass mypass -destkeypass mypass -destkeystore stao.store -srckeystore stao.p12 -srcstoretype PKCS12 -srcstorepass mypass -alias stao.site
    
  2. 使用Malleable C2 Profile

    • 使用jquery-c2.4.0.profile模板
    • 修改SSL证书配置指向生成的证书
    • 使用c2lint验证profile有效性
  3. 启动Teamserver

    nohup ./teamserver x.x.x.x password c2.profile &
    
  4. 生成并免杀Payload

    • 生成C#格式的HTTPS Beacon
    • 使用AVlator进行简单免杀处理
    • 通过蚁剑上传并执行

5. 权限提升

5.1 补丁分析

  • 使用在线工具对比缺失补丁(如https://bugs.hacking8.com/tiquan/)
  • 发现MS16-075(烂土豆)漏洞可利用

5.2 提权执行

  • 成功利用MS16-075获取SYSTEM权限
  • 进行内网侦察未发现更有价值目标

6. 关键知识点总结

  1. SQL注入利用链

    • 参数探测 → 错误确认 → SQLMap自动化利用 → 获取os-shell
  2. 权限维持技巧

    • 文件上传绕过前端检测
    • IIS权限限制的两种绕过方法
    • ASP与ASPX在预编译环境中的差异
  3. C2隐蔽通信

    • 合法证书加密流量绕过杀软检测
    • Malleable C2 Profile定制化
    • Payload免杀处理
  4. 提权方法论

    • 补丁对比分析
    • 已知漏洞利用(如MS16-075)

7. 防御建议

  1. SQL注入防护

    • 使用参数化查询
    • 部署WAF
  2. 文件上传安全

    • 前后端完整校验
    • 限制上传文件类型
    • 设置不可执行权限
  3. 杀毒与监控

    • 监控异常进程创建
    • 检测异常网络连接
    • 更新杀毒软件规则
  4. 系统加固

    • 及时安装安全补丁
    • 最小权限原则
    • 禁用不必要的系统组件
HW行动渗透测试实战教学:从SQL注入到权限提升 1. 目标识别与初步探测 1.1 目标系统分析 目标系统:智慧校园管理系统 发现功能点: 多身份登录选择(学生/教师/管理员等) 学生登录时可选择年级 1.2 漏洞探测方法 使用Burp Suite拦截请求 观察服务器响应年级数据的交互过程 尝试在年级参数中添加单引号( ' )测试SQL注入 2. SQL注入利用 2.1 确认漏洞存在 添加单引号后系统返回数据库错误,确认存在SQL注入漏洞 网站无WAF防护,可直接使用自动化工具 2.2 使用SQLMap进行利用 成功获取管理员账号凭据 获取os-shell权限 3. 权限维持与绕过限制 3.1 尝试获取WebShell的障碍 Web目录未知 :目录包含中文字符导致os-shell无法正常列出 杀软拦截 :PowerShell反弹被赛门铁克杀毒软件阻止 3.2 后台文件上传利用 使用获取的管理员凭据登录后台 发现文件上传功能 绕过前端检测上传ASPX文件: 修改请求包绕过前端验证 上传成功但返回500错误 文件实际已上传但无法执行(IIS权限限制) 3.3 绕过IIS限制的两种方法 方法一:上传web.config增加执行权限 上传后出现未编译错误(系统使用预编译源码) 方法二:上传ASP文件 成功上传并解析ASP WebShell 使用蚁剑连接获取交互式Shell 4. 横向移动与C2控制 4.1 环境侦察 tasklist 查看运行进程,确认存在赛门铁克杀毒软件 systeminfo 查看系统补丁情况 4.2 Cobalt Strike配置与免杀 SSL证书配置 : 使用Malleable C2 Profile : 使用jquery-c2.4.0.profile模板 修改SSL证书配置指向生成的证书 使用c2lint验证profile有效性 启动Teamserver : 生成并免杀Payload : 生成C#格式的HTTPS Beacon 使用AVlator进行简单免杀处理 通过蚁剑上传并执行 5. 权限提升 5.1 补丁分析 使用在线工具对比缺失补丁(如https://bugs.hacking8.com/tiquan/) 发现MS16-075(烂土豆)漏洞可利用 5.2 提权执行 成功利用MS16-075获取SYSTEM权限 进行内网侦察未发现更有价值目标 6. 关键知识点总结 SQL注入利用链 : 参数探测 → 错误确认 → SQLMap自动化利用 → 获取os-shell 权限维持技巧 : 文件上传绕过前端检测 IIS权限限制的两种绕过方法 ASP与ASPX在预编译环境中的差异 C2隐蔽通信 : 合法证书加密流量绕过杀软检测 Malleable C2 Profile定制化 Payload免杀处理 提权方法论 : 补丁对比分析 已知漏洞利用(如MS16-075) 7. 防御建议 SQL注入防护 : 使用参数化查询 部署WAF 文件上传安全 : 前后端完整校验 限制上传文件类型 设置不可执行权限 杀毒与监控 : 监控异常进程创建 检测异常网络连接 更新杀毒软件规则 系统加固 : 及时安装安全补丁 最小权限原则 禁用不必要的系统组件