Wireless路由/接入点攻击

近些年来,越来越多的用户的网络接入方式由有线转向了无线,其中不乏大量的个人用户,使用着各式各样的消费级无线路由器/无线接入点。无线安全的发展也历经了十年时间,然而这并不代表个人用户所使用的无线鉴权方式的安全性得到了很大的改善。

在最开始,我们首先来记住一句话:

任何系统都有他的薄弱之处!

无线安全等级我大致划分如下:

  • 无无线安全性设置;
  • WEP安全设置;
  • WPA/WPA2安全设置。

对于企业用户来说,接入点不使用安全性设置一点问题也没有,他们完全可以利用认证网关的方式达到安全性要求,而忽略接入点的安全性以获得更高的兼容性。对于个人用户来说,不设置接入点鉴权,就意味着将你的网络没有防范的摆在每一个人面前,除去数据被截获的担忧意外,对于一般个人用户来说更重要的是,你向运营商付费获得的带宽可以很轻易地被他人占用,或者说,被蹭网。

那么我们现在来看一下两大安全鉴权方式:

WEP

这是一个过时的方式。面对蹭网者,WEP加密仅仅是在不加密的基础上多了一层窗户纸。这层窗户纸能够帮你挡掉小白型的机会蹭网者,但是对有着丰富蹭网经验的人来说,真的是一层窗户纸而已。

这是因为WEP在设计的时候有漏洞,他不会更新IV(初始向量),导致了攻击者在截获了足够数量的数据包以后,完全可以用一定的算法计算出你的加密密钥。一般来说15000数据包是足够计算的了。

破解WEP加密,主要的时间消耗在于数据包的获取,一旦有了足够的数据包,解密只是十几秒的事情。

在没有其他因素干扰的情况下,数据包的获取速度与在线客户端网络使用量、攻击者与接入点之间的信号强度成正比。而攻击者可以使用各种注入攻击,虚假ARP请求等方式来加速获取数据包。另外,有实验表明,无客户端连接的情况下,也完全可以达成对WEP加密的接入点的攻击。

WPA/WPA2

这种加密方式与WEP相比有了很大的提高,他会定时更换随机生成的IV,就目前来说还没有一个像WEP一样的漏洞可以保证一定能够获得加密密钥。但是记住,任何系统都有薄弱点,这个薄弱点很可能就是用户自己!WPA强制使用8位以上密钥,但是如果这个密钥只是弱密码呢?笔记本把8位纯数字跑一遍也不过4个小时,更何况8个1,8个0,12345678或者年月日这种弱密码呢!WPA/WPA2的攻击方法是截获握手包并且利用预先生成的字典文件进行检测。在有客户端连接的情况下,握手包的获取速度很快,一般在5分钟以内。使用Fake Auth等方法更能加快这一过程。在我的笔记本上,Windows下的EWSA可以达到7000key/s的检测速度,弱密码跑一遍估计就是2秒钟。

那么是不是说设置一个复杂的长密码就可以高枕无忧了呢?不是这样的。现在很多家用路由器提供了快速连接WPS功能,一般是通过物理按钮完成无密钥连接。但是WPS实际上还有一个PIN码连接的功能,该功能的设计有缺陷,8位的PIN码全部跑一遍应该是(10^8)数量级,而设计缺陷使得8位PIN码被一分为三:4位第一部分,3位第二部分,1位校验位。所以实际上的数量级是:(10^4+10^3=11000),而平均期望为5500。

按照6s一个PIN码的保守估计,平均用时9小时就一定能够获得真实的PIN码和密钥。而考虑到实际过程当中,会使用加强天线等方式,以及各个厂家的PIN码其实是有规律可循的,总体时间可以控制在2小时以内。不管设置的密钥有多么长,多么复杂,一切皆是无用。