第6章 获取信息

在WiFi网络中,获取信息对保护自己的网络起着非常重要的作用。如果用户发现自己的网络慢,或者经常掉线等现象时,可以使用Wireshark工具捕获包,并分析包获取到对自己有利的信息,然后,采取相应的措施解决存在的问题。本章将介绍如何使用Wireshark工具解决这些问题。

6.1 AP的信息

如果要对一个WiFi网络进行渗透,了解AP的相关信息是必不可少的,如AP的SSID名称、Mac地址和使用的信道等。本节将介绍如何使用Wireshark工具获取到AP的相关信息。

6.1.1 AP的SSID名称

SSID名称就是AP的唯一标识符。如果要对一个AP实施渗透,首先要确定渗透的目标,也就是找到对应的SSID名称。但是,有时候搜索到的AP可能隐藏SSID了。所以,用户需要确定哪些AP的SSID名称是被隐藏的,哪些是显示的。下面将介绍使用Wireshark查找AP的SSID名称的包。

关于包的捕获方法,前面已经有详细介绍,所以,这里不再介绍。这里将捕获一个名为802.11beacon.pcapng的包,在该包中包括当前无线网卡搜索到的无线数据包,其内容如图6.1所示。

image

图6.1 802.11beacon.pcapng捕获文件

当AP向网络中广播自己的SSID名称时,使用的是管理帧中的Beacon子类型,并且该子类型的值为0x08。所以用户可以使用显示过滤器,过滤Beacon类型的帧。这时候显示过滤出来的数据包都是由AP发送的。用户可以在详细信息中,看到每个AP的SSID名称,如图6.2所示。

image

图6.2 所有AP广播的包

在该界面显示的包,是所有AP广播的自己SSID的包。在每个包的Info列中,可以看到AP对应的SSID名称。例如,第一帧就是SSID名称为Test的AP发送的广播包,该信息可以在Info列看到,其值为SSID=Test。由于这些包都是以广播形式发送的,所以在该界面显示的包目的地址都是Broadcast,源地址为AP的Mac地址。

在该界面显示的包中,可以看到每个AP的SSID值,这表示这些AP的SSID都是可见的。有时用户为了网络更安全,会隐藏SSID,所以在捕获的包中看不到AP的SSID名称。但是该SSID会显示一个值,通常情况下是Broadcast,如图6.3所示。

image

图6.3 隐藏SSID的AP

从该界面显示的包的详细信息中,可以看到当前该AP的SSID值为Broadcast,这表明该AP的SSID是隐藏的。

6.1.2 AP的Mac地址

当确定一个AP的SSID名称后,获取该AP的Mac地址就成为最重要的一步。在图6.2中,显示的所有包的源地址就是AP的Mac地址。但是,一些AP在Wireshark包列表中无法看到完整的48位Mac地址,只能看到Mac地址的后24位。所以,如果要想查看AP的Mac地址,需要在包的详细信息中才可以看到。下面将介绍如何获取AP的Mac地址。

下面同样以802.11beacon.pcapng捕获文件为例,分析AP的Mac地址。这里选择查看该包中第一个AP的Mac地址,如图6.4所示。

image

图6.4 包详细信息

在该界面可以看到,当前AP的Mac地址为14:e6:e4:ac:fb:20,并且还看可以知道当前的AP是Tp-Link设备。

6.1.3 AP工作的信道

选择一个恰当的工作信道,可以使网络处于一个良好的状态。在前面章节中已经对信道进行了详细的介绍,用户应该知道选择一个恰当的信道也是至关重要的。用户可以通过判断其他AP使用的信道,然后为自己选择一个恰当的信道。下面将介绍如何查看AP工作的信道。

在Wireshark中,用户可以通过添加列(Frequency/Channel)的形式,很直观地查看到每个AP工作的信道。用户也可以查看包的详细信息,在802.11管理帧信息中查看AP的工作信道及其他参数,如图6.5所示。

image

图6.5 工作的信道

