提示:本文记录了博主的一次WiFi爆破实战
文章目录
- 写在前面
- 一、将网卡连接Kali虚拟机
- 二、网卡配置骤
- 2.1 识别网卡
- 2.2 净化环境
- 2.3 启动监听
- 2.4 探测周边WiFi
- 三、实施攻击
- 3.1 对选定的目标WiFi实施监听
- 3.2 发起DOS攻击
- 3.3 实施爆破
- 写在最后
写在前面
提示:这里仅用作安全测试和渗透测试中的技术交流,读者切勿用来做非法的事情,博主概不负责。
因为职业原因,在外面我从来不连接公共WiFi,都是用自己的流量上网。最近出差频繁导致流量告急,就在想是否可以爆破一个附近的相对安全一点的WiFi,蹭点流量呢?于是上网开始搜索,教程到真是不少,但是需要一个可用来做监听的无线网卡,可惜我手头没有。
因为职业的原因,这件事就在心中发芽了,家里前几年买了个免驱的USB无线网卡,打算出差回家就折腾一下下。出差回家后,翻箱倒柜,找到无线网卡,开始动手,这就是这篇文章的由来。
一、将网卡连接Kali虚拟机
我的Kali是安装在Windows的VMWare下的虚拟机,启动Kali虚拟机,插入无线网卡。这时候VMWare会弹出如下图所示的提示信息。
选择“连接到虚拟机”,并且在虚拟机列表中选择要连接的Kali,然后点击确定按钮。
接下来看看Kali是不是可以搜索到附件的无线信号。
额,各种重启、各种折腾,发现始终无法开启无线连接。上网搜索了一下,发现我的姥爷无线网卡在Windows下是免驱的,在Linux下不是免驱的,那就接下来找对应的Linux版本驱动吧。
通过插拔USB无线网卡,并在Kalil下通过lsusb -tv命令可以识别到无线网卡的ID信息,如下图所示。
个人理解,冒号前面的四位十六进制是貌似是厂家ID,后面四位是型号ID。具体的型号是第二行显示的MT7601U。直接根据ID中的148f和7601从www.linux-usb.org/usb.ids上查找型号,确认是不是MT7601U。
这次稳了,就是这个型号,直接去官网(https://www.mediatek.com/products/broadband-wifi/mt7601u)找驱动源码。
下载对应的驱动源码包DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2。
解压驱动包
$ tar -jxvf DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2
然后编辑安装。
各种变异失败,重新再Git上搜索驱动,也没有一个可用的,折腾了一个下午放弃。直接从京东上买了一个kali免驱的监听无线网卡,几十块钱,基本上标准kali监听都可以直接用,不用额外安装驱动。接下来就是焦急等待到货。
无线网卡到货后迫不及待试了一下,果然很顺畅,kali直接识别了,并且搜索到了附近的WiFi。
二、网卡配置骤
2.1 识别网卡
通过ifconfig看一下是不是能够正常识别到(肯定是可以的,因为前面都已经搜索到信号了)。
没有任何问题,在用iwconfig确认一下(我的强迫症又犯了)。
2.2 净化环境
通过下面的命令,清除一下系统中可能影响WiFi监听的进程。
$ sudo airmon-ng check kill
代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.3 启动监听
通过下面的命令启动监听。
$ sudo airmon-ng start wlan0
通过下面的命令检查一下是否开启监听成功。
$ iwconfig
如上图所示,无线网卡的别名变成了wlan0mon,并且Mode显示未Monitor,说明开启监听成功了。
2.4 探测周边WiFi
通过下面的命令开始探测周边的WiFi。
$ sudo airodump-ng wlan0mon
还挺多的,各种信息一目了然啊,BSSID是无线路由器的MAC地址,PWR是对应的信号强度(绝对值越小信号越强),CH是当前的信道编号,等等。为了讲清楚逻辑原理,我们直接使用自己的已知密码的WiFi。
三、实施攻击
3.1 对选定的目标WiFi实施监听
$ sudo airodump-ng --bssid F4:2A:7D:2A:9D:11 -c 12 -w ~/Desktop/test20230802002-01 wlan0mon
这里说明一下,–bssid后面跟的是目标WiFi的BSSID,-c后面跟的是目标WiFi的信道编号, -w后面跟的是监听抓包的存放位置(这里我们直接放在桌面,文件明是test20230802002-01)。
如上图所示,最后一行的STATION列显示的就是当前连接到目标WiFi上的设备的MAC地址,当前的WiFi还是比较稳定的,丢包率Lost为0。
3.2 发起DOS攻击
通过下面的命令,对WiFi发起DOS工具,似的连接到WiFi上的设备无法正常联网。
$ sudo aireplay-ng -0 1000 -a F4:2A:7D:2A:9D:11 -c F4:84:8D:C8:A0:4E wlan0mon
上面的命令中,-a后面跟的是目标WiFi的MAC地址,-c后面跟的是某个选定的连接到该WiFi的设备的MAC地址。开启DOS攻击后,网络的丢包率飙升,并且还出现的WPA handshake(重新握手,我们需要的就是这个握手包)。
到这里可以停止监听和停止DOS攻击了。
3.3 实施爆破
因为这里只是展示原理和可行性,我手工随便构建了一个用于爆破的WiFi密码字典(网上有很多,大家可以自行下载使用),顺便把我们目标WiFi的密码也写到了WiFi密码字典中,接下来我们就用这个WiFi字典对用刚才的WiFi握手包进行爆破。
$ sudo aircrack-ng -w ~/Desktop/wifi-dic.txt ~/Desktop/test20230802002-01.cap
说明一下,-w后面跟的是我们选定的用于爆破的WiFi密码字典,在后面跟的是我们刚才监听目标WiFi过程中抓获的包括握手报文的抓包文件。
分分钟就爆破成功了。实战过程中,这依赖于我们的WiFi字典,高质量的字典会直接导致我们的爆破成功率飙升。
写在最后
这里再重申一遍,本文只做技术交流,并提醒大家设置健壮的WiFi密码,使用安全的WiFi协议,希望读者不要用本文内容干非法的事情。