无线安全 - 快速指南



无线安全 - 概念

在本教程中,您将踏上探索无线通信不同方法的旅程。您将了解大多数人所熟知的**无线局域网**(WLAN),然后深入研究无线安全背后的实践方面。您会惊讶地发现,使用任何了解使用方法的人都可以轻松获得的基本工具,收集有关无线网络及其数据流的大量敏感信息是多么容易。

在我们深入探讨无线通信的“**入侵**”方面之前,您需要学习大量关于正常无线系统操作的理论概念和图表。尽管如此,在本教程中,我们将尽可能减少理论内容——实践方面才是最鼓舞人心和最令人愉快的部分!

当我们想到无线通信时,我们会想象一些连接到天线的系统,它们使用肉眼看不见的无线电波在空中相互通信。老实说,这完全是一个正确的定义,但为了破解(或者您更喜欢“入侵”这个词)事物,您需要了解所有这些概念和架构是如何协同工作的。

无线术语

首先,让我们了解一些与无线通信相关的基本术语。在此过程中,我们将逐步深入更高级的内容。

无线通信

无线通信是指在各方之间以无线方式(通过空中)执行的任何类型的数据交换。这个定义非常广泛,因为它可能对应于许多类型的无线技术,例如:

  • Wi-Fi 网络通信
  • 蓝牙通信
  • 卫星通信
  • 移动通信

上面提到的所有技术都使用不同的通信架构,但它们都共享相同的“无线介质”能力。

Wi-Fi

**无线保真**(Wi-Fi)指的是我们所熟知的无线局域网。它基于**IEEE 802.11**标准。Wi-Fi 是一种您几乎随处可见的无线网络类型,在家中、工作场所、酒店、餐厅,甚至在出租车、火车或飞机上。这些 802.11 通信标准在**2.4 GHz 或 5 GHz ISM 无线电频段**上运行。

这些设备在商店中很容易买到,并且与 Wi-Fi 标准兼容,它们在设备本身上有以下图像可见。我敢打赌,您在各种商店或其他公共场所见过它数百次!

Wireless Security Wi-Fi

由于基于 802.11 的无线网络在各种环境中得到如此广泛的使用,因此它们也是与其他 802.11 标准相比,各种安全研究的最大课题。

无线客户端

无线客户端被认为是任何安装了无线网卡或无线适配器的终端设备。现在,在这个 21 世纪,这些设备几乎可以是任何东西:

Smartwatch
  • **现代智能手机** - 这些是您在市场上看到的用途最广泛的无线设备之一。它们在一个设备上支持多种无线标准,例如蓝牙、Wi-Fi、GSM。

  • **笔记本电脑** - 这是我们每天都会使用的一种设备!

  • **智能手表** - 这里显示的是索尼智能手表的示例。它可以通过蓝牙与您的智能手机同步。

  • **智能家居设备** - 随着技术的进步,智能家居设备可能例如可以通过 Wi-Fi 控制的冰箱或温度控制器。

Wireless Clients

可能的客户端设备列表每天都在增长。想到我们每天使用的所有这些设备/工具都可以如此轻松地通过无线网络控制,听起来有点可怕。但同时,请记住,通过无线介质传输的所有通信都可以被任何在正确时间出现在正确位置的人拦截。

无线安全 - 接入点

接入点 (AP) 是 802.11 无线实现中的中心节点。它是所有无线客户端关联并与其交换数据的有线和无线网络之间的接口。

对于家庭环境,您通常在一个盒子里有一个路由器、一个交换机和一个嵌入式 AP,这使得它非常适合此目的。

Access Point

基站

基站 (BTS) 等同于 802.11 世界中的接入点,但移动运营商使用它来提供信号覆盖,例如 3G、GSM 等…

Base Transceiver Station

**注意** - 本教程的内容集中在 802.11 无线网络上,因此不会包含有关 BTS 和移动通信的更多详细信息。

无线控制器 (WLC)

在企业无线实现中,接入点的数量通常以数百或数千计。管理所有 AP 及其配置(信道分配、最佳输出功率、漫游配置、在每个 AP 上创建 SSID 等)将无法在管理上实现。

Wireless Controller

在这种情况下,无线控制器的概念就发挥了作用。它是所有无线网络操作的“核心”。这个集中式服务器与网络上的所有 AP 具有 IP 连接,从而可以轻松地从单个管理平台全局管理它们、推送配置模板、实时监控来自所有 AP 的用户等等。

Centralized Server

服务集标识符 (SSID)

SSID 直接标识无线 WLAN 本身。为了连接到无线局域网,无线客户端需要在关联帧中发送与 AP 上预配置的 SSID 名称完全相同的 SSID。所以现在的问题是,如何找出您环境中存在哪些 SSID?这很简单,因为所有操作系统都带有一个内置的无线客户端,该客户端会扫描无线频谱以查找要加入的无线网络(如下所示)。我相信您在日常生活中已经多次执行过此过程。

Wireless WLAN

但是,这些设备是如何仅仅通过监听无线电磁波就知道特定无线网络以这种特殊方式命名的呢?这是因为信标帧(AP 始终以非常短的时间间隔传输)中的一个字段始终以明文形式包含 SSID 的名称,这就是整个理论。

Beacon Frame SSID

SSID 的长度最多可以为 32 个字母数字字符,并且唯一标识 AP 广播的特定 WLAN。如果 AP 定义了多个 SSID,则它将为每个 SSID 发送一个单独的信标帧。

小区

**小区**基本上是 AP 或 BTS 天线(发射器)覆盖的地理区域。在下图中,小区用黄线标记。

Cell

通常,与客户端设备内置天线的性能相比,AP 的输出功率要大得多。客户端可以接收 AP 发出的帧这一事实并不意味着可以建立双向通信。上图完美地展示了这种情况。- 在这两种情况下,客户端都可以听到 AP 的帧,但只有在第二种情况下,才能建立双向通信。

从这个简短的示例中得出的结果是,在设计无线小区大小时,必须考虑客户端将使用的天线的平均输出发射功率。

信道

无线网络可以配置为支持多个 802.11 标准。其中一些在 2.4GHz 频段上运行(例如:802.11b/g/n),而另一些在 5GHz 频段上运行(例如:802.11a/n/ac)。

根据频段,为每个信道定义了一组预定义的子频段。在同一物理区域内放置多个 AP 的环境中,使用智能信道分配以避免冲突(来自多个源在同一时间在完全相同的频率上传输的帧冲突)。

Channel

让我们看一下包含3个单元格的802.11b网络的理论设计,这些单元格彼此相邻,如上图所示。左侧的设计由3个不重叠的信道组成 - 这意味着特定单元格中AP及其客户端发送的帧不会干扰其他单元格的通信。在右侧,我们有一个完全相反的情况,所有帧都在同一个信道上飞行,导致冲突并显着降低无线性能。

天线

天线用于将以电信号形式在电缆内流动的信息“转换”到电磁场中,电磁场用于通过无线介质传输帧。

Antennas

每个无线设备(无论是AP还是任何类型的无线客户端设备)都具有一个天线,其中包括发射器和接收器模块。它可以是外部的,周围的人都可以看到,也可以是内置的,就像现在大多数笔记本电脑或智能手机一样。

对于无线安全测试或无线网络的渗透测试,外部天线是最重要的工具之一。如果您想进入这个领域,应该获得其中一个!与您可能在设备中内置的大多数内部天线相比,外部天线的最大优势之一是它们可以配置为所谓的“监视模式” - 这绝对是您需要的!它允许您使用wireshark或其他知名工具(如Kismet)从您的PC嗅探无线流量。

