WIFI密码破解笔记
相对于前一段时间脆弱的WEP加密路由器而言,当今的路由器加密方式也大都改变为WPA/WPA2,使得无线路由器的破解难度增加。虽然如此,但还是有很多漏洞层出不穷,如针对路由器WPS的漏洞。退一步来说,即使加密算法无懈可击,我们还可以针对安全防护中最脆弱的部分——人——来进行破解。人的想象力实在是匮乏的很,往往设置密码来来回回就是那么几类,用一个常见的弱口令字典,往往就能在10分钟左右把其密码暴力破解出来。这里提供己种常见的WIFI破解方式,其中WEP破解因为已经过时,所以只是在提到的时候一笔带过,主要记录的是抓握手包然后暴力破解的通用方法,末尾也会提及到WPS的破解方式。注意这仅仅作为个人实验用,最好在自己的家庭网络中测试,以免给别人带来不便。
准备工具
- Linux操作系统,Windows下可以用虚拟机代替。
- aircrack-ng工具集
- 安装reaver(可选)
0x01 查看网卡信息,记录无线网卡MAC地址
$ ifconfig -a
这里假设本机MAC地址为:00:11:22:33:44:55
0x02 开启无线网卡,设置为监听模式
$ airmon-ng start wlan0 [信道号]
其中信道号可以先不填,开启后可以ifconfig看到多了个接口mon0,即为监听接口。值得一提的是,无线网卡的监听模式其实就相当于有线情况下的混杂模式(Promiscuous Mode)。
注: 如果在较新的系统上运行,可能会出现错误"SIOCSIFFLAGS: Name not unique on network", 这是由于新版的Networkmanager把虚拟的往口mon0也当作硬件设备来管理,导致设备冲突.解决方法有很多:
1.把networkmanager暂时关闭.
$ service network-manager stop
使用完毕之后再打开即可.
2.直接把wlan0网卡设置为monitor模式:
$ ifconfig wlan0 down
$ iwconfig wlan0 mode monitor
$ ifconfig wlan0 up
3.前面两种方式都会使得wlan0网卡变为monitor模式,从而无法上网,如果有多个网卡可以考虑这两种方式. 但是如果之有一个无线网卡,我们可以修改networkmanager的配置使其不管理指定的网络接口,在/etc/NetworkManager/Networkmanager.conf
文件后面加两行:
#avoid conflicts with airmon-ng
[keyfile]
unmanaged-devices=interface-name:wlan0mon;interface-name:wlan1mon;interface-name:mon0;interface-name:mon1
然后再和之前一样使用airmon-ng即可.
0x03 搜索周围的无线网络
$ airodump-ng mon0
这条命令会在mon0接口上不断切换信道来搜索附近的wifi热点,在结果中找到待破解的AP,记录BSSID(这里假设为AA:BB:CC:DD:EE:FF),信道号(这里假定为 6),ESSID(设为myWiFi)
0x04 测试无线设备的注入(可选,为了在WEP加密时进行虚拟认证)
$ aireplay-ng -9 -e myWiFi -a AA:BB:CC:DD:EE:FF mon0
其中:
-9
表示注入测试-e
myWiFi 是无线网络名字-a
AA:BB:CC:DD:EE:FF 是接入点的MAC地址mon0
是无线接口名字- 返回结果的最后一行表示注入成功率,一般比较高,如果很低表示离AP太远了
0x05 开始抓包
$ airodump-ng -c 6 --bssid AA:BB:CC:DD:EE:FF -w output mon0
0x06 虚拟认证(可选,只在AP为WEP加密的时候才有效)
这里值得一提的是,从前为了破解WEP加密的WIFI,我们需要收集足够多的IVS。如果运气好的话,通常40位WEP(64位密钥)用30万IVs就可以破解,104位WEP(128位密钥)有150万IVs可以破解,运气不好的话需要更多。为此我们需要用ARP注入的方式加开扑捉IVs的速度。但对于WPA/WPA2我们则没有类似破解办法,只能通过扑捉握手包来进行暴力破解。 为了AP能够接收packet,源MAC地址必须已经连接。如果你正在注入的源MAC地址没有连接,AP会忽略所有包并发送一个“DeAuthentication“包。这种情况下,不会有新的IVs被创建。缺少和AP的连接是注入失败的一个常见原因,记住:你用来注入的MAC地址必须连接AP(通过虚拟认证或者使用已经连接的客户端MAC) 虚拟认证: