Modbus网关缝隙(CVE-2021-4161)分析

颁布功夫 2022-01-17

一、缝隙概述


近期,宝运莱官方网站ADLab在工业节造缝隙监控中发现工控厂商Moxa的Modbus网关存在高危缝隙(CVE-2021-4161),ICS-CERT的评分高达9.8 。针对该高危缝隙,ADLab钻研员第一功夫进行了具体分析和验证 。


1.1 根基信息

凭据ICS-CERT的缝隙布告,该缝隙根基信息如下:


受影响的设备:

MGate MB3180/MB3280/MB3480 Series Protocol Gateways

受影响的版本:


MGate MB3180 Series: Firmware Version 2.2 or lower

MGate MB3280 Series: Firmware Version 4.1 or lower

MGate MB3480 Series: Firmware Version 3.2 or lower

缝隙可利用性:远程、低复杂度


CVSS v3评分:9.8


1.2 缝霞述


凭据ICS-CERT缝隙布告的描述,该缝隙类型属于敏感信息明文传输 。受影响设备的固件存在缝隙,攻击者能够通过嗅探网络流量来窃取和解密设备登录痛处的具体信息,从而获得对指标设备http web server的admin权限 。


ICS-CERT Advisory中对缝隙的描述.png

图1 ICS-CERT Advisory中对缝隙的描述


该缝隙的CVSS3特点为(AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H) 。如图2所示,ICS-CERT以为该缝隙可远程利用,同时对齐全性(Integrity)和可用性(Availability)的影响均为“High” 。


ICS-CERT 对CVE-2021-4161 CVSS(3.0)评分.png


图2 ICS-CERT 对CVE-2021-4161 CVSS(3.0)评分


早年面的缝霞述可知,该缝隙是一个不安全的痛处传输导致痛处泄露的缝隙 。那么,为何ICS-CERT以为这样一个缝隙其对齐全性和可用性的影响为“High”呢 。带着这个疑惑,我们在MGate MB3180设备上对该缝隙进行了分析和验证 。


二、缝隙分析


凭据ICS-CERT对缝隙的描述,我们一路头猜测该系列设备的web登录选取了Basic认证 。Basic认证是低机能设备web server所常用的步骤,其险些没有安全性,直接通过base64解码登录流量的认证信息即可获得用户名密码 。

依照上述思路,我们对MB3180的登录流量进行了分析,如图3所示 。MB3180的Web认证并没有选取Basic认证方式 。


 MB3180 Web登录POST要求.png


图3 MB3180 Web登录POST要求


持续对登录要求进行分析,发现要求中的表单数据蕴含了“account”、“password”等字段信息 。如图4所示:


MB3180 Web登录POST要求表单数据.png


图4 MB3180 Web登录POST要求表单数据(用户名admin,密码1234567)


观察表单中的数据可知,account和password没有常见哈希运算的特点 。屡次登录的表单数据如下所示:


使用分歧用户名密码登录的POST表单部门数据纪录.png

表 1 使用分歧用户名密码登录的POST表单部门数据纪录


从上表数据还能够发现如下特点:


account和password和输入长度是有关的;


account和password和FakeChallenge是有关的 。

后续对登录页面的源码分析找到了上述特点 。在登录页的js代码中,setInfo函数掌管天生登录信息并以表单方面式提交,如下所示:


MB3180的setInfo函数.png


图5 MB3180的setInfo函数


显然,登录数据的安全性取决于函数SetSHA256,其代码如下所示:


MB3180的SetSHA256函数.png

图6 MB3180的SetSHA256函数


分析SetSHA256函数的逻辑可知,该函数并没有真正实现SHA256的职能,而是使用了异或方式来处置输入数据 。具体来讲,SetSHA256函数的返回值是xor(m,n)之后的了局,而m起源于account/password,n则起源于FakeChallenge 。不言而喻,在FakeChallenge被泄露的前提下,account/password是可还原的 。


至此,该缝隙的道理就根基清澈了 。MB3180在处置登录页面的用户名和密码加密时,未正的确现SHA256的运算,同时web server默认使用http和谈 。因而,在可嗅探到该设备登录的http报文时,便可通过解密表单数据来得到登录的用户名和密码 。


三、缝隙验证


凭据上述缝隙分析了局,我们编写相始剧本对该缝隙进行了验证 。为简化验证过程,我们直接使用Wireshark抓取了登录MB3180 Web Server的http流量,而后编写剧本对该流量进行分析并解密 。


在抓包过程中,我们进行了两次登录,用户名均为admin,密码则使用了一个谬误的密码(admin)和一个正确的密码(moxa) 。


使用admin\admin登录的表单数据.png

图7 使用admin\admin登录的表单数据

 

使用admin\moxa登录的表单数据.png

图8 使用admin\moxa登录的表单数据


验证了局如图9所示,可从登录流量解密得到用户名和密码信息:


解密剧本验证.png

图9 解密剧本验证


四、缝隙风险


在工业节造环境中,有大量的设备并不具备TCP/IP和谈栈,要把这些设备接入基于IT技术的数字化网络就必要借助和谈转换网关来实现 。MGate MB系列Modbus网关设备的职能即是把RS485类的工业设备接入到TCP/IP网络 。这类网关设备缝隙的风险通常不仅仅影响该设备自身,更直接影响其背后支持的现场设备 。因而,NVD对该缝隙给出了两种CVSS3评分,如下所示 。


NVD和ICS-CERT评分区别.png


图10 NVD和ICS-CERT评分区别


其中,NVD基于NIST的视角给出了7.5分,而ICS-CERT基于工业视角给出了9.8高分 。这两衷炖分的差距就在于:从IT角度看,该缝隙不能批改该设备的底层数据,也不能使设备终场运行,因而不影响该设备的齐全性和可用性;但从工业角度看,通过该缝隙获得治理怨厮号后能够批改网关的配置,进而使得该设备支持的工业节造业务产生调换甚至是终场,所以影响了工业节造业务的齐全性和可用性 。


可见,同样类型的网络安全缝隙,其在工业节造系吐潇域的影响微风险通常要高于传统IT业务领域 。因而,在处置工业节造系统网络安全缝隙时,必要思考到工控业务环境的特殊性,结合对工控业务的影响来综合评价缝隙的风险能力越发客观真实的反映缝隙的影响力 。


五、建复建议


目前,官方未颁布该缝隙的建复补丁,但提供了缝隙缓解建议:

建议将受影响设备的Web Server接见的和谈设置为https,预防明文传输表单数据;


建议参照Moxa SecurityHardening Guide for MGate MB3000 Series中的方式部署设备 。


此表,针对工业节造系统,CISA提供了如下的通用建议:


尽量削减在公网露出工控设备或者系统;


将节造系统网络和远程设备置于防火墙之后,并和办公网络隔离;


当必要远程接见时,选取类型VPN的安全接见方式 。