在MacOS上使用Aircrack-ng获取WiFi密码

思路:

用户与路由器建立连接时确认身份,是通过发送一个将密码进行hash加密后的握手包进行的。因此我们只需要监听并获得该握手包,通过比对字典中的hash值即可确定密码明文。

步骤:

一、准备

  1. 安装Homebrew

    打开终端,输入如下命令安装。安装完毕后可通过输入“brew --version”查看是否安装正确。(如下载缓慢可以使用科学上网)

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. 安装Aircrack-ng

    使用Homebrew安装,输入如下命令。安装完毕后可通过输入“aircrack-ng”查看是否安装正确。

    brew install aircrack-ng 
  3. 下载密码字典

    密码字典包含多个txt文件,是对一些常规密码的穷举,基本上大部分人为设置的都能匹配到。(参考这篇文章中的字典)

二、开始

  1. 查看本机网卡信息

    点击“->关于本机->系统报告”,左边列表点击“网络”。查看Wifi的BSD设备名称。这里是en0。

    在MacOS上使用Aircrack-ng获取WiFi密码_第1张图片

  2. 查看周围Wifi信道

    输入如下命令,获取Wifi列表,如图所示(为保护隐私,Wifi名称没有截全)。其中SSID为名称,BSSID为路由器MAC地址,RSSI为信号强度,CHENNEL为信道,SECURITY为加密方式。这里假设我们要获取密码的Wifi信道为10。

    sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport -s

  3. 监听想要获取密码的对应Wifi的信道,等待获取握手包

    输入如下命令,开始监听。其中en0和10分别为网卡和信道。这里有一个不便的地方在于看不到过程中是否有握手发生,只能自己选择大概率能发生Wifi连接的时段进行监听(例如大家下班回家的时段)。结束监听使用control+C,这个过程会在/tmp文件夹下生成一个.cap文件,包含了监听到的包的信息,这里我生成的文件名是airportSniffhKI8Kg.cap。

    sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A/Resources/airport en0 sniff 10

  4. 查看监听结果

    输入如下命令,查看监听结果。发现想要获取密码的Wifi在这段时间产生了握手包(1 handshake),是第19行。

    sudo aircrack-ng /tmp/airportSniffhKI8Kg.cap

    在MacOS上使用Aircrack-ng获取WiFi密码_第2张图片

  5. 使用字典破解

    进入字典所在目录,输入如下命令,选择对应行号19。字典文件里包含多个.txt文件,如果一个破解不出来,就使用下一个。这里我使用第一个就成功破解了。

    sudo aircrack-ng -w wifi1.txt /tmp/airportSniffhKI8Kg.cap

    在MacOS上使用Aircrack-ng获取WiFi密码_第3张图片

     

参考:

MAC系统下破解WIFI密码(亲测可用,含wifi密码字典) - HZX↑ - 博客园

GitHub - ZoraZora59/Get_Wifi_Password_On_MacOS: 在MacOS上,利用Aircrack-ng等工具获取附近可见wifi的明文密码

你可能感兴趣的:(其他,macos,网络,网络协议)