CVE-2021-38452、CVE-2021-38454:Moxa MXview工业网络管理系统漏洞分析
时间:2022-03-17 作者:安帝科技
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