译者:紫曦归来
预估稿费:260RMB
投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿
摘要
随着网络犯罪手法不断翻新,家用路由器近日也成为网络攻击的新目标。事实上,家用路由器的确存在着大量的安全漏洞。Álvaro Folgado Rueda等多名网络安全专家近日撰写了一份报告,深入分析SOHO路由器的安全隐患,并针对家用路由器的最新攻击源展开研究。研究发现,22个知名品牌的路由器存在60余个尚未公开的安全漏洞。这也意味着路由器厂商仍须进一步提升其产品的安全性能。该报告中罗列了一系列存在于家用路由器中的安全漏洞,如果上述漏洞被黑客利用,造成的后果将不堪设想。
1、引言
随着信息时代的到来,小办公室/家庭办公室(Small office Home office,SOHO)的工作方式,因其具有传统办公无法比拟的灵活性、创造性等优点很快被社会大众所接受。SOHO计算机和网络的普及促使家庭办公逐渐成为当今一种白领时尚,也引领其一股SOHO文化热。 SOHO路由器,即小办公室家庭办公室用的路由器是实现家庭办公必不可少的装备。如果 SOHO路由器中存在漏洞将大大影响整个家庭网络系统的安全性,同时也对用户的隐私造成极大威胁。
在过去的几年时间内,也有C. Heffner等专家针对SOHO路由器的安全问题进行了相关研究。这些研究的目标主要是:
(1)通过寻找可能存在的漏洞问题,评估当前网络安全等级。
(2)针对新的攻击源展开研究
(3)研发能够检测出漏洞的工具。
(4)为后续研究提出方法论依据。
路由器的制造商以及互联网服务提供商也将针对该领域研究成果对产品进行安全升级。
2、路由器相关知识
所有路由器都为终端用户提供了各种形式的配置方式。
(1)Web配置界面(Web Interface):一个用户友好型的Web配置界面有助于用户随时进行设备更改和调试(如图1所示)。当然,访问Web配置界面需要进行身份验证。
图1
(2)命令行界面(command-line interface):通过命令行界面用户同样可以对路由器进行操作、设置。命令行界面可通过终端模拟器来访问,用户可利用计算机上已经安装的终端模拟器,在终端模拟器的窗口键入命令并获得从路由器返回的信息(如图2所示)。
图2
路由器除了可以使用上述两种方式进行配置外,还可使用诸如FTP和SMB服务器等方式进行配置。此外,路由器还可采用“即插即用”(Universal Plug and Play,UPnP)方式进行配置。但使用FTP或Telnet等方式进行配置存在一定安全隐患,更安全的方法是选择更为高级的SFTP和SSH协议。值得注意的一点是,纳入本研究的大部分路由器都默认启用了UPnP协议,从而可以允许未经身份验证的攻击者更改路由器的关键配置设置。
大多数路由器所提供的服务对于用户来说都是多余且无用的,这些功能有时反而被黑客利用实施网络攻击。此外,研究显示路由器开放端口的数量过多,这一点即使对于有远程WAN的连接来说也是过多了。
研究发现,路由器还普遍存在一个安全隐患,即使用公开的默认密码就可以进入路由器配置界面。(如图3所示)本研究中纳入评估的所有路由器均未使用随机生成的字符串作为默认密码,而是使用了公开的默认密码,而这些用户又不修改默认密码,这使得黑客对路由器实施网络攻击变得更加容易。
图3
3、安全漏洞
通过分析路由器存在的各类安全漏洞,研究发现黑客从不同的位置对路由器实施攻击:
(1)有线连接到受害者的局域网内。在这一案例中,攻击者使用以太网电缆连接到受害者的局域网,并对其实施攻击。
(2)无线连接到受害者的局域网内。这种形式的网络攻击经常发生在提供免费Wi-Fi热点的路边餐厅或咖啡店。
(3)远程攻击。虽然攻击者在受害者的本地网络之外,但用户使用了存在漏洞的路由器,这使他们极易遭受网络攻击。远程攻击可针对某一个特点目标进行,同时也可以通过僵尸网络等形式无目标地感染多台设备。
攻击者可利用远程漏洞,例如利用公开的路由器连接端口密钥,从而利用那些只能在受害者本地电脑设备利用的漏洞。研究发现,目前广泛使用的路由器存在着多种漏洞。
3.1 跨站请求伪造(CSRF)
跨站请求伪造(Cross-site request forgery)通过向受害者发送特定的恶意链接来更改路由器的配置设置。攻击者常使用远程攻击的方式更改合法的DNS设置。从而使得攻击者可以掌握受害者的隐私设置,并将浏览器请求指向恶意网站,并最终构建一个僵尸网络。
当受害者已经登录导路由器的Web配置界面后,该攻击才能顺利进行。但是,Web配置界面的登录密码可以嵌入到恶意URL中。如果管理员(administrator)的密码从未被更改过(这一点在我们研究的案例中极为普遍),则攻击就可以顺利进行。如图4所示,部分浏览器将针对登录尝试弹出警告消息框;但诸如Google Chrome浏览器等常用的浏览器均未显示任何警告。如此,攻击行动可以在受害者毫无察觉的情况下进行。
图4
例如,以下URL利用公共默认凭证1更改了Observa Telecom AW4062路由器的DNS设置。通过BitLy和OwLy等URL短网址工具,链接可以变得很短或者被混淆。如图5所示,缩短的链接容易被用户忽视。
图5
同样,包含恶意参数的网站也可以通过这种做法蒙混过关,如图6所示。
图6
通过共享社交网站上的链接,或者使用一些能够鼓励用户打开恶意URL的社会工程学技巧,可以增强网络攻击的影响面。
3.2 持久型跨站脚本(XSS)
XSS攻击通常是指黑客在Web配置界面植入恶意脚本,从而对用户实施会话劫持(Session hijacking)和感染浏览器(browser infection)的攻击。攻击者可通过向受害者发送恶意链接实施远程攻击(与CSRF攻击类似,如图7所示);如果用户的密码从未更改过,攻击者可对其实施本地攻击(如图8所示)。
图7
图8
在被发现的XSS攻击中,脚本代码均会保留在Web配置界面中。根据路由器型号的不同,脚本执行可能会在注入后立即进行,也可能在访问某个网页(如主页)时进行。部分输入栏中只能输入有限个数的字符。为了避免这种限制,BeEF(The Browser Exploitation Framework project)是比较流行的web框架攻击平台。通过XSS这个简单的漏洞,BeEF可以通过一段构造好的javascript脚本控制目标主机的浏览器,通过浏览器拿到各种信息并且扫描内网信息,同时能够配合metasploit进一步渗透主机,强大的有些吓人。下面的URL显示了使用BeEF hooks2进行XSS开发的示例。图9所示就是受感染的浏览器。
图9
3.3未经身份验证的跨站脚本攻击
在特殊情况下,执行脚本代码注入可以在没有任何登陆的情况下实施本地攻击。这主要是通过发送一个包含恶意脚本的动态主机配置协议(DHCP)数据单元(PDU)来实现的,如图10所示,当发送了一个具有有效参数的PDU后(例如客户端MAC地址或恶意主机名),路由器将回复一个DCHP ACK,之后恶意脚本将植入到Connected Clients的桌面。
图10
攻击过程如图11所示。恶意的动态主机配置协议PDU可使用以下几种方式发送:
允许更改主机名参数的自定义脚本
数据包处理工具(如Scapy等)
dhclient -H <hostname>命令
/etc/hostname文件修改
图11
3.4特权升级
没有管理员权限的本地或远程用户可以通过特权升级从而成为管理员。攻击者利用隐藏的非管理用户的存在,使用默认密码。通过将这些没有特权的用户连接到路由器FTP服务器,攻击者可以下载/etc/passwd和config.xml文件,如图12所示。最后一个是以明文形式存储所有路由器的配置参数,包括所有用户的密码。文件的一部分如图13所示。这样做,任何用户都可以获得管理员权限。
图12
图13
3.5 信息泄露
无需任何登录过程,外部攻击者就能获取目标路由器的重要信息,如Wi-Fi密码和WLAN参数、Internet配置以及连接用户列表等。这些安全隐患一般由不当的文件权限和意外的调试信息造成。在某些情况下,受支持API(例如JSON)的配置不当,会导致路由器定期发布包含关键信息的无保护文件,如图14所示,而获取这些重要信息就如同访问公开文件(图15)或网页一样简单(图16)。
图15
图16
3.6后门
隐藏管理员帐户对于终端用户来说完全不可见,这使得任何攻击者都能够通过Web界面或拨号网络随意更改路由器配置设置。图17显示了一个名为“admin”的后门管理员帐户,其密码为“7449airocon”。该账户仅出现在备份XML配置文件中,无法被删除。
图17
3.7旁路认证
未经身份验证的攻击者可以通过不当文件权限或是错误服务配置,实现路由器配置更改。
在几个路由器型号中,攻击者可以通过不断访问/rebootinfo.cgi URL来实现永久拒绝服务,如图18所示。攻击者还可以访问/restoreinfo.cgi URL强制重置路由器至默认配置(图19)。之后,任何用户都可以使用默认凭据登录该路由器。
图18
图19
在两次未经身份验证的攻击中,路由器都会回复HTTP 400状态码,但其实际正在执行重新启动或是重置设置的操作。集成在一些设备中的SMB文件共享服务,可能会因为共享外连接特性的一处错误配置,导致严重的安全风险。未经身份验证的攻击者可以利用这一漏洞,通过本地或远程连接Samba服务器,从而下载整个路由器文件系统。如图20和21所示,在这种共享服务(称为存储)中,能够允许路由器文件系统创建符号链接(symbolic links),并下载其中内容。
图20
图21
攻击者因此可以自由查看和下载路由器的整个文件系统,包括密码和配置文件等。使用put和mput内置命令上传修改文件或新文件到路由器同样可行。许多型号路由器均支持Twonky Media Server服务,若存在配置错误,将允许外部攻击者操纵连接到路由器的USB存储设备,从而在不需要任何登录过程的情况下,执行包括下载,修改,删除和上传文件在内的操作。为了做到这一点,攻击者只需要根据9000端口来访问路由器IP就能完成,如图22所示。
图22
3.8 UPnP协议(通用即插即用协议)
多数路由器型号均默认采用UPnP协议。这一协议旨在为不同家用设备之间的连接提供便利。举个例子,UPnP协议可以允许计算机应用程序更改网络配置,比如打开端口,以便在用户不进行干预的情况下增强性能。
由于在进行配置更改时缺乏认证环节,UPnP协议其实极其不安全。不仅如此,路由器厂商的实现手段通常也十分糟糕,这无形中为攻击者提供了许多可用攻击手段,包括为远程WAN主机打开重要端口,终止任何WAN连接,以及执行命令盲注攻击(Blind Command Injection)等等。为了在本地利用UPnP协议漏洞,我们强烈建议使用一款名为Miranda的客户端工具。首先,我们将组播传输SSDP协议的PDU,目的是确定网络中支持的设备,如图23所示。
图23
家用路由器通常会支持多项UPnP协议操作,但从攻击者的角度来看,“添加端口映射”(AddPortMapping)和“强制终止”(ForceTermination)是最为实用的。图24中显示了这些可用选项。
图24
由于该协议的实现并不理想,且NewInternalClient参数未得到准确检查,使未经身份验证的攻击者能够打开连接远程WAN主机的端口,如图25所示。
图25
一旦受攻击者访问包含恶意SWF文件的特定网站,就能实现UPnP协议漏洞远程利用。这个Flash文件正悄然执行着“添加端口映射”操作(或任何UPnP协议支持的选项),并在后台更改防火墙设置。由此,在重要端口对WAN主机开放的情况下,远程攻击者将能对本地相关安全漏洞进行利用。图26是该攻击的图解说明。
图26
4、工具
通过研究,我们制作了多种漏洞利用工具。
(1)SendDHCPRequest。可以向网络中的任一DHCP服务器发送带有自定义参数的恶意DHCP 协议请求 PDU。该工具可用于未授权XSS攻击。
图27
(2)ChangeHostname。改变计算机主机名的简单脚本。该工具可用于未授权XSS攻击。
图28
(3)SMBExploit。该工具将在目标的共享服务中创建一个符号链接。如果路由器存在漏洞,将可以被下载整个文件系统。其主要可用于SMB Symlink攻击。
图29
此外,这些被发现的漏洞将添加到RouterPwn项目,用户和研究人员可以因此更为方便地检查设备存在的漏洞。
5、审计报告
我们目前已经发现超过60个此前未经公开的安全漏洞,影响了22种不同型号的SOHO路由器。大多数路由器在西班牙都非常受欢迎,而互联网服务提供商愿意将这些产品推销给客户。
Amper,Astoria,Belkin,Comtrend,D-Link,华为,Linksys,Netgear,Observa Telecom,Sagemcom和Zyxel等厂商的路由器设备都存在多重安全漏洞,如图30所示。
图30
图31按类型展示了漏洞分布情况。
图31
表1和表2展示了一份包含所有漏洞,以及受影响路由器型号的综合列表。
表1
表2
所有被发现的漏洞都已上报设备厂商和网络服务供应商,方便他们能够尽快解决问题;以及建立多个漏洞数据库,如MITR(CVE-ID)或OSVDB。在向厂商提供足够的时间后,我们披露了这些漏洞。
6、结论
迄今取得的成果表明,绝大多数SOHO路由器都受到了严重的安全漏洞影响,其中一些非常严重,很容易遭到网络犯罪分子利用,使终端用户和小型企业陷入安全威胁当中。我们能够得出结论,路由器的安全性在过去几年内其实并未得到改善。事实上,这些不断涌现的新型安全漏洞和攻击性载体,反而丰富了攻击者的“武器库”。
设备厂商和互联网服务供应商应该共同努力,以解决目前影响SOHO路由器的庞大的安全问题。在漏洞分析过程的基础上,我们开发了多种漏洞利用工具以及一种审计方法,目的是为研究人员未来的工作提供便利。