从该界面显示的信息中可以看到,当前AP使用的是信道1。关于在Wireshark中添加列的方法,在前面章节中已经介绍过,这里就不再赘述。

6.1.4 AP使用的加密方式

为了使用户对AP更顺利的进行渗透,了解其使用的加密方法也是非常重要的。如果AP没有使用密码的话,客户端可以直接连接到AP。如果使用不同的加密方法,则渗透测试的方法也不同。在渗透测试之前,有详细地了解AP,可以使用户节约大量的时间,而且少走一些弯路。下面将介绍如何判断一个AP使用的加密方式。

目前,AP最常用的两种加密方式就是WEP和WPA。这里通过Wireshark来判断AP使用了哪种加密方式。

1.WPA加密方式

如果AP使用WPA加密方式的话,在AP的包信息中可以看到WPA元素信息。下面是一个使用WPA加密的AP包详细信息,如图6.6所示。

image

图6.6 WPA加密的AP包详细信息

从该界面显示的包详细信息中可以看到,该AP的详细信息中包括WPA信息元素。这说明,当前AP使用的是WPA方式加密的。

2.WEP加密方式

在Wireshark的包详细信息中,可以查看AP使用的加密方式。如果AP使用了WEP加密方式的话,在包信息中是不会显示WPA元素信息的。下面查看WEPauth.pcapng捕获文件中AP的包详细信息,如图6.7所示。

image

图6.7 WEP加密的AP包详细信息

从该界面显示的包详细信息中可以看到,在该界面没有WPA信息元素,这说明该AP没有使用WPA加密方式。因此,该AP可能使用的是WEP加密方式或者未使用加密。

6.2 客户端的信息

在WiFi网络中,获取客户端的信息也是非常重要的。用户可以通过获取到的客户端信息,判断出是否有人在蹭网,或者查看客户端运行的一些应用程序等。本节将介绍使用Wireshark工具,分析并获取客户端的信息。

6.2.1 客户端连接的AP

用户通过捕获包可知道,每个AP会定时地广播SSID的信息,以表示AP的存在。这样,当客户端进入一个区域之后,就能够通过扫描知道这个区域是否有AP的存在。在默认情况下,每个SSID每100ms就会发送一个Beacon信标报文,这个报文通告WiFi网络服务,同时和无线网卡进行信息同步。当客户端扫描到这些存在的AP时,就会选择与某个AP建立连接。下面将介绍如何查看客户端连接的AP。

在介绍如何查看客户端连接的AP之前,首先介绍下无线接入过程,如图6.8所示。

image

图6.8 无线接入过程示意图

在图6.8中,客户端首先会扫描无线网络中存在的AP,然后根据获取的AP的SSID,发送探测请求,并得到AP的响应。当接收到AP的响应后,会与其AP进行认证、关联请求和响应。所以,用户可以通过过滤Association Request类型的包来确定客户端请求连接了某个AP。

为了使用户更清楚地理解客户端接入AP的过程,这里捕获了一个名为Probe.pcapng的捕获文件。在捕获文件中捕获到一个客户端连接AP的过程,其接入过程如图6.9所示。

image

图6.9 客户端接入AP的过程

从该界面显示的包信息中可以看到,客户端与AP建立连接时,经过了探测请求(Probe Request,582帧)和响应(Probe Response,583帧)、认证请求(Authentication,587帧)和响应(Authentication,588帧),以及关联请求(Association Request,589帧)和响应(Association Response,590帧)3个过程。

下面以Probe.pcapng捕获文件为例,查看客户端与AP的连接。Probe.pcapng捕获文件如图6.10所示。

image

图6.10 Probe.pcapng捕获文件

图6.10中显示了Probe.pcapng捕获文件中所有的包。接下来使用显示过滤器wlan.fc.type_subtype eq 0x00,过滤所有的Association Request包,显示界面如图6.11所示。

image

图6.11 显示过滤的包

