MIS WiFi安全相关-aircrack-ng破解WiFi密码
这篇文章基本按照Aircrack-ng破解无线WIFI密码这篇文章进行复现,同时记录了笔者遇到的、此文中没有记录的一些问题,作为学习笔记。
实验目的
-
WiFi密码破解
利用有监听功能的WiFi网卡和aircrack-ng完整完成一次对WiFi AP的密码破解,详细记录过程,完成实验报告。
-
虚拟环境:kali 2021.4
实验步骤
WIFI密码破解
准备好无线网卡后,尝试让虚拟机识别,在virtual box的设置-usb设备中确认添加,实际上这是一个筛选器,设备添加后重新插拔就无需自己再手动勾选了,如下图所示。每人网卡不一样,但是在USB设备中有WLAN的那一个大概率就是你的无线网卡了,如果无法识别,请尝试重新插拔,当然也有可能是网卡驱动问题,可以用tail -F /var/log/messages
命令后重新插拔,查看有无报错信息。
在这个地方本人遇到了一些奇怪的问题……一开始USB设备中只有USB1.1的选项,这导致我的无线网卡在使用的时候出现了一些诡异的错误,比如可以正常识别但是无法监听到任何一个WIFI。冲浪后察觉到可能是因为virtualbox的扩展包问题,上网重新下了一个对应版本的扩展包,重新加载就好了。
扩展包下载地址:https://www.virtualbox.org/wiki/Download_Old_Builds_6_1
在虚拟机终端里输入iwconfig
查看无线网卡名,或者用iw phy
查看物理信息,其中最重要的有三种模式: AP, managed,以及monitor;分别表示搭建网络能力、正常网卡使用能力以及监听能力,网卡必须有monitor模式才能完成本次实验;如果你遇到驱动问题,也可以在这里找到对应的信息并自己补上相关驱动。
设置网卡为监听模式sudo airmon-ng start wlan0
,在网卡开启了监听模式之后网卡的名字就变为wlan0mon
了,以后的所有命令中的网卡名都是叫wlan0mon
,你也可以再用iwconfig
命令确认无线网卡此时的模式是monitor,即监听模式。
扫描附近的WIFI:sudo airodump-ng wlan0mon
,会显示附近所有的WIFI信号
- BSSID代表路由器的 MAC 地址
- PWR 代表信号的强度,数值越大代表信息越强
- CH 代表信道
- ENC代表用的加密的方式
- AUTH 代表认证的方式
- ESSID是WIFI的名字
注意这里的提示信息,kali有一些自带的进程可能会干扰我们的监听,像笔者这里就有4个进程可能会干扰监听,必须在开启监听模式之前杀掉这些进程
sudo airmon-ng check kill
不然我们实际上是监听不到任何信号的,像上图所示。
正确的启用监听模式之后,我们就可以着手破解了,这里选定我自己准备的WIFI,下图中信道为11的OpenWrt_2G,加密模式为WPA2-PSK,也是当前常用的加密方式。
sudo airodump-ng -w openwrt_2g -c 11 --bssid 34:CE:00:69:11:BF wlan0mon # -w 参数指定生成的文件名 -c 指定信道 --bssid指定路由器的MAC地址
下面的 STATION 是连接该WIFI的客户端,下面这里只有一个客户端连接了该WIFI。如果有多个客户端连接的话,我们最好选择活跃点的客户端,当然在这里指的就是我们自己,多尝试访问几个网站,不然可能抓不到握手包,导致实验失败。
重新打开一个命令行窗口,开始攻击,之前的窗口继续保留,用于观察是否抓包成功;该命令会打断连接客户端和WIFI之间的连接,等到客户端重新连接WIFI的时候,就会抓取他们之间的握手认证包!
sudo aireplay-ng -0 90 -a 34:CE:00:69:11:BF -c 74:D8:3E:05:FD:3E wlan0mon # 90是发包的数量 -a指定路由器的MAC地址 -c指定连接的客户端的MAC地址
看到下图中被圈起来的部分就说明握手包已经成功抓取了。
找到生成的文件,有不少,但我们只需要用到其中以.cap为后缀的文件就可以了
对抓取到的cap包进行破解,这需要我们准备好破解的密码字典。所以,无论是任何破解,都需要一个强大的密码字典!kali下自带有一份无线密码字典 /usr/share/wordlists/rockyou.txt.gz
,将其解压。
cd /usr/share/wordlists/rockyou.txt.gz
sudo gzip -d rockyou.txt.gz
sudo aircrack-ng -w /usr/share/wordlists/rockyou.txt -b 34:CE:00:69:11:BF openwrt_2g-01.cap #-w指定密码字典 -b指定路由器的MAC地址
注意,你可能会在打开wireshark时遇到错误,如果错误显示如下:
Lua: Error during loading: /usr/share/wireshark/init.lua:310: attempt to call global 'get_wtap_filetypes' (a nil value) stack traceback: /usr/share/wireshark/init.lua:310: in main chunk
那么请参考以下解决方案:
sudo vim /usr/share/wireshark/init.lua enable_lua = flase # 改为false
再打开wireshark即可解决
提醒一下,抓取握手包很有可能失败,如果你在输入上面的命令时遇到 1 potential targets Packets contained no EAPOL data; unable to process this AP.
的报错信息,就说明你抓的包内没有握手信息。遇到可以多试几次,总会成功的。如图,我们已经成功破解了WIFI密码,12345678.
参考链接
Aircrack-ng破解无线WIFI密码
无线网卡配置与使用