研究使用Aircrack-ng套件进行wifi破解
本文的工具使用,破解过程参考自:
Aircrack-ng完全教程,原文应该是出自《无线黑客傻瓜书》,由于现在无线WIFI大多使用WPA2加密方式进行加密,此次我们实验对象也是WPA2加密的热点。
Aircrack-ng是一个Kali自带的,包含了多款工具的套装,我们需要使用里面的:
airmon-ng
airodump-ng
aireplay-ng
aircrack-ng
Kali虚拟机,USB无线网卡
这次实验我们使用Kali虚拟机进行实验,通过外置USB无线网卡进行操作,Kali Linux自带的Aircrack-ng是我们的主要”武器“
首先使用命令查看自己的网卡
1 | ifconfig |
可以看到里面有个wlan0
,注意这里我使用的是Kali虚拟机,所以网卡要使用外置的USB无线网卡
wlan0
网卡,确保已经正确插入USB或者PCMCIA型无线网卡,此时,为了查看无线网卡是否已经正确连接至系统,应输入1 | ifconfig -a |
参数解释:
-a 显示主机所有网络接口的情况。和单纯的ifconfig命令不同,加上-a参数后可以看到所有连接至当前系统网络接口的适配器。
既然已经识别出来了,那么接下来就可以激活无线网卡了。说明一下,无论是有线还是无线网络适配器,都需要激活,否则无法使用。这步就相当于Windows下将“本地连接”启用一样,不启用的连接是无法使用的。输入命令:
1 | ifconfig wlan0 up |
参数解释:
up 用于加载网卡的,这里我们来将已经插入到笔记本的无线网卡载入驱动。在载入完毕后,我们可以再次使用ifconfig进行确认。
一定要保证它现在没有连接到任何wifi。上面图中那个wlan0里面没有ip地址什么的就说明现在不在连接中。
激活无线网卡至monitor
,监听模式:
1 | airmon-ng start wlan0 |
参数解释:
start 后跟无线网卡设备名称,此处参考前面ifconfig显示的无线网卡名称;
可以看到在监听模式下,无线网卡的名称已经变为了wlan0mon
在Chipset芯片类型上标明是ath9k_htc芯片,默认驱动为Atheros
激活无线网卡后,开启无线数据包抓包工具,在这之前,一般需要先进行预测,探测周围WIFI的环境,包括AP的SSID、MAC地址、工作频道、无线客户端MAC及数量等。只需打开一个Shell,输入具体命令如下:
1 | airodump-ng wlan0mon |
得到如果图所示的信息,其中有部分内容因为上面的内容过多而遮挡住,这时候我们锁定我们要攻击的目标CMCC
,并记录其BSSID,即E6:9A:DC:79:7:EC
,并重新锁定查询
1 | airodump-ng --bssid E6:9A:DC:79:7:EC wlan0mon |
这时候可以看到完整的信息,其中
周围wifi的名字,最左侧的BSSID,是这些wifi对应的mac地址。ENC是加密方式。可以看到基本都是WPA2的,很少有WPA和WEP。因为这两个的安全性都较WPA2次之。CH是工作频道。
我们的目标AP是CMCC
,MAC地址是E6:9A:DC:79:7:EC
,表中下半部分罗列出的是链接到这个AP的设备的MAC地址,这里我们选择连入AP的第一个设备,MAC地址为5C:F5:DA:24:49:68
,这是我们连入的设备,工作频道是1
我们已经得到了要攻击的AP的mac地址和其中的客户端设备的mac地址以及工作频道,所以执行下面的指令:
1 | airodump-ng --ivs --bssid E6:9A:DC:79:7:EC -w longas -c 1 wlan0mon |
其中:
–ivs 这里的设置是通过过滤,不再将所有的无线数据保存,而只是保存可用于破解的IVS数据报文,这样可以有效地缩减保存的数据包大小
-c 用于设置目标AP的工作频道,经过刚才的观察,我们要进行攻击实验的无线路由器工作频道为1
-w 后面跟的是要保存的文件名,这里w就是“write”的意思,所以输入自己希望保存的文件名,虽然我们设置的文件名为longas,但生成的文件名确实longas-0x.ivs,这里的x根据你是第几次使用这个文件名字,有可能是1、2、3……以此类推
–bssid 是路由器的mac地址
注意:这是因为airodump-ng这款工具为了方便后面破解时候的调用,所以对保存文件按顺序编了号,于是就多了-01这样的序号,以此类推,在进行第二次攻击时,若使用同样文件名longas保存的话,就会生成名为longas-02.ivs的文件,一定要注意哦,别到时候找不到又要怪我没写清楚:)
破解的时候可不可以将这些捕获的数据包一起使用呢,当然可以,届时只要在载入文件时使用longas*.cap即可,这里的星号指代所有前缀一致的文件
上图所示的页面表示抓包已经开始,接下来保持这个窗口不动,记住不要将他关闭,打开另一个shell进行后面的步骤。
这里为了获得破解所需的WPA2握手验证的整个完整数据包,我们将会发送一种称之为“Deauth”的数据包来将已经连接至无线路由器的合法无线客户端强制断开,此时,客户端就会自动重新连接无线路由器,我们也就有机会捕获到包含WPA2握手验证的完整数据包了。这里我们使用的是Aircrack-ng中名为Aireplay-ng的组件,这个组件用于发送和干扰流量,以后的文章中会具体介绍它的作用。
这里我们发送的Deauth
数据包可以将合法无线客户端强制断开,这个时候客户端就会自动重新连接无线路由器,我们也就有机会或得到完整的WPA2-PSK得握手验证数据包。
此时重新打开一个shell:
1 | aireplay-ng -0 10 –a E6:9A:DC:79:7:EC -c 5C:F5:DA:24:49:68 wlan0mon |
-0 采用deauth攻击模式,后面跟上攻击次数,这里我设置为10,可以根据实际情况设置为1-10不等
-a 后跟路由器的mac地址
-c 后跟客户端的mac地址
这个时候,回到刚才的shell我们可以发现,右上角出现了WPA handshake
的提示,这代表我们已经获得了包括WPA2-PSK密码的握手验证数据报文,如果没有出现,就增加Deauth的数量在进行一次攻击,可以将参数-0后面的次数更改为10
在破解之前我们先查看一下我们抓到的包的名字
ls
可以看到目录下的longas-02.ivs
这个就是我们用来破解的文件
同时我们还需要准备一个字典,字典可以自己使用crunch
生成,或者是从网上下载字典,为了快速方便,我把密码直接添加到了文件中
1 | aircrack-ng -w password.txt longas-02.ivs |
-w 后面跟预先制作的字典。
回车之后,如果捕获数据中包含了多个无线网络的数据,也就是能看到多个SSID出现的情况,就意味着其他AP的无线数据皆因为工作在同一频道而被同时捕获到。由于数量很少,所以对于破解没有实际意义,这时候输入正确的选项,对应目标AP的值,回车就可以开始破解。
中间有一句:KEY FOUND!,后面的中括号里面,就是这个路由器的wifi密码。到此,wifi密码的破解也就完成了。
路径:/usr/share/wordlists/
dirb
big.txt #大的字典
small.txt #小的字典
catala.txt #项目配置字典
common.txt #公共字典
euskera.txt #数据目录字典
extensions_common.txt #常用文件扩展名字典
indexes.txt #首页字典
mutations_common.txt #备份扩展名
spanish.txt #方法名或库目录
others #扩展目录,默认用户名等
stress #压力测试
vulns #漏洞测试
dirbuster
apache-user-enum-** #apache用户枚举
directories.jbrofuzz #目录枚举
directory-list-1.0.txt #目录列表大,中,小 big,medium,small
fern-wifi
common.txt #公共wifi账户密码
metasploit
… #各种类型的字典
webslayer
general #普通字典目录
admin-panels.txt #后台路径 字典
….
Injections #注入字典目录
All_attack.txt #全部攻击
bad_chars.txt #字符注入
SQL.txt #sql注入
Traversal.txt #路径回溯
XML.txt #xml注入
XSS.txt #xxs注入
others #扩展目录
common_pass.txt #通用密码字典
names.txt #用户名字典
stress #压力测试目录
vulns #漏洞测试目录
apache、iis、cgis…
webservicces #web服务目录
ws-dirs.txt #路径测试
ws-files.txt #文件测试
wfuzz #模糊测试,各种字典…