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