文章总结: IvantiSentry网关存在CVE-2026-10520(CVSS10.0命令注入)和CVE-2026-10523(CVSS9.9认证绕过)两个高危漏洞,攻击者可通过未认证请求组合利用直接获取设备root权限并渗透内网。文档分析了从API路径/mics/login.jsp到反射调用Runtime.getRuntime().exec()的完整攻击链,建议立即升级至修复版本或通过WAF拦截包含execute关键词的请求,并监控异常进程活动。 综合评分: 88 文章分类: 漏洞分析,威胁情报,应急响应,解决方案,WEB安全
致命组合拳:Ivanti Sentry 两个10分漏洞允许未认证拿下企业移动网关
原创
威胁情报中心 威胁情报中心
奇安信威胁情报中心
2026年6月11日 11:24 北京
在小说阅读器读本章
去阅读
2026年6月9日,Ivanti 发布安全公告,披露了两个影响其内联网关产品 Sentry 的严重漏洞:CVE-2026-10520(预认证 OS 命令注入,CVSS 10.0)和 CVE-2026-10523(身份验证绕过,CVSS 9.9)。两枚漏洞均可远程未授权触发,组合使用后能将一个公网暴露的 Sentry 设备变成攻击者直通内网的跳板。以下是奇安信威胁情报中心对漏洞细节和攻击链路的分析。
两个漏洞,一个入口
Ivanti Sentry(前身 MobileIron Sentry)部署在企业网络边缘,通常串联在移动设备与 Microsoft Exchange、ActiveSync 等后端资源之间,负责流量加密、设备合规性检查和访问控制。它与 Ivanti Endpoint Manager Mobile (EPMM) 协同工作,只有合规的已注册设备才能通过 Sentry 访问内部服务。
CVE-2026-10520 和 CVE-2026-10523 的 CVSS 评分分别为 10.0 和 9.9,都属于”无需认证远程利用”的极端级别。前者允许攻击者在 OS 层以 root 权限执行任意命令,后者允许创建任意管理员账户。两者结合,攻击者可以完全接管 Sentry 设备,再横向移动到背后保护的内部系统。
攻击链路拆解:从 /mics/login.jsp 到 root shell
攻击链起点是 Ivanti Sentry 的 Tomcat 应用路径 /mics。攻击者向 /mics/api/v2/sentry/mics-config/handleMessage 发送特制 POST 请求即可触发命令注入。我们通过对比补丁前后的 mics-core-*.jar,还原了完整利用路径。
第一步:认证绕过(CVE-2026-10523)
Sentry 的管理接口未对 /mics 下部分 API 做认证检查。攻击者利用 CVE-2026-10523(CWE-288)可直接创建一个具备完全管理员权限的本地账户。具体绕过方式没有公开,结合我们此前对 Ivanti EPMM 系列产品的分析经验判断,多半是会话校验缺失或硬编码 token 这类低级问题。
不过这一步其实可有可无。拿到合法管理员会话后,攻击者确实多了一条路,但后续的命令注入根本不需要认证,绕过这一步对最终拿下设备没影响。
第二步:命令注入(CVE-2026-10520)
/mics/api/v2/sentry/mics-config/handleMessage 接收一个 message 参数,传入 ConfigServiceController.handleMessage()。在 ConfigServiceHandler 中,字符串被分词器按空格分割,提取出 command、module、xpath、value 四部分。支持的 command 包括 set、get、delete、execute 等 12 种操作。
当 command 为 execute 时,执行流进入 ConfigRequestProcessor.handleExecute(xpath, value)。这个方法做了三件事:
- 用用户提供的
xpath从配置文件中检索 XML 对象。 - 反射调用
CommonUtilities.executeNativeCommand()。 executeNativeCommand()依次反射获取 XML 对象上的getExecutemethod、getClassname、getBeanclass,拿到目标类的全限定名和方法名后,通过ReflectionUtilities.excuteModuleMethod()动态执行。
第三步:从反射到 root
核心问题在于:xpath 和 value 完全由攻击者控制。构造一个指向 java.lang.Runtime.getRuntime().exec() 的 XML 配置对象,就能突破 Java 沙箱触发 OS 命令执行。Sentry 以 root 权限运行,shell 也是 root。
攻击者发送的 message 字符串形如:
execute <module> <xpath> <value>
<value> 中携带恶意 XML 片段,定义目标类和方法。系统执行后直接拿到 root shell。
代码层验证
我们对比了补丁前后两个版本的 mics-core JAR,变化集中在 ConfigServiceController.handleMessage()。补丁版本移除了对 execute、test、export 等高危 command 的未认证解析,或要求调用时附带有效管理员会话。未修复版本中,攻击者只需发送:
POST /mics/api/v2/sentry/mics-config/handleMessage HTTP/1.1
Content-Type: application/x-www-form-urlencoded
message=execute+<module>+<xpath>+<encoded_xml_value>
WatchTowr 实验室已发布完整技术分析(见参考来源),确认整条攻击链无需认证,也不受常规 WAF 规则干扰。
防御与检测建议
即时修复
- 升级至 R10.5.2、R10.6.2 或 R10.7.1。补丁版本已移除
execute等危险命令的未认证调用路径。 - 无法立刻升级的话,在前端 WAF 或反向代理加规则:拦截
handleMessage路径,且message参数中包含execute、test、import等关键词的请求直接拒掉。
检测日志
- 重点关注
/mics/api/v2/sentry/mics-config/handleMessage的 POST 请求,请求体里出现execute、cmd、Runtime的需要溯源。 - 监控 Sentry 设备上的异常进程创建,比如
curl、wget、nc、id这类非业务命令,以及 root 权限的 shell 活动。
攻击面收敛
- 管理接口限制在内部网络或 VPN 内,不要直接暴露公网。
- 必须对外暴露的场景,启用 IP 白名单并强制 MFA。
技术附录
MITRE ATT&CK 映射
| 技术名称 | 编号 | | — | — | | 命令与脚本解释器 | T1059 | | 利用面向公众的应用程序 | T1190 | | 创建账户 | T1078 | | 横向移动 | T1021 |
IOC
目前没有公开的利用 IP 或域名,检测以基线日志为主。后续若发现利用工具或 C2 指标会补充。
参考来源
- https://labs.watchtowr.com/more-evidence-that-words-dont-mean-what-we-thought-they-meant-ivanti-sentry-pre-auth-os-command-injection-cve-2026-10520/
- https://hub.ivanti.com/s/article/Security-Advisory-Ivanti-Sentry-CVE-2026-10520-CVE-2026-10523?language=en_US
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:奇安信威胁情报中心 威胁情报中心 威胁情报中心《致命组合拳:Ivanti Sentry 两个10分漏洞允许未认证拿下企业移动网关》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论