0x00前言
随着互联网的发展,WiFi被发明出来,它是一个创建于IEEE 802.11标准的无线局域网技术。随着WiFi普及,如今WiFi几乎存在于所有的集体商户或 个人家庭,在个人家庭有时候会出现忘记密码的时候,这时候就可以用到今天演示的实验了,废话不多说了,开搞~
准备工作: 我使用的环境是虚拟机,物理机是笔记本,根据kali官方文档得知,虚拟机kali并不能使用物理机自带的无线网卡,所以我们要准备一块USB无线网卡,一定要买兼容kali和免驱的(来自踩坑者的建议)。如果是物理机上直接装kali的狼人,当我没说~
0x01破解原理
首先我们看张图:
说明: 图中椭圆为WiFi覆盖区域,中间有一个路由器,上面是三台正常连接WiFi的设备(虚线说明是无线连接),我们的攻击机是kali,首先kali可以监听他们之间的连接情况,然后向路由器发起攻击,所有连接的设备会掉线,接下来设备会重新进行连接,这时候kali可以抓取他们连接时候的握手包,最后对握手包里加密的密文进行爆破即可~(一般WiFi密码不会设置太复杂,爆破几率还是很大的)
0x02实验过程
实验环境搭建: 我这里使用手机开热点作为攻击的目标(路由器),使用我的物理机笔记本连接热点(正常连接设备),开启虚拟机kali并把有线连接关闭(尽可能防止实验干扰),插入我们准备的无线网卡,这里虚拟机会提示连接到物理机还是虚拟机,选择虚拟机kali即可~
首先在kali中打开终端,使用“ifconfig”命令查看网卡信息
可以看到“wlan0”就是我们插入的无线网卡了
要想网卡为我们的工具效劳,需要开启网卡的监听模式,使用如下命令
airmon-ng start wlan0 //指定网卡名字wlan0,开启监听模式
这里有可能收到提示,别的程序在占用网卡,可以使用标红处命令清理以下
airmon-ng check kill //清理掉占用网卡的程序,使airmon-ng工具可支配网卡
到这里已经开启了网卡的监听模式了,怎么能证明?我们查看一下
查看网卡信息,可以看到wlan0变成了wlan0mon,这就是开启侦听模式的标志
接下来我们可以扫描发现一下附近的WiFi
airodump-ng wlan0mon //指定监听模式下的网卡名字
我们可以看到上图就是附近所有WiFi的信息了,一般信号最强的在第一行,也是我们此次实验的目标,这时候可以ctrl+c结束一下
接下来使用一条命令只对我们的目标进行侦听抓包,不理会其他WiFi
airodump-ng --bssid B4:CD:27:DF:BF:AE -c 1 --write yto wlan0mon
//--bssid参数指定目标的MAC地址,-c参数指定信道数,也就是CH那一列,--write参数指定抓到的包存放文件名字,wlan0mon指定网卡名字
这里可以看到前三行是WiFi热点信息,后两行则是我笔记本连接WiFi热点的状态,让这个终端放着,重新打开一个终端,对WiFi热点攻击,使所有设备断开连接
aireplay-ng -0 5 -a B4:CD:27:DF:BF:AE wlan0mon //-0参数指定发送攻击数据包的个数,-a参数指定攻击设备的MAC地址,wlan0mon指定无线网卡名字
这里显示命令执行结果,发送了5个数据包,还记得第一个终端吗?我们去查看一下
如果出现标红区域这一条数据,就说明已经抓到了设备与热点之间的握手包并存放在了此目录下,如果没有显示,可以按上一步多发送几次,再来查看
我们来查看一下抓到的包
还记得不记得刚才命名的yto,这个yto-01.cap就是抓到的握手包
接下来我们进行爆破,首先准备一个字典,在上图中可以查看为pass.txt
使用下条命令爆破
aircrack-ng -w pass.txt yto-01.cap //-w参数指定密码字典,yto-01.cap为握手包
这时候会惊喜的发现密码已经爆破完毕了,速度还是挺快的,使用密码即可登录
0x03总结
以上就是破解WiFi密码的全过程和原理,在这声明一下,本文仅做技术交流,劝戒大家使用自己搭建的环境,不要去攻击别人的WiFi!
The end~