当前位置: 首页 > 科技观察

网络安全攻防:无线网络安全之WPA

时间:2023-03-18 23:22:47 科技观察

一、WPA简介由于WEP的安全性较低,IEEE802.11组织开始制定新的安全标准,即802.11i协议。但是,由于新标准从制定到发布需要较长的时间,用户也不会为了网络的安全而放弃原有的无线设备,因此无线产业联盟在802.11i草案的基础上制定了新标准。新标准发布。开发WPA(Wi-FiProtectedAccess)无线加密协议。WPA使用的是临时密钥完整性协议(TKIP,TemporalKeyIntegrityProtocol),其加密算法仍然是WEP中使用的RC4加密算法,因此无需修改原有的无线设备硬件。WPA针对WEP的IV太短、密钥管理过于简单、消息完整性没有有效保护等缺陷,通过软件升级来提高无线网络的安全性。WPA为用户提供了完整的身份验证机制。AP或无线路由器根据用户的认证结果决定是否允许用户接入无线网络。时间等)动态更改每个访问用户的加密密钥。此外,它还会在无线传输过程中对用户的数据包进行MIC编码,确保用户数据不会被其他用户篡改。作为802.11i标准的一个子集,WPA的核心是IEEE802.1x和TKIP。WPA标准在2006年正式被WPA2取代。WPA和WPA2最显着的变化之一是强制使用AES算法,并引入CCMP(CounterModeCipherBlockChainMessageIntegrityCodeProtocol)来取代TKIP。目前WPA2系统的主要安全漏洞并不明显(利用者必须进行中间人攻击,从网络内部获取授权,然后继续攻击网络中的其他设备)。因此,WPA2已知的漏洞几乎都局限于企业级网络,因此讨论WPA2在家庭网络上是否安全没有实际意义。不幸的是,WPA2也有与WPA相同的致命弱点——Wi-FiProtectedSetup(WPS)的攻击媒介。虽然攻击WPA/WPA2保护的网络需要现代电脑花费2到14小时不间断攻击,但我们必须注意这个安全问题,用户应该关闭WPS(如果可能的话,更新固件,使设备不受影响)不再支持WPS,通过这完全消除了攻击向量)。2.破解WPA接下来尝试在没有大量流量的情况下破解WPA。为了更好的理解破解过程,没有使用Aircrack-ng集成的Wifite,直接使用Aircrack-ng这个强大的套件进行WEP破解。首先打开无线网卡的Monitor模式,然后使用airodump-ngwlan0mon寻找合适的目标,记录目标的BSSID和信道。这里以smart为例,如图1BSSID:28:6C:07:3E:ED:CACH:1root@kail:~#airodump-ng--bssid28:6C:07:3E:ED:CA-c1-wsmartwlan0mon图1获取BSSID和channel可以看到有用户连接,但是抓包速度很慢。可见该用户并没有上网,所以无法获取大量流量。现在我们使用用户的BSSID来模拟发送数据包,这样可以更快的获取到数据包。root@kali:~#aireplay-ng-00-a28:6C:07:3E:ED:CA-h3C:46:D8:4D:0F:5Dwlan0mon-0模式是指Deauthentication(取消认证),向客户端发送数据包,让客户端误认为是AP发送的数据。后面的数字0表示无限发送。当然你也可以指定要发送的数据包。选择无尽模式发送的原因是为了更快地获取握手包。如图2所示,可以看到发送了大量的数据包。图2发送大量数据包后返回Airodump-ng页面。可以看到Frames的数量在增加。获取握手包后,可以停止Aireplay-ng的发包行为,如图3所示。图3获取握手包,然后获取smartcap包。这里可以使用aircrack-ng跑包,但是根据密码在字典中的位置,也可以自己做一个字典,因为现在的WPA2加密的密码长度可以设置的很长,所以破解需要时间。我们先使用aircrack-ng来运行一个普通的字典,命令如下。root@kali:~#aircrack-ng-wrockyou.txtsmart-01.cap这里的01是设置-wsmart后系统自动生成的,因为后面可能会抓到组,系统用来区分哪个是捕获数据包的次数。如图4所示,密码在字典中,密码在字典的最前面。图4WPA破解3.密码破解Aircrack-ng使用CPU进行破解。如果运气不好,运行一个字典组可能需要几个小时。这个速度太慢了。这时候可以利用显卡的计算速度来运行GPU包,这样速度可以提升数倍。借助GPU运行包,可以使用更短的时间。可以说GPU是跑包的好手,而CPU却是高手,能做的事情很多。越来越多的人开始使用GPU来运行包。Hashcat号称是当今运行速度最快的打包软件。过去,Hashcat分为Hashcat、Oclhashcat、Cudahashcat。Hashcat使用CPU跑包,后两者使用GPU跑包。不过这三个目前已经合并到Hashcat中了,另外两个在官网已经不能下载了。Hashcat是github上的一款开源密码破解软件。它号称是世界上最快的密码破解器和世界上第一个也是唯一的内核规则引擎。Hashcat系列软件支持使用CPU、NVIDIAGPU、ATIGPU在硬件上进行密码破解。操作系统支持Windows和Linux平台,需安装官方显卡驱动。如果驱动版本不正确,程序可能无法运行。如果要搭建多GPU破解平台,最好使用Linux系统运行Hashcat系列软件,因为在Windows下,系统最多只能识别4张显卡。而且Linux下的VisualCL技术可以方便的连接多台机器进行分布式破解操作。从破解速度来看,ATIGPU破解速度最快,使用单片HD7970破解MD5可以达到9000Mbit/s的速度,其次是NVIDIA显卡,同级别显卡GTX690破解速度大约是ATI显卡卡,最慢的是用CPU破解。Hashcat支持大部分密码破解,其帮助页面中列出了所有支持的密码类型,如图5所示。图5Hashcat支持的密码类型Hashcat支持使用字典运行包,也支持自定义密码格式运行包,以及可以自定义规则。用法太多,这里就不赘述了。下图是官方提供的示例,如图6所示。图6Hashcat官方展示使用Hashcat破解WAP/WAP2时,需要先将cap文件转换成hccap文件。我们可以使用Aricrack-ng来进行转换,如图7所示。root@kail:~#aircrack-ngsmart.cap-Jsmart图7Hashcat破解WAP/WAP2