从该界面可以看到,显示的4个包的目标地址相同,并且可以看到每个包的SSID名称都是Test。这说明,有4个客户端与SSID名为Test的AP发送了关联,也就是说这些客户端要连接该AP。

注意: 在无线网络中有两种探测机制,一种是客户端被动的侦听Beacon帧之后,根据获取的无线网络情况选择AP建立连接;另一种是客户端主动发送Probe request探测周围的无线网络,然后根据获取的Probe Response报文获取周围的无线网络选择AP建立连接。

6.2.2 判断是否有客户端蹭网

当用户发现自己的网速很慢时,通常会想是否有人在蹭网。这时候用户可以使用Wireshark工具捕获数据包,并进行分析。下面将介绍判断是否有客户端蹭网。

通常人们蹭网,目的是想要看视频或者上QQ聊天。如果要看视频的话,将会从某个服务器上下载内容。当客户端有大量的下载内容时,在Wireshark中将会看到有大量的UDP协议包;当有人使用QQ聊天时,在Wireshark捕获的包中,可以看到有OICQ协议的包,并且在其包中可以看到他们的QQ号码。下面将通过使用Wireshark工具捕获包,并分析查看是否有人蹭网。

【实例6-1】 捕获无线网络中的数据包,然后通过分析包,看是否有人在下载资源(如迅雷)。具体操作步骤如下所述:

(1)启动Wireshark工具。

(2)在Wireshark中选择捕获接口,并设置捕获文件的位置及名称。为了减小用户对包的分析量,用户可以设置捕获过滤器。例如,仅过滤捕获某个AP(Test)的包,设置捕获过滤器的界面如图6.12所示。

image

图6.12 捕获选项

(3)在该界面设置仅捕获AP(Test)的包,其Mac地址为8c:21:0a:44:09:f8。设置完以上信息后,单击Start按钮,将开始捕获数据包,如图6.13所示。

image

图6.13 捕获的数据包

(4)从该界面看到,目前捕获到的包都是802.11协议的包,并且都是AP在广播自己的SSID包。这时候为了使Wireshark捕获到有巨大流量产生的数据包,用户可以使用迅雷下载一个视频(如电影)或在网页中看视频等。本例中,选择使用迅雷下载一个视频。

(5)当客户端使用迅雷正常下载视频时,返回到Wireshark捕获包界面,将看到有大量UDP协议的包,如图6.14所示。

image

图6.14 大量下载数据的包

(6)从该界面可以看到,显示的包都是UDP协议的包,并且这些包的目的地址和目的端口是相同的,源地址和源端口是不同的。这是因为迅雷使用P2P的方式下载资源。用户也可以根据这些包的目标地址,查看该地址是否是当前AP允许连接的客户端地址。在包详细信息中可以查看到包的IP地址及Mac地址等信息。然后用户可以采取措施,将该客户端踢下线并且禁止它连接。

6.2.3 查看客户端使用的QQ号

当客户端开启QQ程序时,使用Wireshark工具捕获的数据包中可以查看到客户端的QQ号码。但是,客户端发送或接收的消息都是加密的。如果想查看QQ的传输消息,则需要了解它的加密方式并进行破解才可以查看。下面将介绍如何通过Wireshark查看客户端使用的QQ号。

用户在分析数据包之前,首先要捕获到相关的数据包。用户可以使用捕获过滤器,指定捕获特定客户端数据包,如使用IP地址和Mac地址捕获过滤器。这里捕获了一个名为qq.pcapng捕获文件,其内容如图6.15所示。

image

图6.15 qq.pcapng捕获文件

该界面显示了qq.pcapng捕获文件。由于QQ通信使用的是OICQ协议,所以用户可以使用OICQ显示过滤器来过滤器所有的OICQ包。qq.pcapng捕获文件过滤后,显示结果如图6.16所示。

image

图6.16 显示过滤的OICQ包

从该界面可以看到,显示的包中Protocol列都是OICQ协议。此时,用户可以在Wireshark的Packet Details面板中查看包的详细信息,或者双击要查看的包,将会显示包的详细信息。如图6.17所示。

