无线WiFi网络的密码破解攻防及原理详解
2020-07-22
今天我们就以本篇文章内容给大家梳理一下"无线WiFi网络的密码破解攻防及原理"!
一、 WiFi的加密方式
这里以无线路由器的WiFi加密方式讲解。
目前无线路由器里带有的加密模式主要有:WEP,WPA-PSK(TKIP),WPA2-PSK(AES)和WPA-PSK(TKIP)+WPA2-PSK(AES)。
1. WEP(有线等效加密)(很容易被破解)
WEP是WiredEquivalentPrivacy的简称,802.11b标准里定义的一个用于无线局域网(WLAN)的安全性协议。WEP被用来提供和有线lan同级的安全性。LAN天生比WLAN安全,因为LAN的物理结构对其有所保护,部分或全部网络埋在建筑物里面也可以防止未授权的访问。经由无线电波的WLAN没有同样的物理结构,因此容易受到攻击、干扰。WEP的目标就是通过对无线电波里的数据加密提供安全性,如同端-端发送一样。WEP特性里使用了rsa数据安全性公司开发的rc4prng算法。如果你的无线基站支持MAC过滤,推荐你连同WEP一起使用这个特性(MAC过滤比加密安全得多)。尽管从名字上看似乎是一个针对有线网络的安全选项,其实并不是这样。
WEP标准在无线网络的早期已经创建,目标是成为无线局域网WLAN的必要的安全防护层,但是WEP的表现无疑令人非常失望。它的根源在于设计上存在缺陷。在使用WEP的系统中,在无线网络中传输的数据是使用一个随机产生的密钥来加密的。但是,WEP用来产生这些密钥的方法很快就被发现具有可预测性,这样对于潜在的入侵者来说,就可以很容易的截取和破解这些密钥。即使是一个中等技术水平的无线黑客也可以在两到三分钟内迅速的破解WEP加密。
IEEE802.11的动态有线等效保密(WEP)模式是二十世纪九十年代后期设计的,当时功能强大的加密技术作为有效的武器受到美国严格的出口限制。由于害怕强大的加密算法被破解,无线网络产品是被被禁止出口的。然而,仅仅两年以后,动态有线等效保密模式就被发现存在严重的缺点。但是二十世纪九十年代的错误不应该被当著无线网络安全或者IEEE802.11标准本身,无线网络产业不能等待电气电子工程师协会修订标准,因此他们推出了动态密钥完整性协议TKIP(动态有线等效保密的补丁版本)。
尽管WEP已经被证明是过时且低效的,但是今天在许多现代的无线访问点和无线路由器中,它依然被支持的加密模式。不仅如此,它依然是被个人或公司所使用的最多的加密方法之一。如果你正在使用WEP加密,如果你对你的网络的安全性非常重视的话,那么以后尽可能的不要再使用WEP,因为那真的不是很安全。
2. WPA-PSK(TKIP)(安全性较高,但是也可以被破解)
无线网络最初采用的安全机制是WEP(有线等效加密),但是后来发现WEP是很不安全的,802.11组织开始著手制定新的安全标准,也就是后来的802.11i协议。但是标准的制定到最后的发布需要较长的时间,而且考虑到消费者不会因为为了网络的安全性而放弃原来的无线设备,因此Wi-Fi联盟在标准推出之前,在802.11i草案的基础上,制定了一种称为WPA(Wi-FiProctedAccess)的安全机制,它使用TKIP(临时密钥完整性协议),它使用的加密算法还是WEP中使用的加密算法RC4,所以不需要修改原来无线设备的硬件,WPA针对WEP中存在的问题:IV过短、密钥管理过于简单、对消息完整性没有有效的保护,通过软件升级的方法提高网络的安全性。
WPA的出现给用户提供了一个完整的认证机制,AP根据用户的认证结果决定是否允许其接入无线网络中;认证成功后可以根据多种方式(传输数据包的多少、用户接入网络的时间等)动态地改变每个接入用户的加密密钥。另外,对用户在无线中传输的数据包进行MIC编码,确保用户数据不会被其他用户更改。作为802.11i标准的子集,WPA的核心就是IEEE802.1x和TKIP(TemporalKeyIntegrityProtocol)。
WPA考虑到不同的用户和不同的应用安全需要,例如:企业用户需要很高的安全保护(企业级),否则可能会泄露非常重要的商业机密;而家庭用户往往只是使用网络来浏览Internet、收发E-mail、打印和共享文件,这些用户对安全的要求相对较低。为了满足不同安全要求用户的需要,WPA中规定了两种应用模式:企业模式,家庭模式(包括小型办公室)。根据这两种不同的应用模式,WPA的认证也分别有两种不同的方式。
对于大型企业的应用,常采用"802.1x+EAP"的方式,用户提供认证所需的凭证。但对于一些中小型的企业网络或者家庭用户,WPA也提供一种简化的模式,它不需要专门的认证服务器。这种模式叫做"WPA预共享密钥(WPA-PSK)",它仅要求在每个WLAN节点(AP、无线路由器、网卡等)预先输入一个密钥即可实现。这个密钥仅仅用于认证过程,而不用于传输数据的加密。数据加密的密钥是在认证成功后动态生成,系统将保证"一户一密",不存在像WEP那样全网共享一个加密密钥的情形,因此大大地提高了系统的安全性。
二、针对WiFi网络的密码破解方法
1. 主流方法:
不需要技术的破解方法,利用手机端"WiFi万能钥匙"等软件蹭网。
在抓到客户端与目标WiFi的握手包后实施基于密码字典的暴力破解,成功率取决于目标WiFi的密码强度、字典的大小或准确度、实施爆破的机器运算性能。
在开启了wps功能的WiFi,使用pin码猜解的方法获得WiFi密码。
2. 原理:
WiFi万能钥匙"类App的真正原理是,收集用户手机上成功连接过的WiFi账号和密码,并上传、存储到App的服务器上,等到附近的蹭网者搜索到同一个网络时,该App就可以根据附近热点的配置信息,从服务器上自动匹配并取得相应的密码,通过数据流量发送到手机端,从而完成WiFi连网。
(1) 暴力破解的原理
普通的无线路由器,加密方法一般使用wpa 、wpa2或wep,wep因为太不安全极易被破解在现行的无线路由器上已基本取消。所以我们搜索到的待破WiFi基本都是wpa或wpa2加密的。至于使用认证服务器(如radius等)的wpa认证在个人无线WiFi领域基本不可能,所以通常我们能搜索到的待破WiFi都是基于本地密码的wpa或wpa2加密WiFi。
破解wpa和wpa2加密的WiFi网络的基本原理通俗来讲,我们需要先在无线网卡监听模式下搜集目标WiFi的信息,例如ssid(WiFi名称)、BSSID(也就是目标WiFi无线路由器的MAC)、已连接的客户端mac、信号强度等信息。然后发送伪造的取消关联的数据包迫使已连接到该WiFi的客户端与WiFi断开连接,重点是,断开连接后,客户端会重新尝试发起连接到该WiFi网络,这时客户端会发送一个带有认证密码的数据包以便请求重新连入WiFi,这个包俗称为握手包。这时我们的攻击机利用攻击程序和无线网卡监听抓取到这个握手包,这个握手包里就含有WiFi密码,但这个密码当然是经过加密的,所以后续就需要我们使用攻击程序调用密码字典结合获取到的BSSID、客户端MAC等信息进行运算,不断运算字典中的每一个密码,直到有一个密码使用wpa算法能算出一个与抓到的握手包中一致的加密字串,这个就是目标WiFi的密码了。如果把字典里的每一个密码都算过一遍仍然没有一个与抓取到的握手包加密字串一致的,就破解失败,退出,构造新的字典再试。
(2) pin码破解WiFi密码
在早期的无线路由器上开启了wps功能,这个功能简单来讲就是为了方便设备连接WiFi,不需要每次都繁琐的输入密码而设立的一个8位的纯数字字串,客户端可以通过pin码快速关联路由器WiFi。wps这个功能的设计初衷是方便用户连接WiFi,却成为破解WiFi最有效的手段,因为8位纯数字的pin码,最多只有1亿种可能的组合,而由于最后一位是前七位的校验和,所以只需要猜解前七位,猜解的可能组合数就只有一千万种了,又由于发送pin码连接WiFi,pin码前4位出错的返回报错内容和后三位错误的返回报错报文内容不同,所以只需要先猜前四位,前四位对了再猜后面三位,都对了以后最后一位校验和自动可算出来,所以实际最多只需要猜解10000+1000种组合,一般我们2秒种尝试一个pin码,那么理论上最多花费6个小时就一定可以猜解出目标路由器的pin码,进而获取到WiFi密码。