不少无线路由器都支持WPS(Wifi Protection Setup)功能,它是一种可让用户无需密码直接链接Wifi的技术。原本这种技术的初衷是让用户更加方便的链接网络,可是由于它有严重的安全漏洞,因此反而让用户的网络更加不安全。所以在这里推荐你们使用路由器的时候没事就把WPS功能关掉。算法
由于要进行渗透测试,因此首先我先把本身路由器的WPS功能开启,固然测试结束以后别忘了关闭WPS功能。安全
使用前一篇文章介绍的方法安装好Kali虚拟机或者U盘系统,而后就能够准备开始了。网络
固然这里使用到的工具并非只有Kali能用,其余Linux发行版也可使用。可是仍是推荐Kali,由于不少渗透测试工具都是按照安防论文的理论来实现的,不少都已经再也不维护了。而Kali收集了不少尚在维护的工具分支,若是你使用其余发行版的话,可能其软件仓库中的版本仍是原来的旧版本。工具
本文比较简单,涉及到的工具备两个,reaver和aircrack-ng。测试
我用的是台式机安装的Kali虚拟机系统,天然是没有无线功能的,因此须要一块无线网卡。值得称道的是如今Linux驱动很是完善了,我原来买的360无线网卡能够直接驱动成功。加密
链接方法也十分简单,电脑插上无线网卡,而后在VMware软件右下角找到无线网卡的图标,点击并选择链接到虚拟机,这样就大功告成了。整个系统可能会卡几秒钟,以后就正常了。spa
链接成功后,在Kali虚拟机中应该能够看到Wifi图标了,用lsusb命令还能够查看到无线网卡的厂商和具体型号,能够看到个人无线网卡具体型号是MT7601U。命令行
首先输入sudo airmon-ng
命令查看一下当前系统中的无线网卡,在Kali中这个接口名默认应该是wlan0。3d
而后输入下面的命令关闭可能影响网卡监听的程序,而后开启监听模式。开启完毕以后,再次输入sudo airmon-ng
,应该就会看到此次接口名变成了wlan0mon,这样就说明成功开启了监听模式,能够进行下一步了。code
sudo airmon-ng check kill sudo airmon-ng start wlan0
输入下面的命令开始扫描附近的无线网络。
sudo wash -i wlan0mon
稍后应该就会显示出附近开启了WPS的全部网络了,dBm是信号大小,值越小说明信号越强,按Ctrl+C便可中断命令。若是想要查看全部网络的话,能够添加-a
参数,它会列出全部网络(包括了未开启WPS功能的网络)。
这时候就要记下来网络的BSSID(网络Mac地址)以及ESSID(网络名称),准备好下一步的工做了。
好了,下面就能够开始正式的工做了,其实提及来原理也很简单,WPS PIN是一个8位数字密码,因此其实咱们要作的就是不断的尝试,最终找到这个PIN。总共须要尝试的次数有一亿次,看起来这个数字很是大,可是在安全领域,一亿次算是一个很是小的次数了,不少加密算法要攻破甚至须要全世界全部计算机同时计算几百年。
固然要搞定WPS的PIN并不须要这么长时间,最多10来个小时就能够了,平均用时可能也就4-5个小时左右。并且一旦知道了PIN,得到WIFI密码仅须要数秒便可搞定。以后只要PIN码没有发生变化,就算WIFI密码被修改,也能够很轻松的搞定。
接下来就要轮到本文的主角登场了,这就是reaver,专门用于破解WPS Wifi网络的工具。输入-h
参数便可查看帮助信息,这里简单列出一些咱们要使用的参数。
详细参数参考reaver的帮助,并不难懂。
了解了reaver命令行的用法以后,就能够正式开始了。不少时候一次可能并不能成功,须要尝试屡次。
由于是测试,因此我干脆直接指定了PIN的值。为了更详细的了解命令运行过程,能够开启2级或者3级输出看看reaver工具到底干了啥。
sudo reaver -i wlan0mon -b BC:D1:77:76:39:06 -p 81103355 -vv
若是出现了下面的bad FCS,能够在添加-F
参数忽略帧校验错误,而后再次尝试。
若是一切正常的话,应该会在几分钟内经过PIN解开WIFI的密码。若是不知道PIN密码的话,也能够经过几个小时的尝试来试出PIN进而得知WIFI密码。所以咱们在平常使用的时候,必定要记得关掉WPS功能,它是不少漏洞的根源。