浅谈WIFI安全
没有WIFI我活不下去 orz
WIFI简介与发展历史
简介
如今现在几乎所有的智能手机、平板电脑和笔记本电脑都具备WiFi接入功能
WiFi 全称 Wireless Fidelity
,又称为802.11b
标准。Wireless Fidelity
翻译过来是无线保真
,其中保真是指要求在无线网络中可靠地传输数据
WiFi的定义:一种把有线上网的方式转变成无线上网方式的技术
名词解释
在后续学习WiFi安全的过程中,有一些名词是我们现在需要了解的前置知识
- SSID(Service Set Identifier) 服务集标识符
通俗地说,SSID便是你给自己的无线网络所取的名字,用来标识某一无线局域网的唯一标识符,无线客户端用它入网后与接入点进行通信。
只有匹配成功的SSID名称和密码才能使无线客户端接入对应的无线网络。SSID信号由无线路由器或者AP进行向外发射。
SSID包括BSSID和ESSID两种类型
- AP(Access Point) 无线访问点或接入点
客户端需要链接AP才能获得登录互联网的能力,具备路由功能的AP就是一个无线路由器
- ESSID
对终端用户来说,搜索到的无线网络的名称就是ESSID,也就是通常我们所指的SSID
- BSSID
全称是 - Basic Service Set Identifier,BSSID通常不被终端用户感知,主要在管理维护无线网络、定位无线网络问题时使用,实际上就是每个无线接入点AP的MAC地址
- Station 站点
网络最基本的组成部分,通常指接入网络的无线客户端,例如手机、电脑等
- WEP
全称是 Wired Equivalent Privacy,有线等效保密,时802.11定义下的一种老式加密方式,是常见的一种无线网络的认证机制,它的特点是使用一个静态的密钥来加密所有的通信,并且其采用的加密算法具有可预测性,对于入侵者来说很容易截取和破解加密密钥,这种加密认证机制基本已经被淘汰
- WPA
全称是 WiFi Protected Access,WiFi访问保护,常用的无线网络认证机制之一,目前有WPA、WPA2、WPA3三个标准,并且分为个人和企业的WPA-Personal和WPA-Enterprise两种。它是为了完善WEP加密方式的安全性不足应运而生的一种加密方式
- WPS
全称是 WiFi Protected Setup,WiFi保护设置,是由WiFi联盟组织实施的认证项目,其主要目的是用来简化无线网络的安全加密配置
用户只需在每次连接无线路由器上的WPS按键(Push Button Condiguration,按钮模式)或者输入此时路由器的PIN码(Pin Input Configuration,个人识别码模式),就能将新设备加入无线网络中。
发展历史
WiFi的发展历程,实际上是一个追求高带宽的过程
追溯
WiFi发展的历史可以追溯到1971年的ALOHAnet
,ALOHAnet
是由诺曼·艾布拉姆森(Norman Manuel Abramson)带领团队在夏威夷大学构造的一个无线网络。由于岛屿之间不易布置有线链路,如果布置的话,其成本也会很高。故诺曼就希望采用相对成本比较低廉的无线设备,构造一个以Oahu岛为中心和其他夏威夷岛屿通信的无线链路。该项目于1968年9月启动,到1971年6月,第一个数据包以9600bps的速率发送成功。.该网络所设计出的通信协议,如今就被称为Aloha协议ALOHA
协议成了IEEE 802.11协议的先驱,也是很多无线通信的理论基础
802.11协议诞生
在1997年,IEEE首次制定和推出802.11协议,规定WLAN(无线局域网)运行在2.4GHz,最大速率伪2Mbps
802.11b推出
1999年WiFi联盟成立,同年IEEE推出了频率更高的5GHz的802.11a,最高传输速率达到54Mbps;以及2.4GHz的802.11b,最高速率可达11Mbps
第三代WiFi标准推出
2003 IEEE发布802.11g标准,即第三代WiFi标准,运行在2.4GHz频段,传输速率为54Mbps
第四代WiFi标准推出
2009 IEEE宣布新的802.11n标准,即WiFi4,引入了很多新的技术来提高传输速率,其中MIMO和40MHz带宽提高了传输速率,而波速成型提高了传输距离
WiFi5
2013 WiFi5(802.11ac)发布,采用5GHz频段,单天线最高速率达到866Mbps
WiFi6
2019 WiFi6(802.11ax)发布,采用2.4GHz和5GHz的频段,最大单流可达1200Mbps,最高速率可达9.6Gbps
WiFi7
WIFI7的标准是IEEE 802.11be。2018年7年,IEEE的工作组,开始进行WIFI7标准的研究。预计发布时间2024年5月。
实际上现在WiFi6还没普及,所以我对于WiFi7的实际应用存疑
更具体的时间线可以看下图
WIFI加密方式
与有线网络相比,WiFi是利用无线电波进行数据传输的,不需要物理线路上的连接,但也正是因为这种传播特性,无线网络更容易受到入侵。
所以需要对WiFi进行加密来保护我们的网络安全,在想好了自己的WiFi密码后,看到热点设置中的加密级别时,你觉得很头大:WEP、WPA、WPA2、WPA3是什么东西,事实上加密级别的选择将决定WiFi安全是稻草屋还是坚固的堡垒
WEP
Wired Equivalent Privacy
- 有线等效加密
WEP的核心采用RC4算法 - RC4加密算法,加密密钥长度有64位、128位和152位,其中有24bit的IV(初始向量)是由系统产生的,所以WLAN服务端和WLAN客户端上配置的密钥长度是40位、104位或128位。WEP加密采用静态的密钥,接入同一SSID下的所有STA使用相同的密钥访问无线网络。
随着时间的推移,人们发现了 WEP 标准的许多漏洞,随着计算能力的提高,利用难度也越来越低。早在2001年,就已经有相关漏洞的 POC 验证测试,2005年美国联邦调查局发布了公开演示(以增强人们对 WEP 标准缺陷的认识),他们使用公开的免费软件在几分钟内就破解了 WEP 的密码。
尽管还进行了种种改进、变通,或支撑 WEP 系统的尝试,但它仍然非常脆弱,Wi-Fi 协会于2004年宣布 WEP 正式退役。
WPA
由于WPA加密标准频出漏洞,WPA登上了历史舞台,该标准于2003年正式启用,正是 WEP 正式退役的前一年。
WPA有两种不同的模式:
- 企业模式 WPA-EAP
- 个人模式 WPA-PSK
而且 WPA 使用了256位密钥,明显强于 WEP 标准中使用的64位和128位密钥。相比于WEP,在WPA中使用动态密钥加密,破解起来比WEP困难许多。在WPA模式中,密码越复杂,安全性越高
WPA2
WPA标准于2006年正式被 WPA2 取代。 WPA 和 WPA2 之间最显着的变化之一是强制使用 AES 算法和引入 CCMP (计数器模式密码块链消息完整码协议)替代 TKIP
在安全的配置下,家庭网络中使用WPA2是非常安全的(直到KRACK漏洞的出现),WPA2的已知漏洞几乎都限制在企业级网络,漏洞利用者必须进行中间人模式攻击,从网络内部获得授权,然后延续攻击网络上的其他设备
WPA3
KRACK漏洞的发现者并不认为需要马上从WPA2切换至WPA3,实际上只要更新最新的固件就能够抵御绝大部分攻击了。
WPA3是最新的无线安全标准,也是专家现在认为最安全的标准,自 2020 年 7 月起,Wi-Fi 联盟要求所有寻求 Wi-Fi 认证的设备都支持 WPA3。
WPA3提供了一种新的密钥交换协议,使用此协议,它将使用一种安全的方式,即平等握手的同时身份验证,之前,使用WPA2时,使用了四次握手,这很容易受到攻击。
WPA3的安全模式依然分为企业版和个人版:
- WPA3个人版:提供 128 位加密,使用 WPA-PSK/预共享密钥
- WPA3企业版:提供 192 位加密,使用 AAA/RADIUS 认证服务器
一片乌云 - WPS
事实上前面的WPA/WPA2还存在一个安全隐患,即WPS PIN码破解
WPS - WiFi Protected Setup,即WiFi保护设置,虽然名字里面有保护,但实际上跟保护没啥关系。这是由WiFi联盟组织实施的致力于简化无线网络的安全加密设置的项目。
考虑传统方式下我们如何连入WiFi:
- 用户新建一个无线网络
- 在AP接入点手动设置网络名SSID和安全密钥
- 在客户端验证密钥阻止恶意攻击者
WPS是为了简化操作而存在的,能够帮助用户直接设置网络名SSID,配置最高级别的WPA2安全密钥。用户只需要按下路由器上的WPS按钮或者输入PIN码,就能够完成WPS的加密认证(虽然我觉得并没有方便到哪里去)
不幸的是,8位的PIN码是可以破解的,可以参考Reaver跑pin码+Mdk3无线攻击笔记 - FreeBuf网络安全行业门户,这就会导致恶意攻击者非法进入WiFi网络
同时已经有很多成熟的工具对WPS进行破解了,例如:Reaver
:)
安全防范
说了这么多,我们应该怎么保护自家的WiFi欸?
- 不要使用WPS - 方便永远是安全的敌人
- 隐藏WiFi广播,隐藏SSID
- 尽量使用以太网,避免无线网络
- 使用最新的WPA3
- 定期更换路由器管理界面密码和WiFi密码
- 尽量不使用WiFi万能钥匙等软件
- SSID最好设置成中文名称,可以降低被破解的风险,因为国外的很多破解软件并不支持中文,会存在乱码问题 -
脚本小子的噩梦
如何对WiFi进行DOS攻击
DOS攻击
拒绝服务(DOS)攻击通过中断设备的正常功能,使其目标用户无法使用计算机或其他设备。DOS攻击通常通过请求压垮或淹没目标计算机,直到其无法处理正常流量,从而对其他用户造成拒绝服务。
DOS攻击的特征是使用一台计算机来发起攻击
建立连接过程
简单来说Station与AP建立连接可以分为三步
- 扫描:Station扫描无线网络中的可接入AP点
可以简单理解为搜索周边的WiFi热点
- 认证:Station与AP进行认证
即用户输入密码的环节,认证过程中会涉及WiFi加密方式,目前主流的WiFi模块更倾向于WPA/WPA2加密方式,也就是我们在首次设置的时候选择的家庭网络的WPA-PSK/WPA2-PSK
在企业中经常用到WPA/WPA2 Radius
- 关联:Station与AP进行关联
当用户通过指定SSID选择无线网络,并通过AP认证后,就可以向AP发送关联请求帧,AP将用户信息添加到数据库,向用户回复关联
用户每次只可以关联到一个AP上,并且关联总是由用户发起
当AP与Station建立关联后就会进行收发数据,在认证过程中会输入账号密码进行身份检测
WiFi Dos攻击分类
802.11标准将所有的数据包分为3种:数据、管理、控制
- 数据帧
携带更高层次的数据,也是唯一可以从无线网络转发到有线网络的数据包
- 控制帧
通常与数据帧搭配使用,负责区域的清空、信道的取得以及载波监听的维护,并于收到数据时予以正面的回答,借此促进工作站间数据传输的可靠性
- 管理帧
信标帧(Beacons):在无线设备中,定时依次按指定间隔发送的有规律的无线信号(类似心跳包),主要用于定位和同步使用
Authenticate(request and response)帧:身份认证
Deauthentication 解除认证帧:解除身份认证,用于结束一段认证关系
Associate(request and response)帧:关联请求、响应
Dissassociate(notify)帧:取消关联
Probe(request and response)帧:探测区域内有哪些无线信号
Reassociate(request and response)帧:位于相同扩展服务区域,但在不同基本服务区域间游走的移动式工作站,再次使用分布式系统时,必须与网络重新关联
观察管理帧的类型就会发现,如果攻击者伪造MAC地址,对受害者AP或者站点station发送指定帧,就会造成目标设备或AP的巨大影响
针对无线AP的DOS攻击主要有以下几种:
- 认证洪水攻击(Authentication Flood Attack)
攻击目标是AP,攻击者随机生成大量MAC地址,伪装设备向AP发送大量伪造的身份验证请求帧(伪造的身份验证服务和状态代码),当收到大量伪造的身份验证请求超过所能承受的能力时,AP将断开其它无线服务连接。
- 去认证洪水攻击(Deauthentication Flood Attack)
攻击目标是已经和AP进行连接的客户端,攻击者通过伪造MAC地址,伪装成目标AP已经连接的设备,向AP反复发送取消身份验证帧,造成设备掉线,从而达到拒绝服务的目的
- 关联洪水攻击(Association Flood Attack)
攻击目标是AP,该方法主要针对空密码或者已经破解密码的无线信号,攻击者通过创建多个到达已连接或者已关联的客户端来模仿很多客户端,从而淹没目标AP的客户端关联表。客户端关联表溢出后,AP接入点将不再允许更多的链接,从而拒绝合法用户的连接请求
- 去关联洪水攻击(Disassociation Flood Attack)
攻击目标是连接AP的客户端,攻击者通过欺骗从AP到客户端的取消关联帧来强制客户端成为未关联/已认证的状态。一般来说,在攻击者发送另一个取消关联帧之前,客户端会重新关联以再次获取服务。攻击者反复欺骗取消关联帧才能使客户端持续拒绝服务。
- 假信标洪水攻击
假信标洪水攻击就是像无线信道中发送大量虚假的SSID来充斥客户端的无限列表,使客户端找不到真实的AP
- RF Jamming攻击
这种攻击方式不再针对管理帧漏洞,而是上升到物理干扰的层次,使用噪声信号淹没射频信号导致系统失效。这种干扰不分敌我,会影响一片区域指定频带范围的信号,高考等重要国家考试屏蔽信号用的就是这个方法
利用工具
在平时生活中最常见的就是Deauth去认证攻击,使用Kali Aircrack-ng组件Md3或者Mdk4即可,此工具通常用于做AP的洪水攻击
此软件包含一个概念验证工具,用于利用常见的IEEE 802.11协议弱点
MDK4是MDK3的新版本,MDK4是来自360PegasusTeam
的E7mer
,k2wrlz
的ASPj
的Wi-Fi测试工具,它使用aircrack-ng
项目中的osdep
库在多个操作系统上注入帧。
安装
sudo apt install mdk3# 安装版本3
sudo apt install mdk4 # 安装版本4
功能
- 暴力破解 MAC 筛选器。
- 暴力隐藏的SSID(包括一些小型SSID单词列表)。
- 探测网络以检查他们是否能听到您的声音。
- 智能身份验证 - 用于冻结 AP 的 DoS(具有成功检查)。
- FakeAP - 信标泛洪与通道跳跃(可能会崩溃NetStumbler和一些有缺陷的驱动程序)
- 使用取消身份验证和取消关联数据包断开所有(也称为 AMOK-MODE)的连接。
- WPA TKIP 拒绝服务。
- WDS 混淆 - 关闭大规模多 AP 安装。
攻击
取消验证洪水攻击的工作流程如下:
- 确定当前无线网络中客户端与AP已经建立了连接
- 攻击者向整个网络发送伪造的取消身份验证报文,从而阻断了合法用户和AP之间的连接
- 当客户端收到攻击者发送的报文时,会认为该报文来自于AP。此时,客户端将试图与AP重新建立连接
- 攻击者仍然继续向信道中发送取消身份验证帧,将导致客户端与AP始终无法重连,即已连接的客户端自行断开连接
sudo airmon-ng wlan0 start # 开启监控模式
sudo mdk3 wlan0mon d -s 120 -m -c 1,3,6 # 使用MDK3将对目标无线网络实施去下认证洪水攻击。
- d:实施取消身份验证洪水攻击。
- -s :设置包的速率,默认是无限制的。
- -c :指定攻击的无线信道。MDK3默认将在所有信道(14 b/g)之间跳转,每5秒切换一次。
执行以上命令后,将不会输出任何信息。为了确定该攻击方式是否执行成功,用户可以使用Wireshark工具捕获数据包。此时,将会发现有大量的解除认证无线数据包,说明实施攻击成功
参考链接
- WiFi - MBA智库百科
- 一文看懂WiFi发展史_GreysonTan的博客-CSDN博客_wifi的发展历程
- 什么是SSID?SSID有哪些相关概念和应用? - 华为
- 路由器WiFi加密模式PK,谁更安全?
- 盘点四种WiFi加密标准:WEP、WPA、WPA2、WPA3 - 掘金
- WLAN安全策略-WEP、WPA/WPA2、WPA3、 - 贪知猪 - 博客园
- WEP/WPA/WPA2加密标准有什么区别?
- 无线网络安全之加密协议WPA - 掘金
- WiFi网络WPA2 KRACK漏洞分析报告 - 先知社区
- 从黑客角度来谈如何保护路由器-WPS破解方式(一)
- 什么是拒绝服务(DoS)攻击?
- 伪AP检测技术研究 - gh0stbo
- WiFi无线连接过程中有哪几个主要步骤? - huangguanyuan - 博客园
- Kali Linux NetHunter 零基础教程 MDK4的初使用
- 记一次5GHZ的wifi Deauth攻击
- MDKx 路由解除验证 - edolf - 博客园
END
建了一个微信的安全交流群,欢迎添加我微信备注进群
,一起来聊天吹水哇,以及一个会发布安全相关内容的公众号,欢迎关注 😃