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的安全检查:
-
正常流程:
/mdm/mdmLogUploader端点存在未授权上传功能- 但
securityFilter限制了路径穿越符号(../)和文件名(仅允许logger.txt|logger.zip|mdmlogs.zip|managedprofile_mdmlogs.zip)
-
绕过方法:
- 利用
XSSFilter.doFilter中对URI的处理缺陷 - 当URI包含
.ma时会进行截断处理:/mdm/mdmLogUploader;.ma → /mdmLogUploader;.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):
https://archives3.manageengine.com/desktop-central/101213702/windows+Desktop%20Central%2010.1.2137.2
恶意ZIP文件制作
- 使用IDEA导入Desktop Central的JAR包
- 复制
com.zoho.mickey.startup.MEServer类进行重构 - 在static代码块中插入恶意代码(如执行计算器)
- 编译并打包为ZIP:
jar -cvf aaa.zip com/zoho/mickey/startup/MEServer.class
漏洞利用
- 构造请求上传恶意ZIP文件:
POST /mdm/mdmLogUploader;.ma - 上传
aaa.zip文件 - 重启服务触发恶意代码执行
补丁分析
Zoho通过以下方式修复了该漏洞:
- 删除了对
.zip后缀的支持,防止恶意ZIP文件被加载
潜在利用改进
文档提到可能存在不重启服务就能触发的利用方式,但尚未深入研究。
参考链接
总结
该漏洞通过巧妙的安全过滤器绕过和ZIP文件加载机制实现了预认证RCE,危害性极高。防御方应及时升级到修复版本,攻击测试方可在授权范围内验证漏洞存在性。