Delta Industrial Automation COMMGR缓冲区溢出漏洞:CVE-2018-10594复现
时间:2022-05-12 作者:安帝科技 VulEye-Snail
DeltaIndustrial Automation COMMGR是台达电子公司的一套通信管理软件,其主要的功能在于扮演台达软件与硬件之间的通讯桥梁,通过COMMGR的管理,使联机的工作更为便利也更有效率。
Part1 漏洞状态
Part2 漏洞描述
Delta Industrial Automation COMMGR 1.08及之前版本中存在缓冲区溢出漏洞,原因为COMMGR.exe在调用recv时没有判断字符串长度,直接向栈中写入超过原本长度限制的数据,其结果可导致远程攻击者可利用该漏洞执行任意代码或造成应用程序拒绝服务。
Part3 漏洞复现
1. 实验环境
渗透主机:win10 (192.168.33.1)
靶机环境:win xp sp3(192.168.33.220)
软件版本:COMMGR 1.08
2.涉及工具
OllyDbg
Python3
3.漏洞复现
1)构造POC,其中shellcode为弹出计算器脚本,如下图所示:
2)靶机环境搭建
打开 Delta Industrial Automation COMMGR 1.08,如下图所示:
双击,托盘图标,点击开启,确认502端口开启,如下图所示:
3)攻击者通过渗透主机执行命令:python3 .\COMMGR_dos_2.py。
4)查看结果,发现成功执行shellcode弹出计算器,如下图所示:
Part4 漏洞分析
OllyDbg查找调用recv的地方,发现只有一处调用在0x66437B,在该位置下断点,发现可以断下来。
然后发现接收数据包的地址0x12ECF0 在堆栈上,数据长度就是我们发送的长度。
返回到调用这个流程的函数。
我们返回到0x4108A8的位置,也就是上一句 0x4108A3 调用的接收数据,查看堆栈上数据。
发现就是我们发送的测试数据。
总结:通过分析发现漏洞产生的具体原因为COMMGR.exe在调用recv时没有判断字字符串长度,直接将接收到的字符串复制到4208字符的栈空间中,导致溢出。
Part5 修复建议
据厂商提供的信息,COMMGR v1.09 (或以上)版本已修复缺陷,建议用户下载使用:
http://www.delta-china.com.cn/services/DownloadCenter2.aspx?secID=8&pid=2&tid=0&CID=06&itemID=060301&typeID=1&downloadID=,&title=–%20%E8%AB%8B%E9%81%B8%E6%93%87%20–&dataType=8;&check=1&hl=zh-CN
————————————————————
获取更多情报
联系我们,获取更多漏洞情报详情及处置建议,让企业远离漏洞威胁。
电话:18511745601
邮箱:shiliangang@andisec.com