CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

工控安全 3年前 (2022) admin
802 0 0

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

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


Part2
漏洞描述
漏洞名称

Schneider Electric Modbus Serial Driver共享内存滥用导致的本地提权漏洞

CVE编号

CVE-2020-7523

漏洞类型

本地提权

漏洞等级 7.8 高危(HIGH)
公开状态 公开
漏洞描述

Schneider Electric Modbus Serial Driver 滥用共享内存导致的本地提权漏洞

因为ModbusDrvSys 程序创建了一块共享内存,里面默认储存串口名。方便多进程之间交互操作,漏洞原因在于这块共享内存没有安全权限,任何进程可以打开,读写,导致的可以替换串口名,从而导致任意文件读写的本地提权漏洞。

时间线

2020-08-31 CVE编号收录

2020-10-13 施耐德发布更新补丁文档

受影响版本:

modbus_driver_suite <= 14.15.0.0

modbus_serial_driver x86 <= 2.20_ie_30

modbus_serial_driver x64 <=3.20_ie_30

Part3
漏洞复现环境

系统环境:

Win7 X64 sp1

软件:

SchneiderModbusDriverSuite.exe

Part4
漏洞复现

安装软件:

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

成功之后查看进程

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析
查看是否存在 ModbusDrvSys.exe 进程

系统路径:

C:WindowsSystem32ModbusDrvSys.exe

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

软件版本:

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

使用管理员账号在C盘创建test.exe

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析
填充16进制数据
CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析
查看属性

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

普通用户没有写权限
切换账号
使用ImHex 工具打开 C:test.exe
会提示 只读模式,没有权限修改文件,并且看到文件内容 0x00-0x0F

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

运行测试程序

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

再用Imhex 打开 C:test.exe 查看结果

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

没有写权限的文件已经被修改。

Part5
漏洞细节分析

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

查看共享内存权限。默认无权限,就是任何本地程序都能打开,读写。

X64 dbg 加载程序,进行分析。

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

这里接收发送数据。

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

先取出发送数据的长度,这里是我们构造数据的真实长度。

然后高低字节序翻转一下,

最后比较,0x411 也就是数据最大长度不能超过 0x411 十进制 1041

如果超过这个长度

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

直接跳转到关闭网络连接位置。

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

然后 判断 rax+0x44c位置也就是打开文件句柄计数,减一。如果减一之后等于0直接关闭文件。

如果长度在0x411以内

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

进行下一次数据接收。

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

这里判断是否有文件打开,如果有直接写入数据,如果没有,就根据共享内存里面储存的路径打开文件。

Part6
总结
ModbusDrvSys.exe创建了一块共享内存,保存串口名。由于共享内存没有设置权限,任意程序都可以修改里面的串口名。因此本地程序可以通过修改串口名,然后发送特定数据包给本地27700端口,即可把发送的数据写入任意文件。
Part7
缓解建议

安装主机安全卫士设置应用程序白名单。

SAFE
获取更多情报

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

邮箱:[email protected]

漏洞分析回顾
CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析


北京安帝科技有限公司是新兴的工业网络安全能力供应商,专注于网络化、数字化、智能化背景下的工业网络安全技术、产品、服务的探索和实践,创新应用网络空间行为学及工业网络行为验证,构建了工业大数据深度分析、威胁情报共享、威胁感知和协同响应等核心能力优势,为电力、石油石化、煤炭、烟草、轨道交通、智能制造等关键信息基础设施行业提供安全产品、服务和综合解决方案,工业网络安全态势感知平台已部署4000余家电厂。

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

点击“在看”鼓励一下吧

CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

原文始发于微信公众号(安帝Andisec):CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析

版权声明:admin 发表于 2022年3月10日 下午12:00。
转载请注明:CVE-2020-7523:施耐德串行驱动程序本地提权漏洞分析 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...