Modbus网关漏洞(CVE-2021-4161)分析

发布者:ADLab
发布于:2022-03-04 16:47


漏洞概述

近期,启明星辰ADLab在工业控制漏洞监控中发现工控厂商MoxaModbus网关存在高危漏洞(CVE-2021-4161)ICS-CERT的评分高达9.8。针对该高危漏洞,ADLab研究员第一时间进行了详细分析和验证。

基本信息

根据ICS-CERT的漏洞公告,该漏洞基本信息如下:

l  受影响的设备:MGate MB3180/MB3280/MB3480 Series Protocol Gateways

l  受影响的版本:

n  MGate MB3180 Series: Firmware Version 2.2 or lower

n  MGate MB3280 Series: Firmware Version 4.1 or lower

n  MGate MB3480 Series: Firmware Version 3.2 or lower

l  漏洞可利用性:远程、低复杂度

l  CVSS v3评分:  9.8

漏洞描述

根据ICS-CERT漏洞公告的描述,该漏洞类型属于敏感信息明文传输。受影响设备的固件存在漏洞,攻击者可以通过嗅探网络流量来窃取和解密设备登录凭据的详细信息,从而获得对目标设备http web serveradmin权限。

1ICS-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”。

 

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

从前面的漏洞描述可知,该漏洞是一个不安全的凭据传输导致凭据泄露的漏洞。那么,为何ICS-CERT认为这样一个漏洞其对完整性和可用性的影响为“High”呢。带着这个疑惑,我们在MGate MB3180设备上对该漏洞进行了分析和验证。

漏洞分析

根据ICS-CERT对漏洞的描述,我们一开始猜测该系列设备的web登录采用了Basic认证。Basic认证是低性能设备web server所常用的方法,其几乎没有安全性,直接通过base64解码登录流量的认证信息即可获得用户名密码。

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

3MB3180 Web登录POST请求

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

 

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

观察表单中的数据可知,accountpassword没有常见哈希运算的特征。多次登录的表单数据如下所示:

account

password

FakeChallenge

csrf_token

使用的用户名密码

469fe4cac1

16c9ba979a0bd3

B8A4E38148D12B97D92056B6F4DDB355052C946C5F2CF6D39849DBB174FE21DC

AtrzwL7ZEY9IF80m

admin/123456

8db6c0bba0

8db6c0bba0

F86896D3BB3A40637E9CEE7C15B4FE5749895A52125B2DE053C0A3FC20191333

epgXsUozDOXeYsRh

admin/admin

8db6c0bba0

81bdd5b3

F86896D3BB3A40637E9CEE7C15B4FE5749895A52125B2DE053C0A3FC20191333

cRzS3T5XqnrUasgx

admin/moxa

4a94f1c2

4a94f1c2

B8A4E38148D12B97D92056B6F4DDB355052C946C5F2CF6D39849DBB174FE21DC

KgWAtRgHRPyG98CZ

moxa/moxa

1、使用不同用户名密码登录的POST表单部分数据记录

从上表数据还可以发现如下特征:

l  accountpassword和输入长度是相关的;

l  accountpasswordFakeChallenge是相关的。

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

5MB3180setInfo函数

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


6MB3180SetSHA256函数

 

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

至此,该漏洞的原理就基本清晰了。MB3180在处理登录页面的用户名和密码加密时,未正确实现SHA256的运算,同时web server默认使用http协议。因此,在可嗅探到该设备登录的http报文时,便可通过解密表单数据来得到登录的用户名和密码。

漏洞验证

根据上述漏洞分析结果,我们编写了解密脚本对该漏洞进行了验证。为简化验证过程,我们直接使用Wireshark抓取了登录MB3180 Web Serverhttp流量,然后编写脚本对该流量进行分析并解密。

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

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

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

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

9、解密脚本验证

漏洞危害

       在工业控制环境中,有大量的设备并不具备TCP/IP协议栈,要把这些设备接入基于IT技术的数字化网络就需要借助协议转换网关来完成。MGate MB系列Modbus网关设备的功能即是把RS485类的工业设备接入到TCP/IP网络。这类网关设备漏洞的危害通常不仅仅影响该设备自身,更直接影响其背后支撑的现场设备。因此,NVD对该漏洞给出了两种CVSS3评分,如下所示。


10NVDICS-CERT评分区别

其中,NVD基于NIST的视角给出了7.5分,而ICS-CERT基于工业视角给出了9.8高分。这两种评分的差别就在于:从IT角度看,该漏洞不能修改该设备的底层数据,也不能使设备停止运行,因此不影响该设备的完整性和可用性;但从工业角度看,通过该漏洞获得管理员账号后可以修改网关的配置,进而使得该设备支撑的工业控制业务发生变更甚至是停止,所以影响了工业控制业务的完整性和可用性。

可见,同样类型的网络安全漏洞,其在工业控制系统领域的影响和危害通常要高于传统IT业务领域。因此,在处理工业控制系统网络安全漏洞时,需要考虑到工控业务环境的特殊性,结合对工控业务的影响来综合评判漏洞的危害才能更加客观真实的反映漏洞的影响力。

修复建议

目前,官方未发布该漏洞的修复补丁,但提供了漏洞缓解建议:

Ø  建议将受影响设备的Web Server访问的协议设置为https,避免明文传输表单数据;

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

此外,针对工业控制系统,CISA提供了如下的通用建议:

Ø  尽量减少在公网暴露工控设备或者系统;

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

Ø  当需要远程访问时,采用类型VPN的安全访问方式。

参考链接

[1].ICS Advisory (ICSA-21-357-01): Moxa MGate Protocol Gateways https://www.cisa.gov/uscert/ics/advisories/icsa-21-357-01

        [2].CVE-2021-4161 NVD Details    

        https://nvd.nist.gov/vuln/detail/CVE-2021-4161

        [3].Tech Note: Moxa Security Hardening Guide for MGate MB3000 Series

  https://cdn-cms.azureedge.net/getmedia/6461a6a5-8b9d-4c83-8fcf-4d163c51f933/moxa-the-security-hardening-guide-for-the-mgate-mb3000- series-tech-note-v1.0.pdf

        [4].Common Vulnerability Scoring System v3.0: Specification Document

  https://www.first.org/cvss/v3.0/specification-document

 

 


启明星辰积极防御实验室(ADLab)





ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员,“黑雀攻击”概念首推者。截止目前,ADLab已通过CVE累计发布安全漏洞近1100个,通过 CNVD/CNNVD累计发布安全漏洞2000余个,持续保持国际网络安全领域一流水准。实验室研究方向涵盖操作系统与应用系统安全研究、移动智能终端安全研究、物联网智能设备安全研究、Web安全研究、工控系统安全研究、云安全研究。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等






图片



声明:该文观点仅代表作者本人,转载请注明来自看雪