破解过程简述:
1、先开启设备监听模式
命令:airmon-ng start wlan0
然后最下方会提示出monitor mode enabled on mon0
也就是监听模式已经在mon0开启
2、然后根据这个mon0的监听,搜索所有无线网络
命令:airodump-ng mon0
这里会列出能够搜索到的范围内的所有无线网络
这里注意几个重要参数即可
PwR是信号的强度,数值越大信号越好(这是负值,别搞错了!)
Data是数据包的数量,数值大说明路由器交互数据包频繁,即正在使用
CH是信道号,最初的路由器默认都为6
ENC是类型,有WPA、WPA2、WEP这三种
BSSID和ESSID是对应的,一个是MAC地址一个是对应的广播的名字
下面一列是可以配对确认的交互端,这里暂时不重要
找到你想要破解的那个路由,暂时停止监听(Ctrl+C)即可
3、针对监听,开始捕包
上面停留着停止时刻的整个表,从终端上Copy你需要的信息,一般是bssid和c(信道号)
命令:airodump-ng –w test –c6 --bssid 00:00:00:00:00:00 mon0
-w是给捕获的数据包起个名字,这里也就是test,不过要注意的是每次执行这个命令的时候会自动加后缀以示区分,第一次执行就是test—01.cap,第二次执行就是test-02.cap以此类推
-c是上面表中的信道号
--bssid是表中的MAC地址
mon0是上面开启的监听
需要说明的是,捕获的包都在root文件夹下,直接在命令行下ls就知道当前位置了,当时我脑袋进水,一顿找,不过复习了一个命令,find命令。find –nametest-01.cap就可以查找对应文件的位置了
然后只需要等待握手包就可以了,如果出现会在时间那行出现WPA handshake:的字样
这个界面中下方就是对应的交互客户端,BSSID就是路由的MAC地址,STATION就是相应终端的MAC地址
但是这里有个问题,如果路由没人用怎么办,或者稳定使用长时间不重新握手怎么办,不产生握手包的情况下就没办法只能等待吗?
显然不可以这么等着,这不符合Hacker的思想
4、强迫路由重新握手
命令:aireplay-ng -0 10 –a 00: 00: 00: 00: 00: 00–c 00: 00: 00: 00: 00: 00 –ignore-negative-onemon0
-0是攻击方式,10是次数,可以根据自己的情况选择1-10之间的任何整数
-a是路由的Mac地址
-c是终端的Mac地址
-ignore-negative-one是必须加上的否则就出问题,不信就自己试试
值得一说的是,这个需要在另外一个终端开启执行,不能终止之前的终端执行
5、等待握手包的捕获
第二个终端的命令开启攻击之后,需要切换到第一个终端来查看WPA握手包是否捕获成功
一般来讲,我试了几次都是一闪而过的,所以如果你看到一闪而过的文字就可以认为已经捕获到了WPA handshake,就可以继续进行下一步
6、对捕获的握手包进行破解
破解其实就是跑字典,成功的速度和你机器的性能息息相关,当然更重要的其实是字典的NB程度
一般人都是在虚拟机中直接跑包,也可以把捕获的文件挪至本机下用软件跑也是可以接受的。如果Kali直接安装在物理机上就更好了,你需要查看是不是安装好了Linux下的显卡驱动,然后用显卡来破解的速度要比单纯用CPU破解的速度快
另外一种方式就是把捕获的文件发送给淘宝卖家,他们用自己的机器和字典跑出来把密码发给你,多少钱的都有
这里解释一下用aircrack和本机跑密码的两种方式
第一种:在你看见一闪而过的时候就可以开启第三个终端(这是我的习惯,我硬性的分为了监听、捕获、破解三个阶段)也可以在第二个终端中执行命令
命令:aircrack-ng –w ./password.txttest-01.cap
然后就是自动跑了,去干点别的事情,十几分钟之后再回来看看
第二种:在/root下把.cap拷出来,放到Windows下(Mac用户不知道有什么好办法没有,没用过Mac所以不清楚)用EWSA开跑,由于使用了本机的GPU所以破解速度又大大提高了
这里需要说明的是,在捕获的时候可以附加参数--ivs,这样并不是把所有捕获到的包都保存下来,只保存一部分,大大减少了包的体积,这样产生的文件是.ivs,不过.ivs似乎不能放到EWSA进行破解
有时也可以看到.lst文件跑包的,这样似乎就更高级,用彩虹表破解效率很高,看过一个一秒能猜测15W个密码的,速度就大大提高
简单密码破解十分迅速,我破解了一个密码为12345678的时间是2S,但是一些复杂的密码破解出的概率就大大降低,所以密码字典和社工也是一门深奥的学问
7、问题记录
(1)ARPlinktype is set to 1 (Ethernet) - expected ARPHRD_IEEE802.11
这个问题说实话困扰了我一阵子,出现所谓的设备繁忙“Deviceor resource busy”然后尝试解决了一些方案,最后好像是自愈了。
但是我依旧附上一种解决方法,以供参考:
ifconfigwlan0 down
iwconfigwlan0 mode monitor
ifconfigwlan0 up
iwconfigwlan0
airmon-ngstart wlan0
(2) Couldn'tdetermine current channel for mon0, you should either force the operation with--ignore-negative-one or apply a kernel patch
这个错误是在aireplay的时候出现的,所以解决方案就是附加--ignore-negative-one没有什么其他的好办法