2024年网安最新kali无线渗透之WEP加密模式与破解13_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。具体操作步骤如下所述。

iwconfig

airmon-ng start wlan0

airodump-ng wlan0mon

以上输出的信息,显示了扫描到的所有WiFi网络,并从中找出使用WEP加密的网络。当找到有使用WEP加密的WiFi网络时,就停止扫描。从以上信息中可以看到,ESSID名为Test1的WiFi网络是使用WEP模式加密的,所以接下来对Test1无线网络进行破解。
通过以上的方法,找出了要攻击的目标。

接下来,使用如下命令破解目标(Test1)WiFi网络。

airodump-ng --ivs -w wireless --bssid 14:E6:E4:84:23:7A -c 6 wlan0mon

从输出的信息中,可以看到连接Test1无线网络的客户端,并且Data列的数据一直在增加,表示有客户端正与AP发生数据交换。当Data值达到一万以上时,用户可以尝试进行密码破解。如果不能够破解出密码的话,继续捕获数据。

注意:以上命令执行成功后,生成的文件名是wireless-01.ivs,而不是wireless.ivs。这是因为airodump-ng工具为了方便后面破解的时候调用,对所有保存文件按顺序编了号,于是就多了-01这样的序号。以此类推,在进行第二次攻击时,若使用同样文件名wireless保存的话,就会生成名为wirelessattack-02.ivs文件。

当捕获一定的数据包后,开始进行破解。

aircrack-ng wireless-01.ivs

从输出的信息中可以看到,显示了KEY FOUND,这表示已成功破解出Test1无线网络的密码。其密码的十六进制值为31:32:33:34:35ASCII码值为12345。

实操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完成了对目标清单中,列表的第一项破解完,就会自动地切换到目标清单中的下一条。这一自动运行的特性对于一些嵌人式设备来说非常有用。

实操

具体操作步骤如下所述

wifite

当扫描到想要攻击的WiFi网络时,按Ctl+C快捷键停止扫描。

从输出信息中可看出,ESSID为Test1和TP-LINKYao的两个WiFi网络,都是使用WEP方式加密的。

这里选择破解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选项卡,将显示如图

写在最后

在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。

需要完整版PDF学习资源私我

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值