WEP加密是最早在无线加密中使用的技术,新的升级程序在设置上和以前的有点不同,功能当然也比之前丰富一些。但是随着时间的推移,人们发现了WEP标准的许多漏洞。随着计算能力的提高,利用难度也越来越低。尽管WEP加密方式存在许多漏洞,但现在仍然有人使用。并且有些系统仅支持WEP加密,如WindowsXP(SP1补丁)。本章将介绍WEP加密模式的设置与渗透测试。
WEP加密简介
WEP加密技术来源于名为RC4的RSA数据加密技术,能够满足用户更高层次的网络安全需求。WEP协议通过定义一系列的指令和操作规范来保障无线传输数据的保密性。本节将对WEP加密做一个简要的介绍。
什么是WEP加密
WEP(Wired Equivalent Privacy,有线等效保密协议)。WEP协议是对在两台设备间无线传输的数据进行加密的方式,用以防止非法用户窃听或侵入无线网络。但是密码分析专家已经找出WEP好几个弱点,因此在2003年被Wi-Fi Protected Access(WPA)取代,又在2004年由完整的IEEE 802.11i标准(又称为WPA2)所取代。
WEP工作原理
WEP使用RC4(Rivest Cipher)串流技术达到加密性,并使用WEP使用RC4(RivestCRC32(循环几余校验)校验和保证资料的正确性。RC4算法是一种密钥长度可变的流加密算法簇。它由大名鼎鼎的RSA三人组中的头号人物Ron Rives于1987年设计的。下面将详细介绍WEP的工作原理。
WEP是用来加密数据的,所以就会有一个对应的加密和解密过程这里将分别介绍WEP加密和解密过程。
1.WEP加密过程
WEP加密过程如图
(1)WEP协议工作在Mac层,从上层获得需要传输的明文数据后,首先使用CRC循环冗余校验序列进行计算。利用CRC算法将生成32位的ICV完整性校验值,并将明文和ICV组合在一起,作为将要被加密的数据。使用CRC的目的是使接收方可以发现在传输的过程中有没有差错产生。
(2)WEP协议利用RC4的算法产生伪随机序列流,用伪随机序列流和要传输的明文进行异或运算,产生密文。RC4加密密钥分成两部分,一部分是24位的初始化向量I,另一部分是用户密钥。由于相同的密钥生成的伪随机序列流是一样的,所以使用不同的IV来确保生成的伪随机序列流不同,从而可用于加密不同的需要被传输的帧。
(3)逐字节生成的伪随机序列流和被加密内容进行异或运算,生成密文,将初始化向量IV和密文一起传输给接收方。
2.WEP解密过程
WEP解密过程如图
在以上解密过程中,接收方使用和发送方相反的过程,但是使用的算法都是相同的。首先进行帧的完整性校验,然后从中取出IV和使用的密码编号,将IV和对应的密钥组合成解密密钥流。最后再通过RC4算法计算出伪随机序列流,进行异或运算,计算出载荷以及ICV内容。对解密出的内容使用WEP加密第一步的方法生成ICV,然后比较ICV和ICV,如果两者相同,即认为数据正确。
WEP漏洞分析
WEP的安全技术源于名为RC4的RSA数据加密技术,是无线局域网WLAN的必要的安全防护层。目前常见的是64位WEP加密和128位WEP加密。随着无线安全的一度升级,WEP加密已经出现了100%的破解方法。通过抓包注入,获取足够的数据包,即可彻底瓦解WEP机密。所以,下面将分析一下WEP加密存在的漏洞。
1.密钥重复
由于WEP加密是基于RC4的序列加密算法。加密的原理是使用密钥生成伪随机密钥流序列与明文数据逐位进行异或,来生成密文。如果攻击者获得由相同的密钥流序列加密后得到的两段密文,将两段密文异或,生成的也就是两段明文的异或,因此能消去密钥的影响。通过统计分析以及对密文中几余信息进行分析,就可以推出明文。因而重复使用相同的密钥是不安全的。
2.WEP缺乏密钥管理
在WEP机制中,对应密钥的生成与分发没有任何的规定,对于密钥的使用也没有明确的规定,密钥的使用情况比较混乱。
数据加密主要使用两种密钥,Default Key和Mapping Key。数据加密密钥一般使用默认密钥中Key ID为0的Default Key密钥。也就是说,所有的用户使用相同的密钥。而且这种密钥一般是使用人工装载,一旦载入就很少更新,增加了用户站点之间密钥重用的概率。
此外,由于使用WEP机制的设备都是将密钥保存在设备中。因此一旦设备丢失,就可能为攻击者所使用,造成硬件威胁。
3.IV重用问题
IV重用问题(也称为IV冲撞问题),即不同的数据加密时使用的IV值相同。而且使用相同的数据帧加密密钥是不安全的。数据加密密钥是基密钥与IV值串联而成。一般,用户使用的基密钥是KeyId为0的Default key,因此不同的数据帧加密使用相同的IV值是不安全的。而且,IV值是明文传送的,攻击者可以通过观察来获得使用相同数据帧加密密钥的数据帧获得密钥。所以,要避免使用相同的IV值,这不仅指的是同一个用户站点要避免使用重复的IV,同时也要避免使用别的用户站点使用过的IV。
IV数值的可选范围值只有224个,在理论上只要传输224个数据帧以后就会发生一次IV重用。
设置WEP加密
通过前面的详细介绍,用户对WEP加密模式有了一个新的认识。为了使用户熟练地使用WEP加密,本节将介绍如何设置WEP加密
WEP加密认证类型
在无线路由器的WEP加密模式中,提供了3种认证类型,分别是自动、开放系统和共享密钥。其中,“自动”表示无线路由器和客户端可以自动协商成“开放系统”或者“共享密钥”。下面将分别对这两种认证类型进行详细介绍。
1.开放系统认证类型
开放系统认证是802.11的默认认证机制,整个认证过程以明文方式进行。一般情况下,凡是使用开放系统认证的请求工作站都能被成功认证,因此开放系统认证相当于空认证,只适合安全要求较低的场合。开放系统认证的整个过程只有两步,即认证请求和响应。
请求帧中没有包含涉及任何与请求工作站相关的认证信息,而只是在帧体中指明所采用的认证机制和认证事务序列号,其认证过程如图。如果802.11认证类型不包括开放系统,那么验证请求结果将会是“不成功”。
2.共享密钥认证
共享密钥认证是可选的。在这种认证方式中,响应工作站是根据当前的请求工作站是否拥有合法的密钥来决定是否允许该请求工作站接入,但并不要求在空中接口传送这个密钥。采用共享密钥认证的工作站必须执行WEP,其基本过程如图。
共享密钥认证过程,也就是前面所介绍的四次握手。下面详细介绍整个认证过程。如下所述。
(1)请求工作站发送认证管理帧。其帧体包括工作站声明标识=工作站的Mac地址、认证算法标识=共享密钥认证、认证事务序列号=1。
(2)响应工作站收到后,返回一个认证帧。其帧体包括认证算法标识=“共享密钥认证”、认证事务序列号=2、认证状态码=“成功”、认证算法依赖信息=“质询文本”。如果状态码是其他状态,则表明认证失败,而质询文本也将不会被发送,这样整个认证过程就此结束。其中质询文本是由WEP伪随机数产生器产生的128字节的随机序列。
(3)如果步骤(2)中的状态码=“成功”,则请求工作站从该帧中获得质询文本并使用共享密钥通过WEP算法将其加密,然后发送一个认证管理帧。其帧体包括认证算法标识=“共享密钥认证”、认证事务序列号=3、认证算法依赖信息=“加密的质询文本”。
(4)响应工作站在接收到第三个帧后,使用共享密钥对质询文本解密。如果WEP的ICV校验失败,则认证失败。如果WEP的ICV校验成功,响应工作站会比较解密后的质询文本和自己发送过的质询文本,如果它们相同,则认证成功。否则,认证失败。同时响应工作站发送一个认证管理帧,其帧体包括认证算法标识=“共享密钥认证”、认证事务序列号=4、认证状态码=“成功/失败”。
在AP中设置WEP加密模式
随便点点就行
破解WEP加密
由于WEP加密使用的RC4算法,导致WEP加密的网络很容易被破解。在Kali Linux中提供了几个工具(如Aircrack-ng和Wifite等),可以用来实现破解WEP加密的网络。本节将介绍使用这些工具,来破解WEP加密的WiFi网络的方法。
使用Aircrack-ng工具
Aircrack-ng工具主要用于网络侦测、数据包嗅探及WEP和WPA/WPA2-PSK破解。该工具在前面已经详细介绍过,所以这里不再赘述。下面将介绍使用Aircrack-ng工具破解WEP加密的WiFi网络。
使用Aircrack-ng工具破解WEP加密的WiFi网络。
参数的含义如下所述。
--ivs:该选项是用来设置过滤,不再将所有无线数据保存,而只是保存可用于破解的IVS数据包。这样,可以有效地缩减保存的数据包大小。
-w:指定捕获数据包要保存的文件名。
--bssid:该选项用来指定攻击目标的BSSID。
-c:指定攻击目标AP的工作频道。
有客户端连在目标ap上
实操1
本例中以破解Test1无线网络为例,其密码为12345。具体操作步骤如下所述。
通过以上的方法,找出了要攻击的目标。
注意:以上命令执行成功后,生成的文件名是wireless-01.ivs,而不是wireless.ivs。这是因为airodump-ng工具为了方便后面破解的时候调用,对所有保存文件按顺序编了号,于是就多了-01这样的序号。以此类推,在进行第二次攻击时,若使用同样文件名wireless保存的话,就会生成名为wirelessattack-02.ivs文件。
实操2
下面的例子带你参观一个入侵“有线等效保密协议”WEP无线网络的完整的步骤,不过,整个入侵过程中,有一个重要的特征,那就是这种入侵方式中至少有一个无线网络的某个“被占领客户端”。(victim client)已连在了这个无线网络上。
1.airodump抓包
2.arpreplay欺骗从而获取更多数据包
3.aircrack解密
在这个例子中,我们假设有一个名为 linksys的网络,运行在信道1上,其“基本服务集标识”为 10:FE:ED:40:95:B5首先,设置无线网络适配器,使其进入“监测模式”:
airmon-ng start wlan0 1
接下来,我们开始运行 airodump-ng程序,并设定我们感兴趣的信道和“基本服务集标识”
这时,airodump-ng也将所有捕获到的数据包写人到文件Linksyschl-01.pcap中。
在上面的操作实例中,我们已经看到当前有一个客户端在线,它的MAC地址是02:BA:DC:OD:ED:01。
我们将使用该MAC地址,并“从”“这个客户端发送“重新注入”(reinject)的ARP地址解析数据包。这样做的目的是创造更多的数据包,这样我们就可以更快地破解密钥:
aireplay-ng
是一个用于无线网络攻击和测试的工具,在使用之前需要安装 aircrack-ng 套件。它有多种攻击模式,包括 arp-replay (ARP重放攻击)、deauth (断开连接攻击)、interactive (交互式攻击) 等。
--arpreplay
选项表示使用 ARP 重放攻击模式。ARP 重放攻击是一种对无线网络的攻击方式,它通过重放之前捕获到的网络流量的 ARP 数据包来欺骗网络设备,从而实现对网络的入侵。
-h 02:BA:DC:0D:ED:01
选项指定了连接ap的客户端的 MAC 地址。
-b 10:fe:ed:40:95:b5
选项指定了目标接入点的 MAC 地址。这是你想要攻击的无线接入点的硬件地址。
mon0
是无线接口的监控模式接口名。
ARP重放攻击是一种针对局域网的攻击方式,利用ARP协议的漏洞来欺骗网络设备,使其将通信发送到攻击者控制的设备上。攻击者使用aireplay-ng
工具捕获并重放原始的ARP请求和响应数据包,使目标设备产生误认,从而实现攻击者的目的。ARP重放攻击主要侧重于对特定设备和通信的欺骗。
在上面的操作实例中,aireplay-ng成功地将ARP地址解析协议数据包以注入的方式发送到了网络中。由于数据包是以当前这个客户端的名义发送的,所以这个客户端很快就会收到AP接入点和其他客户端回复给它的数据包。aireplay-ng发送的动作是不停地连发(还记得一轮向各设备分别64个数据包吧),因此,网络中各相关的设备为各自的发送和回复而开始发送数据包。回过头来,看看 airodump-ng,我们会发现大量的数据包正在快速地暴涨。
看到捕获的数据包个数正在稳定增长,这时,就可以运行aircrack-ng程序了
$aircrack-ng -b 10:fe:ed:40:95:b5 Linksysch1-01.cap
最初,我们高兴地看到,在一个屏幕上显示的是分配到每一个密钥字节的权重(weight),以及“初始向量IV”的个数等值。如果 aircrack-ng不能推导出最初的密钥,它会等待更多的数据写入到文件中,然后再试一次。
无客户端连在目标ap上
实操
在没有客户端连接到网络的前提下进行入侵攻击。
第1步:启动 airodump-ng 在这个例子中,作为攻击目标的无线网络上,信道是11,“服务集标识”是“quiet type”,目前无用户连接到网络上。首先,运行 airodump-ng,以便开始捕获网络上的活动,以备随后的入侵。
$sudo airodump-ng --channel 11--bssid 10:fe:ed:40:95:b5 --write quiet type mon0
第2步:假认证 AP接入点下一步,使用aireplay-ng伪造一个和AP接人点之间的关联。这就像是一个常规的客户端会去做的连接一样,你只需要使用aireplay-ng在不知道“有线等效保密协议”密钥的前提下,去和AP接入点建立连接关系。
$ifconfig mon0 | grep Hwaddr
这个命令是用于在 Linux 系统中查看网络接口的配置信息的。ifconfig
命令用于显示和配置网络接口,mon0
是一个网络接口的名称,特指用于监视模式的无线网络接口。
|
符号是管道符号,用于将一个命令的输出作为另一个命令的输入。在这种情况下,ifconfig mon0
命令的输出会被传递给 grep Hwaddr
命令。
grep
命令用于在给定的输入中查找匹配某个模式的行。在这个命令中,grep Hwaddr
表示查找包含字符串 “Hwaddr” 的行。
因此,整个命令 ifconfig mon0 | grep Hwaddr
的作用是查看 mon0
网络接口的配置信息,并筛选出包含 “Hwaddr” 字符串的行,即硬件地址(MAC 地址)所在的行。
输出mon0 Link encap:UNSPEC HWaddr 00-C0-CA-60-1F-D7-00
使用无线网卡的 MAC地址作为源地址,并通过aireplay-ng命令的“-h”参数使用这个地址。
$sudo aireplay-ng --fakeauth 1 -o 1 -e quiet_type -b 10:fe:ed:40:95:b5 -h 00:C0:CA:60:1F:D7 mon0
第一个参数告诉 aireplay-ng执行假的认证,并且认证的时候,命令要带上1秒的延迟,“-o 1”参数是告诉 aireplay-ng一次只发一组数据包,在实施攻击的时候,这样做可以减少对 AP接入点的冲击。再后面的“-e”参数是设置“服务集标识”SSID,“-b”参数设置“基本服务集标识”BSSID,“-h”参数设置源MAC(这应该是当前分配给你的无线接口的MAC地址)。
-
aireplay-ng
:这是一个用于攻击无线网络的工具,它是 aircrack-ng 套件的一部分。 -
--fakeauth 1
:这里的1
表示要带上1秒的延迟 -
-o 1
:这个选项说明一次只发一组数据包 -
-e quiet_type
:这个参数指定了目标无线网络的SSID(服务集标识)。在这种情况下,SSID 是 “quiet_type”。 -
-b 10:fe:ed:40:95:b5
:这个标志用于指定目标接入点的 BSSID(基本服务集标识),BSSID 唯一标识了无线接入点。在这里,BSSID 是 “10:fe:ed:40:95:b5”。 -
-h 00:C0:CA:60:1F:D7
:这个选项指定要执行伪身份认证的客户设备的 MAC 地址。这里提供的 MAC 地址是 “00:C0:CA:60:1F:D7”。 -
mon0
:这是无线网卡所使用的监视模式接口。监视模式用于数据包捕获和网络监视。
如果你看到一个消息:“得到了一个解除认证的数据包!”,那么假关联已经失败。最可能的原因是 AP接入点实现“MAC地址过滤”(MACaddress flter)。这时,你只能等,等待一个正常用户上线,借助于他的MAC地址,静等他下线,或是发起攻击将他“踢”下网或者与他一起用同一个MAC地址共用网络。总之,拿到他的MAC地址后,你就可以修改自己的MAC地址为该MAC地址,然后再连上网络,继续后面的攻击。
再回到 airomon-ng上,你会看到你的假客户端名单也名列客户端名单中。
下一步尝试一下“碎片攻击”方式(fragmentation attack)。
如果完成后面的“碎片攻击”(和随后的ChopChop攻击),可以留下这个假认证(fake-auth)的程序运行在后台上。这样一来,如果高级攻击中的某一个导致了AP 接入点解除与我们的认证,我们将在1秒延迟以后自动重新认证(re-authenticate)。
第3步:启动碎片攻击“碎片攻击”是一种先进的“有线等效保密协议”破解技术,该技术可以用于使用AP接入点作为一个解密工具,一次解密一个单一的数据包。除非这次指定的就是“碎片攻击”方式,否则只要用之前 aireplay-ng中“假认证攻击”(fake-authattack)进行攻击就可以了。
碎片攻击(Fragmentation Attack)是一种用于破解WEP(有线等效保密协议)加密的技术。通过碎片攻击,可以通过发送特制的碎片数据包来迫使WEP加密使用相同密钥的数据包重新发送,并捕获足够数量的重新发送的数据包来恢复WEP密钥。
在 aireplay-ng 工具中,--fragment
参数可以用于指定启动碎片攻击。此参数后面需要提供一个数字,表示碎片大小。例如,--fragment 128
表示使用128字节的碎片大小进行攻击。
如果你看到这段关于保存密钥流(keystream)的信息,这说明现在程序正在执行一个数据包中,明文(plaintext)和密文(ciphertext)的“异或”(xor)操作。如果“碎片攻击”进入工作状态,你可以直接跳转到第5步。如果“碎片攻击”无法进入工作状态,那么可以试试ChopChop 攻击。
第4步:启动ChopChop攻击除了“碎片攻击”之外的,另一种常用的攻击方式就是“ChopChop 攻击”。“ChopChop 攻击”需要比“碎片攻击”花更长的一点时间(最多几分钟)才能完成。它通过发送修改过的数据包来诱使访问点重新发送被攻击的数据包,并通过捕获和分析这些重新发送的数据包来获取WEP密钥。与"碎片攻击"相比,"ChopChop攻击"可能需要更长的时间来完成,通常最多几分钟。这个攻击方法的目的是逐位地恢复WEP密钥,通过逐个改变数据包中的一个或多个字节,攻击者可以观察到如何影响CRC(循环冗余校验)校验和以及最终解密的结果。
运行如下所示代码。
注意:如果要实施攻击,你可以尽可能只使用尺寸较小的数据包,以便加快“ChopChop攻击”的攻击速度。如果要实施“数据包注入”,则可以使用较大的包,大于68字节的数据包都应该能够满足以后在一次“ARP注入攻击”(ARPinjecton attack)中使用。数据包越大,“ChopChop攻击”所用的时间就越长。如果实施攻击的数据包大于 300字节,你可能就会考虑扔掉这个软件,等待有能发小数据包的合适攻击软件了。
这种攻击将需要几分钟。如果你觉得在攻击的中途接收到了解除认证的信息,那就先确认一下在最初很早运行的“假认证”攻击是否仍在运行。
一旦攻击完成,你会在“.cap”文件中得到解密数据包的一份拷贝,在“.xor”文件中得到密钥流的一份拷贝。一个比较好的主意,是理智地查找攻击程序所留下的输出内容。这主要是在上面保存的“.cap”文件中。这里,会包含有某种“有效的P地址”的数据包。例如,刚解密的数据包,经过解码,发现是“简单服务发现协议(SimpleServiceDiscoveryProtocol,SSDP)”“的数据包,该数据包位于一个192.168.0.X的子网中:
tshark -r ./replay dec-0620-012702.cap
通过使用类似tshark的工具可以读取 “.cap” 文件
得到以下信息
1 0.000000 192.168.0.1 -> 239.255.255.250 SSDP 325 NOTIFY * HTTP/1.1任何时候,数据包的应用层(applicationlayer)信息能够被解出来,这都是一个好的迹象。毕竟,看到应用层的数据,意味着所有与应用层以下各层(对于TCPIP协议来说物理层、网络层、传输层)上的问题已解决。
第5步:手工制作 ARP 数据包 成功地进行了“碎片攻击”或“ChopChop 攻击”之后,你现在可以通过注入你自己的数据包,实现“还原的密钥流”(recovered keystream)。
但应该注入什么样的数据包呢?你需要的是AP接入点直接向广播地址发送的内容。从这样的一个加密的数据包中,通过使用“ChopChop攻击”进行解密,你就可以知道AP接入点所管理的网络位于192.168.0.x子网中。跳过802.11的头部和加密的部分,如果随后的ARP“who-has”请求数据包“在网络上被生成,那么这个AP接入点将会向所有的客户端重新广播一遍。并且在随后的处理中,使用新的“初始向量IV”
你可能会看到类似以下内容的ARP请求数据包:
ARP, Request who-has 192.168.0.122 tell 192.168.0.123
这个ARP请求表明有一个设备正在寻找IP地址为192.168.0.122的目标,从IP地址192.168.0.123发送。这种类型的数据包可以被用来执行ChopChop攻击并进一步分析网络。
请注意,我们实际上并没有手工制作那些AP接入点已经回复了的ARP包(比如对于无线路由器常用的“192.168.0.1”P地址)。我们只需要那些AP接入点将要重新发送的ARP数据包,才需要手工制作。测试表明,针对AP接主点的手工制作的数据包,更像是告诉AP接入点“解除对我的认证吧”这样的自杀行为,所以我们还是别冒那个险了。
在 aircrack-ng套件中,有一个叫packetforge-ng的工具,这个工具就是用于手工制作数据包。首先,运行packetforge-ng,并带上“--arp”参数,这是告诉程序你想手工制作的数据包类型。下一点,你需要指定网络TCP/IP协议的第二层,也就是数据链路层的参数(“基本服务集标识”、目的MAC地址、源MAC地址),这个命令是同前面一样,格式是“-a BSSID”参数和“-h 发送源MAC地址”参数。接下来,通过“-k”参数指定目的IP地址,和通过“-1”(这是一个“L”的小写字母,而不是数字“1”)参数指定源IP地址,这两个参数共同创建 ARP的数据包。最后,使用参数“y”,将前面由“ChopChop攻击”所生成的“密钥流”加密一个新的数据包。这个命令如下所示
packetforge-ng --arp -a 10:fe:ed:40:95:b5 -h 00:C0:CA:60:1F:D7
-k 192.168.0.122-1192.168.0.123 -y replay dec-0620-012702.xor -w forged arp.cap
该命令的作用是生成一个伪造的ARP报文,并将其写入名为"forged arp.cap"的文件中。
参数说明如下:
-
–arp : 指定使用ARP协议进行伪造。
-
-a 10:fe:ed:40:95:b5 : 指定ARP报文的目标MAC地址。
-
-h 00:C0:CA:60:1F:D7 : 指定ARP报文的源MAC地址。
-
-k 192.168.0.122-192.168.0.123 : 指定伪造ARP报文的IP范围。
-
-y replay dec-0620-012702.xor : 指定用于伪造ARP报文的密钥文件。
-
-w forged arp.cap : 指定将伪造的ARP报文写入的文件。
这是输出的结果
Wrote packet to:forged arp.cap
做完这些事,你应该有了一个手工制作的ARP数据包,该数据包使用针对该网络作了正确的加密,你可以请其“注人”到网络中,然后观察在 airodump-ng中所捕获的数据包总数是不是增加了。
第6步:注入手工制作的ARP数据包随着繁杂的内容被一一处理掉,看看按照前面的方式手工制作的加密ARP请求数据包,终于到了使用这些数据包的时候了。一个简单的命令行如下所示:
aireplay-ng--interactive -F -r ./forged arp.cap -h 00:C0:CA:60:1F:D7 mon0
运行aireplay-ng后,你应该切换到终端上再运行airodump-ng。
如果你没有看到“#Data”的计数在增加,就说明某个环节发生了错误。
最有可能的是命令中的几个MAC地址,你在键人时存在输入错误,或者你需要重新运行 aireplay-ng上的“假认证攻击”(fakeauth attack)。
如果你看到“# Data”计数的增加,那就继续向前,开始运行 aircrack-ng 来分析处理由 airodump-ng生成的“.pcap”文件。
第7步:启动 aircrack-ng 运行aircrack-ng,先让程序运行几分钟,以便捕获到足够的网络通信的数据包。然后运行 aircrack-ng以便对所捕获的文件进行分析处理。由于生成的数据包文件太大,所以下面我们在命令行中,通过使用通配符(wildcard)在当前目录下,从所有 airodump-ng所捕获数据包文件中,查找那些文件名中,带有前缀“quiet type”类型的文件(这是本次人侵时,作为攻击目标的无线网络的假设网络名)。
aircrack-ng ./quiet type-*.cap
最终 aircrack-ng命令将成功返回密钥,或者因为所捕获的数据包还不足以还原密钥,那么程序会继续等待更多的捕获数据包,然后再次尝试还原操作。你可以将它放在那里运行,直到拿到还原后的密钥,然后再回到另一个终端上,停止 aireplay-ng 命令的运行。
使用Wifite工具破解WEP加密(破解wep这个方便)(wifite破解的一个自动化过程还是用的手工时候用的脚本)(其实建议用pineapple wifi这种嵌入式设备,但是在电脑上运行也一样)
Wifite是一款自动化WEP和WPA破解工具。下面将介绍使用该工具破解WEP加密的WiFi网络。
Wifte软件的最大优点之一,就是它事先预配置一个目标清单,然后让 Wifte在无人值守的情况下,自动按清单中的每一条操控着aircrack-ng的进程。随后,你就可以高枕无忧,因为Wi6te会根据列表中每一项完成破解工作,如果Wifte完成了对目标清单中,列表的第一项破解完,就会自动地切换到目标清单中的下一条。这一自动运行的特性对于一些嵌人式设备来说非常有用。
实操
具体操作步骤如下所述
这里选择破解Test1无线加密,所以输入编号1,将显示如下所示的信息:
从以上输出信息中可以看到,已经成功破解出了Test1加密的密码为3132333435。
此时,用户在客户端输入该密钥即可连接到Test1无线网络,如果用户发现不能连接的话,可能是因为AP对Mac地址进行了过滤。这时候用户可以使用macchanger命令修改当前无线网卡的Mac地址,可以将其修改为一个可以连接到Test1无线网络的合法用户的Mac地址。在无线网络中,不同的网卡是可以使用相同的Mac地址的。
使用Gerix WiFi Cracker工具破解WEP加密
在前面介绍了手动使用Aircrack-ng破解WEP和WPA/WPA2加密的无线网络。为了方便,本节将介绍使用Gerix工具自动地攻击无线网络。使用Gerix攻击WEP加密的无线网络的具体操作步骤如下所述。
实操
下载Gerix软件包。在这个网址J4r3tt/gerix-wifi-cracker-2: GUI wireless 802.11 penetration tool (github.com)
然后解压 unrar x gerix-wifi-cracker-master.rar
为了方便管理,将解压出的gerix-wifi-cracker-masger日录移动到Linux系统统一的目录/usr/share中。执行命令如下所示。
mv gerix-wifi-cracker-master /usr/share/gerix-wifi-cracker
切换到Gerix所在的位置,并启动Gerix工具。执行命令如下所
cd /usr/share/gerix-wifi-cracker/
python gerix.py
从该界面可以看到Gerix数据库已加载成功。此时,用鼠标切换到Configuration选项卡上,将显示如图所示的界面。
从该界面可以看到,只有一个无线网络接口。所以,现在要进行一个配置。在该界面选择接口wlan0,单击Enable/DisableMonitorMode按钮,将显示如图所示的界面
从该界面可以看到wlan0成功启动为监听模式。此时使用鼠标选择mon0,在Select the target network下单击Rescan networks按钮,显示的界面如图
从该界面可以看到扫描到附近的所有的无线网络。本例中选择攻击WEP加密的无线网络,这里选择Essid为Test1的无线网络。然后将鼠标切换到WEP选项卡,如图所示。
该界面用来配置WEP相关信息。单击Generalfunctionalities命令,将显示如图
该界面显示了WEP的攻击方法。在该界面的Functionalities选项下,单击Start Sniffing and logging按钮,将显示如图
该界面显示了与AP(Test1)传输数据的无线客户端。从该界面可以看到,Data列的值逐渐在增加。当捕获的数据包达到5000时,就可以尝试进行攻击了。单击Cracking选项卡,将显示如图
在该界面单击WEP cracking选项,将显示如图
在该界面单击Aircrack-ng-Decrypt WEP password按钮,将显示如图
从该界面可以看到,破解WEP加密密码所用时间为3分28秒。当抓取的数据包为20105时,找到了密码,其密码为abcde。如果在该界面没有破解出密码的话,将会继续捕获数据包,直到破解出密码。
应对措施
通过上一节的介绍,可以发现WEP加密很容易就被破解了。所以,为了使自己的网络处于安全状态,下面介绍几个应对措施。
1.使用WPA/WPA2(AES)加密模式
WPA协议就是为了解决WEP加密标准存在的漏洞而产生的,该标准于2003年正式启用。WPA设置最普遍的是WPA-PSK(预共享密钥),而且WPA使用了256位密钥,明显强于WEP标准中使用的64位和128位密钥。
WPA标准于2006年正式被WPA2取代了。WPA和WPA2之间最显著的变化之一是,强制使用AES算法和引入CCMP(计数器模式密码块链消息完整码协议)替代TKIP。
尽管WPA2已经很安全了,但是也有着与WPA同样的致使弱点,WiFi保护设置(WPS)的攻击向量。虽然攻击WPA/WPA2保护的网络,需要使用现代计算机花费2~14小时持续攻击。但是我们也必须关注这一安全问题,将WPS功能禁用。如果可以的话,应该更新固件,使设备不再支持WPS,由此完全消除攻击向量。
针对目前的路由器(2006以后),WiFi安全方案如下(从上到下安全性依次降低):
WPA2+AES
WPA+AES
WPA+TKIP/AES(TKIP仅作为备用方法)
WPA+TKIP
WEP
Open Network开放网络(无安全性可言)
2.设置Mac地址过滤
在无线路由器中,可以设置Mac地址过滤来控制计算机对本无线网络的访问。当开启该功能时,只有添加在Mac地址过滤列表中的用户才可以连接此AP。
3.使用IP安全体系结构IPSec
P安全体系结构IPSec是专门解决Internet安全而提出的一整套安全协议簇,因此只要无线站点STA和网络支持IPSec,就可以方便地将IPSec作为WLAN的系统解决访问。
对于WLAN的移动用户,在网络层使用AH(AuthenticationHeader)或者ESP(Encapsulating Security Payload)协议的通道模式来实现WLAN用户的接入认证以防止外部攻击。
WEP机制的问题就在于,对加密算法RC4的攻击,可以破解用户使用的共享密钥。从而破解所有流经无线网络的加密分组,使得用户的通信没有秘密可言,这对于802.11无线网络的用户而言是非常危险的。基于PPSec的无线局域网安全机制通过封装安全载荷(ESP)就可以解决这些问题。因为这时,空中接口中传输的所有分组均由IPSec ESP加密攻击者不知道正确的解密密钥则无法窃听,也就无从得到用户使用的共享密钥。
基于PPSec的无线局域网安全机制除了解决WEP机制的问题外,它还提供了其他的安全服务,如抗拒绝服务攻击、抗重播攻击、抗中间人攻击等。
引用《Kali Linux无线网络渗透测试详解》与《黑客大曝光》