CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

Schneider Electric EcoStruxure Control Expert(前称Unity Pro)是法国施耐德电气(Schneider Electric)公司的一套用于Schneider Electric逻辑控制器产品的编程软件。

Part1
漏洞状态
漏洞细节
漏洞POC
漏洞EXP
在野利用


Part2
漏洞描述
EcoStruxure Control Expert上的 PLC 中没有完整性检查的代码下载,劫持组件DLL后向PLC注入代码可导致远程代码执行。
漏洞名称

  施耐德PLC下游组件Dll注入导致的远程代码执行漏洞

CVE编号 CVE-2020-7475
漏洞类型 远程代码执
漏洞等级
  CVSS评分为9.8,高危!
公开状态

‍公开

时间线
  2020-03-03-分配CVE
  2020-03-23-公开发布
影响范围

Schneider Electric EcoStruxure Control Expertversion <=  v14.1

Modicon M340 version <= v3.20
Modicon M580 version <=  v3.10

复现环境:

Windows 10
Schneider Electric EcoStruxure Control Expert v14.1
Part3
漏洞复现
- 安装Schneider Electric EcoStruxure Control Expert v14.1
由于没有施耐德实体PLC,这里使用PLC仿真器进行漏洞复现,基本原理一样。
启动Control Expert 14.1 
CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

新建项目(这里选择 BMX P34 2000 型号仿真器):

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

新建一个变量:

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

新建一个程序段:

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

写入一段ST赋值代码:

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

使用 xdbg附加 ControlExpert 并在编译函数处下断点:

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

连接PLC,然后将项目传输到PLC:

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

Xdbg 暂停在断点处,单步执行一次:

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

搜索特征码:

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

双击过去反汇编查看:

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究
可以看到对应测试者写的ST代码的汇编代码。
这里替换字节码为测试者的测试代码后,让程序运行。
提示上载信息完好:
CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

启动PLC仿真器:

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

弹出计算器,PLC仿真器异常:

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

复现成功!

Part4
漏洞细节

通过逆向手段,定位到编译PLC程序到PLC仿真器可执行的字节码的函数,再执行之后,修改原本编译好的字节码,程序会把测试字节码传输到PLC仿真器中,当操作PLC仿真器执行任务的时候,就会执行到测试代码。

Part5
修复缓解建议
1. 软件升级至最新版本v15.2。
2. PLC固件及时升级到最新版本。
3. 监控网络流量,查看是否有恶意代码的流量特征。
4. 安装主机卫士,设置IP白名单。
SAFE
获取更多情报

联系我们,获取更多漏洞情报详情及处置建议,让企业远离漏洞威胁。
电话:18511745601

邮箱:shiliangang@andisec.com

漏洞分析回顾
CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究


北京安帝科技有限公司是新兴的工业网络安全能力供应商,专注于网络化、数字化、智能化背景下的工业网络安全技术、产品、服务的创新研究和实践探索,基于网络空间行为学理论及工业网络系统安全工程方法,围绕工业网络控制系统构建预防、识别、检测、保护、响应、恢复等核心能力优势,为电力、水利、石油石化、轨道交通、烟草、钢铁冶金、智能制造、矿业等关键信息基础设施行业提供安全产品、服务和综合解决方案。坚持IT安全与OT安全融合发展,坚持产品体系的自主可控,全面赋能客户构建“业务应用紧耦合、用户行为强相关、安全风险自适应、网络弹性稳增强”的主动防御和纵深防御相结合的安全保障体系。截至2021年底,公司主要产品已应用于数千家“关基”企业,其中工业网络安全态势感知平台已部署4000余家客户,虚实结合工业网络靶场服务超过50家客户。

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

点击“在看”鼓励一下吧

CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

原文始发于微信公众号(安帝Andisec):CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究

版权声明:admin 发表于 2022年11月8日 下午12:01。
转载请注明:CVE-2020-7475:施耐德PLC下游组件Dll注入导致的远程代码执行漏洞研究 | CTF导航

相关文章

暂无评论

暂无评论...