无线协议漏洞
早些年对路由器的攻击方式大多基于无线协议中的漏洞。早些年无线路由使用的是WEP加密系统,也就是“有线等效加密”,但是与很多存在问题的加密算法一样,WEP加密也是用了RC4的加密方式。
2001年8月,Fluhrer等人发表了针对WEP的密码分析,利用RC4加解密和IV的使用方式的特性,结果在网络上偷听几个小时之后,就可以把RC4的钥匙破解出来。这个攻击方式很快就实作出来了,而自动化的工具也释出了,只要用个人电脑、现成的硬件和免费可得的软件就能进行这种攻击。因此WEP在2003年被实现大部分IEEE 802.11i标准的WPA(Wi-Fi Protected Access)淘汰。
WPA相比WEP提升了部分安全性,WPA 的设计中要用到一个 802.1X 认证服务器来散布不同的钥匙给各个用户;不过它也可以用在较不保险的 “pre-shared key” (PSK) 模式。Wi-Fi 联盟把这个使用 pre-shared key 的版本叫做 WPA 个人版或 WPA2 个人版,用 802.1X 认证的版本叫做 WPA 企业版或 WPA2 企业版。
WPA 的数据会以一个 128 位元的钥匙和一个 48 位元的初向量 (IV) 的 RC4 stream cipher 来加密。WPA 超越 WEP 的主要改进就是在使用中可以动态改变钥匙的“临时钥匙完整性协定”(Temporal Key Integrity Protocol,TKIP),加上更长的初向量,这可以击败知名的针对 WEP 的金钥撷取攻击。
除了认证和加密外,WPA 对于数据的完整性也提供了巨大的改进。WEP 所使用的 CRC(循环冗余校验)先天就不安全,在不知道 WEP 钥匙的情况下,要篡改所载资料和对应的 CRC 是可能的,而 WPA 使用了称为 “Michael” 的更安全的讯息认证码(在 WPA 中叫做讯息完整性查核,MIC)。
2004年,WPA由实现完整IEEE 802.11i标准的WPA2所取代。WPA2相比WPA比较重要的安全改进是使用了AES而非原来的RC4加密方式。
事实上,无论是WPA还是WPA2都有相应的破解方法,具体就是使用DEAUTH攻击使已经连接的客户端断开并重新连接,以产生握手包,之后再用字典进行破解,但是既然使用到了字典,成功率就相当不确定了。
2011年12月28日,安全专家Stefan Viehbock曝出WPS(Wi-Fi保护设置)功能的一个重大安全漏洞,此漏洞允许远程攻击者使用暴力攻击在几小时内就能获取WPS的PIN码和WPA/WPA2的PSK码。pin码是一个8位的整数,破解过程时间比较短。WPS PIN码的第8位数是一个校验和,因此黑客只需计算前7位数。另外前7位中的前四位和后三位分开认证。所以破解pin码最多只需要1.1万次尝试,顺利的情况下在3小时左右。WPS认证流程如下图:
然而,现实情况是很多路由器会对穷举PIN进行限制,每次猜解的间隔时间会越来越长,因此小编之前做过多次尝试从未成功。
由于攻击方式的局限性,以上所述的漏洞大都已经成为历史,现如今对路由器的攻击大多转为针对特定路由器漏洞的攻击,并且从对无线协议弱点的攻击转向对路由器固件、Web界面的攻击。
针对路由器固件的攻击
近年来有不少针对路由器的攻击,很多知名厂商纷纷中招,并且往往连累的是一个系列的产品,这些路由器爆出的漏洞中很多是厂商因维护需要而开设的后门,有一些则是验证机制存在问题,被轻易绕过。
2016年10月,华硕路由器被P2P僵尸网络程序TheMoon感染。华硕旗下RT-AC66U、RT-N66U等多款路由器中使用的ASUS WRT的infosvr中的common.c文件中存在安全漏洞,该漏洞源于程序没有正确检查请求的MAC地址。远程攻击者可通过向UDP 9999端口发送NET_CMD_ID_MANU_CMD数据包利用该漏洞绕过身份验证,执行任意命令。
同月,D-Link DWR-932B LTE路由器中发现多个后门。研究人员发现了D-Link无线路由器会默认使用两个硬编码的秘密账户(admin:admin and root:1234)运行Telnet和SSH服务。攻击者可以轻松地用shell命令行接入这些脆弱的路由器,然后就可以进行中间人攻击,监控网络流量,运行恶意脚本更改路由器设置。而如果将字符串”HELODBG”作为硬编码命令发送到UDP端口39889就可以利用这个后门,就可以在不经过任何验证的情况下在路由器上启动一个root权限的Telnet。
2016年12月,Netgear多个型号路由器曝远程任意命令注入漏洞,攻击者只需要构造网站,在网址结尾加上命令,在未授权得情况下就能以Root权限执行任意命令。
2017年2月,大量Netgear路由器被曝存在密码绕过漏洞。用户试图访问路由器的web控制界面时,需要进行身份验证;如果身份验证被取消,同时密码恢复功能被禁用了,用户就会被重定向到一个页面,而这个页面会暴露密码恢复的token。用户提供了这个token就能获取到路由器管理员密码。
2017年4月,数十款Linksys路由器曝高危漏洞,可致远程命令执行及敏感信息泄露。攻击者就可以在路由器操作系统上以root权限注入执行命令。黑客可能会创建后门账号以长期控制路由器。后门账号不会在web管理界面显示,并且不能被管理员账号删除。
TheMoon僵尸程序的攻击流量
尽管以上提到的案例不多,但这些厂商在路由器市场占到了半壁江山,尤其是Netgear与Linksys,根据NPD Monthly的数据显示,NETGEAR与LINKSYS这两家美国老牌路由器厂商成为了该市场的第一与第二名,并且市场份额超过了60%。而来自亚太地区的D-LINK等厂商则分别领导美国市场的40%份额。
入侵路由器后,黑客便控制了受害者的上网入口,之后能够进行的攻击超乎想象。有些黑客会修改DNS,将它改为恶意DNS,从而可以监控流量,植入广告,或者进行恶意重定向,诱导用户下载恶意软件;而有一些黑客则会利用路由器进行更大规模的DDoS攻击,比如TheMoon僵尸程序、针对IoT设备的僵尸网络Mirai。但实际上,黑客能做的远不止这些,如果要进行针对性的攻击,黑客在内网中进一步进行渗透。
Mirai僵尸网络影响了全球范围内的大量主机
而直到现在,仍然有大量的路由器尚未修复漏洞,小编简单用shodan的搜索结果进行测试,在20个搜索结果中就找到了一台存在漏洞的Netgear R7000路由器,要注意这是前两页的搜索结果,可想而知肯定有大量黑客都已经进行过对这些结果的检查。
之所以网络中仍然存在大量漏洞的路由原因就是厂商无法进行及时的推送,路由器虽然是网络的入口,却没有一种完善的固件更新机制能让用户一直使用到最新的固件,这可能是厂商亟需解决的问题。