Advantech WebAccess 远程命令执行漏洞:CVE-2017-16720复现

Advantech WebAccess 远程命令执行漏洞:CVE-2017-16720复现

时间:2022-08-04 作者:安帝科技


Advantech WebAccess是中国台湾研华(Advantech)公司的一套基于浏览器架构的HMI/SCADA软件,该软件支持动态图形显示和实时数据控制,并提供远程控制和管理自动化设备的功能。

Part1 漏洞状态

Part2 漏洞描述

Advantech WebAccess 8.3.2版本及之前版本中存在未经身份验证的远程代码执行漏洞,该漏洞具体存在于webvrpcs进程中0x2711 IOCTL的实现中,由于在文件操作中使用用户提供的路径之前,没有对它进行适当的验证,导致攻击者可以利用此漏洞使用RPC协议通过TCP端口4592以Administrator执行远程命令。

Part3 漏洞复现

1. 实验环境
渗透主机:Win10 (192.168.33.1)
目标主机:Win7 64 (192.168.33.140)
软件版本:Advantech WebAccess 8.2
2. 涉及工具
Python 2.7
3. 复现步骤
1) 启动环境,目标主机启动,如下图:

查看端口开放情况,确认4592端口已开启,如下图所示:

2)攻击者使用渗透主机中的Python 2.7 执行CVE-2017-16720 POC脚本
(https://www.exploit-db.com/exploits/44278),对目标主机进行攻击,可以发现目标主机中的Calc.exe成功运行 ,如下图所示:

Part4 漏洞分析

打开drawsrv.dll并定位到函数DsDaqWebService,DsDaqWebService函数实现了各个不同IOCTL code的功能,如下图所示:

而0x2711对应的处理函数为sub_100017B0。分析sub_100017B0,该函数中调用了CreateProcessA()函数创建进程。其中lpCommandLine参数由RPC客户端发送,且此处未对此参数进行任何检查。因此,可以通过控制该参数使得CreateProcessA()执行任意命令,从而导致远程命令执行。

Part5 修复建议

升级到研华WebAccess 8.3.3或更高版本。

————————————————
获取更多情报
联系我们,获取更多漏洞情报详情及处置建议,让企业远离漏洞威胁。
电话:18511745601
邮箱:shiliangang@andisec.com