互联网上有一篇非常好的文章(https://www.raymond.cc/blog/best-compatible-usb-wireless-adapter-for-backtrack-5-and-aircrack-ng/),有助于选择外部无线天线,特别是对于具有监视模式功能的Kali Linux。如果您认真考虑进入这个技术领域,我真的很建议大家购买推荐的其中一个(我有一个)。

无线安全 - 网络

无线网络可以根据其提供的操作范围分为不同的类别。最常见的分类方案将无线网络分为以下表格中列出的四类,以及简短的示例。

类别 覆盖范围 示例 应用

无线个人局域网(WPAN

非常短 - 最大10米,但通常更小

蓝牙、802.15、IrDA通信

  • 智能手机之间的数据交换
  • 耳机
  • 智能手表

无线局域网(WLAN

中等 - 在公寓或工作场所内。

802.11 Wi-Fi

用于以下方面的本地网络的无线扩展−

  • 企业
  • 市场
  • 机场
  • 家庭

无线城域网(WMAN

整个城市

WiMAX、IEEE 802.16或专有技术

住宅和企业之间

无线广域网(WWAN

遍布全球

3G、LTE

从以下位置无线访问互联网

本教程主要介绍WLAN技术,但我们还将介绍蓝牙通信(WPAN)的各个方面。

无线技术统计

为了给您一些证明,无线技术每年都会以越来越多的方式影响我们的生活。请查看已发现的样本统计数据!其中一些看起来很可怕,但同时它们也简单地表明了我们现在对无线通信的依赖程度。

  • 到2020年,大约240亿台设备将连接到互联网,其中超过一半通过无线连接。这是真正的物联网(IoT)。考虑到我们现在地球上有大约74亿人口,这听起来怎么样?

  • 所有类型的无线通信中,约有70%是Wi-Fi(802.11标准)。

  • Wi-Fi网络的速度从802.11a - 54Mbps(1999年)增长到ac-wave 1 - 1.3 Gbps(2012年)。最重要的是,801.11ac-wave2即将到来,速度将达到多Gbps。

  • 每天,数百万人都在使用智能手机通过Wi-Fi进行现金转账和访问银行账户!

您是否仍然对无线实施中的安全重要性犹豫不决?

Wi-Fi网络

无线部署中使用的设备选择受部署类型的影响,无论是小型住宅、商店、大型企业网络还是酒店网络。

规模 示例 使用的设备类型
小型部署 家庭、小型商店 最常见的是家用路由器/交换机(与无线AP集成)
大型部署 酒店、企业、大学
  • 大量AP
  • 集中式无线控制器
  • 基于RFID的服务
  • 其他类型的无线位置跟踪服务

无线安全 - 标准

自IEEE 802.11标准诞生以来,无线网络发展迅速。人们看到了这种数据传输的潜力,因此802.11的后续版本每隔几年就会出现。下表总结了我们时代使用的当前802.11标准−

标准 频率 最大速度
802.11 2.4 GHz 2 Mbps
802.11a 5 GHz 54 Mbps
802.11b 2.4 GHz 11 Mbps
802.11g 2.4 GHz 54 Mbps
802.11n 2.4或5 GHz 600 Mbps
802.11ac 5 GHz 1 Gbps

如您所见,Wi-Fi网络变得越来越快。以下是一些限制因素,说明为什么我们在通过Wi-Fi下载数据时看不到高速−

  • 速度和实际吞吐量之间存在差异。由于无线通信是半双工的(单个天线一次只能发送或接收),因此实际吞吐量实际上约为速度的50%。当只有一个发射器和一个接收器,并且没有其他客户端参与且没有干扰(导致冲突和重传)时,此条件才成立。

  • 最先进的标准(802.11ac)在终端设备上的支持并不广泛。市场上的大多数笔记本电脑或智能手机都支持802.11a/b/g/n,但尚未支持802.11ac标准。此外,某些设备仅配备支持2.4 GHz频段的天线,而不支持5 GHz(这导致默认情况下缺乏802.11ac支持)。

检查您的Wi-Fi网络标准

让我们看看如何检查您加入的Wi-Fi网络支持哪些标准?您可以使用多种方法进行检查。我将在此处介绍其中两种−

通过嗅探无线信标帧

  • 每个信标帧都包含传输AP支持的速度列表。这些速度可以直接映射到标准。

Supported Transmitting AP
  • 上面信标帧的转储表明,这可能是一个AP,它在2.4 GHz频段上启用了802.11b/g支持。

  • 802.11b支持速率(1、2、5.5、11)。

  • 802.11g支持速率(1、2、5.5、6、9、11、12、18、24、36、48、54)

使用一些特定的无线网络发现工具。

以下屏幕截图显示了在Mac上运行的名为“inSSIDer”的基于无线的工具的转储。它直接显示所有可见的无线网络,以及有关每个网络的一些详细信息。

Inssiderer

从上图可以看出,一些WLAN的最大速度支持130Mbps(这些必须是802.11ac),其他一些支持54和36 Mbps(这些可能是802.11 A或G)。

另一方面,您还可以使用流行的基于Linux的程序“airdump-ng”(我们稍后将在演示黑客攻击(破解Wi-Fi网络的密钥)时更深入地探讨这一点)。至于Windows环境,您可以使用流行的“Network Stumbler”。所有这些工具的工作方式都非常相似。

Airdumpng

无线安全 Wi-Fi 认证模式

在本章中,我们将简要介绍无线部署中使用的可能的认证方案。它们是:开放式认证和基于预共享密钥(PSK)的认证。前者基于EAP帧来派生动态密钥。

开放式认证

术语“开放式认证”本身具有很大的误导性。它表明某种认证已到位,但实际上,此方案中的认证过程更像是正式步骤,而不是认证机制。该过程看起来像下图所示−

Open Authentication

用通俗易懂的语言来说,这种交换表明,在认证请求中,无线客户端(恳求者)说“你好,AP,我想进行认证”,而AP的认证响应则表示“好的,给你”。您在此设置中看到任何安全措施了吗?我也没有…

因此,永远不应该使用开放式认证,因为它允许任何客户端在没有正确的安全检查的情况下对网络进行认证。

基于EAP的4路握手(带WPA/WPA2)

当无线客户端对AP进行身份验证时,它们都会经历一个称为4路握手的4步身份验证过程。在这些消息交换过程中,共享密码是在AP和无线客户端之间派生的,而不会在任何这些EAP消息中传输。

4-way Handshake

成对主密钥(PMK)是黑客想要收集的东西,以便破解网络加密方案。PMK仅供恳求者和验证者知道,但在传输过程中不会共享。

但是,会话密钥是,它们是ANonce、SNonce、PMK、恳求者和验证者的MAC地址的组合。我们可以将这种关系写成数学公式−

Sessions_keys = f(ANonce, SNonce, PMK, A_MAC, S_MAC).

为了从该等式中派生出PMK,必须破解AES/RC4(取决于使用WPA2还是WPA)。这并不容易,因为唯一实用的方法是执行蛮力或字典攻击(假设您拥有一个非常好的字典)。

这绝对是一种推荐使用的认证方法,并且肯定比使用开放式认证更安全。

Wi-Fi粉笔涂鸦

Wi-Fi粉笔涂鸦是无线局域网历史上一个非常有趣的概念,主要在美国使用。主要思想是标记实施开放式认证或具有弱认证的WLAN的地方。通过这样做,任何人在墙上或地上发现这个用粉笔写的标志的人,都可以无需身份验证即可登录Wi-Fi系统。聪明吧?

Wi-Fi Chalking

您可能只是问自己 - 为什么是粉笔而不是某种标记、喷漆或其他更永久的标记方式?答案很简单,来自刑法 - 用粉笔书写不被视为破坏行为。

无线安全 - 加密

一般来说,加密是将数据转换为某种密文的过程,这种密文对于任何拦截信息的第三方来说都是无法理解的。如今,我们每天都在使用加密,甚至都没有注意到。每次访问您的网上银行或邮箱时,大多数情况下,当您登录任何类型的网页或创建到公司网络的VPN隧道时,都会使用加密。

有些信息太宝贵了,不容忽视。为了有效地保护信息,必须对其进行加密,以防止攻击者解密。老实说,没有完全安全的加密方案。我们每天使用的所有算法都可能被破解,但使用当前的技术和时间,发生这种情况的可能性有多大呢?

例如,使用新型超高速计算机破解“X”加密可能需要大约八年时间。这种风险是否大到足以停止使用算法“X”进行加密?我对此表示怀疑,到那时,需要保护的信息可能已经过时了。

无线加密类型

要开始讨论无线加密,值得一提的是,加密算法有两种类型:流密码和块密码。

  • 流密码 - 它以逐位的方式将明文转换为密文。

  • 块密码 - 它对固定大小的数据块进行操作。

最常见的加密算法汇总在下表中 -

加密算法 加密算法类型 数据块大小
RC4 流密码 ---
RC5 块密码 32/64/128 位
DES 块密码 56 位
3DES 块密码 56 位
AES 块密码 128 位

您最有可能在无线网络上遇到(某种形式)的是RC4 和 AES

WEP 与 WPA 与 WPA2

在无线网络世界中,有三种广为人知的安全标准。这三者之间最大的区别在于它们可以提供的安全模型。

安全标准 用户加密算法 身份验证方法 破解加密的可能性
WEP WEP(基于 RC4) 预共享密钥 (PSK)
  • 初始化向量 (IV) 冲突攻击
  • 弱密钥攻击
  • 重注入攻击
  • 比特翻转攻击
WPA TKIP(基于 RC4) 预共享密钥 (PSK) 或 802.1x - 在初始 4 步握手期间破解密码(假设密码相对较短 <10 个字符)
WPA2 CCMP(基于 AES) 预共享密钥 (PSK) 或 802.1x

WEP 是第一个旨在添加身份验证和加密的无线“安全”模型。它基于RC4 算法和 24 位初始化向量 (IV)。这是实现的最大缺点,导致 WEP 在几分钟内即可被破解,使用任何人都可以在其 PC 上安装的工具。

为了增强安全性,WPA2 采用了强大的加密模型(AES)和基于802.1x(或 PSK)的非常强大的身份验证模型。WPA 只是作为向 WPA2 平滑过渡的过渡机制引入的。许多无线网卡当时不支持新的 AES,但它们都使用RC4 + TKIP。因此,WPA 也基于该机制,只是进行了一些改进。

弱初始化向量 (IV)

初始化向量 (IV) 是 WEP 加密算法的输入之一。整个机制在下图中显示 -

Weak Initialization Vectors

可以注意到,算法有两个输入,其中一个是 24 位长的 IV(也以明文形式添加到最终密文中),另一个是 WEP 密钥。在尝试破解此安全模型(WEP)时,必须收集大量无线数据帧(大量帧,直到找到具有重复 IV 向量值的帧)。

假设对于 WEP,IV 有 24 位。这意味着它可以是两帧中的任何数字(如果您足够幸运)到 224 + 1(您收集每个可能的 IV 值,然后下一帧必须是重复的)。根据经验,我可以说,在一个相当拥挤的无线局域网(大约 3 个客户端一直在发送流量)中,获取足够数量的帧来破解加密并导出 PSK 值只需要 5 到 10 分钟的时间。

此漏洞仅存在于 WEP 中。WPA 安全模型使用 TKIP,它通过将 IV 的大小从 24 位增加到 48 位并对图表进行其他安全增强来解决弱 IV 问题。这些修改使 WPA 算法更加安全,不易受到此类破解。

无线安全 - 破坏加密

在本章中,我们将了解如何破解 WEP 和 WPA 加密。让我们从 WEP 加密开始。

如何破解 WEP 加密?

可以使用许多可能的工具来破解 WEP,但所有方法都遵循相同的思路和步骤顺序。

假设您已经找到了目标网络,您将执行以下操作 -

  • 收集(嗅探)通过空中飞行的 WEP 加密数据包。此步骤可以使用名为“airodump-ng”的 Linux 工具执行。

  • 收集到足够的数据包后(您已收集了一组具有重复 IV 向量的帧),您可以尝试使用名为“aircrack-ng”的工具破解网络。

在高度拥塞的网络上,上述两个步骤可能需要大约 5 到 10 分钟甚至更短的时间。就这么简单!WEP 黑客攻击的分步指南将在“渗透测试 WEP 加密 WLAN”主题下显示。

如何破解 WPA 加密?

破解 WPA 加密的方法略有不同。使用 WPA 的无线帧使用 TKIP 加密,该加密仍然使用 IV 和 RC4 算法的概念,但对其进行了修改以使其更安全。TKIP 通过以下指针修改 WEP -

  • 它使用临时、动态创建的密钥,而不是 WEP 使用的静态密钥。

  • 它使用排序来防御重放和注入攻击。

  • 它使用高级密钥混合算法来击败 WEP 中的 IV 冲突和弱密钥攻击。

  • 它引入了增强数据完整性 (EDI) 来击败 WEP 中可能的比特翻转攻击。

考虑到所有这些要点,它使得 WPA 标准在计算上不可能被破解(它没有说不可能,但假设您拥有破解算法的高级资源,它可能需要相当长的时间)。WPA 标准中使用的身份验证也相对于 WEP 中使用的身份验证有所改进。WPA 使用 802.1x(基于 EAP 的身份验证)对客户端进行身份验证。事实上,这是您可能尝试破解 WPA(实际上也是 WPA2)的唯一弱点

WPA 和 WPA2 标准支持两种身份验证类型 - 预共享密钥 (PSK) 和基于外部身份验证服务器的真正的 802.1x。当使用 802.1x 身份验证时,根本不可能破解密码;只有在使用本地 PSK 模式时才可行。顺便说一句,所有企业无线部署都使用基于外部 RADIUS 服务器的真正的 802.1x 身份验证,因此,您唯一可能的目标可能是非常小的企业或家庭网络。

还有一点需要注意的是,用于保护 WPA/WPA2 的 PSK 的大小必须合理地短(最多 10 个字符 - 与允许的最大长度 64 个字符相反),如果您打算破解它。这样做的原因是,PSK 仅在初始 4 步握手期间在无线客户端和 AP 之间传输一次(并非以明文形式),并且从这些数据包中导出原始密钥的唯一方法是暴力破解或使用良好的字典。

有一个非常好的在线计算器可以估算暴力破解 PSK 需要花费的时间 - http://lastbit.com/pswcalc.asp。假设您有一台每秒可以尝试 1000 个密码的 PC(由小写字母、大写字母、数字和常用标点符号组成),破解密码需要 28910 年(当然,这是最大值,如果您幸运的话,可能需要几个小时)。

Online Calculator

破解 WPA/WPA2 加密(仅当它们使用 PSK 时)的常规过程如下 -

  • 收集(嗅探)通过空中飞行的无线数据包。此步骤可以使用名为“airodump-ng”的 Linux 工具执行。

  • 在收集数据包的同时,您应该断开当前客户端的连接。这样做,您将进入客户端需要重新进行身份验证才能使用 Wi-Fi 网络的情况。这正是您想要的!通过这样做,您为嗅探无线用户连接到网络做好了准备。您可以使用基于 Linux 的工具“aireplay-ng”来断开当前无线客户端的连接。

  • 当您嗅探到 4 步握手(并保存在转储文件中)时,您可以再次使用“aircrack-ng”来破解 PSK。在此步骤中,您必须引用包含所有密码组合的字典文件,aircrack-ng 工具将使用该文件。因此,一个好的字典文件在这里是最重要的元素。

WPA/WPA2 网络的详细分步黑客攻击将在“渗透测试 WPA/WPA2 加密 WLAN”主题下显示。

如何防御 WPA 破解?

我有一种感觉,在浏览了本教程的最后几个部分之后,您已经对应该采取哪些措施来防止 WPA 破解(或者更确切地说:在合理的时间内使其不可能)有了一些想法。以下是保护您的家庭/小型企业无线网络的最佳实践的一些要点 -

  • 如果有可能,请使用 WPA2 而不是 WPA。它对套件使用的加密方案有直接影响。AES(WPA2 使用)比 TKIP(WPA 使用)安全得多。

  • 正如您之前看到的,破解 WPA/WPA2 的唯一方法是嗅探身份验证四次握手并对 PSK 进行暴力破解。为了使其在计算上不可能,请使用至少 10 个字符的密码,密码由小写字母、大写字母、特殊字符和数字的随机组合组成(而不是任何可以在任何字典中找到的普通单词)。

  • 禁用 Wi-Fi 保护设置 (WPS) - WPS 是为了方便将新的无线客户端连接到网络而发明的一些“酷功能”之一 - 只需输入 AP 的一个特殊的 8 位数字 PIN 码即可。这个 8 位数字对于暴力破解攻击来说非常短,而且这个 8 位数字可能就印在 AP 盒子的背面。不妨试试看,看看您的家庭路由器 - 背面是否有 WPS PIN 码?您的家庭路由器是否启用了 WPS 功能?

Connecting Wireless Clients

无线安全 - 访问控制攻击

无线网络比其有线网络等效物更容易受到攻击,这并不是什么秘密。除了协议本身的漏洞之外,它还是一个“无线”共享介质,这使得此类网络面临着一系列全新的攻击面。在接下来的子章节中,我将尝试介绍无线通信的许多方面(或更确切地说,是威胁),这些方面可能会被恶意第三方利用。

访问控制攻击

访问控制的概念是控制谁可以访问网络,谁不能访问网络。它可以防止恶意第三方(未经授权的)关联到无线网络。访问控制的想法与身份验证过程非常相似;但是,这两个概念是互补的。身份验证通常基于一组凭据(用户名和密码),而访问控制可能超出此范围,并验证客户端用户或客户端用户设备的其他特征。

无线网络中使用的一种非常著名的访问控制机制是基于 MAC 地址白名单。AP 存储一个授权 MAC 地址列表,这些地址有资格访问无线网络。凭借当今可用的工具,这种安全机制并不是非常强大,因为 MAC 地址(无线客户端芯片组的硬件地址)可以非常简单地被欺骗。

唯一的挑战是找出 AP 允许哪些 MAC 地址进行身份验证以连接到网络。但是,由于无线介质是共享的,因此任何人都可以嗅探通过空中传输的流量并查看帧中带有有效数据流量的 MAC 地址(它们在未加密的报头中可见)。

如您在下面的图片中看到的,在我的家庭路由器上,我设置了两台设备能够通过指定其 MAC 地址与 AP 通信。

MAC Addresses

这是攻击者一开始没有的信息。但是,由于无线介质对嗅探“开放”,因此他可以使用 Wireshark 监听在特定时间连接并与 AP 通信的这些设备。当您启动 Wireshark 进行空中嗅探时,您很可能会每秒收到数百个数据包,因此,明智的做法是在 Wireshark 中使用有效的过滤规则。我实现的过滤器类型为 -

(wlan.fc.type_subtype == 0x28) && (wlan.addr == 58:6D:8F:18:DE:C8)

此过滤器的第一部分告诉 Wireshark 它应该只查看数据包(而不是信标帧或其他管理帧)。它是子类型 **0x28** 并且(“&&”)一方应该是我的 AP(它在无线接口上的 MAC 地址为 *58:6D:8F:18:DE:C8*)。

MAC Address on Radio Interface

您可以注意到,与 AP 交换数据包的两个设备是我作为管理员之前在 MAC 过滤中专门允许的设备。拥有这两个设备后,您作为攻击者唯一需要执行的配置是本地更改无线网卡的 MAC 地址。在本例中,我将使用基于 Linux 的工具(但对于所有可能的 操作系统都有大量其他工具) -

Linux Based Tool

这是一种绕过基于 MAC 过滤的访问控制的简单方法。如今,执行访问控制的方法要先进得多。

专门的身份验证服务器可以通过查看特定客户端的无线帧的外观并将其与特定供应商已知的“基线”集进行比较,从而区分特定客户端是惠普生产的 PC、苹果的 iPhone(哪种 iPhone)还是其他一些无线客户端。但是,这并非您在家庭网络上能看到的。这些解决方案相当昂贵,并且需要更复杂的集成多种服务器类型的基础设施——很可能在某些企业环境中遇到。

无线安全 - 完整性攻击

信息的完整性是一种特征,它确保数据在通过网络(无论是无线还是有线)从 A 点到 B 点传输时未被篡改。在谈到无线通信时,任何第三方都可以监听 802.11 无线电在同一频率信道上的传输。以下图表说明了一种针对信息完整性的简单攻击类型 -

Type of Attack

假设一个名为受害者的合法无线客户端(步骤 1)正在向朋友发送电子邮件(电子邮件将发送到互联网),请求退还 1000 美元并将在电子邮件中填写银行账户号码。

假设信息未被良好加密(或攻击者破解了加密并有机会以明文读取所有内容),无线攻击者(步骤 2)读取通过空中流向 AP 的整个数据包。攻击者通过将银行账户号码替换为自己的银行账户号码来修改消息,并将消息重新注入到空中,通过 AP 发送到互联网。

在这种情况下,如果没有完整性检查可以检测到消息内容的变化 - 接收者将收到一条包含修改后的银行账户号码的消息。可能,所描述的情况在现实生活中极难实现,因为所有像邮件交换之类的工具都能够抵御此类攻击(通过适当的加密和消息完整性检查),它完美地展示了攻击的概念。

针对此类完整性攻击主要有两种对策 - 加密(以便攻击者根本无法读取消息)和 **消息完整性代码** (MIC),它基本上是像 **MD5** 或 **SHA1** 这样的哈希函数,它获取整个消息的指纹并创建一个 128 位(MD5)或 160 位(SHA1)的哈希值。每当数据包内容发生变化时,哈希值也会发生变化,导致消息被拒绝(无线路由器已经拒绝)。

无线安全 - 机密性攻击

针对信息机密性的攻击的作用,只是简单地破坏无线部署中使用的加密模型。查看该领域各种安全模型,可以提出以下一般建议 -

  • **无加密/ WEP 加密** - 这些方法安全性不高,在任何情况下都不应使用。

  • **TKIP 加密** - 此加密模型用于 WPA 部署中。它尚未被破解,但由于使用了较弱的 RC4 算法,因此 TKIP 不被认为是一种强大的加密手段。

  • **CCMP 加密** - 这用于 WPA2。到目前为止,它被认为是最安全的加密模型,基于不可破解(至少在今天)的 AES 算法。

各种攻击的主要目标都是破解加密并获取密钥的值。这将为攻击者提供两件事:破坏其他用户的机密性和直接访问无线网络。

无线安全 - 拒绝服务攻击

旨在禁用服务(使目标不可用)或降低其性能(降低可用性)的攻击属于 **拒绝服务 (DoS)** 攻击的范畴。对于受害者或以电子商务为基础的企业来说,此类攻击的成本可能非常高昂。他们可以根据其网络服务不可用的时间长度来计算攻击的成本,以数百万美元计。

无线网络在员工的工作效率中也发挥着至关重要的作用。我们都在工作场所使用无线笔记本电脑和智能手机。如果无线网络无法工作,我们的工作效率就会降低。

针对可用性的 DoS 攻击可以分为三种类型 -

  • 第 1 层 DoS
  • 第 2 层 DoS
  • 第 3 层 DoS

我们将在后面的章节中详细讨论这些攻击。

无线安全 - 第1层拒绝服务

这是射频干扰(无论是故意的还是无意的)的结果。最常见的是在 2.4 GHz 频段上看到无意的干扰,因为该频段非常繁忙。诸如射频摄像机、无线电话或微波炉等设备可能会使用此频段。至于故意的干扰,有一些射频干扰器可能会干扰 802.11 WLAN。射频干扰器可以是硬件单元或软件工具(如下所示的“Websploit”框架示例)。

Websploit Framework

使用第 1 层 DoS 的最常见的 WiFi 攻击是 **昆士兰攻击**。

昆士兰攻击

这用于破坏 802.11 WLAN 的操作。无线网卡被配置为发出恒定的射频信号(很像窄带信号发生器)。同时,其他有效的无线客户端永远没有机会访问介质,因为每当它们执行清晰信道评估(在通过无线发送任何流量之前检查“空气”的简短过程)时,无线介质都会被这个恒定的发射器占用。

干扰攻击也可用于启动其他类型的攻击。通过使用干扰工具,可以强制无线客户端重新进行身份验证。之后,可以使用协议分析器(嗅探器)来收集身份验证过程(如果是 LEAP 或 WPA/WPA2 个人,则为四次握手)。此时,攻击者将拥有执行 **离线字典攻击** 所需的所有必要信息。窄带干扰也可以用作中间人攻击的辅助工具。

使用软件(使用 Websploit)创建第 1 层干扰器非常容易。我将使用我自己的名为“home_e1000”的家庭无线网络来说明攻击。首先使用 **airodump-ng**,我将收集有关 WLAN 本身的信息(BSSID、信道)。

Layer 1 Jammer

Home Wireless Network

如您所见,“home_e1000”无线网络正在使用 BSSID 为 58:6D:8F:18:DE:C8 的 AP,并在信道 6 上运行。这是我们需要的一组信息,作为 Websploit 框架执行干扰攻击的输入。

与我们的场景相关的模块位于“无线模块”下,我们将使用 Wi-Fi/wifi_jammer 模块。

Wireless Modules

“RQ”字段列代表“必需”,因此您需要在此处填写所有值 -

  • **interface** - 这是 WLAN 接口,如 **ifconfing** 中所示,在我的情况下,它是 wlan0。

  • **bssid** - 这是 AP 的无线适配器的 MAC 地址。您可以在前面步骤中解释的 airodump-ng 中获取此地址。

  • **essid** - 这是您要干扰的 WLAN 的名称。

RQ Field Column
  • **mon** - 监控接口的名称,如 ifconfig 或 airmon-ng 中所示。在我的情况下,它是 mon0。

  • **channel** - 显示 airodump 中的信息。我的目标网络“home_e1000”正在信道 6 上运行,如 airodump-ng 输出所示。

airodumpng Output

现在,当所有必要的信息都设置在websploit框架中时,您只需要键入“run”命令。一旦命令执行,攻击就会开始。

正如您在下面的屏幕截图中看到的,websploit框架会自动启动aireplay-ng工具并干扰网络。

aireplay-ng Tool

这次攻击的结果(您看不到),是我的无线电脑和我的智能手机断开了连接,并且在使用“stop”命令停止攻击之前,我无法真正连接回去。

无线安全 - 第2层拒绝服务

这些攻击是最有可能被恶意攻击者发起的攻击。此攻击背后的主要思想是篡改802.11无线帧并将其注入(或重新传输)到空中。

最常见的第2层DoS攻击涉及解除关联或身份验证管理帧的欺骗。之所以如此有效,是因为这些帧不是请求帧,而是通知!

Layer 2 DoS Attacks

由于身份验证过程是关联的先决条件(如上所示),因此身份验证解除帧也会自动解除客户端的关联。

这种攻击可能(再次)使用aireplay-ng工具启动。您能看到这个工具有多强大吗?

再次以我的家庭网络为目标,其ESSID为“home_e1000”,我首先使用airodump-ng检查连接的客户端。

ESSID of Home

我的智能手机是连接到home_e1000网络的设备,其MAC地址为98:0D: 2E: 3C:C3:74。然后,我针对我的智能手机发出一个身份验证解除DoS攻击,如下面的屏幕截图所示 -

Deauthentication DoS Attack

结果,我的目标家庭设备(智能手机)再次与Wi-Fi网络断开连接。

针对此类攻击的缓解技术是使用802.11w-2009标准管理帧保护(MFP)。简单来说,此标准要求管理帧(如解除关联或身份验证解除帧)也由受信任的AP签名,如果它们来自恶意客户端或伪造的AP,则应忽略它们。

无线安全 - 第3层拒绝服务

这种第3层DoS的想法是用大量流量淹没主机以进行处理,导致主机崩溃。大多数情况下,此类攻击源自一组黑客拥有的主机,称为僵尸网络,并以互联网上的受害者服务器为目标。

三种最常见的第3层DoS攻击是 -

Fraggle攻击

攻击者向IP广播地址发送大量UDP回显请求。源IP地址被欺骗并设置为受害者IP地址。这样做是为了将广播子网上的客户端发起的回复发送回受害者。

Ping泛洪攻击

攻击者使用ping向目标计算机发送大量ICMP数据包。想象一下,一个拥有数千台PC的僵尸网络的恶意方。如果我们想象从所有这些PC同时运行一次ping泛洪攻击,那么它可能会变得非常严重。

Smurf攻击

与Fraggle攻击的情况完全相同的逐步操作。唯一的区别是,Smurf攻击使用ICMP回显请求数据包,而Fraggle攻击使用UDP数据包。

这些类型的第3层DoS攻击并非专门针对无线技术攻击。它们可以通过任何第2层技术使用,无论是以太网、帧中继、ATM还是无线。此攻击成功的首要条件是攻击者控制着大量被接管的PC(僵尸网络)。然后,从僵尸网络中每个受感染的主机向目标发送特定的数据包 - 假设僵尸网络有1000多个设备,累积流量可能很大。从单个PC使用第3层DoS根本无效。

无线安全 - 身份验证攻击

如您可能现在所知,身份验证是验证所呈现的身份和凭据的方法。无线设置中使用的大多数身份验证方案都通过适当的加密进行了保护。

我们已经描述了基于WPA/WPA2中使用的EAP身份验证方案,以及PSK身份验证方案的场景。通过嗅探客户端和身份验证器(AP)之间的四次握手,可以执行暴力攻击(例如 - 脱机字典攻击)来破解加密并推导出PSK值。

另一个示例可以是LEAP(轻量级可扩展身份验证协议)。它在过去被用作生成动态WEP密钥的机制。在此设置中,密码哈希通过MS-CHAP或MS-CHAPv2算法(这两个算法都可通过脱机字典攻击破解)进行空中哈希。可能应用于LEAP的身份验证攻击的简要说明包括以下步骤 -

  • 用户名以明文发送。

  • 挑战文本以明文形式存在。

  • 响应文本被哈希化。

  • 可以在这里使用办公室字典攻击(使用aircrack-ng工具)尝试“function(password,challenge) = response”数学公式中密码的所有组合,以找到正确的密码。

此类攻击的示例将在接下来的章节中逐步说明。

Rogue 接入点攻击

当我们考虑企业网络时,企业WLAN是网络资源的授权且安全的无线门户。Rogue接入设备(AP)是任何连接到企业网络(通常连接到某些网络交换机)的未经授权的WLAN无线电。

大多数由员工(恶意用户或错误)安装的Rogue接入点实际上与组织中的IT部门使用的AP不同,而是某些小型办公室家庭办公室(SOHO)无线路由器 - 与您可能在家中使用的路由器相同。在它们配置错误或未配置任何安全性的情况下,它会打开下一个攻击面,以便轻松访问非常安全的网络)。

随着IT行业的不断发展,Rogue接入点可能隐藏得非常好,并且极其难以找到。如果您将Raspberry Pi连接到您的网络交换机,并将其放置在机架后面,隐藏在数百根网络电缆之间,您能否轻松发现它?我敢肯定,你根本不会发现它!

Rogue Access Point

如果网络资源暴露于Rogue接入点,则可能会识别出以下风险 -

  • 数据盗窃 - 公司数据可能会受到损害。

  • 数据破坏 - 数据库可能会被删除。

  • 服务丢失 - 网络服务可能会被禁用。

  • 恶意数据插入 - 攻击者可能会使用门户上传病毒、键盘记录器或色情内容。

  • 第三方攻击 - 公司的有线网络可能被用作针对互联网上其他网络的第三方攻击的启动平台。

无线安全 - 客户端错误关联

您可能已经遇到过这种情况,当您带着电脑在家使用无线网络时,您的电脑会自动连接到WLAN,而无需您执行任何操作。这是因为您的笔记本电脑会记住您过去连接过的WLAN列表,并将此列表存储在所谓的首选网络列表(在Windows世界中)。

恶意黑客可能会利用此默认行为,并将自己的无线AP带到您通常使用Wi-Fi的物理区域。如果该AP发出的信号优于原始AP发出的信号,则笔记本电脑软件将错误地关联到黑客提供的伪造(Rogue)接入点(认为它是您过去使用过的合法AP)。这些类型的攻击在一些大型开放空间(如机场、办公环境或公共区域)中很容易执行。这些类型的攻击有时被称为蜜罐AP攻击

创建伪造的AP不需要任何物理硬件。贯穿本教程使用的Linux发行版是Kali Linux,它有一个名为airbase-ng的内部工具,可以使用单个命令创建具有特定MAC地址和WLAN名称(SSID)的AP。

让我们创建一个以下场景。过去,我在欧洲的一个机场使用过“Airport-Guest”的SSID。这样,我知道我的智能手机已将此SSID保存在PNL(首选网络列表)中。因此,我使用airbase-ng创建了此SSID。

Preferred Network List

创建WLAN后,我使用了前面描述的第2层DoS攻击,不断地从Home_e1000无线网络中解除智能手机的身份验证。此时,我的智能手机检测到另一个SSID(Airport-Guest),并且链路质量非常好,因此它会自动连接到它。

这是您在上面从21:48:19开始看到的转储内容。在这一点上,我们处于有利的位置,可以执行一些额外的攻击,以获得此初始连接。它可以是中间人攻击,将所有无线流量转发到攻击者的PC(攻击流量交换的完整性和机密性)。或者,您可以从攻击者的PC直接连接回智能手机,利用Metasploit框架中的某些漏洞……有大量可能的途径可以继续前进。

错误配置的接入点攻击

配置错误的AP是一种安全表面,如果检测到,则最容易被突破。您最有可能遇到配置错误的AP的地方是家庭无线网络或非常小的企业。大型无线环境很可能使用集中式管理平台来控制数百或数千个AP并保持它们同步,因此不太可能在那里遇到任何配置错误。

导致无线破解的最常见配置错误区域是 -

  • 某些AP配置保持出厂默认值,例如用户名和密码或广播的默认WLAN(SSID),并且默认设置可以在互联网上特定供应商的手册中找到。

  • 人为错误 - 在整个组织的一组AP上配置了高级安全策略,而其他AP则被遗忘并保留了默认的弱安全设置。

作为针对配置错误的AP的对策,组织应将持续的现场调查作为监控安全无线环境的工具。

一些Linksys无线家庭设备的默认用户名/密码数据库示例为 -

型号 用户名 密码
BEFSR系列 (无)或admin admin
E系列 admin或(无) admin或(无)
EA系列 admin admin或(无)
WAG系列 admin或(无) admin或(无)
WRT系列 (无) admin

Ad-Hoc 连接攻击

Ad-Hoc连接攻击是一种非常严重的攻击类型,攻击者(恶意用户)使用第三方合法用户作为攻击者设备和AP或其他类型的网关之间的附加跳跃中间人

需要在“中间设备”上运行的Ad-Hoc无线网络功能可以在Windows或Linux设备上配置,它允许在客户端设备之间设置Ad-Hoc(对等)无线链路(无需任何额外的网络基础设施,如AP)。在幕后,您实际上是在PC上创建虚拟软件AP,另一个设备与您创建的SSID关联(有效地建立无线链路)。

使用Linux时,您可以使用本章前面介绍的称为“airbase-ng”的工具。另一方面,使用Windows时,可以使用“配置新连接或新网络”在无线网络设置中创建WLAN。

以下情况将描述Ad-Hoc攻击。让我们想象一下,攻击者可能是计算机2、3或4中的任何一个。受害者(中间人)将是计算机1。这台笔记本电脑将是运行并为周围环境提供无线连接的笔记本电脑,并且将有其他接口连接到有线网络以访问互联网。

Ad-hoc Attack

攻击者可以连接到计算机1广播的WLAN,然后使用它通过这台受害者PC将所有流量路由到互联网。从互联网的角度来看,它看起来像是计算机1发起了流量!从计算机1到所有攻击者的无线链路不必是Wi-Fi连接 - 它可以是蓝牙或所有尝试相互通信的各方支持的任何其他类型的无线技术。

无线安全 - 黑客方法

在本篇章中,您将对各种常用工具有更深入的了解,这些工具可用于执行特定的攻击(或作为更高级攻击中的一个步骤)。稍后,在最后一节中,您需要将所有这些工具知识结合起来,并执行更高级和更复杂的无线攻击类型。本教程的最后一节将逐步介绍无线安全入侵场景,并使用您之前见过的工具以及您将在本篇章中找到的工具。

Wi-Fi 发现

Wi-Fi 发现是一个用于了解环境中 WLAN 存在情况的过程。Wi-Fi 发现过程本身不违反任何法律,因为您在任何时候都没有采取攻击性行为,您只是简单地使用无线客户端被动监听 Wi-Fi 频段。

为了发现存在哪些类型的 WLAN 网络,您需要使用特定的工具,这些工具使用无线硬件并在 2.4GHz 或 5GHz 频段上进行监听。其中一些工具内置于操作系统中(通常对于详细的 WLAN 分析非常无效),而另一些工具则是简单的工具,您可以在互联网上找到。市场上有数百甚至数千种这样的工具。

我将向您介绍其中两个,由于其简单性,我非常喜欢它们。在阅读这些章节的过程中(或者您已经从经验中了解),您会发现,为 Windows 操作系统提供的工具具有更好的图形界面和一些花哨的图形功能,这与基于 Linux 的工具形成对比。但我可以向您保证,基于 Linux 的工具提供完全相同的信息(只是以更多文本格式呈现)。另一方面,编写脚本稍微容易一些,这些脚本将一个工具的输出作为另一个工具的输入。

对于 Windows 用户,您应该看看 **Xirrus Wi-Fi Inspector**(可以免费使用)。这是一个简单的工具,可以识别附近存在的 WLAN。另一个在 Windows 环境中执行相同功能的工具是 **NetStumbler**。

Xirrus Wi-Fi Inspector

您可以从上面截图底部表格中提取的信息提供了您可能需要的所有内容,例如 SSID 名称、接收到的信号强度、使用的 802.11 标准、WLAN 上设置的加密和认证、**BSSID**(AP 的 MAC 地址,如果您想创建具有相同 MAC 地址的伪造 AP)以及它运行的信道。信息量非常大!您还可以看到非常花哨的图形“雷达”,显示特定网络距离您当前位置的远近 - 同样的信息可以从 **信号 (dBm)** 字段读取。

另一方面,当使用 Linux 时(我使用 Kali 发行版用于渗透测试 - 您也应该尝试),等效的工具称为 airodump-ng。airodump-ng 输出给用户的的信息集如以下截图所示。此外,我们还有另一个众所周知的工具,称为 Kismet。

Airodump-ng Output to User

Wardriving(无线网络漫游)

Wardriving 是指一个人在汽车中使用其个人笔记本电脑、智能手机或其他无线客户端工具查找无线网络(无线网络发现)的过程。基本上,目的是找到一些免费访问的无线网络,恶意用户可以无需任何法律义务地使用这些网络。例如,一些提供免费 Wi-Fi 但无需注册的市场,或者您可以使用虚假数据注册的酒店。

查找这些 WLAN 的方法与上面无线发现部分描述的完全相同。

GPS 映射

有许多卫星环绕地球运行,每个卫星都向其覆盖的地球区域发送低功率无线电信号。您使用的 GPS 设备(例如启动了 Google 地图应用程序的智能手机)同时接收来自多个卫星的信号。设备本身将这些信号组合在一起,并计算出地球上的当前地理位置。

GPS 映射的思想是将用户遇到的无线网络映射到无线网络的全球地图上,并参考其地理位置。可以使用前面提到的 Kismet 工具将无线网络映射到地理位置,然后将其坐标放到 Google 地球地图上。

互联网上有一个网站 http://wigle.net,您可以使用它查看有多少 WLAN 被 GPS 映射。您也可以使用此网站来映射 GSM 蜂窝网络。

Map GSM Cellular Network

无线安全 - 流量分析

无线流量分析过程可能对取证调查或故障排除非常有帮助,当然,这也是一种很好的自学方式(只需了解应用程序和协议如何相互通信)。为了使流量分析成为可能,首先需要以某种方式收集此流量,此过程称为流量嗅探。最常用的流量嗅探工具是 Kismet 和 Wireshark。这两个程序都提供适用于 Windows 和 Linux 环境的版本。

出于渗透测试和无线网络入侵的目的,有价值的收集数据类型包括 **BSSID、WEP IV、TKIP IV、CCMP IV、EAP 四向握手交换、无线信标帧、通信双方的 MAC 地址等**。无线流量转储中还有更多信息可供您使用。您获得的大部分信息都将用于最后一章中介绍的所有攻击。例如,它们可以用作脱机暴力破解攻击的输入,以破解 WLAN 部署中使用的加密和认证模型。

Wireshark 在 Windows 和 Linux 中的使用非常直观 - 两种环境都提供一个对两个系统都相同的 GUI。程序启动后,您只需要指示用于流量嗅探的物理接口(您可以选择任何接口,无论是线缆接口还是无线接口),然后继续进行流量嗅探。无线网卡收集的无线数据包示例如下面的截图所示。

Wireless Packets

输出布局始终相同 - 从顶部开始,您有:

  • **过滤器字段** - Wireshark 配备了一个非常好的过滤工具,允许限制实时流量输出。当您需要从每秒从周围所有无线客户端接收到的数百个数据包中提取特定的流(在特定 MAC 地址之间或在特定 IP 地址之间)时,它非常有用。

  • **流量输出** - 在此部分,您可以看到所有显示出来的数据包,这些数据包是在无线接口上逐个嗅探到的。在此部分输出中,您只能看到流量特征的基本摘要,例如 – **源/目标 MAC 地址、协议(在本例中为 Wi-Fi 802.11)** 和有关数据包的简要信息。

  • **数据的解码参数** - 此部分列出了帧中存在的所有字段(所有标头 + 数据)。使用示例转储,我们可以看到,某些信息集以不可读数据的形式出现(可能已加密),并且在 802.11 标头中您可以找到 CCMP 信息(它确认流量已使用 AES 加密),因此它一定是 WPA2 Wi-Fi 网络。

  • **十六进制转储** - 十六进制转储与上面“数据的解码参数”中的信息完全相同,但以十六进制格式显示。这样做的原因是,十六进制表示是数据包的原始外观,但 Wireshark 有数千个“流量模板”,用于将特定十六进制值映射到已知的协议字段。例如,在 802.11 标头中,第 5 到 11 个字节始终是无线帧的 MAC 地址的来源,使用相同的模式映射,Wireshark(和其他嗅探器)可以重建和解码静态(和众所周知的)协议字段。

您可以使用常见的 **.pcap** 格式保存所有流量转储,这些转储稍后可以作为输入,例如,用于执行收集流量的一些高级操作的 Python 脚本(例如破解加密模型)。

Python Scripts

您应该了解的另一个工具是 **Kismet**。启动 Kismet 工具并指定 **mon0** 接口后,它将列出您环境中检测到的所有 SSID。

Kismet 运行期间,所有无线数据包都会被收集并存储在 **.pcap** 文件中。退出程序时,您会收到一条消息,指示所有无线数据包转储都已保存,您可以之后访问它们。

Wireless Packet Dumps

在上面提供的示例中,所有数据包转储都已存储在二进制文件中(当您使用“more”或“vi”或“nano”等打开这些文件时,它们不是可读格式)。

more vi nano

要正确打开它们,您必须再次使用 Wireshark!

Use Wireshark

无线安全 - 发起无线攻击

所有类型的无线攻击可以分为两类:**被动攻击和主动攻击**。大多数情况下,被动攻击(或更确切地说是被动信息收集)是发起无线攻击本身(攻击的主动部分)之前的第一个步骤。

被动攻击是指攻击者不需要与任何其他方通信或注入任何流量的所有攻击。在被动攻击期间,受害者无法检测到您的活动(因为您没有采取行动),您只是隐藏并监听无线电频率。

被动攻击本身不被视为违法行为,但是使用通过被动攻击获得的信息可能会被视为违法行为。例如,您可以自由地嗅探(监听)未加密的流量,将其收集在一起,并查看实际上这是两个人之间的对话,但阅读它并在某些地方使用此私人对话中包含的信息违反了法律。

被动攻击示例

现在让我们看看一些被动攻击的示例:

破解 WEP 加密

在幕后破解 WEP 加密需要嗅探大量数据包。下一步是在无线帧中获取相同的 IV 向量,最后一步是脱机破解 WEP 加密模型。攻击中没有单个步骤需要攻击者以任何方式与受害者通信。

破解 WPA/WPA2 加密

要破解 WPA/WPA2 加密,需要嗅探无线客户端与 AP 之间的 EAP 四向握手。之后,对收集到的加密数据包进行脱机字典(或脱机暴力破解攻击)。如果您足够幸运,您可能根本不需要与受害者通信,并且攻击被视为纯粹的被动攻击。

但是,您可能会遇到受害者在您介入之前很久就已经向 AP 进行了身份验证的情况,并且您不想再等待。然后,您可以在一般的被动攻击中使用“主动攻击步骤” - 注入无线去认证帧,强制无线受害者去认证然后重新认证,从而嗅探新的身份验证四向握手。

嗅探通信双方之间的流量

假设您以某种方式知道加密密钥,您可以嗅探各方之间的通信(例如使用 Wireshark),然后解码对话(因为您知道密钥)。假设各方没有使用任何本身使用加密的协议(例如纯文本 HTTP),您可以自由地查看用户正在做什么并跟踪他在互联网上的操作。

另一方面,主动攻击是指需要主动参与无线流量转发或注入影响 WLAN 操作的无线帧的攻击。执行主动攻击会留下恶意活动的痕迹,因此在某些特定情况下,受害者(使用 Wireshark)收集的转储或取证调查人员关于您活动从 WLAN 网卡收集的转储可能是法庭上反对您的有效证据。如果您决定以恶意方式使用您的知识。

主动攻击示例

以下是一些主动攻击的示例:

  • **注入无线流量** - 通过泛洪去认证帧实现的经典第 2 层拒绝服务攻击示例。攻击者直接注入影响无线客户端的无线数据包(告诉他们去认证),导致无线用户状态不断从已认证到去认证地波动,并使整体无线体验变得非常糟糕。

  • 干扰攻击 − 如你所知,这是一种第1层拒绝服务攻击。干扰设备用于对 Wi-Fi 网络的有效射频造成干扰,从而导致 WLAN 服务降级。由于攻击者直接影响无线行为,因此它是一种主动攻击。

  • 中间人攻击 − 攻击者配备了两张无线网卡,可以使用其中一张连接到原始 AP 作为客户端;并使用第二张无线网卡通过模拟 AP 的软件(airbase-ng 软件工具)广播一些虚假的 SSID。这样,客户端就会关联到攻击者刚刚创建的“伪造 AP”,并且所有客户端到互联网的流量都会直接转发到攻击者设备(然后攻击者可能会对这些数据做任何事情)。

大多数你见过的攻击,都将是被动步骤和主动步骤的组合。被动的步骤始终是了解环境、做好功课并尽可能多地获取有关潜在受害者的信息等的良好起点。

同样的方法适用于你可能看到的任何类型的黑客攻击,无论是 Web 应用程序黑客攻击还是社会工程学黑客攻击或任何其他黑客攻击方法。至少 80% 的时间将用于被动地收集有关目标的信息并收集对你下一步攻击有价值的数据。然后,主动攻击本身是你整个“攻击”时间的最后 20%。

无线安全 - 破解无线攻击

无论何时你可能需要“破解”无线网络,任务都是破解加密、身份验证或哈希算法以获得某种秘密密码。

有很多方法可以实现它 -

  • 你可以尝试使用较弱的加密算法来破解。这可能是可行的,但坦率地说,现在没有人会使用可能被破解的算法,因此,除非你是高级密码分析师,否则这不会是前进的方向。

  • 大多数方法都集中在使用某种字典或暴力破解攻击。

为了让你简单了解这种攻击是如何执行的,假设我们有一个“我们不知道”的密码 - “MySecretPassword”。以某种方式,我们获得了 MD5 和 SHA1 签名,如下面的屏幕截图所示 -

MD5 SHA1 Signatures

作为攻击者,我们的目标是破解这些哈希算法并推导出原始密码。有很多现成的工具可以用于此目的;我们也可以创建自己的工具。

下面是一个简单的脚本(用 Ruby 编写),可用于字典(类型 – 暴力破解)攻击 -

Simple Script Ruby

我们将使用一个简化的字典文件(我在几秒钟内创建的文件),如下面的屏幕截图所示。通常在现实生活中,你会使用包含数十万条词条的字典文件(从互联网下载准备好的字典文件很流行,你可以尝试找到一个)。

Simplified Dictionary File

此脚本背后的想法是遍历每个密码,如果计算出的哈希与签名匹配,我们就会“嗅探”网络,这意味着我们找到了密码。

Calculated Hash Matches Signature

我必须说明这是一个简化的例子,但它完美地展示了概念本身。

在无线网络破解过程中,你很可能会使用一个名为aircrack-ng的工具。它专门用于破解WEP/WPA/WPA2。在 WPA/WPA2 破解的情况下,它将使用字典攻击(类似于我们上面介绍的简化版本),并使用两种可能的字典类型。第一种类型是可以自己准备(或从互联网下载)的类型,只需在脚本中引用它即可。另一种方法是依靠默认情况下随工具安装的内部airolib-ng字典,这是一种内部字典数据库。

在不进行任何实际破解的情况下,我将展示如何使用 aircrack-ng。我将使用我在上面示例中创建的非常小的字典(里面只有 7 个短语,与你在真实字典文件中找到的数百万个短语相反)。此外,我不会实时监控任何流量,但我会使用一个.pcap文件,其中包含我之前使用Kismet工具嗅探的无线流量。

Using Kismet Tool

如你所见,这里有一堆 WLAN,其中一些使用 WEP 加密,大多数使用 WPA/WPA2。我现在就可以说,在这种情况下,任何类型的破解都会失败,因为 -

  • 对于使用 WEP 加密的 SSID,我们没有收集任何流量(“无数据”)。

  • 对于使用 WPA/WPA2 加密的 SSID,我们没有嗅探到任何握手。如你所知,初始 4 路握手的数据是唯一可能导致破解网络的信息。数据包本身已加密且能够抵御我们的攻击。

但是,假设我们想尝试一下,我将以我自己的家庭无线网络“Home_e1000”(索引为 6)为目标。

Home_e1000 Index 6

正如我预测的那样,我们失败了。下次,我将确保我们不会失败,你将能够学习如何获胜并破解无线网络 - 我可以告诉你,这感觉很棒。

无线安全 - 射频监控工具

监控射频 (RF) 空间的目的是了解环境中频段的使用情况(它是 OSI 层的第 1 层)。大多数情况下,射频监控是在排除无线连接问题的故障或进行无线站点勘测期间进行的。它们的目标都是相同的,即查找可能影响 WLAN 网络运行的任何潜在的射频发射设备。

可能影响无线网络运行的射频发射设备的示例包括微波炉、无线摄像头或无绳电话。一些其他射频技术的现实生活示例通常由执法机构使用,当受害者被软禁时,他们通常会被戴上脚踝上的手环,这是一个射频发射器。此外,还有一个射频监控基站,它接收特定射频频率上的电磁场。此设置允许机构检查受害者是否在家中或已离开(如果不再检测到电磁射频信号)。

Cisco Spectrum Expert

你可以用于射频监控的工具之一是Cisco Spectrum ExpertCisco AP结合使用。一些系列的 Cisco AP 具有名为“CleanAir”的特殊功能,允许将 AP 用作射频监控器。

Cisco Spectrum Expert

通过将此 Cisco Spectrum Expert 连接到 AP,可以获得如下面的屏幕截图所示的频率利用率图表。

Frequency Utilization Clients

此屏幕截图清楚地说明了客户端在第 6 个信道上使用无线 802.11b 标准的典型频率利用率。

另一方面,以下屏幕截图说明了第 1 层频率扫描的另一个示例,这次检测到蓝牙设备的使用情况。

Usage of Bluetooth Device

蓝牙操作基于跳频扩频 (FHSS) 技术,这意味着蓝牙设备将从一个频率跳到另一个频率(每秒大约 1600 跳),并影响整个 2.4 GHz 频谱(如上所示,所有信道从 1 到 11 都受到负面影响)。在无线站点勘测期间进行的适当的射频检查应检测到此活动,无线工程师应针对 802.11 无线信号传播的潜在问题发出警报。

AirSleuth Spectrum Analyzer

你可以查看的另一个工具是AirSleuth Spectrum Analyzer。你可以在以下网站上找到此软件的信息和价格 - http://nutsaboutnets.com/airsleuth-spectrum-analyzer/

该工具本身是 802.11 网络发现工具和 2.4 GHz 频谱分析的组合(Cisco CleanAir AP 支持 2.4 GHz 和 5GHz 两个频段)。结果与使用 Cisco Spectrum Expert 获得的结果非常相似。你拥有扩展到 X 轴的 2.4 GHz 频段,以及直接显示在图表上的信号强度。

AirSleuth Spectrum Analyzer

以下屏幕截图中的频率分析是微波炉传输的电磁信号的示例。它具有相当稳定的信号(与上面蓝牙的“跳跃”信号相比),在为 802.11 Wi-Fi 网络保留的所有 2.4 GHz 频率上可见。再次完美地说明了干扰,这将降低在 2.4GHz 频段上运行的 802.11 无线网络的性能。

无线安全 - 蓝牙入侵

蓝牙是一种无线通信技术(在 IEEE 802.15.1 标准下描述),可在有限的距离内工作(通常约为 10 米,但根据标准最多可达 30 米)。它在与 2.4 GHz WLAN 部署相同的频率范围内工作(从 2.4 GHz 到 2.485 GHz),因此,如果两者在同一区域使用,则使用蓝牙通信会干扰 WLAN 网络。

Bluetooth communication

为了使用蓝牙技术与另一台设备通信,你需要一张特殊的蓝牙卡。你在笔记本电脑或智能手机上使用的普通 Wi-Fi 卡用于 802.11 技术,与基于 802.15 标准的蓝牙不兼容。市场上一些非常好的蓝牙适配器的示例包括 -

这两者都与 Kali Linux 系统兼容。我个人在本节中使用 CSR4.0 型号。

蓝牙设备可以在三种可用的安全模型之一中运行 -

  • 安全模式 1 - 无保护 − 在此模式下,不使用任何加密或身份验证。蓝牙设备本身以非区分模式(广播)工作。

  • 安全模式 2 - 基于应用程序/服务的 − 在此模式下,一旦建立连接,安全管理器就会执行身份验证,从而限制对设备的访问。

  • 安全模式 3 - 链路层 PIN 身份验证/MAC 地址加密 − 在建立连接之前执行身份验证。即使使用了加密,设备仍然可能受到攻击。

无线安全 - 蓝牙协议栈

当我们使用 Wi-Fi 通信(基于 802.11 协议)时,其 OSI 模型的所有层都参与通信。你始终具有第 1 层,它将是无线物理层(调制和编码)。接下来,在第 2 层,你将拥有 802.11 标头。然后,在第 3 层 - 所有 IP 信息,等等。

对于蓝牙协议栈,情况有所不同,因为设备不必使用协议栈中的所有协议(通信模型的所有层)。这是因为蓝牙是为各种通信应用程序而开发的,并且是应用程序指定通信使用蓝牙栈的哪一部分。

Bluetooth Stack Communication

蓝牙协议层及其关联协议如下 -

  • 蓝牙核心协议基带 − LMP、L2CAP、SDP

  • 电缆替换协议 − RFCOMM

  • 电话控制协议 − TCS 二进制、AT 命令。

  • 已采用的协议 − PPP、UDP/TCP/IP、WAP。

协议栈上还可以看到一个额外的元素主机控制器接口 (HCI)。此 HCI 为基带控制器、链路管理器、硬件状态、寄存器提供命令接口。因此,用于蓝牙通信的所有 Linux 工具的名称都以“hci”开头;例如 -“hciconfig”、“hcidump”、“hcitool”。你将在以下部分中看到所有这些工具的实际操作。

无线安全 - 蓝牙威胁

如今,每种技术都存在其独特的威胁和漏洞,蓝牙也不例外。蓝牙技术的威胁和漏洞可能源于以下几个方面:

RFCOMM协议栈实现过程中的不良编码

  • 安全协议栈实现的失败可能导致缓冲区溢出。

  • 一些制造商可能不会为其部署在终端设备上的原始代码版本发布任何补丁。

不同协议重用旧服务

  • 一些高度特权的服务处于开放状态。

IrMC权限

  • IrMC定义了一组针对常用蓝牙对象的访问权限。

  • 有时权限未被遵守或完全开放,从而导致对开放的IrMC服务的利用。

所有提到的漏洞并没有直接说明——使用蓝牙设备的真正威胁是什么(知道这些漏洞的存在)。举几个例子,攻击者可能能够:

  • 窃取信息。

  • 使用蓝牙对终端设备执行DoS攻击。

  • 远程执行代码。

  • 注入病毒或蠕虫。

  • 注入精心设计的连接,通过蓝牙设备(充当代理)进行传输。

无线安全 - 蓝牙黑客工具

在互联网上,已经存在数百种可以促进蓝牙黑客攻击的工具。当然,不可能了解并知道所有这些工具,在我看来,所需的根本知识是了解用于侦察阶段的工具。

当你通过这个阶段后,你需要决定黑客攻击的目标是什么?是注入一些文件?还是窃取数据?或者执行恶意软件?根据你的方向,你需要使用不同的工具集。

因此,我们将本章的目标集中在侦察(发现阶段)和Kali Linux内部的蓝牙黑客工具上。

hciconfig

hciconfig是用于与蓝牙设备(蓝牙适配器)交互的主要Linux命令行实用程序。如果你熟悉Linux,你可能已经看到过其他工具的引用,例如**ifconfig**或**iwconfig**。

ifconfig or iwconfig

从hciconfig输出中读取的信息包括:

  • 接口名称 - "**hci0**"。

  • 它如何连接到PC(通过USB或内置),这里指的是USB适配器。

  • 蓝牙适配器的MAC地址 - 10:AE:60:58:F1:37。

  • 它当前正在运行(UP标志),并且你可以看到接收(RX)和发送(TX)的数据包。

hcitool

hcitool是Kali Linux中实现的一个非常强大的CLI工具,允许用户与蓝牙协议栈交互。它也是一个非常棒的工具,你可以在自己的脚本中使用它。

CLI Tool Kali Linux

hcitool最常用的选项是**scan**和**inq**。

hcitool scan允许你查找正在发送其发现信标的蓝牙设备(类似于AP发送的802.11信标帧)。

Hcitool Scan

正如你所看到的,在附近,两个启用蓝牙的设备正在发送信标帧,以通知它们已准备好接受蓝牙连接。你可以尝试使用**hcitool inq**查找有关这两个设备的更多蓝牙信息。

Hcitool inq

此输出表示以下设备属于类别**0x5a020c**(你可以在此处找到类别的描述和映射:(https://www.bluetooth.com/specifications/assigned-numbers/service-discovery )

sdptool

Kali Linux还内置了一个用于执行**服务发现**(SDP)的工具。它允许你枚举蓝牙设备上运行的所有服务。

Sdptool

l2ping

我们都了解IP世界中的ping实用程序,它用于使用**ICMP协议**检查IP节点之间的连接性。蓝牙世界也有自己的等效工具,称为l2ping。此发现工具允许用户检查特定设备是否在范围内,并且是否可用于蓝牙通信。

l2ping

这些是允许你使用蓝牙技术并对其操作进行良好侦察的基本工具。前面提到的**hcitool**工具,如果你真的想在这个蓝牙渗透测试领域发展,你应该花一些时间研究它。

无线安全 - 蓝牙攻击受害者

首先,让我们定义Bluejacking的含义。它是一个通过蓝牙向其他设备发送所谓的“电子名片”的过程。我们所知的电子名片类型是包含联系信息(姓名、电子邮件、电话号码)的卡片,你可以发送给其他用户。Bluejacking的工作方式相同,但它不发送联系信息;取而代之的是,它发送一些恶意内容。Bluejacking的一个示例如下面的图像所示。

这是你在大多数互联网资源中看到的Bluejacking定义,这被认为是锦上添花。蓝牙黑客攻击的基本原理是它会为你提供多种选择。首先是与其他设备配对。一旦执行此步骤,你就可以在互联网上查找执行某些特定恶意功能的工具。这些可能是:

  • 上面提到的,例如发送带有恶意附件的电子名片。

  • 从受害者的设备中提取机密数据。

  • 接管受害者的设备并进行呼叫、发送消息等,当然是在用户不知情的情况下。

我们现在将向你解释如何达到与受害者设备配对的程度。接下来你想做什么,只取决于你在互联网上找到的工具和方法,但它几乎可以是任何事情。

第一步是在本地PC上启用蓝牙服务。

Bluetooth Service

接下来,我们需要启用蓝牙接口并查看其配置(与物理以太网接口和无线接口一样,蓝牙接口也有一个称为BD地址的MAC地址)。

Wireless Interfaces

当我们知道接口已启动并正在运行时,我们需要扫描蓝牙网络以查找附近可见的设备(这相当于802.11无线世界中的airodump-ng)。这是使用名为**btscanner**的工具完成的。

Wireless World

从上面的屏幕截图中你可以看到:

  • 我们本地蓝牙设备的MAC地址是A0:02:DC:11:4F:85。

  • 目标蓝牙设备的MAC地址是10:AE:60:58:F1:37。

  • 目标蓝牙设备的名称是“Tyler”。

这里的主要思想是,Tyler的设备已通过身份验证并与另一个蓝牙设备配对。为了让攻击者将自己伪装成“Tyler”并直接与其他节点配对,我们需要欺骗我们的MAC地址并将我们的蓝牙名称设置为“Tyler”。

仅供参考,Windows操作系统也有一个**BTScanner**版本。以下是该工具的Windows版本的示例屏幕截图。

Bluetooth Scanner

为了伪造蓝牙信息,我们需要使用一个名为**spooftooth**的工具(相当于**macchanger**,我们必须使用它来绕过WEP场景中使用MAC过滤的MAC身份验证)。我们在下面所做的是将我们的蓝牙适配器(hci0设备)的MAC地址更改为我们使用btscanner找到的地址。我们还将蓝牙设备的名称更改为“LAB”。这是我用于两个智能手机之间蓝牙配对设置的本地名称。

Spooftooth

成功!现在,我们已经克隆了参与蓝牙智能手机到智能手机通信的其中一个客户端的蓝牙设置。它允许我们直接与蓝牙配对中的另一个设备通信。当然,我们需要确保我们已欺骗其凭据的合法设备已从网络中消失。在现实生活中,这可能需要一些时间,我们必须等到用户离开蓝牙范围或在其设备上禁用蓝牙服务。

无线安全 - 工具

如今,在无线网络中正确实施安全控制至关重要,因为它直接影响到一些企业的盈利能力和信息机密性。无线安全工具应定期用于测试(审核)无线实施。良好的无线安全审计不仅是实际测试,还包括适当的文档,包括如何使WLAN更安全的建议。

人们可以尝试执行许多可能的审计,包括:

  • 第1层审计
  • 第2层审计
  • WLAN安全审计
  • 有线基础设施审计
  • 社会工程审计
  • 无线入侵防御系统(WIPS)审计

Wi-Fi安全审计工具

在前面部分,我们列出了一系列可以执行的审计,以评估无线实施的安全状况。我们将尝试逐点进行,首先了解特定审计的相关性,其次了解如何执行它。

第1层和第2层审计

第1层审计的目标是确定RF覆盖范围(基于性能的现场勘测的一部分)并找出潜在的RF干扰源(用于识别第1层DoS源的安全审计的一部分)。在无线安全审计期间,人们会进行频谱分析以检测任何连续发射器或故意放置的RF干扰器(导致第1层DoS)。

对于第2层无线审计,目标是检测任何恶意设备或未经授权的802.11设备。在未部署无线IPS(WIPS)监控的环境中执行第2层审计至关重要(否则WIPS将自动执行此工作,因为这是其工作)。

审核员在执行第2层现场勘测时应关注的要点列表包括:MAC地址、SSID、正在使用的设备类型、流量类型、正在使用的信道、可能的默认配置、可能发生的第2层攻击、自组织客户端等。

在执行第1层或第2层审计时,审核员可能会使用以下工具:

  • 协议嗅探器/分析器(例如Wireshark)

  • 2.4/5 GHz信号注入器。

  • 攻击性工具(mdk3、Void11、Bugtraq、IKEcrack、FakeAP等)。

例如,我将向你展示一个名为**mdk3**的多功能工具。它是一个概念验证工具,允许利用无线网络。仅举几个例子,它允许你执行:

  • 洪泛伪造信标工具(作为模拟伪造AP的一种方式)。

  • 身份验证帧的DoS(如果存在漏洞,可能会导致AP冻结或重启)。

  • 解除关联/身份验证帧的洪泛(将有效用户踢出网络)。

  • 802.1X无线安全测试。

  • 滥用无线入侵防御/检测系统(WIPS/WIDS)以及其他许多有害行为。

Layer1 Layer2 Audit

使用你的Kali Linux(mdk3工具)创建解除身份验证帧的第2层DoS非常简单,可以通过单个命令实现,如下面的屏幕截图所示。

De-authentication Frames

当然,始终有多种方法可以获得相同的结果。你可以使用**aireplay-ng**工具获得相同的效果。"-a"之后的MAC地址是广播特定WLAN网络的AP的BSSID值。

Aircrack-ng Tool

WLAN安全审计

WLAN安全审计的目标是调查特定WLAN是否以及如何可能被入侵。潜在攻击者会寻找的弱点类型(以及无线安全审核员应关注的弱点)主要与身份验证、加密、已部署WLAN的类型、使用的弱密钥等相关。

适合此用途的工具包括:

  • 协议嗅探器/分析器(例如Wireshark)。

  • 无线发现工具(例如NetStumbler、Kismet、Win Sniffer、WiFiFoFum等)。

  • 加密/身份验证破解(测试)工具(aircrack-ng、自定义脚本、各种密码分析工具)。

WLAN Security Audit

如你所见,基本的 WLAN 安全审计并不需要专门的软件。使用智能手机上的应用程序就可以完成这项工作!

有线基础设施审计

关于无线网络通信,为了使整个系统被认为是安全的,其有线部分也需要得到保护。有线基础设施审计应涵盖以下要点:

  • 检查用于限制 WLAN 用户访问某些网络资源的防火墙。

  • 应禁用未使用的交换机端口接口。

  • 应使用强密码,并在可能的情况下使用具有内置加密功能的协议(HTTPS、SSH)。

社会工程审计

社会工程是一种利用非技术手段获取信息的“攻击”。与其尝试破解无线密码,不如直接索取?也许获取 WPS PIN 更容易,这样就可以连接到受保护的 WLAN 了?

这些场景听起来很不可思议,但我可以向你保证,它们在现实生活中也确实存在。为了防止这种情况发生,最重要的是要意识到哪些数据应该保密,哪些数据可以共享。在家庭环境中,你是网络的“管理员”,只有你才能决定哪些数据应该保密。另一方面,在企业环境中,安全部门将负责发布安全意识宣传活动,教育员工如何正确使用无线网络以及哪些行为属于滥用。

无线入侵防御系统

在有线网络中,入侵防御系统 (IPS) 用于执行对穿越数据包的深度数据包检查,以查找异常、木马或其他恶意代码。

在无线世界中,原理类似,但侧重于对非法无线设备做出反应,而不是安全事件。无线入侵防御系统 (WIPS) 专注于检测和防止未经授权的无线设备的使用。WIPS 背后的整个理念是在您的基础设施中配置一些专用于 WIPS 模式下的 AP(不广播任何 WLAN 网络或允许用户关联)。这些 AP 预先配置了特定的频率信道,并且始终监听频谱,查找异常。

另一种方法是使用一组专用的被动传感器(而不是 AP)来执行此工作。您可能期望看到的不同类型的异常包括:大量身份验证解除帧或大量关联解除帧、检测到由未知 BSSID 的 AP 广播的 WLAN 等。如果您想到深度数据包检查或恶意代码检测,它们仍然需要在有线网络上使用专用的 IPS/IDS 设备进行检测。

作为攻击者,您无法运行 WIPS 解决方案,因为它是一种防御性技术措施。由于其价格和管理开销,只有大型企业才会运行它(尽管仍然很少见)。WIPS 解决方案的一种可能的部署可以基于思科无线基础设施模型。思科无线解决方案(在其最简单的形式中)基于无线局域网控制器 (WLC) 和一组 AP。WIPS 解决方案将假定某些 AP 从常规 WLAN 服务中移除,并设置为 IPS 模式,并专门用于检查频谱。

思科无线局域网控制器 (WLC) 的主页面如下所示(机密字段已用黑色填充的圆圈覆盖)。

Wireless Intrusion Prevention Systems

此特定 WLC 当前正在管理 38 个已加入的 AP。所有 AP 的详细列表,以及它们的 MAC 地址、IP 地址和 AP 模式,可以在“无线”选项卡下查看。

Wireless Tab

当前已加入的所有 AP 都设置为“本地模式”。这意味着它们专用于提供常规无线覆盖,并宣布所有已配置的 WLAN。为了将特定 AP 转换为我们所知的“IPS 模式”,我们需要点击其中一个 AP 并将其“AP 模式”更改为特殊的“监控模式”。

Monitor Mode

将 AP 设置为“监控”模式并应用更改后,AP 将重新启动。从那时起,它的唯一工作就是监听频谱并检测无线侧攻击。默认情况下,WLC 有一组预定义的 AP 将查找的签名。它们列在以下屏幕截图中:

Monitor Mode Screenshot

如您所见,项目编号 9 是“Deauth 泛洪”,帧类型为管理,相应操作为报告(这意味着它只会使用日志消息通知攻击,但不会采取任何操作)。

通过我们这里设置,当潜在攻击者使用 mdk3 或 aireplay-ng 工具干扰现有 WLAN 网络时,基于思科无线基础设施 - 攻击将被检测到,网络管理员将收到通知。还有其他产品可以将无线安全提升到一个新的水平。使用无线跟踪服务,该工具可以在一些非常安全的位置检测您的确切地理位置,也许警卫会来检查攻击源,或者可能会报警。

正如我之前提到的,您只能在企业环境中遇到这样的设置。在较小的部署或家庭环境中,您不会遇到此类安全措施。

无线安全 - Wi-Fi 渗透测试

在本节中,我们跳过所有技术的理论方面,直接进入纯粹的实践活动。请注意,本节中的所有攻击都在家庭模拟无线环境中执行。使用此处描述的步骤来破坏现实生活中那里的无线网络是违法的。

无线渗透测试

无线系统的渗透测试比在有线网络上执行更容易。您无法真正对无线介质应用良好的物理安全措施,如果您位于足够近的位置,您就可以“听到”(或者至少您的无线适配器能够听到)通过空中传输的所有内容。正如您迄今所见,有许多工具随时准备供您使用。

执行**无线网络渗透测试**所需的额外软件和硬件如下。这是我个人使用的并且效果很好的套件。

Kali Linux(旧版 Backtrack)

您可以将 Kali 作为 PC 上唯一的操作系统安装,也可以运行 .iso 文件。我使用的是第二个选项,即**Oracle VM VirtualBox**(免费软件),您打开 Kali Linux 的 .iso 文件。

无线网卡

如果您在 VM VirtualBox 中将 Kali Linux 作为虚拟机运行,则可以直接在 VM 中使用 PC 的无线网卡。为此,您将需要一个外部无线适配器(良好无线网卡的描述已在本文档的初始章节中进行)。我个人使用的是**ALFA AWUS036NH**,我绝对可以感受到它的“强大”。它具有高输出功率(1W)和内置 5dBi 天线。您可以尝试将其用于 Wi-Fi 连接,因为它比大多数笔记本电脑附带的一些“英特尔”网卡快得多。

拥有了这些,您就可以开始了。

无线渗透测试框架

无线网络的渗透测试始终分为两个阶段:**被动阶段和主动阶段**。您可以想象的任何可能的攻击(无论是无线攻击还是任何其他攻击),都始于某种形式的被动阶段。

在被动阶段,渗透测试人员(或攻击者)收集有关其目标的信息。攻击的不同类型的被动部分可能包括:

  • 对环境进行侦察。

  • 从互联网、新闻中了解目标的安全措施。

  • 与合法用户讨论安全控制。

  • 嗅探流量。

某些测试可能在此阶段就已停止。攻击者有可能直接从不知情的合法用户那里获取了所需的所有数据,或者嗅探到的流量足以执行一些脱机攻击(脱机暴力破解、脱机字典或相关信息,例如密码以明文形式传输在嗅探到的数据包中)。

另一方面,如果这还不够,那么就会进入第二个阶段,即主动阶段。攻击者在此阶段直接与受害者互动。这些可以是:

  • 发送网络钓鱼电子邮件直接索取用户凭据。

  • 注入无线帧以刺激某些特定操作(例如:身份验证解除帧)。

  • 创建假 AP,合法用户将使用该 AP 连接到无线网络。

本章中描述的所有攻击都属于被动攻击或被动攻击和主动攻击的组合。当读者浏览这些攻击时,很容易发现被动阶段何时结束以及主动阶段何时开始。

未加密WLAN的渗透测试

当使用未加密的 WLAN(开放式身份验证)时,您的无线网络没有任何保护。任何位于 AP 周围并且可以听到信号的人都可以加入并使用网络。整个身份验证过程非常简化,包括如下所示的身份验证/关联交换:

Pentesting Unencrypted WLAN

在实验室设置中,我准备了一个 SSID 为“LAB-test”且使用开放式身份验证的 WLAN。作为攻击者,您首先需要进行一些被动扫描以检测此类网络,所以让我们开始吧!第一步,我将启用我的无线网卡并使用 airmon-ng 实用程序创建一个 WLAN 监控接口。

WLAN Monitoring Interface

下一步是使用“airmon-ng mon0”检查无线网卡听到的 WLAN。

Check WLANs

我的无线网卡能够看到通道 1 上的“LAB-test”SSID,由 MAC 地址(BSSID)为 00:18:0A:6D:01:30 的 AP 广播。在加密列中,您可以看到字母“OPN”——这意味着存在开放式身份验证(实际上,这意味着根本没有身份验证)。

在 Windows PC 上,具有开放式身份验证的 WLAN 用感叹号标记,作为不安全 WLAN 环境的警告,如下所示(与受保护 WLAN 旁边缺少其他标记相比):

Warning Unsecure WLAN Environment

我们可以尝试模拟无线客户端是否能够连接到此 SSID。我们可以使用**aireplay-ng**实用程序来实现。

Connect SSID

如您所见,身份验证和关联过程顺利进行,任何无线客户端都可以加入网络。

改进此不安全环境安全性的唯一机制是实施MAC地址过滤。此功能在前面已经描述过,因此我将直接跳到实践部分。

在AP本身,我将实施MAC地址过滤,只允许MAC地址为98:0d: 2E:3C:C3:74的客户端加入无线网络(这是我的智能手机)。

然后,当我使用aireplay-ng重复身份验证过程时,这次它失败了。

Authentication Process Fails

在我将mon0接口的MAC地址更改为我的智能手机的MAC地址后,我再次获得了成功的身份验证。

Change MAC Address

如今,您不太可能遇到开放式身份验证WLAN。但了解所有这些旧的部署类型也是非常好的。

无线安全 - WEP加密WLAN

如前所述,WEP是第一个无线“安全”模型,它添加了身份验证和加密功能。它基于RC4算法和24位的初始化向量(IV)——这是实现的最大缺点,导致WEP在几分钟内即可被破解,我将在接下来的页面中展示。

我将再次使用“LAB-test” WLAN,这种类型使用以下密钥“F8Be4A2c39”进行WEP加密。它由数字和字母组成,长度为10个字符——从密码强度角度来看——密钥相对较强。

与上一个示例相同,我们将从airodump-ng开始,被动地收集有关WLAN的一些信息。

Collect Information about WLAN

如您所见,“LAB-test”在通道1上由BSSID为00:18: 0A:6D:01:30的AP广播。加密模型为WEP,以及WEP密码(基于弱RC4算法)。在下方您可以看到有关STATION的信息——实际上这是连接到特定WLAN的无线客户端列表。在BSSID 00:18:0A:6D: 01:30(即我们的LAB-test)上,我们有98: 0D:2E: 3C:C3:74(猜猜那是什么?是的,是我的智能手机)。

我们需要执行的下一步是收集此客户端通过空中交换的数据包。您还记得,数据包包含IV向量。如果我们收集到足够包含IV的数据包,我们最终将达到拥有弱IV向量集的程度——这将使我们能够推导出WEP密码。所以让我们开始吧!首先,我们将使用已知的实用程序airodump-ng来嗅探特定BSSID(LAB-test的BSSID)的无线通信。

Derive WEP Password

如您所见,随着流量的流动,收集到的数据包数量也在增加。此时我们有61个数据包,明智的做法是至少有25000个!

几分钟后,当计数器达到至少25000时,我们可以尝试使用工具aircrack-ng推导出密钥。

aircrack-ng Tool1

aircrack-ng Tool2

如您所见,仅仅通过被动监听网络(并收集足够的数据包),我们就能够破解WEP加密并推导出密钥。现在,您可以自由访问无线网络并使用互联网。

渗透测试WPA/WPA2加密WLAN

WPA/WPA2是安全无线网络的下一个发展阶段,它是在WEP被证明不安全后出现的。这些协议使用的算法更加安全(WPA:TKIP和WPA2:CCMP/AES),使得使用我们对WEP所采用的相同方法来破解网络变得不可能。

破解WPA/WPA2基于相同的思想——嗅探最初的4路握手并应用暴力破解攻击来破解加密密码。

为了说明此示例,我将再次使用“LAB-test” WLAN,这次使用以下密钥“F8BE4A2C”进行WPA2加密。您还记得从前面的章节中,成功和暴力破解密码所需的时间取决于密码的复杂性。我在这里使用的密码可能足够弱,可以在相对合理的时间内被破解。在实际环境中,您应该只看到长度超过10个字符且包含所有类型的字母数字符号的密码——这样,暴力破解它将需要数年时间。

与上一个示例相同,我们将从airodump-ng开始,被动地收集有关WLAN的一些信息。

WLAN Information

如您所见,确实有使用CCMP加密的WPA2保护的“LAB-test”SSID。当前连接到LAB-test的客户端是我的另一台PC,其MAC地址为84: A6:C8:9B: 84:76。

Lab-test

第一步是启用对(这次我们不太关心数据包)LAB-test上的流量的嗅探,以便收集AP和无线客户端(我的PC)之间的初始4路握手。

Enable Sniffing

如您在下面看到的,每次有新用户加入网络时,airodump都会嗅探4路握手。

New User Joins Network

由于我们已将这些握手收集到一个文件中,因此我们已准备好破解密码。唯一缺少的元素是包含可能密码的字典文件。您可以使用许多工具,如john、crunch,或者您甚至可以从互联网上下载字典文件。在此示例中,我将展示crunch,但请随意尝试您可能找到的所有解决方案。请记住,天空才是极限。

Crack Password

如您所见,crunch可以为您创建字典。假设我们想要拥有所有长度不超过8个字符的数字和字母密码。并且假设数字可以是0到9,字母可以是A到F。为什么我们要设置这些限制(关于密码的假设)?——因为,如果您想要拥有一个包含所有由数字0-9、字母a-z和A-Z组成的密码组合的文件,您将需要18566719 GB的空间(!!!)。

所以首先我们创建所有组合并将它们放入字典文件中。

Dictionary File

然后,我们使用aircrack实用程序引用此字典文件以尝试推导出正确的密钥,如下所示:

Aircrack Utility

aircrack-ng在文件中找到了8个BSSID,因此它会询问您——您想要破解哪个WLAN——我引用了编号2——“LAB-test”网络。

逐一检查每个密码是一个非常漫长的过程。找到正确密码所需的时间取决于密码在字典文件中的位置(如果您幸运,您可以在第一次猜测时找到密码,如果密码位于字典文件的第1行)。在此示例中,如您所见,我找到了密码,但这花费了8小时47分钟(!!!)。使用10个字符而不是8个字符的密码可能会将时间增加到几天甚至几周。

Found Password

您必须记住,字典越长,破解密码所需的时间就越长。而且,正如我之前多次强调的那样,如果密码非常复杂且很长,则在计算上根本无法执行破解(在有限的时间内,比如不到10年)。

LEAP 加密WLAN渗透测试

轻量级可扩展身份验证协议(LEAP)是基于Cisco的传统身份验证协议,它使用外部RADIUS服务器来验证用户身份。它使用散列函数(MS-CHAP和MS-CHAPv2)执行无线客户端和身份验证服务器的伪双向身份验证。

LEAP的漏洞在于:

  • 用户的用户名以明文发送——因此黑客只需要获取用户的密码,例如,使用社会工程学。

  • 用户的密码使用MS-CHAPv2被破解——该算法容易受到脱机字典攻击。

与之前的情况一样,让我们从airodump-ng开始,找出环境中广播了哪些WLAN。

Broadcast WLANs

如您所见,WLAN“LAB-test”显示为WPA2网络。此类型的身份验证模式更改为“MGT”——这意味着没有静态预共享密钥(PSK),但身份验证服务已移至外部身份验证服务器(例如RADIUS)。此时,您无法判断特定WLAN网络是基于LEAP、PEAP、EAP-TLS、EAP-TTLS还是其他类型的EAP技术。

下一步是启用Wireshark,以便查看数据包详细信息——它为渗透测试人员提供了许多有价值的信息。

Enable Wireshark

如您所见,身份验证服务器首先尝试协商EAP-TTLS,但客户端拒绝了。在接下来的2条消息中,他们同意使用LEAP。

在前2条消息中,身份验证服务器请求用户名(标识),客户端回复——如您所见,客户端的回复以明文传输。

Clients Reply

此时,我们已经知道无线客户端的有效用户名是“LAB_user”。为了找出密码,我们将查看请求/响应交换。

Request Response

在802.1x身份验证报头的底部,您可以看到身份验证服务器使用挑战文本“197ad3e4c81227a4”向无线客户端发起了挑战。然后,在后台,无线客户端使用了与LAB_user的密码结合的MS-CHAPv2算法,并得到了值“ef326a4844adb8288712a67e2dc659c4f9597dc4a7addc89”的哈希值,并将其发送回身份验证服务器。正如您从前面的章节中了解到的,幸运的是,对我们来说,MS-CHAPv2容易受到脱机字典攻击。为此,我们将使用一个非常常见的破解LEAP密码的工具,称为asleap

Asleap

如您所见,基于数据包捕获,asleap能够推导出802.1X数据包交换中的所有信息并破解MS-CHAPv2哈希。用户“LAB_user”的密码是“f8be4a2c”。

再说一次,您极不可能在生产环境中看到LEAP身份验证——至少现在您已经非常清楚原因了。

广告