安天针对Cisco RV320、RV325未经授权的远程代码执行漏洞的分析及建议

时间 :  2019年05月06日  来源:  安天微嵌

PDF报告下载

1、概述

        近日,安天微电子与嵌入式安全研发部(安天微嵌)对网络安全公司RedTeam Pentesting GmbH[1]披露的编号为CVE-2019-1652和CVE-2019-1653的两个漏洞进行了详细分析和验证。该组漏洞主要对Cisco RV320和RV325[2]两款双千兆WAN VPN路由器造成影响,两个漏洞结合利用可以达到允许未经身份授权的远程攻击者执行任意命令的目的。对此,安天微嵌分析小组验证了该漏洞的原理及POC,对该漏洞的影响范围进行了确认,并给出了相应的防护建议。

2、漏洞影响

        CiscoRV320、RV325两款路由器支持通过局域网和远程连接访问WEB管理页面,开启服务后可通过互联网访问WEB管理页面。由于路由器的WEB管理页面能够完成路由器各项功能的可视化管理和配置,对设备具有较高的控制权,所以其与路由器设备本身的安全紧密相关。

        经分析验证,此次被披露的两个漏洞分别是由于Cisco RV320、RV325路由器的WEB管理页面访问控制验证规则不完善 (CVE-2019-1653)和用户访问WEB管理页面时提供的输入凭证不当(CVE-2019-1652)造成的。

        根据网络安全公司Bad packet[3]公布的资料显示,其在全球范围内发现了9657台受CVE-2019-1652、CVE-2019-1653漏洞影响的Cisco路由器(6247台RV320和3410台RV325),其中大部分位于美国,中国大陆存在47台受到该漏洞影响的设备。同时他们的蜜罐系统捕获到了大量针对RV320和RV325路由器的扫描活动,这表明攻击者正在积极利用漏洞来劫持受影响的Cisco路由器。受漏洞影响的Cisco路由器全球分布情况如图1和表1所示。

图1 受影响设备全球分布图

国家和地区

美国

加拿大

巴西

泰国

波兰

法国

瑞典

受影响设备数量

4389

797

627

304

233

224

211

国家和地区

中国香港

罗马尼亚

哥伦比亚

阿根廷

玻利维亚

英国

意大利

受影响设备数量

165

158

141

125

123

117

113

国家和地区

澳大利亚

墨西哥

荷兰

捷克

乌克兰

比利时

奥地利

受影响设备数量

109

104

103

103

102

93

92

国家和地区

德国

印度

西班牙

丹麦

保加利亚

菲律宾

韩国

受影响设备数量

87

85

82

74

67

60

57

国家和地区

挪威

斯洛伐克

瑞士

中国大陆

喀麦隆

巴拿马

匈牙利

受影响设备数量

52

52

50

47

34

33

33

表1 受影响设备全球分布情况

3、漏洞原理

        安天微嵌分析小组使用Cisco RV320 Gigabit Dual WAN VPN Router和DELL OPTIPLEX PC机作为验证环境。设备连接示意图如图2所示。将Cisco RV320路由器任意LAN口与DELL PC机网口直接相连,同时将Cisco RV320路由器和DELL PC机设置为同一个网段。

图2 设备连接示意图

        该漏洞POC文件将测试未经身份授权检索敏感信息漏洞(CVE-2019-1653)和命令注入执行漏洞(CVE-2019-1652)代码整合在一起完成未经授权的远程代码执行操作。通过漏洞CVE-2019-1653完成路由器用户名、口令的捕获,随后结合CVE-2019-1652完成在Cisco RV320、RV325小型商用路由器上执行任意命令的目的。

        安天微嵌分析小组在分析POC文件代码过程中发现,POC的执行过程可以分为两个部分,其中未经授权检索敏感信息漏洞相关的函数代码片段如图3;命令注入执行漏洞相关的函数代码片段如图4所示。

图3 未授权检索敏感信息漏洞片段

