利用Struts2漏洞突破360与云锁防护
字数 1351 2025-08-18 11:36:57

Struts2漏洞利用突破360与云锁防护技术分析

漏洞背景

本文分析的是利用Struts2框架漏洞突破服务器上安装的360安全卫士和云锁防护系统的技术过程。Struts2是一个基于MVC设计模式的Web应用框架,历史上曾多次出现远程代码执行漏洞。

环境准备

  • 目标服务器环境:
    • 操作系统:Windows Server 2003
    • 防护软件:360安全卫士 + 云锁防护
    • Web框架:存在漏洞的Struts2版本

攻击步骤详解

一、初始漏洞利用

  1. 发现Struts2漏洞

    • 使用自动化工具检测并确认Struts2远程代码执行漏洞存在
    • 执行基础命令测试:whoami
    • 结果显示具有administrator权限
  2. 绕过命令执行限制

    • 直接执行dir命令失败
    • 使用cmd /c前缀突破限制:cmd /c dir
    • 查看盘符内容时遇到显示问题,通过添加额外反斜杠解决:cmd /c dir \

二、文件上传尝试

  1. 直接上传木马失败

    • 服务器配置限制导致无法直接写入文件
    • 发现服务器允许从外部下载文件
  2. 远程下载文件

    • 尝试通过命令下载文件到服务器
    • 下载成功但无法在常规目录找到文件(可能被安全软件隔离)

三、绕过安全防护

  1. 分析防护措施

    • 确认服务器运行360安全卫士和云锁防护
    • 检查进程列表发现csc.exe(微软.NET Framework的C#编译器)
  2. 利用csc.exe编译下载代码

    • 编写C#代码实现文件下载功能
    • 使用csc.exe编译生成可执行文件
    • 执行编译后的程序下载TeamViewer远程控制软件
  3. 获取远程控制权限

    • 下载TeamViewer软件和配套工具(用于获取连接信息)
    • 运行TeamViewer后获取连接ID和密码
    • 尝试连接但遇到黑屏限制

四、凭证获取与最终控制

  1. 获取系统哈希

    • 使用工具dump系统密码哈希值
    • 将哈希文件下载到本地
  2. 使用mimikatz破解

    • 在Windows 2003虚拟机中运行mimikatz
    • 加载获取的哈希文件进行破解
    • 成功获取管理员用户名和明文密码
  3. 远程登录系统

    • 使用获取的凭证通过RDP或其他方式登录
    • 获得系统完全控制权限

技术要点总结

  1. Struts2漏洞利用

    • 选择正确的漏洞利用工具和payload
    • 使用cmd /c前缀绕过命令执行限制
    • 处理特殊字符和路径问题(如额外反斜杠)
  2. 绕过安全防护

    • 利用系统已有工具(csc.exe)编译恶意代码
    • 避免直接对抗安全软件,采用间接方法
    • 使用合法软件(TeamViewer)作为持久化手段
  3. 凭证获取技术

    • 系统哈希dump方法
    • mimikatz在不同系统版本上的使用技巧
    • 哈希传递攻击的可能性

防御建议

  1. 针对Struts2漏洞

    • 及时升级Struts2到最新安全版本
    • 限制框架的动态方法调用
    • 实施输入过滤和输出编码
  2. 增强系统防护

    • 配置安全软件对csc.exe等系统工具的行为监控
    • 限制从互联网下载可执行文件
    • 对远程控制软件实施白名单管理
  3. 凭证安全

    • 使用强密码策略
    • 定期更换重要系统密码
    • 启用多因素认证

法律与道德声明

本文所述技术仅用于安全研究和防御目的。未经授权对他人系统进行测试或攻击是违法行为,可能面临法律后果。安全研究人员应遵循负责任的漏洞披露原则。

Struts2漏洞利用突破360与云锁防护技术分析 漏洞背景 本文分析的是利用Struts2框架漏洞突破服务器上安装的360安全卫士和云锁防护系统的技术过程。Struts2是一个基于MVC设计模式的Web应用框架,历史上曾多次出现远程代码执行漏洞。 环境准备 目标服务器环境: 操作系统:Windows Server 2003 防护软件:360安全卫士 + 云锁防护 Web框架:存在漏洞的Struts2版本 攻击步骤详解 一、初始漏洞利用 发现Struts2漏洞 : 使用自动化工具检测并确认Struts2远程代码执行漏洞存在 执行基础命令测试: whoami 结果显示具有 administrator 权限 绕过命令执行限制 : 直接执行 dir 命令失败 使用 cmd /c 前缀突破限制: cmd /c dir 查看盘符内容时遇到显示问题,通过添加额外反斜杠解决: cmd /c dir \ 二、文件上传尝试 直接上传木马失败 : 服务器配置限制导致无法直接写入文件 发现服务器允许从外部下载文件 远程下载文件 : 尝试通过命令下载文件到服务器 下载成功但无法在常规目录找到文件(可能被安全软件隔离) 三、绕过安全防护 分析防护措施 : 确认服务器运行360安全卫士和云锁防护 检查进程列表发现 csc.exe (微软.NET Framework的C#编译器) 利用csc.exe编译下载代码 : 编写C#代码实现文件下载功能 使用csc.exe编译生成可执行文件 执行编译后的程序下载TeamViewer远程控制软件 获取远程控制权限 : 下载TeamViewer软件和配套工具(用于获取连接信息) 运行TeamViewer后获取连接ID和密码 尝试连接但遇到黑屏限制 四、凭证获取与最终控制 获取系统哈希 : 使用工具dump系统密码哈希值 将哈希文件下载到本地 使用mimikatz破解 : 在Windows 2003虚拟机中运行mimikatz 加载获取的哈希文件进行破解 成功获取管理员用户名和明文密码 远程登录系统 : 使用获取的凭证通过RDP或其他方式登录 获得系统完全控制权限 技术要点总结 Struts2漏洞利用 : 选择正确的漏洞利用工具和payload 使用 cmd /c 前缀绕过命令执行限制 处理特殊字符和路径问题(如额外反斜杠) 绕过安全防护 : 利用系统已有工具(csc.exe)编译恶意代码 避免直接对抗安全软件,采用间接方法 使用合法软件(TeamViewer)作为持久化手段 凭证获取技术 : 系统哈希dump方法 mimikatz在不同系统版本上的使用技巧 哈希传递攻击的可能性 防御建议 针对Struts2漏洞 : 及时升级Struts2到最新安全版本 限制框架的动态方法调用 实施输入过滤和输出编码 增强系统防护 : 配置安全软件对csc.exe等系统工具的行为监控 限制从互联网下载可执行文件 对远程控制软件实施白名单管理 凭证安全 : 使用强密码策略 定期更换重要系统密码 启用多因素认证 法律与道德声明 本文所述技术仅用于安全研究和防御目的。未经授权对他人系统进行测试或攻击是违法行为,可能面临法律后果。安全研究人员应遵循负责任的漏洞披露原则。