image

图6.17 包详细信息

在界面显示了第一个包的详细信息。在该包的详细信息中,OICQ-IM software,popular in China行的展开内容中包括了OICQ的相关信息。如该包的标志、版本、执行的命令及QQ号等。在图6.17中,隐藏的部分就是显示QQ号码的位置。以上执行的命令是Request KEY(29),表示客户端登录过程中的密码验证。

前面提到QQ传输的数据都是加密的,这里来确认下是否真的是加密的。如查看qq.pcapng捕获文件中的一个QQ会话内容。在图6.16中选择第一个包(1021帧),然后单击右键,将弹出如图6.18所示的界面。

image

图6.18 菜单栏

在该菜单栏中选择Follow UDP Stream命令,将显示如图6.19所示的界面。

image

图6.19 数据流

该界面显示的内容就是第一个QQ会话的内容。从该界面可以看到,这些内容都是加密的。

6.2.4 查看手机客户端是否有流量产生

在手机客户端,可能有一些程序在后台自动运行,并且产生一定的数据流量。如果用户不能确定是否有程序运行,就可以使用Wireshark工具捕获数据包,并从中分析是否有程序在后台运行。下面将介绍如何查看手机客户端是否有流量运行。

下面以Mac地址为14:f6:5a:ce:ee:2a的手机客户端为例,查看是否有流量产生。这里首先捕获该客户端的数据包,为了避免捕获到太多无用的数据包,下面使用捕获过滤器指定仅捕获Mac地址为14:f6:5a:ce:ee:2a客户端的数据包,如图6.20所示。

image

图6.20 设置捕获选项

在该界面选择捕获接口、设置捕获文件及捕获过滤器。以上都配置完后,单击Start按钮开始捕获数据包,如图6.21所示。

image

图6.21 开始捕获数据包

从该界面可以看到,目前没有捕获到任何数据包。这是因为当前的手机客户端还没有连接到WiFi网络中。如果在捕获包之前,客户端已经连接到一个WiFi网络中的话,捕获到的数据包将会是加密的。所以,启动Wireshark捕获数据包后,再将客户端连接到WiFi网络中,当客户端连接到AP后,用户就可以查看Wireshark捕获到的数据包。当捕获几分钟后,停止捕获,将显示如图6.22所示的界面。

image

图6.22 捕获到的数据包

在该界面显示了客户端连接到WiFi网络的相关数据包。通常人们在手机上安装的一些使用流量的软件有QQ、微信和播放器等。这些软件都是应用类的软件,如果启动的话,会连接对应的服务器。这时候用户可以使用http显示过滤器,过滤并分析相关的包,如图6.23所示。

image

图6.23 显示过滤的HTTP包

从该界面可以看到,显示的都是HTTP协议的包,用户可以从包的Info列信息,简单分析出每个包产生的程序。用户也可以通过分析包的详细信息,查看客户端访问了哪些资源。由于客户端使用HTTP协议时,通常会使用GET方法或POST方法发送请求。所以,用户可以通过查看这些请求包的信息,以了解客户端访问的资源。如查看图6.23中第463帧的详细信息,显示结果如图6.24所示。

image

图6.24 包详细信息

在该界面Hypertext Transfer Protocol的展开内容中,可以看到客户端请求的全链接。此时用户双击该链接,即可打开对应的网页,如图6.25所示。

image

图6.25 客户端请求的内容

从该界面可以看到,这些微信手机客户端的功能,由此可以判断出当前手机客户端上运行了微信应用程序。通过以上的方法,用户可以查看客户端浏览过的一些网页信息。

如果客户端有播放器产生流量的话,将会捕获到大量的UDP协议包。用户可以使用UDP显示过滤器过滤,显示结果如图6.26所示。

image

图6.26 显示过滤的TCP包

如果用户看到类似该界面的包,说明有客户端可能在使用播放器看视频或者下载资源。