图4 命令注入执行漏洞函数代码片段

        通过对图3、图4代码片段的分析,可以确定未经授权的远程代码执行漏洞的利用方式。该POC原理是未经身份授权的远程攻击者可以利用漏洞(CVE-2019-1653)从受影响的设备处获取敏感信息,该漏洞(CVE-2019-1653)是由于URL访问控制验证规则不完善造成的。远程攻击者可以利用这个漏洞,通过HTTP或HTTPS连接到受影响的设备,并请求特定的URL,让远程攻击者下载路由器配置或详细的登录信息。获得登录信息之后基于WEB管理界面发送恶意HTTP协议POST的方法,利用命令注入POST方法执行漏洞(CVE-2019-1652) 获得root用户权限,在受影响的设备上执行任意命令,该漏洞(CVE-2019-1652)是由于用户在使用POST方法提交参数时,规则验证不完善所造成的恶意命令执行漏洞。

4、POC执行验证

        安天微嵌分析小组使用Cisco RV320设备搭建了验证环境,结合上述的分析过程对公开的POC进行了验证。

4.1 获取目标设备信息

        该POC综合利用未经身份授权检索敏感信息漏洞 (CVE-2019-1653)和远程代码命令注入执行漏洞(CVE-2019-1652),通过POC的运行获取目标设备的用户名、用户登录口令的HASH值、加权值等信息。

        通过获取目标设备的用户名、用户登录口令的HASH值、加权值,利用命令注入执行漏洞(CVE-2019-1652)启动Telnet服务,与被攻击设备连接并实现远程控制。

4.2 获取目标设备命令集

        命令注入执行成功并获取root权限的当前目标设备命令集。如图5所示。

图5 当前目标设备命令集

        图5中在被攻击设备中显示出当前设备可用命令。设备命令中包含安装和登录、文件处理、系统管理、网络操作、系统安全、其它功能等命令集合。

4.3 从FTP服务器中下载攻击文件

        搭建FTP服务,使用该命令集内的FTPGET可以实现下载文件到目标路由器中,如图6所示。

图6 FTP服务器下载文件到目标设备

        如图7所示:使用POC程序验证更新补丁后的设备是否存在远程检索敏感信息漏洞(CVE-2019-1653)和命令注入执行漏洞(CVE-2019-1652)。

4.4 补丁有效性验证

        Cisco公司针对上述漏洞提供了补丁,我们同时也对补丁有效性进行了验证。

        如图7所示:使用POC程序验证更新补丁后的设备是否存在远程检索敏感信息漏洞(CVE-2019-1653)和命令注入执行漏洞(CVE-2019-1652)。

图7 验证CiscoRV320路由器漏洞

        图7中POC程序无法对更新补丁后的设备造成影响。

        我们对原POC程序文件进行了修改,通过其它手段获得路由器用户名、用户口令HASH值,并将其作为前置参数替换原来的漏洞(CVE-2019-1653)结果,来验证RV320路由器更新补丁之后是否可以执行命令注入漏洞(CVE-2019-1652),如图8所示。

图8 已知用户名、口令验证命令注入漏洞

        图8中提示登录失败。抓取HTTP数据协议分析发现,更新过补丁的CiscoRV320路由器口令的HASH值每次登录都在改变,通过使用上次捕获工具抓取的用户口令HASH值已经不能登录,从而使得原来静态的口令HASH方式的漏洞(CVE-2019-1652)利用失效。

        经验证,更新固件v1.4.2.22版本后,固件中的未经身份授权检索敏感信息漏洞(CVE-2019-1653)不能通过链接方式访问,表示该漏洞不能被利用。使用捕获工具抓取用户名、用户口令HASH值不能执行命令注入漏洞(CVE-2019-1652)。

