Schneider Electric EcoStruxure Control Expert(前称Unity Pro)是法国施耐德电气(Schneider Electric)公司的一套用于Schneider Electric逻辑控制器产品的编程软件。其中PLC仿真器是软件内置的一个有PLC仿真功能windows应用程序。
漏洞细节 |
漏洞POC |
漏洞EXP |
在野利用 |
有 |
有 |
无 | 无 |
漏洞名称 |
施耐德 PLC 仿真器远程代码执行漏洞 |
CVE编号 |
CVE-2020-7559 |
漏洞类型 |
远程代码执行 |
漏洞等级 | 7.5 高危 |
公开状态 | 公开 |
时间线 |
2020-08-13 – 供应商披露 2020-11-04 – 分配 CVE 2020-11-09 – 供应商发布 2020-12-08 – 公开发布 |
Schneider Electric EcoStruxure Control Expert version <= v14.1
Windows 10
Schneider Electric EcoStruxure Control Expert v14.1
– 安装Schneider Electric EcoStruxure Control Expert v14.1
– 软件路径
C:Program Files (x86)Schneider ElectricControlExpert 14.1PLC_Simulator
– 启动sim仿真器程序
– 查看启动端口502开放,程序启动成功!
– 运行测试脚本
强制关闭远程连接,进程退出,复现成功!
· Xdbg加载sim.exe 在tcp/ip模块中下断点。
· 然后运行test.py测试脚本。
程序断下,单步运行,查看接收buffer位置数据。
是我们发送的测试数据。
在接收数据位置下硬件访问断点。
· 运行程序。
程序断到这里,返回一层。
可以看到是 exec.dll 模块中调用memcpy 时产生的栈溢出,
再返回一层。
发现接收网络发包的位置是ebp-0x8004,
可以推算网络发包数据超过0x8000就可以造成栈溢出,
然后构造恶意数据包,利用栈溢出造成远程代码执行。
如果要达到远程代码执行的目的,需要绕过栈Cookie校验,SafeSEH检测和DEP保护三道防护才可以。
· 升级软件到最新版本。
· 如果不能升级到最新版,可以使用流量检测设备监控Modbus协议MBAP中data_length字段,数值超过 0x8000 大小(10进制32768)即可报警。
· 安装主机卫生设置通讯白名单。
联系我们,获取更多漏洞情报详情及处置建议,让企业远离漏洞威胁。
电话:18511745601
北京安帝科技有限公司是新兴的工业网络安全能力供应商,专注于网络化、数字化、智能化背景下的工业网络安全技术、产品、服务的创新研究和实践探索,基于网络空间行为学理论及工业网络系统安全工程方法,围绕工业网络控制系统构建预防、识别、检测、保护、响应、恢复等核心能力优势,为电力、水利、石油石化、轨道交通、烟草、钢铁冶金、智能制造、矿业等关键信息基础设施行业提供安全产品、服务和综合解决方案。坚持IT安全与OT安全融合发展,坚持产品体系的自主可控,全面赋能客户构建“业务应用紧耦合、用户行为强相关、安全风险自适应、网络弹性稳增强”的主动防御和纵深防御相结合的安全保障体系。截至2021年底,公司主要产品已应用于数千家“关基”企业,其中工业网络安全态势感知平台已部署4000余家客户,虚实结合工业网络靶场服务超过50家客户。
点击“在看”鼓励一下吧
原文始发于微信公众号(安帝Andisec):施耐德 PLC 仿真器远程代码执行漏洞CVE-2020-7559研究