0x01 Aircrack-NG 是啥子玩意?

Aircrack-NG是一个与802.11标准的无线网络分析有关的安全软件,主要功能有:网络侦测,数据包嗅探,WEP和WPA/WPA2-PSK破解;
Aircrack-NG可以工作在任何支持监听模式的无线网卡上(设备列表请参阅其官方网站)并嗅探802.11a,802.11b,802.11g的数据。该程序可运行在Linux和Windows以及Mac上。Linux版本已经被移植到了Zaurus和Maemo系统平台, 并概念验证可移植到iPhone(默默的等待各路大神开发出来)

2007年四月,德国达姆施塔特工业大学的研究小组根据Adi Shamir(RSA发明人之一)发表的论文,研究出了一种新的攻击方式。这个名叫“PTW”的方法降低了在解密WEP所需的的初始化向量数量并从aircrack-ng 0.9版本开始被应用

Aircrack-ng是Aircrack项目的一个分支

Aircrack-NG官网: http://www.aircrack-ng.org/

0x02 在Mac上安装Aircrack-NG

第一步: 安装Macport,安装Xcode
安装macport macport 是一个工具 管理软件包的一个工具, 我们也可以通过别的方式安装Aircrack-ng, 但是通过macport安装Aircrack-ng的速度是最快的, (Mac系统要求安装Xcode, 可以参考macport的首页)

第二步: 安装Aircrack-NG
通过shell命令行执行:sudo port install aircrack-ng

在其他系统上安装可参照官方文档:http://www.aircrack-ng.org/doku.php?id=install_aircrack

0x03 使用Aircrack-NG破解WPA/WPA2

关于WPA/WPA2加密方式的知识

介绍:
由于WEP中存在严重的安全漏洞,WIFI联盟制定了WPA和WPA2以取代WEP。其中WPA实现了802.11i的主要部分,提供了对现有硬件的向下兼容,被用来作为WEP到802.11i的过渡。之后的则WPA2完整的实现了整个IEEE
802.1i标准 WPA的根据应用场景的不同采用不同的认证方式,其中面对家庭或小型办公场所网络的WPA-PSK不需要专门的认证服务器,所有该网络中的设备通过使用同一个256-bit的密钥来进行认证

安全隐患:
WPA-PSK认证中的四次握手被设计用来在不安全的信道中,通过明文传输的方式来进行一定程度上的认证,并且在设备之间建立安全信道。首先,PSK会被转化为PMK,而PMK则在接下来被用于生成PTK。PTK则会被分为若干部分,其中一部分被称作MIC Key,用来生成每一个包的Hash值来用于验证
WPA的安全问题与其认证过程所使用的算法关系不大,更多的是由于这一过程可以被轻易的重现,这就使得WPA-PSK可能遭受字典暴力攻击

攻击原理:
根据passphrase,SSID生成PMK,即PMK = pdkdf2_SHA1(passphrase, SSID, SSID length, 4096)
捕获EAPOL四次握手的数据包,得到ANonce,SNonce等信息,用于计算PTK,即PTK = PRF-X(PMK, Len(PMK), “Pairwise key expansion”, Min(AA,SA) || Max(AA,SA) || Min(ANonce, SNonce) || Max(ANonce, SNonce))
使用MIC Key计算EAPOL报文的MIC,即MIC = HMAC_MD5(MIC Key, 16, 802.1x data)
将计算得到的MIC值与捕获到的MIC值对比,如果相同则破解成功

攻击难点
WPA-PSK攻击的主要难点在于大量计算PMK所需要的计算量,一台普通的计算机通常的计算能力在500pmks/s,想要对8位的纯小写字母组合密码进行暴力破解所需要的时间为14年,所以想要破解WPA-PSK只有两种可能,要么用户使用了常见的弱密码,还有就是堆砌计算资源,获得超级计算机量级的计算能力

第一步: 获取当前网卡
通过shell命令行执行:ifconfig -a,我这里的网卡是en0
获取当前网卡

第二步: 获取所有的无线网络
使用Mac系统自带的Airport工具,查看当前的无线网络,以及它们的相关信息,在shell中执行

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

获取所有的无线网络

当然Mac系统自带的Airport工具还有许多功能,下面简单列举一下,想了解更多可以Google一下
-I 显示无线的当前状态 airport -I将提供有关当前无线连接的信息
-s 打印计算机范围内的Wi-Fi网络列表,但是与Airport菜单栏项不同的是,此报告为显示了一堆额外的精确数据
-z 关闭airport,关闭后可以执行sudo ifconfig en0 lladdr 00:00:00:00:00:00:01进行伪装

第三步:开始抓包,收集监听周围无线网络的数据

#参数en0是我电脑的默认网卡,数字153是网卡需要监听的网络频道:
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport en0 sniff 153

当执行以上命令,开始监听以后, wifi的图标会发生改变,变成一个小眼睛一样的图标,然后掏出你的手机(女盆友)连接,不需要正确的密码.我们需要的是捕抓数据包格式

开启监听

监听久一点,然后使用ctrl+c停止监听,系统会把监听到的数据保存到本地,如下图,数据保存到/tmp/airportSniffhHFz2x.cap文件中

停止监听保存数据

第四步:查看cap文件中的数据是否被抓取到

sudo aircrack-ng /tmp/airportSniffhHFz2x.cap

查看cap文件

  • 注意:如果要查询的路由列表的Encryption值为WPA(1 handshake),说明抓取成功,否者跳到第六步,要重新抓取

第五步:输入命令aircrack-ng开始破解

sudo aircrack-ng -w pass-dict.txt -b bc:46:99:df:6c:72 /tmp/airportSniffhHFz2x.cap
参数说明:
-b 后面的参数bc:46:99:df:6c:72指的是网卡的BSSI(通俗一点就是物理地址),最后面的一个文件路径是上一步监听到的数据
-w 后面的参数是字典的路径,只要字典够大,密码破出来应该指日可待,字典可以自己去做或网上下载,能不能破解主要看运气啦

破解成功以后,命令行会显示KEY FOUND,9个问号就是我家的wifi密码啦,过来蹭网吧:

破解结果

如果想破解WEP加密方式的wifi和上述的步骤一样,但前提是你要遇的到使用这种加密方式的小白,毕竟WEP加密方式在2003年时就被WPA加密所淘汰,最后需要声明,这篇文章只用于学术研究,千万别违法犯罪了哦~

最后修改:2022 年 09 月 07 日
-