CVE-2021-38452、CVE-2021-38454:Moxa MXview工业网络管理系统漏洞分析

CVE-2021-38452、CVE-2021-38454:Moxa MXview工业网络管理系统漏洞分析

时间:2022-03-17 作者:安帝科技

Moxa的MXview是一个基于Web的网络管理系统,专为配置、监控和诊断工业网络中的网络设备而设计。MXview提供了一个集成的管理平台,可以发现安装在子网上的网络设备和SNMP/IP设备。Claroty的安全研究团队Team82发现了MXview平台中的五个漏洞,这些漏洞可能允许未经身份验证的远程攻击者在具有最高权限的主机上执行代码。本文将对其中可链接利用的两个漏洞进行分析。

CVE-2021-38452


Part1 漏洞状态

Part2 漏洞描述


受影响版本
MXview网络管理软件:3.x至3.2.2版本

Part3 漏洞分析

MXview使用MQTT消息代理,用于在MXview环境中的不同组件之间传输消息。其架构如下。

MQTT代理明文传输用户名和密码

MXview的大部分网络路由使用sanitize-filename库来验证请求的文件不包含恶意字符,即路径遍历字符(../)。

但是在/tmp路由中,服务器不使用sanitize-filename库,而是按原样允许用户提供的参数。

利用此漏洞读取MXview-gateway/config目录中的gateway-upper.ini文件。

CVE-2021-38452

Part1 漏洞状态

Part2 漏洞描述


受影响版本
MXview网络管理软件:3.x至3.2.2版本

Part3 漏洞分析

MXview用户使用ping命令时向MXview服务器发送的请求内容

服务器验证参数,通过MQTT代理发送到ping回调。

调用OnMessage回调,使用给定参数执行ping cmd命令。由于存在验证,用户无法将任何恶意数据附加到ping命令,从而防止通过OS命令注入远程执行代码。

需要注意的是,不会执行进一步的验证。因为验证发生在消息发布到MQTT代理之前,所以该函数相信它提供的参数不包含任何恶意命令。但是,如果用户可以将MQTT消息直接注入MQTT代理,则OnMessage处理程序仍会将消息视为由服务器发送,从而使用给定参数执行ping。
攻击者可以将消息直接注入MQTT队列,回调函数对接收到的参数不会进行验证或清理,因此可以完成任意代码执行。
构建以下payload。

成功执行

攻击流程

总结


以上两个漏洞可以链接使用,完成未经身份验证的远程代码执行。综合利用流程如下:CVE-2021-38452(获取凭据)→CVE-2021-38454(将特制的MQTT消息注入Ping路由回调)→通过OS命令注入以SYSTEM权限远程执行代码。

缓解建议


升级到软件包v3.2.4或更高版本。
用户应定期更改其Windows密码并使用防火墙。
如果用户需要使用多站点功能,Moxa建议使用防火墙屏蔽8883端口。如果用户没有此要求,Moxa建议使用防火墙在客户端分配MXview的Accessible IP。

获取更多情报
联系我们,获取更多漏洞情报详情及处置建议,让企业远离漏洞威胁。
电话:18511745601
邮箱:shiliangang@andisec.com