三菱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