施耐德PLC仿真器远程代码执行漏洞 CVE-2020-28212研究

施耐德PLC仿真器远程代码执行漏洞 CVE-2020-28212研究

时间:2022-06-02 作者:安帝科技 VulEye-小菜逼

Schneider Electric EcoStruxure Control Expert(前称Unity Pro)是法国施耐德电气(Schneider Electric)公司的一套用于Schneider Electric逻辑控制器产品的编程软件。其中PLC仿真器是软件内置的一个有PLC仿真功能windows应用程序。

Part1 漏洞状态

Part2 漏洞描述

该PLC仿真器存在网络数据身份验证限制不当的问题,当通过Modbus协议进行暴力攻击时,该问题可能导致未经授权的命令执行。

Part3 漏洞复现

– 安装Shneider Electric EcoStruxure Control Expert v14.1
– 软件路径
C:\Program Files (x86)\SchneiderElectric\Control Expert 14.1\PLC_Simulator

– 启动sim仿真器程序

– 查看启动端口502开放,程序启动成功

启动Control Expert 14.1

PLC-》仿真模式

PLC-》设置地址

确认设置,仿真器前面有对勾,IP是127.0.0.1,介质是TCPIP

然后PLC-》连接,让软件连接到PLC仿真器

连接成功后PLC选项卡会出现断开选项

运行测试脚本劫持当前会话

执行成功,软件提示PLC通讯失败,劫持成功

复现成功!

Part4 漏洞细节


这里是比较数据包中resa_id的函数,resa_id大小只有1字节,而且没有别的防护机制,比如黑名单,多次错误等待再连接等机制。所以很容易被暴力破解。然后利用此resa_id 可以断开当前连接后建立新的连接或者伪装成当前连接与仿真PLC进行通讯,向仿真器里面下载程序,导致远程代码执行。

Part5 修复缓解建议

1. 软件升级至最新版本。
2. 流量审计设备设置报警规则,监控短时间内大量Modbus协议请求断开连接,并且resa_id字段的值在不断变化,即可产生报警。
3. 安装主机卫士,设置IP白名单。
————————————————————————————————————————
获取更多情报
联系我们,获取更多漏洞情报详情及处置建议,让企业远离漏洞威胁。
电话:18511745601
邮箱:shiliangang@andisec.com