CVE-2021-44515 Zoho ManageEngine Desktop Central Pre-auth RCE
字数 1295 2025-08-25 22:59:10

Zoho ManageEngine Desktop Central CVE-2021-44515 漏洞分析与利用教学文档

漏洞概述

CVE-2021-44515是Zoho ManageEngine Desktop Central中的一个高危漏洞,包含身份验证绕过和远程代码执行(RCE)风险。该漏洞存在于10.1.2137.3和10.1.2127.18之前的版本中。

影响版本

  • 版本号 < 10.1.2137.3
  • 版本号 < 10.1.2127.18

漏洞原理分析

1. 安全过滤器绕过机制

漏洞的核心在于可以绕过SecurityFilter的安全检查:

  1. 正常流程

    • /mdm/mdmLogUploader端点存在未授权上传功能
    • securityFilter限制了路径穿越符号(../)和文件名(仅允许logger.txt|logger.zip|mdmlogs.zip|managedprofile_mdmlogs.zip)
  2. 绕过方法

    • 利用XSSFilter.doFilter中对URI的处理缺陷
    • 当URI包含.ma时会进行截断处理:
      /mdm/mdmLogUploader;.ma → /mdmLogUploader;.ma
      
    • 这样修改后的URI不再包含/mdm/,从而跳过SecurityFilter.doFilter的执行

2. ZIP文件利用机制

绕过安全过滤器后,可以利用ZIP文件上传实现RCE:

  1. 服务启动流程

    • run.jar执行runStandAlone()LoadJars()getAllJarURLs()getNewServerClassInstance()
    • 启动过程中会扫描classPath.conf中的lib路径,加载其中的JAR或ZIP包
  2. 利用方法

    • 上传名为aaa.zip的恶意文件
    • Starter.LoadJars方法会将当前目录的第一个JAR作为classLoader
    • 可以替换原始JAR文件,插入恶意代码
  3. 具体利用点

    • 服务启动时会实例化com.zoho.mickey.startup.MEServer
    • 可以重构该类,在static代码块中插入恶意代码

漏洞复现步骤

环境准备

  1. 下载受影响版本(如10.1.2137.2):
    https://archives3.manageengine.com/desktop-central/101213702/windows+Desktop%20Central%2010.1.2137.2
    

恶意ZIP文件制作

  1. 使用IDEA导入Desktop Central的JAR包
  2. 复制com.zoho.mickey.startup.MEServer类进行重构
  3. 在static代码块中插入恶意代码(如执行计算器)
  4. 编译并打包为ZIP:
    jar -cvf aaa.zip com/zoho/mickey/startup/MEServer.class
    

漏洞利用

  1. 构造请求上传恶意ZIP文件:
    POST /mdm/mdmLogUploader;.ma
    
  2. 上传aaa.zip文件
  3. 重启服务触发恶意代码执行

补丁分析

Zoho通过以下方式修复了该漏洞:

  • 删除了对.zip后缀的支持,防止恶意ZIP文件被加载

潜在利用改进

文档提到可能存在不重启服务就能触发的利用方式,但尚未深入研究。

参考链接

  1. Tenable漏洞公告
  2. Zoho官方修复公告

总结

该漏洞通过巧妙的安全过滤器绕过和ZIP文件加载机制实现了预认证RCE,危害性极高。防御方应及时升级到修复版本,攻击测试方可在授权范围内验证漏洞存在性。

Zoho ManageEngine Desktop Central CVE-2021-44515 漏洞分析与利用教学文档 漏洞概述 CVE-2021-44515是Zoho ManageEngine Desktop Central中的一个高危漏洞,包含身份验证绕过和远程代码执行(RCE)风险。该漏洞存在于10.1.2137.3和10.1.2127.18之前的版本中。 影响版本 版本号 < 10.1.2137.3 版本号 < 10.1.2127.18 漏洞原理分析 1. 安全过滤器绕过机制 漏洞的核心在于可以绕过 SecurityFilter 的安全检查: 正常流程 : /mdm/mdmLogUploader 端点存在未授权上传功能 但 securityFilter 限制了路径穿越符号( ../ )和文件名(仅允许 logger.txt|logger.zip|mdmlogs.zip|managedprofile_mdmlogs.zip ) 绕过方法 : 利用 XSSFilter.doFilter 中对URI的处理缺陷 当URI包含 .ma 时会进行截断处理: 这样修改后的URI不再包含 /mdm/ ,从而跳过 SecurityFilter.doFilter 的执行 2. ZIP文件利用机制 绕过安全过滤器后,可以利用ZIP文件上传实现RCE: 服务启动流程 : run.jar 执行 runStandAlone() → LoadJars() → getAllJarURLs() → getNewServerClassInstance() 启动过程中会扫描 classPath.conf 中的lib路径,加载其中的JAR或ZIP包 利用方法 : 上传名为 aaa.zip 的恶意文件 Starter.LoadJars 方法会将当前目录的第一个JAR作为classLoader 可以替换原始JAR文件,插入恶意代码 具体利用点 : 服务启动时会实例化 com.zoho.mickey.startup.MEServer 可以重构该类,在static代码块中插入恶意代码 漏洞复现步骤 环境准备 下载受影响版本(如10.1.2137.2): 恶意ZIP文件制作 使用IDEA导入Desktop Central的JAR包 复制 com.zoho.mickey.startup.MEServer 类进行重构 在static代码块中插入恶意代码(如执行计算器) 编译并打包为ZIP: 漏洞利用 构造请求上传恶意ZIP文件: 上传 aaa.zip 文件 重启服务触发恶意代码执行 补丁分析 Zoho通过以下方式修复了该漏洞: 删除了对 .zip 后缀的支持,防止恶意ZIP文件被加载 潜在利用改进 文档提到可能存在不重启服务就能触发的利用方式,但尚未深入研究。 参考链接 Tenable漏洞公告 Zoho官方修复公告 总结 该漏洞通过巧妙的安全过滤器绕过和ZIP文件加载机制实现了预认证RCE,危害性极高。防御方应及时升级到修复版本,攻击测试方可在授权范围内验证漏洞存在性。