Aircrack-ng无线审计工具使用
Aircrack-ng工具
Aircrack-ng是一个与802.11标准的无线网络分析的安全软件,主要功能有网络探测、数据包嗅探捕获、WEP和WPA/WPA2-PSK破解。Aircrack可以工作在任何支撑监听模式的无线网卡上,并嗅探802.11a、802.11b、802.11g的数据包。
1.1、Aircrack-ng工具集
Aircrack-ng是一个包含了多款工具的无线安全审计套装。
1.1.1、Aircrack-ng工具集组成
1.1.2、设置监听模式-Airmon-ng
Airmon-ng主要用来设置监听模式,只有将无线网卡设置为监听模式,才可以捕获到无线网络中所有的数据包。Airmon-ng工具使用方法如下:
airmon-ng <start|stop> <interface> [channel] # 将无线网卡置于监听模式
airmon-ng <check> [kill] # 杀死所有可能干扰无线网卡工作的程序
-start|stop:表示启用或停止监听。
-interface:指定监听模式的接口。
-channel:指定无线网络的信道。
-check:列出所有可能干扰无线网卡的的程序。
-kill:杀死所有可能干扰无线网卡工作的程序。
airmon-ng check kill
将无线网卡连接到计算机上,设置无线网卡直接连接kali虚拟机,然后查看无线网卡是否安全成功,并开启监听模式。iwconfig查看无线网卡是否被激活,如未激活使用ifconfig wlan0 up激活。从输出的信息中看到无线网卡已经被置于Monitor(监听)模式,驱动和芯片分别是rt2800usb和Ralink Technology, Corp. RT2870/RT3070。 如果想要恢复管理模式执行:airmon-ng stop wlan0mon
airmon-ng start wlan0 11
1.1.3、捕获数据包-Airodump-ng
Airodump-ng主要用来进行数据抓包,以供Aircrack-ng进行破解。Airodump-ng使用方法如下:
Airodump-ng [选项] [Interface name]
Interface name:指定捕获数据包的接口,指定的接口必须是监听的接口名称。执行命令后将显示扫描到的附近所有的无线AP及连接的客户端信息。执行airodump-ng命令后需要按下Ctrl+C键停止扫描。
airodump-ng wlan0mon
显示的一些信息参数的说明:
BSSID:表示无线AP的MAC地址。在客户端会话中,如果BSSID值为“not associated”时,表示客户端没有关联任何AP。
PWR:网卡报告的信号水平,它主要取决于驱动。当信号值超高时,说明AP或计算机越近。如果BSSID的PWR为-1,说明网卡的驱动不支持报告信号强度。如果部分客户端PWR为-1,那么说明该客户端不在当前网卡能监听到的范围内,但是能捕获到AP发往客户端的数据包。如果所有的客户端PWR值都为-1,那么说明网卡驱动不支持信号强度报告。
RXQ:该参数在指定扫描一个固定频道的数据包时才显示,表示接收数据包的质量。它用过去10秒钟内成功接收到的分组(管理和数据帧)的百分比来衡量。
Beacons:无线AP发出的包数,每个接入点(AP)在最低速率(1M)时差不多每秒会发送10个左右的beacon,所以它们在很远的地方就被发现。
#Data:被捕获到的数据分组的数量(如果是WEP,则代表唯一IV的数量),包括广播分组。
#/s:过去10秒钟内每秒捕获数据分组的数量。
CH:信道号(从Beacon包中获取)
MB:无线AP所支持的最大速率。如果MB=11,它是802.11b;如果MB=22,它是802.11b+;如果更高,就是802.11g。后面的点(高于54之后)表示支持短前导码。“e”表示网络中有QoS(802.11e)启用。
ENC:使用的加密算法体系。OPN表示无加密。WEP?表示WEP或者WPA/WPA2,WEP(没有问号)表明静态或动态WEP。如果出现TKIP、CCMP或MGT,那么就是WPA/WPA2。
CIPHER:检测到的加密算法,CCMP、WRAAP、TKIP、WEP、WEP104中的一个。典型的来说(不一定),TKIP与WPA结合使用,CCMP与WPA2结合使用。如果密钥索引值大于0,显示为WEP40。标准情况下0-3是40bit,104bit应该是0。
AUTH:使用的认证协议。常用的有MGT(WPA/WPA2使用独立的认证服务器,平时我们常说的802.1x,radius、eap等),SKA(WEP的共享密钥),PSK(WPA/WPA2的预共享密钥)或者OPN(WEP开放式)。
ESSID:也就是所谓的SSID号。如果启用隐藏的SSID的话,它可以为空,或者显示为<length>。这种情况下,airodump-ng试图从proberesponses和associationrequest中获取SSID。
STATION:客户端的MAC地址,包括连上的和想要搜索无线来连接的客户端。如果客户端没有连接上,就在BSSID下显示“not associated”。
Rate:表示传输速率。该参数只有使用单个信道时才会显示。
Lost:在过去10秒内丢失的数据分组,基于序列号检测。它意味着从客户端来的数据丢包,每个非管理帧中都有一个序列号字段,把刚接收到的那个帧中的序列号和前一个帧中的序列号一减就可以知道丢了几个包。
Frames:客户端发送的数据分组数量。
Probe:被客户端查探的ESSID。如果客户端正试图连接一个AP,但是没有连接上则将会显示在这里。
Airodump-ng工具是以一种交互形式运行的,在交互模式下可以进行一些其他操作。其中可使用的命令如下:
a:选择活动区域中的内容,其中,可现实的选项有AP+STA+ACK、仅AP和仅STA。
d:重置为默认值(Power)
i:反向排序顺序
m:标记被选择的AP
r:激活实时排序
s:通过beacon数字排序
SPACE:暂停铺货数据包。再按一下SPACE键,则将继续捕获数据包。
TAB:启用或禁用滚动AP列表
UP:选择之前在AP列表中标记的AP。
DOWN:选择当前标记后的AP
1、过滤数据包
默认情况下会显示所有扫描到的无线网络数据包,为了方便分析,我们可以对数据包进行过滤。例如,根据加密方式、信道、工作模式、BSSID、ESSID等。
下面将演示几种过滤数据包的情况。
(1)当我们拥有一个非常强大的密码字典时,可以选择破解加密方式为WPA、WPA1或WPA2的数据包。例如,仅捕获目标AP为WPA2加密方式的数据包,执行如下命令:
airodump-ng -t WPA2 wlan0mon
(2)当选择了将要破解的目标网络时,可以指定仅捕获BSSID或ESSID的包。例如捕获BSSID为,ESSID为xxx的包。执行命令如下:
airodump-ng -N Micr067 wlan0mon
(3)默认情况下,airodump-ng将会捕获所有工作在2,4GHz信道的数据包。信道是以无线信号作为传输媒体的数据信号传送通道。目前主流的WiFi网络设备不管是802.11b/g还是802.11b/g/n模式,一般都支持13个信道。为了提高捕获数据包的效率,可以指定仅捕获某信道的包,例如,仅捕获目标AP信道为11的数据包,执行如下命令:
airodump-ng -c 11 wlan0mon
如果不指定工作信道,将会对所有信道的AP进行扫描,并捕获其数据包。可以使用-b选项通过指定工作模式,来替换信道对包进行过滤。使用-b参数可以指定的工作模式包括a、b、g三种。其中b和g模式工作的是2.4GHz,a模式工作的频段是5GHz。例如指定捕获bg模式数据包可以执行如下命令:
airodump-ng -b bg wlan0mon
(4)如果想要破解WEP加密的无线网络时,可以使用--ivs选项设置过滤。--ivs选项表示不保存所有的无线数据,而只是保存可用于破解的IVS数据报文,这样可以有效的缩减保存数据包的大小。因为破解WEP包时,只需要捕获足够的IVS数据报文即可将密码破解出来。不像WPA/WPA2加密的网络,必须捕获到握手包才可以。通常该参数会和-w选项同时使用。“-w”选项表示将捕获的数据包保存在某文件中。其中,执行命令如下:
airodump-ng --ivs -w dump wlan0mon
执行以上命令,生成的文件包名为dump-01.ivs,因为airodump-ng为了方便后面破解时的调用,所以对保存文件编了号,依次是dump-01.ivs、dump-02.ivs...
2.显示设置
airodump-ng在捕获数据包时,终端显示结果不断的刷新。我们可以使用不同的选项重新设置airodump-ng自动更新显示结果的时间。可以设置的选项如下:
-u <secs>,--update <secs>:设置显示更新之间的延迟,单位为秒。默认更新时间为1秒。
--berlin <secs>:设置当前终端不接受数据包时,删除多长时间之前的AP或客户端。默认,是120秒。
-U,--uptime:显示AP正常运行的时间。当使用该选项后,输出结果中将会显示一个名为UODATE的列。
-I <seconds>,--write-interval <seconds>:将输出结果写入到文件的时间间隔。
显示目标AP正常运行的时间,命令如下:
airodump-ng -U wlan0mon
3.保存捕获的数据包
为了方便进行分析或者破解目标网络,可以将airodump-ng工具捕获的数据包保存到一个文件中。airodump-ng工具捕获的数据包文件都有对应的工具可以打开,然后即可分析捕获的数据包。当使用aircrack-ng进行破解网络时,就是通过分析捕获的包文件来破解密码的。
将捕获的数据包保存在名为packet文件中,执行如下命令,会生成以下5个文件,其中packet-01.cap是用来破解WPA/WPA2加密的无线网络的。
airodump-ng -w packet wlan0mon
在使用airodump-ng捕获数据包时,可以同时制定多个选项,例如捕获BSSID(MAC地址)为50:2B:73:18:ED:81的AP所有的数据包,并将保存文件命名为packet,以及指定该AP工作的信道,命令如下:
airodump-ng -w packet --bssid 50:2B:73:18:ED:81 -c 2 wlan0mon
.ivs包和.cap包的区别:
若只是为了破解的话,建议保存为.ivs,优点是生成文件小且效率高。若是为了破解后同时对捕获到的数据包进行分析的话就保存为cap。这样就能及时作出分析,如内网IP地址、密码等。当然,缺点就是文件会比较大。
4.读取数据包
airodump-ng工具可以读取一个捕获文件(文件后缀为cap)中的数据包。使用tcpdump和wireshark工具捕获的数据包也可以使用airodump-ng来读取,分析包的内容。
airodump-ng -r 捕获文件
1.1.4、注入数据包-aireplay-ng
aireplay-ng是一个数据包注入工具,它可以指定AP发送结束认证包,将一个或多个客户端与AP断开连接。该工具的主要目的是强制客户端握手(重新连接),从而获取WPA/WPA2握手数据包。该工具主要是结合airodump-ng来使用的。所以在使用aireplay-ng工具进行数据包注入时,airodump-ng必须处于运行状态。aireplay-ng使用方法如下:
aireplay-ng [选项] [replay interface]
aireplay-ng共提供了10种攻击模式(常用的是前5种):
-0 count,--deauth count:Deauth攻击模式,count表示发送次数,如果设置为0,则表示循环攻击,不停的断开连接,客户端无法正常上网。
-1 delay,--fakeauth delay:伪装一个客户端和AP进行连接,其中delay表示连接的延迟时间。
-2,--interactive:交互攻击模式。
-3,--arpreplay:ArpRequest注入攻击模式,这种模式是一种抓包后分析重发的过程。
-4,--chopchop:攻击模式,用来获得一个包含密钥数据的xor文件。
-5,--fragment:碎片攻击模式,用来获得PRGA(包含密钥的后缀为xor的文件)
-6,coffe-latte:客户端查询新IV(初始化向量)。
-7,--cfrag:对一个客户端的片段。
-8,--migmode:攻击WPA迁移模式。
-9,--test:测试注入和质量。
(1)、当希望连接某个AP时,可以使用伪装客户端连接的攻击模式,命令如下:
aireplay-ng --fakeauth 0 -e "Test" -a 22:16:B9:33:38:F3 wlan0mon
-e:指定目标AP的ESSID。
-a:指定目标AP的BSSID。
(2)、在伪装客户端时,可以使用一些相关选项来定义发送的数据包。例如使用-o选项指定每组数据包数;-q选项指定发送keep-alive包的间隔时间。命令如下:
aireplay-ng -1 6000 -o 1 -q 10 -e Test -a 22:16:B9:33:38:F3 -h A4:50:46:E0:EA:06 wlan0mon
(3)、当用户进行WEP破解时,可以使用ArpRequest注入攻击方式。通过使用这种攻击方式来读取ARP请求报文,并伪造报文再次重发出去,可以刺激AP产生更多的数据包,从而加快破解过程。命令如下:
aireplay-ng -3 -b 22:16:B9:33:38:F3 -h A4:50:46:E0:EA:06 wlan0mon
-b:指定目标AP的MAC地址。
-h:指定客户端的MAC地址,也就是使用airodump-ng探测到的有效的无线客户端MAC地址。
从输出信息中可以看出成功拦截到大量ARP请求报文,并且重新伪造这些报文并发送出去。此时在airodump-ng界面将会看到对应的Data列数字在飞速递增。
(4)、当用户破解WPA/WPA2包时,可以使用aireplay-ng工具进行Deauth攻击模式。使用这种攻击方式是为了获得破解所需的WPA-PSK握手验证的整个完整数据包。通过使用这种攻击方式,攻击主机将发送一种称之为“Deauth”的数据包将已连接至AP的合法客户端强制断开连接。此时,客户端就会自动重新连接无线路由器。这样渗透测试者就有机会捕获到包含WPA-PSK握手验证的完整数据包了,命令如下:
aireplay-ng -0 1 -a 22:16:B9:33:38:F3 -c A4:50:46:E0:EA:06 wlan0mon
1.2、使用aircrack-ng破解WEP加密无线网络
WEP是一种比较简单的加密方式,使用的是RC4的RSA数据加密技术。由于这种加密技术存在很多漏洞,所以非常容易被破解出密码。使用aircrack破解WEP加密网络,操作步骤如下:
(1)、将无线网卡设置为监听模式
airmon-ng start wlan0
(2)、使用airodump-ng工具抓取无线数据包。通常情况下,在正式抓包前,都会先进行探测,以获取到当前无线网络概况,包括AP的SSID、MAC地址、工作频道、无线客户端MAC及数量等。用户只需要在终端执行如下命令:
airodump-ng wlan0mon
选择目标是SSID为“Micr067”的AP,其BSSID(MAC)为:22:16:B9:33:38:F3,工作频道为2,已连接的无线客户端MAC为:A4:50:46:E0:FA:06。此时可针对攻击目标捕获其数据包,并实现密码破解,命令如下:
airodump-ng --ivs -w web -c 2 wlan0mon
可以看到已经开始了数据包的抓取。如果连接该无线路由器/AP的无线客户端正在进行大流量的交互,如看视频、下载大文件,则可以依靠单纯的抓包就可以破解出WEP密码。但是此过程需要等待的时间比较长。所以我们一般使用aireplay-ng工具进行数据包注入来加快破解过程。
(3)、使用aireplay-ng工具进行ArpRequest注入攻击。此时不需要将airodump-ng界面关闭,重新打开一个窗口运行aireplay-ng命令即可。命令如下:
aireplay-ng -3 -b 22:16:B9:33:38:F3 -h A4:50:46:E0:EA:06 wlan0mon
成功执行以上命令后将看到airodump-ng捕获数据包界面中Micr067的Data列数字在飞速增长,并且已经抓到了握手包。
当抓取到的无线数据报文达到一定数量后(一般都是ivs2万以上时),就可以开始破解了。若不能成功破解就继续抓取数据包,多尝试几次。
注:进行破解时不需要将注入攻击的终端关闭,而是另开一个终端进行同步破解。
(4)、使用aircrack-ng工具破解WEP加密的网络。命令如下:
aircrack-ng [选项] [捕获的文件]
通常用于破解无线网络使用的是.ivs和.cap格式的文件。其中ivs文件通常用于破解WEP加密的网络;.cap文件用于破解WPA/WPA2加密的网络。破解WEP加密网络执行如下命令:
aircrack-ng web-01.ivs
用户在破解密码时,也可以使用-b选项指定目标AP的BSSID,或者使用-e选项指定目标AP的ESSID。这样就可以避免在破解时出现多个AP(工作在同一信道)进行选择。例如指定目标AP的BSSID,命令如下:
aircrack-ng -z -b xxx wep-01.ivs
-z:指定使用PTW攻击方式。
提示:在使用aircrack-ng破解密码时,虽然可以使用PTW和KoreK两种攻击方式。但是通常情况下,PTW攻击方式比较快。
1.3、使用aircrack-ng破解WPA-PSK加密无线网络
由于WEP方式存在非常严重的漏洞,所以产生了WPA加密方式。WPA全名为Wi-Fi Protected Access,有WPA和WPA2两个标准。其中,WPA-PSK是WPA/WPA2的简化版。虽然WPA加密方式比较安全,但是如果有一个强大的密码字典还是可以将其破解。
使用aircrack-ng破解WPA-PSK加密无线网络,具体操作如下:
(1)、将无线网卡设置为监听模式。
airmon-ng start wlan0
(2)、使用airodump-ng工具抓取无线数据包。
airodump-ng wlan0mon
(3)、捕获Micr067无线网络的数据包。
airodump-ng -c 2 -w wpa --bssid 22:16:B9:33:38:F3 wlan0mon
在破解WPA加密的数据包时,不是看捕获的数据包的多少,而是必须要捕获到握手包才可以。当有新的客户端连接该WiFi网络时,即可捕获到握手包。
从上图右上角可以看到已经捕获到了握手包,这表示获得了包含WPA-PSK密码的四次握手数据包,如果捕获包的过程中一直没有捕获到握手包的话,可以使用aireplay-ng命令进行Deauth攻击,强制使客户端重新连接到WiFi网络,如果还是没有看到握手包的话,可以增加Deauth的发送数量,再一次对AP进行攻击。重开一个终端输入如下命令:
aireplay-ng -0 5 -a 22:16:B9:33:38:F3 -c A4:50:46:E0:EA:06 wlan0mon
(4)、使用aircrack-ng破解密码,对于破解WPA-PSK加密的无线网络,需要使用-w参数指定密码字典,命令如下:我们可以使用Crunch工具来创建密码字典。
aircrack-ng -w /root/password.txt wpa-01.cap
1.4、使用aircrack-ng破解WPA2-PSK加密无线网络
对于使用WPA2-PSK加密的无线网络,其攻击和破解步骤与WPA-PSK是完全一样的。唯一不同的是在使用airodump-ng进行无线探测的界面上。如果是WPA-PSK加密无线网络,则提示为WPA CCMP PSK。如果是WPA2-PSK加密的无线网络,则提示WPA2 CCMP PSK。