前一阵子很火的Evi1m0牛写的那篇《蹭网之后,能做些什么?》,不知各位童鞋看过没?还有闹得沸沸扬扬的路由器安全漏洞可能大家也都耳闻了,你觉得你家路由器还安全吗:)路由器安全真是越来越火了,有句话说的落后就要挨打啊,那么今天我就给各位童鞋科普下无线网络安全的知识,你以为加个密就万无一失了吗,突破这第一道防线轻松带微笑有木有,WiFi在手,天下我有~
1.神兵利器
俗话说的好,巧妇难为无米之炊,这是需要硬件支持的,你需要买一张USB无线网卡。当然网卡也不是随便都行的,特定的芯片对破解算法支持比较好,列举几个流行的芯片给你们参考下,有AR9271,8187L,RT3070这几种。从我实践经验来看,8187和3070信号虚标比较严重,9271的信号比较真实一点。说完了硬件就轮到软件了,你可以选择大名鼎鼎的kali渗透测试系统,感觉有点大材小用,其实用网上非常流行的定制版的cdlinux就行了,才100多M里面已经帮你集成了众多WiFi破解工具了,如果用kali的话还要手动安装deb包。不推荐用Ubuntu之类的”裸机”,如果你不嫌麻烦把一个个依赖包都装好也无所谓。常用的工具有minidwep-gtk,feedingbottle,inflator,reaver这几个。在kali下,除了集成的reaver之外其他都要手动安装,用命令dpkg –i xx.deb就行了。cdlinux下已经集成了我说的那几个工具。这几个工具依赖的基础都是aircrack-ng,其中minidwep-gtk和feedingbootle是aircrack-ng的GUI版本,inflator是reaver的GUI版本。
2.”秒杀”WEP加密
米都准备好了,准备下锅了,把无线网卡连接到虚拟机里面,开始干活吧。先ifconfig下,确定认到无线网卡wlanx就行了~
既然是科普,那就先从最古老的WEP加密说起吧,这种加密方式现在很少见了,如果你发现周围有用wep加密的信号,那就爽歪歪了,拿不下会被鄙视的。wep加密方式存在天生的算法缺陷,只要捕捉到足够多的数据包,就能还原出WiFi明文密码。这其中的算法安全问题感兴趣的东西不妨谷歌下。wep的用minidwep-gtk就能轻松搞定,这里我就用minidwep来说明,因为操作简单,自动化,feedingbottle类似,但是略麻烦适合爱折腾的同学。打开minidwep先扫描下信号,scan,加密方式encryption选择wep,果断点运行lanch,喝口水等密码出来吧~
看到key了吧,那就是你想要的密码。不管密码多复杂,破解只是时间问题,只需要稍作等待。feedingbottle和minidwep类似了,只是更加手工话一点,你需要详细了解aircrack-ng套件的工作原理,才能灵活驾驭。
也就是说wep加密是属于秒杀级别的,不过你还是需要面对满地wpa的残酷现实。说难其实也不难,问题在于大家喜欢给WiFi设置弱口令,可以像Evi1m0那样通过字典把密码给搞定了。好好想想自己的WiFi用的什么密码了:)
3.WPA加密对策
WPA密码破解可以利用两种方式:
- 抓WPA握手包然后跑字典 字典的好坏直接决定成功率
- reaver穷举pin码 这种方式需要时间,但是如果可行,密码是百分百可以破解的
3.1抓包破解攻击
先说第一种吧,抓握手包跑字典,这主要看你的字典给不给力了,拼人品的时间到了,和破解wep操作一样的,选中信号点lanch开始抓包,抓包的时候路由器是一定要有用户使用,目的是攻击导致对方掉线,在自动重连的过程中抓取WPA认证的四次握手包。如果一直没找到在线的客户端,就抓不到包的,只能等有人用的时候再试了。
弹出下面这个提示,说明抓包成功了,把包拷出来用EWSA验证下是不是完整的握手包,要包含完整的四次握手信息才能用来破解。
只有提示是有效的数据包才能进行字典破解,像下面这样的数据包就是可以利用的。
接下来请出hash神器,hashcat。可能有些人会奇怪我为什么不用ewsa直接跑字典,因为hashcat的效率比ewsa高很多,而且功能也强大很多,字典跑不出密码还可以用灵活多变的暴力规则方式继续搞。新手推荐用hashcat-GUI吧,带界面操作简单很多。wpa加密方式本身不像wep加密那样有漏洞,错就错在大家都喜欢用弱密码,看我下面列举的这几个,欢迎对号入座~
- 8位纯数字
- 本地固话
- 本地手机号码
- 弱密码(1234567890等等)
躺枪了没?这些都是分分钟秒杀的节奏,特别是本地手机号码是绝大部分人最喜欢用的密码,我破解的16个WiFi密码中,有13个是用手机号或者固话的。其实hashcat也是minidwep调用的跑wpa密码的软件,但是在虚拟机里面,效率就可想而知了。在宿主机外面你可以用显卡跑hashcat,效率是成倍的提高。hashcat的用法就不赘述了,百度一下就有了~
3.2穷举PIN码攻击
接下来重点来说说第二种破解wpa加密的方式,用reaver跑pin码。大部分无线路由器都有个WPS快速连接的功能,只要连接的时候输入路由器正确的pin管理码,就可以自动的根据算法协商密钥连上WiFi。这个pin码是8位纯数字,前4位和后4位是分开验证的,第8位是检验码(根据前7位按照一定的算法可以推出第8位)。也就是说如果要穷举这个pin码,只需要10^4+10^3=11000次,reaver就是干这个差事的工具。只要路由器开启了WPS功能,并且没有锁死WPS的机制,是百分百可以尝试出正确的pin码,得到pin码后就能获取到wpa密码了。而且大部分情况下,路由器出厂开放WPS功能哦:)。不过要说明的是有些路由器,试错pin码多次会锁死,这种情况下只能用第一种抓包跑密码了。
下面来说下reaver的使用方法。
先开启网卡的混杂模式,用命令airmon-ng start wlan1,提示monitor mode enabled on mon0就代表成功了。然后用命令wash –i mon0 –C来搜索支持WPS的ap。图中的BSSID为ap的mac,channel是信道,RSSI是信号值,数字部分越小代表信号越强,WPS Locked就是刚才说的WPS锁死机制,ESSID是信号名称。选个信号强一点的没有WPS 锁死机制的ap就可以用reaver开始破解了,信号差的效率低,容易丢包,时不时会报错,要注意参数调节。
列举reaver的几个常用参数
01 |
-i 监听后接口名称 网卡的监视接口,通常是mon0 |
02 |
-b 目标mac地址 AP的MAC地址 |
03 |
-a 自动检测目标AP最佳配置 |
04 |
-S 使用最小的DH key,可以提高破解速度 |
05 |
-vv 显示更多的非严重警告 |
06 |
-d 即delay,延时 每穷举一次的闲置时间 预设为1秒 |
07 |
-t 即timeout,超时 每次穷举等待反馈的最长时间 |
08 |
-c 指定信道,可以方便找到信号 |
09 |
-p PIN码四位或八位 (如果是7位第8位自动补全) |
10 |
-N 不发送NACK信息(如果一直pin不动,可以尝试这个参数) |
11 |
-n 对目标AP总是发送NACK |
举个例子
reaver –i mon0 -b 00:11:22:33:44:55 -a -S -d 3 -t 3 -vv -c 6
特别重要的一点:要根据reaver反馈的信息来调整-d和-t参数,如果pin的速度太快,会pin死掉,无限报错,也就是跑死了,除非重启路由器才行。特别是信号差的更要注意这一点。
接着抖一些干货:
磊科和Dlink的某些路由器不能加-S参数来优化,否则不会出正确的pin码。如果有信号跑到99.99%还是没出密码,就可以考虑去掉-S参数。或者要跑reaver之前用wireshark分析下包,判断路由器的品牌。
信号不好的时候,可能会出现正确的pin码验证不成功即漏码,强制指定-n参数即可。
如果实在没把握对节奏pin死了,可以尝试用mdk3来攻击对方路由器,迫使路由器主人重启路由器。
无线路由器前6位MAC地址是C83A35,00B00C(腾达)或081075,081076 (磊科部分可以)的,可以根据MAC后六位算出正确的pin码, 用自带的科学计算器就能准确算出来。
把计算器调为程序员型,选十六进制,比如08:10:76:0F:B3:5C这个MAC地址,取后六位,输入完后选十进制就算出pin码前7位了。然后用-p参数指定7位pin码就可以出密码了,第8位程序会自动补全。
总结一下,如果是WEP加密,用minidwep挂着一定可以出密码,如果是wpa可以先抓握手包包,然后用hashcat跑字典,同时可以用reaver跑pin码,如果hashcat搞定了就关掉reaver吧,不然你就老老实实等吧,reaver平均速度要半天搞不好要过夜,所以reaver还是适合定点投放啊= =#这里就不重复说inflator的用法了,reaver的界面版,操作更简单了,如果你掌握了命令行的reaver,inflator用起来是毫无压力的。
4.旁门左道
另外补充一个投机取巧的办法,用WiFi万能钥匙获取WiFi密码,前提是已经root的安卓手机。WiFi万能钥匙相信大家不陌生吧,WiFi万能钥匙从服务器获取到别人分享的密码来连接WiFi,断开后就把密码清除了。重点来了,WiFi在连接的过程中密码是保存在本机的/data/misc/wifi/wpa_supplicant.conf上的,我们可以强行终止WiFi万能钥匙进程,那密码就永久保存下来了,这时候用带文件管理器比如re或者es浏览器,打开/data/misc/wifi/wpa_supplicant.conf就能看到密码了。
或者装个app吧,搜下WiFi连接管理器,长按显示密码就行了,都需要root权限的。
到这里就讲的差不多了,如果小伙伴们有想到别的办法欢迎补充。如果你掌握以上的方法,百分之80以上的WiFi加密都是可以轻松突破的,I promise,要不要我给你看下我的WiFi密码本啊;)
5.防范对策
突破这第一道防线之后,你就和对方处于同一局域网了,这时候能干点啥呢,arp欺骗啊,挂马啊,metasploit你懂得,简直没有隐私可言了,咳咳,小心艳照门中招了
科普完了还要说下防破解的对策,毕竟有个不速之客在你的局域网里是很危险的事情,看看E说的女神的下场你就知道了。选择wpa加密不会错,密码要够健壮,弱密码见光死啊,嗯,像wujt@396900*&这样略给力的密码就行~但是千万不要忘记在设置里面把路由器WPS功能关闭掉,tplink 水星之类的路由器设置里面是叫QSS功能~最后记得不要随便分享你的WiFi密码~!能做到以上这几点,理论上你的WiFi是牢不可破的,除非他丫的动用了超级计算机来跑你的密码;)
下集预告~想在别人局域网里面刷下存在感?都说不猥琐的黑客不是好黑客,下集我会给大家讲解在无线局域网里叱咤江湖这件小事~