5、防护建议

        路由器作为网络中的重要节点,一旦受到控制最直接的后果就是影响设备的正常运行,进而对网络运行造成影响;同时攻击者也可以通过路由器作为跳板进一步入侵所在网络,进行病毒传播、情报窃取和网络破坏等危险行为。本次验证的漏洞允许未经授权的攻击者获取路由器的敏感信息,如登陆管理界面所需的明文用户名和口令HASH值,通过对HASH值破解也可以得到口令的明文,由此获得路由器WEB管理的用户名和口令即可以开启路由器的telnet远程控制,从而配合相应的服务能够实现文件的上传、下载和任意代码执行等动作,存在严重的安全隐患。目前Cisco已经发布针对此漏洞的新固件,固件版本1.4.2.22 ,经过分析小组验证该版本固件已经修补了上述漏洞,受影响设备需要及时更新到最新版固件。

        综合上述情况,为了有效降低漏洞所带来的安全风险,提高产品安全性进而有效提升产品所在网络的安全防护能力,保障客户价值,安天建议客户从官网下载最新版本的固件,更新设备固件,有效避免漏洞被攻击者利用,以免对目标网络造成严重威胁;同时为了保证设备和设备所在网络的安全,需要网络管理员定期检查官方发布的路由器固件更新,及时更新设备固件,避免新的漏洞被攻击者利用。

5.1 Cisco RV320路由器固件更新方法

        新版固件下载地址:

        https://software.cisco.com/download/home/284005929/type/282465789/release/1.4.2.22?catid=268437899

        固件更新方法:

        1) 从官网获取最新版固件。

        2) 通过网线将主机与路由器LAN口连接,访问192.168.1.1,进入路由器WEB管理页面,在System Management菜单下选择Firmware Upgrade子项,更新固件如图9所示。

图9 更新固件

        3) 点击“Firmware Upgrade from PC”下对应的“浏览”按键,选择从官方下载的最新固件文件。

        4) 点击“Firmware Upgrade”按键。在固件更新过程中,DHCP服务将会被关闭,OLH和SSL VPN文件将被删除,请注意备份。

        5) 更新结果如图10所示。

图10 更新结果

5.2 本次受影响路由器安全配置建议

        除了上述安全建议外,我们还对RV320和RV325两款路由器的配置做了详细分析,为了有效提高设备的安全防护能力,安天建议客户进行如下安全配置:

1、开启路由器防火墙功能,检查所有入站流量并丢弃任何不需要的数据包,保护内部计算机网络免受外部恶意访问,还可以配置为限制内部用户对外部的访问。

2、开启全状态数据包检测型防火墙(SPI),路由器防火墙使用SPI维持连接信息通过防火墙,它会检查所有的基于特定连接的数据包,有限通过经高级协议处理的数据包。

3、开启拒绝服务(DoS)功能,保护内部网络不受拒绝服务攻击。

4、开启拒绝互联网请求,开启这个功能后路由器会丢掉来自广域网的所有不被接纳的TCP请求和ICMP数据包,使攻击者无法通过PING路由器IP地址查找到路由器。

5、关闭远程管理功能,如果没有通过远程管理路由器的需求,建议关闭远程管理功能,防止用户名和口令被破解后,路由器被攻击者远程控制。

6、开启HTTPS,HTTPS比HTTP具有更高的安全性,它提供来自客户端和服务器的双向加密。

7、在空闲时关闭UPnP功能,开启UPnP功能将允许自动发现可与路由器通信的设备,会增加路由器的受攻击风险,如无特殊需求建议关闭此功能。

8、关闭SSH功能和远程SSH功能,降低路由器被控制的风险。

9、禁止使用默认的用户名和易被暴力破解的弱口令。

参考链接

        [1] RedTeam Pentesting首页:
        https://www.redteam-pentesting.de
        [2] Cisco官网
        https://www.cisco.com
        [3] 设备数量数据:
        https://docs.google.com/spreadsheets/d/1ZocV8n4DOmcKJ_ugjjQ_gjIAmDHxT1JBhVxIAdABVyY/edit#gid=1297196434