123456881 发表于 2021-1-14 08:46:48

WECONLeviStudioU软件XXE漏洞分析

http://i1.go2yd.com/image.php?url=0Spz6DVZVj&zhiwu55.jpg

1、概述

福州富昌维控(WECON)电子科技有限公司是一家专业从事自动化领域产品研究、开发与销售的高科技公司,公司生产工业互联网网关、工业人机界面和通用型PLC等产品,WECON LeviStudio是一套人机界面编程软件,经过研究,我司发现了该软件的某些版本中存在缓冲区溢出、XXE等漏洞。2020年12月初ICS-CERT对漏洞信息进行更新和纰漏,本文章对其中的一个XXE漏洞进行分析和复现。
http://i1.go2yd.com/image.php?url=0Spz6DFkkv&zhiwu55.jpg

2、XXE注入

XXE Injection即XML External Entity Injection,也就是XML外部实体注入攻击,漏洞是在对非安全的外部实体数据进⾏行处理时引发的安全问题。
在XML1.0标准里,XML文档结构中定义了实体(entity)这个概念,实体可以通过预定义在文档中调用,实体的标识符可访问本地或远程内容。如果在这个过程中引入了”污染”源,在对XML文档处理后则可能导致信息泄漏等安全问题。
XML大家再熟悉不过了,XML是用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素。
http://i1.go2yd.com/image.php?url=0Spz6DIZAm&zhiwu55.jpg

其中,DTD实体是用于定义引用普通文本或特殊字符的快捷方式的变量,可以内部声明或外部引用。当允许引用外部实体时,通过构造恶意内容,可导致读取任意文件、执行系统命令、探测内网端口、攻击内网网站等危害。
3、漏洞复现

从ICS-CERT网站发布的漏洞信息可知,存在漏洞的软件版本为:Build 2019-09-21及其之前的build,安装对应的软件版本,打开运行即可:
http://i1.go2yd.com/image.php?url=0Spz6D5RCn&zhiwu55.jpg

软件存的XXE漏洞存在于程序处理UMP格式的工程文件过程中,未对外部实体解析进行适当限制和处理,由此可导致敏感信息泄露。
触发此漏洞,第一步需要一个相关的工程文件,工程文件可以通过创建工程来获得:
或者直接使用程序自带的demo工程:
http://i1.go2yd.com/image.php?url=0Spz6Dd3mD&zhiwu55.jpg

任意挑选一个demo工程,打开可以看到.ump的文件:
http://i1.go2yd.com/image.php?url=0Spz6DfNqS&zhiwu55.jpg

此处需要着重分析UMP文件,打开此文件可发现其实质为一个XML格式的文件,那么XXE是不是就有机会了呢?
http://i1.go2yd.com/image.php?url=0Spz6DAKx5&zhiwu55.jpg

使用软件打开此工程,即可推测UMP文件实质为对各个页面、元素属性的定义:
http://i1.go2yd.com/image.php?url=0Spz6Df4c5&zhiwu55.jpg

接下来就需要创建XXE的payload,插入到UMP文件中进行尝试了。使用最常用的payload:
http://i1.go2yd.com/image.php?url=0Spz6DlAO0&zhiwu55.jpg

http://i1.go2yd.com/image.php?url=0Spz6DDVtj&zhiwu55.jpg

注意,上述IP地址需要更换为攻击机的IP,XXE.txt为靶机中实际存在的一个样例文件:
http://i1.go2yd.com/image.php?url=0Spz6DP2Hr&zhiwu55.jpg

在攻击机中使用 Python 搭建简易 HTTP Server:
http://i1.go2yd.com/image.php?url=0Spz6DBcCW&zhiwu55.jpg

在把靶机中,使用软件打开被XXE注入的工程文件:
http://i1.go2yd.com/image.php?url=0Spz6D7Flj&zhiwu55.jpg

发现工程打开报错,难道此路不通?实际上漏洞已经利用成功:C:\XXE.txt中的内容已经返回到攻击机的HTTP Server中:
http://i1.go2yd.com/image.php?url=0Spz6DqwKe&zhiwu55.jpg

由此XXE漏洞复现成功。
参考资料:

http://us-cert.cisa.gov/ics/advisories/icsa-20-238-03
http://www.vsecurity.com//download/papers/XMLDTDEntityAttacks.pdf

Jacqueline季 发表于 2021-1-14 09:35:23

回个帖子,下班咯~

确实是个孩子谥 发表于 2021-1-14 14:19:14

我只是路过,不发表意见

123456825 发表于 2021-1-15 13:47:14

经验告诉哥,不能弯腰捡肥皂啊!

米老鼠和蓝精鼠v 发表于 2021-1-16 11:44:33

不错,顶一个!
页: [1]
查看完整版本: WECONLeviStudioU软件XXE漏洞分析