三菱smartRTU操作系统号令注入缝隙安全公告

颁布功夫 2019-09-20

●缝隙编号和级别


CVE编号:CVE-2019-14931,危险级别:高危,CVSS分值:官方未评定


●影响版本


产品: 三菱电机smartRTU 和INEA ME-RTU


固件版本: 三菱电机2.02及之前版本/INEA 3.0及之前版本


●缝隙概述


三菱电机的smartRTU和INEA ME-RTU中存在未经身份验证的远程操作系统号令注入缝隙。


该缝隙允许攻击者在有关RTU上远程执行肆意操作系统号令,由于RTU基于web的远程配置利用对用户输入数据不做任何过滤。在“mobile.php”页面提供的“Mobile Connection Test”职能中,允许用户ping肆意网址或者IP地址;黑客能够在输入IP地址或者网址的尾部增长shell号令分隔符(;),之后接着输入所必要执行的操作系统指令。


当“Mobile Connection Test”职能被执行的时辰,RTU会挪用“action.php”,该剧本的内容如下:


宝运莱·(中国区)最新官方网站



由于不足对用户输入数据的过滤,黑客能够在$command变量后面加挂必要执行的操作系统号令。例如,host变量可所以字符串:“www.inea.si;ping 127.0.0.1”,那么系统首先会执行合法的ping号令来测试www.inea.si的连通性,而后再执行犯法ping号令来测试本地主机的连通性。


通过配置文件能够发现,用户“www-data”能够通过sudoers执行若干拥有root权限的指令,该配置文件的存储的文件蹊径为/etc/sudoers.d/viswww。下表所示为用户“www-data”的所有权限。


宝运莱·(中国区)最新官方网站



固然允许以root权限执行的号令极度有限,但是依然能够利用/usr/sbin/service号令来绕过授权限度。通过利用“service”号令,能够在RTU上启动netcat服务并创建一个拥有root权限的shell。具体操作如下:


宝运莱·(中国区)最新官方网站



下面代码所示为成功在RTU上成功以root权限运行shell:


宝运莱·(中国区)最新官方网站



由于session查抄的缺失,使得黑客能够直接把payload发送给“action.php”从而实现上述攻击。下图所示为在攻击主机上远程执行curl号令。


宝运莱·(中国区)最新官方网站



●缝隙验证


POC:https://cxsecurity.com/issue/WLB-2019080056。


●建复建议


目前官方没颁布有关补丁,请关注官网:https://www.mitsubishielectric.com/。


●参考链接


https://www.mogozobo.com/?p=3593