无线安全 – 快速指南
无线安全 – 快速指南
无线安全 – 概念
在本教程中,您将体验不同的无线通信方法。您将了解我们大多数人都知道的无线局域网(WLAN),然后深入了解无线安全背后的实际问题。您会惊奇地发现,使用任何知道如何使用它的人都可以轻松获得的基本工具来收集大量有关无线网络和流经它的数据的敏感信息是多么容易。
在我们深入了解无线通信的“黑客”方面之前,您需要了解大量正常无线系统操作的理论概念和图表。尽管如此,在本教程中,理论内容将保持在绝对最少的水平 – 对每个人来说,最令人鼓舞和最愉快的部分是事情的实际方面!
当我们考虑无线通信时,我们会想象一些系统连接到天线,这些系统使用人眼不可见的无线电波通过空中一起说话。老实说,这是一个完全正确的定义,但是为了打破事物(或者更确切地说,您更喜欢“hack”这个词),您需要了解所有这些概念和体系结构如何协同工作。
无线术语
首先,让我们浏览一下与无线通信相关的一系列基本术语。循序渐进,我们将一起进入这条道路上更高级的东西。
无线通信
无线通信是指以无线方式(通过空中)执行的各方之间的任何类型的数据交换。这个定义非常广泛,因为它可能对应于许多类型的无线技术,例如 –
- Wi-Fi 网络通讯
- 蓝牙通讯
- 卫星通讯
- 移动通讯
上面提到的所有技术都使用不同的通信架构,但是它们都共享相同的“无线媒体”功能。
无线上网
无线保真(Wi-Fi)是指无线局域网,众所周知。它基于IEEE 802.11标准。Wi-Fi 是一种您几乎随处可见的无线网络,在家中、工作场所、酒店、餐厅甚至出租车、火车或飞机上。这些 802.11 通信标准在2.4 GHz 或 5 GHz ISM 无线电频段上运行。
这些设备在兼容 Wi-Fi 标准的商店中很容易买到,它们在设备上有以下可见的图像。我敢打赌你在各种商店或其他公共场所见过它数百次!
由于基于 802.11 的无线网络在所有类型的环境中都被大量使用 – 它们也是其他 802.11 标准中各种安全研究的最大主题。
无线客户端
无线客户端被认为是安装了无线网卡或无线适配器的任何终端设备。现在,在这 21st 世纪,这些设备几乎可以是任何东西 –
-
现代智能手机– 这些是您在市场上看到的最普遍使用的无线设备之一。它们在一个盒子上支持多种无线标准,例如蓝牙、Wi-Fi、GSM。
-
笔记本电脑– 这些是我们每天都在使用的一种设备!
-
智能手表-基于索尼的SmartWatch的一个示例如下所示。它可以通过蓝牙与您的智能手机同步。
-
智能家居设备– 随着当前技术的进步,智能家居设备可能是例如您可以通过 Wi-Fi 或温度控制器控制的冰箱。
可能的客户端设备列表每天都在增长。我们每天使用的所有这些设备/实用程序都可以如此轻松地通过无线网络进行控制,这听起来有点可怕。但同时,请记住,通过无线介质进行的所有通信都可以被任何人在正确的时间站在正确的位置拦截。
无线安全 – 接入点
接入点 (AP) 是 802.11 无线实施中的中心节点。它是有线和无线网络之间的接口,所有无线客户端都与之关联并交换数据。
对于家庭环境,大多数情况下,您将路由器、交换机和 AP 嵌入在一个盒子中,使其真正可用于此目的。
基站收发站
基站收发器 (BTS) 相当于 802.11 世界中的接入点,但被移动运营商用于提供信号覆盖,例如。3G、GSM等…
注意– 本教程的内容集中在 802.11 无线网络上,因此不会包括任何有关 BTS 和移动通信的详细信息。
无线控制器 (WLC)
在企业无线实施中,接入点的数量通常以数百或数千个为单位。单独管理所有 AP 及其配置(信道分配、最佳输出功率、漫游配置、在每个 AP 上创建 SSID 等)在管理上是不可能的。
这就是无线控制器概念发挥作用的情况。它是所有无线网络操作背后的“策划者”。这个集中式服务器与网络上的所有 AP 具有 IP 连接,可以轻松地从单一管理平台全局管理所有 AP、推送配置模板、实时监控所有 AP 的用户等。
服务集标识符 (SSID)
SSID 直接标识无线 WLAN 本身。为了连接到无线局域网,无线客户端需要在关联帧中发送与 AP 上预先配置的 SSID 名称完全相同的 SSID。所以现在的问题是如何找出您的环境中存在哪些 SSID?这很容易,因为所有操作系统都带有内置无线客户端,可以扫描无线频谱以加入无线网络(如下所示)。我相信你在日常生活中已经多次完成这个过程。
但是,这些设备如何仅通过收听无线电磁波就知道特定无线网络是以特定方式命名的?这是因为信标帧中的一个字段(AP 一直在很短的时间间隔内传输)包含始终以明文形式显示的 SSID 名称,这就是关于此的全部理论。
SSID 的长度最多可达 32 个字母数字字符,并唯一标识 AP 广播的特定 WLAN。如果 AP 定义了多个 SSID,它将为每个 SSID 发送一个单独的信标帧。
细胞
甲细胞基本上是由AP的或BTS的天线(发射机)覆盖的地理区域。在下图中,一个单元格用黄线标记。
大多数情况下,与客户端设备内置天线的能力相比,AP 的输出功率要大得多。客户端可以接收从 AP 发送的帧,并不意味着可以建立 2 路通信。上图完美地展示了这种情况。– 在这两种情况下,客户端都可以听到 AP 的帧,但只有在第二种情况下,才能建立双向通信。
这个简短示例的结果是,在设计无线小区大小时,必须考虑客户将使用的天线的平均输出发射功率是多少。
渠道
无线网络可以配置为支持多种 802.11 标准。其中一些在 2.4GHz 频段上运行(例如:802.11b/g/n),而其他一些在 5GHz 频段上运行(例如:802.11a/n/ac)。
根据频段,为每个频道定义了一组预定义的子频段。在多个 AP 放置在同一物理区域的环境中,使用智能信道分配以避免冲突(同时从多个源以完全相同的频率传输的帧发生冲突)。
让我们来看看 802.11b 网络的理论设计,它有 3 个小区,如上图所示,彼此相邻。左边的设计由 3 个不重叠的通道组成 – 这意味着 AP 及其客户端在特定小区发送的帧不会干扰其他小区的通信。在右边,我们有一个完全相反的情况,所有在同一信道上飞来飞去的帧会导致冲突并显着降低无线性能。
天线
天线用于将作为电缆内部电信号流动的信息“翻译”到电磁场中,电磁场用于通过无线介质传输帧。
每个无线设备(AP 或任何类型的无线客户端设备)都有一个天线,其中包括发射器和接收器模块。它可以是外部的,周围的每个人都可以看到,也可以是内置的,就像现在的大多数笔记本电脑或智能手机一样。
对于无线网络的无线安全测试或渗透测试,外置天线是最重要的工具之一。如果你想进入这个领域,你应该得到其中之一!外置天线的最大优点之一(与您可能遇到的设备内置的大多数内置天线相比)是它们可以配置为所谓的“监控模式”——这绝对是您所需要的!它允许您使用wireshark或其他知名工具(如Kismet)从您的 PC 中嗅探无线流量。
互联网上有一篇非常好的文章(https://www.raymond.cc/blog/best-compatible-usb-wireless-adapter-for-backtrack-5-and-aircrack-ng/)有助于选择外部无线天线,特别是对于具有监控模式功能的 Kali Linux。如果你正在认真考虑进入这个技术领域,我真的建议大家购买推荐的一个(我有一个)。
无线安全 – 网络
无线网络可以根据它们提供的操作范围分为不同的类别。最常见的分类方案将无线网络分为下表列出的四类,并附有简短示例。
Category | 覆盖范围 | 例子 | 应用 |
---|---|---|---|
Wireless Personal Area Network (WPAN) |
很短 – 最多 10 米,但通常要小得多 |
蓝牙、802.15、红外通信 |
|
Wireless Local Area Network (WLAN) |
中等 – 在公寓或工作场所内。 |
802.11 无线网络 |
用于本地网络的无线扩展 –
|
Wireless Metropolitan Area Network (WMAN) |
整个城市 |
Wimax、IEEE 802.16 或专有技术 |
在家庭和企业之间 |
Wireless Wide Area Network (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 年)。最重要的是,具有多 Gbps 速度的 801.11ac-wave2 即将问世。
-
每天,数以百万计的人通过 Wi-Fi 使用智能手机进行现金转账和访问他们的银行账户!
您是否仍然对安全在无线实施中的重要性犹豫不决?
无线网络
无线部署中使用的设备选择受部署类型的影响,无论是用于小型房屋、商店、大型企业网络还是用于酒店的网络。
Scale | 例子 | 使用的设备类型 |
---|---|---|
Small deployments | 家庭, 小商店 | 最常见的家用路由器/交换机(与无线 AP 集成) |
Big deployments | 酒店、企业、大学 |
|
无线安全 – 标准
自 IEEE 802.11 标准开始以来,无线网络以显着的速度发展。人们看到了这种类型数据传输的潜力,因此 802.11 的后继者陆续出现。下表总结了我们时代使用的当前 802.11 标准 –
Standard | 频率 | 最大速度 |
---|---|---|
802.11 | 2.4 吉赫 | 2 Mbps |
802.11a | 5 吉赫 | 54 Mbps |
802.11b | 2.4 吉赫 | 11 Mbps |
802.11g | 2.4 吉赫 | 54 Mbps |
802.11n | 2.4 或 5 GHz | 600 Mbps |
802.11ac | 5 吉赫 | 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 支持的速度列表。这些速度可以直接映射到标准。
-
上面信标帧的转储表明,这可能是 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”的基于无线的工具的转储。它直接显示所有可见的无线网络,以及每个网络的一些细节。
从上图可以看出,有些无线局域网的最大速度支持 130Mbps(必须是 802.11ac),其他支持 54 和 36 Mbps(可能是 802.11 A 或 G)。
另一方面,您也可以使用流行的基于 Linux 的程序,称为“airdump-ng”(我们将在稍后的黑客展示中深入研究这个程序 – 破解 Wi-Fi 网络的密钥)。对于 Windows 环境,您可以使用流行的“Network Stumbler”。所有这些工具彼此之间的工作方式非常相似。
无线安全 Wi-Fi 身份验证模式
在本章中,我们将简要介绍无线部署中可能使用的身份验证方案。它们是: 开放式身份验证和基于预共享密钥 (PSK) 的身份验证。前一种是基于 EAP 帧来导出动态密钥。
开放认证
开放身份验证这个词本身就具有误导性。它表明,某种身份验证已经到位,但实际上,该方案中的身份验证过程更像是正式步骤,而不是身份验证机制。该过程如下图所示 –
用简单的英语,这个交换说的是,在身份验证请求中,无线客户端(请求方)说“嗨,AP,我想进行身份验证”,而来自 AP 的身份验证响应是“好的,你去吧”。您在此设置中看到任何类型的安全性吗?我也不…
这就是为什么永远不应该使用开放式身份验证,因为它只是允许任何客户端对网络进行身份验证,而无需进行正确的安全检查。
基于 EAP 的 4 次握手(使用 WPA/WPA2)
当无线客户端向 AP 进行身份验证时,它们都会经历称为4 次握手的 4 步身份验证过程。在这些消息交换期间,共享密码是在 AP 和无线客户端之间派生的,不会在任何这些 EAP 消息中传输。
Pairwise Master Key (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 chalking 在无线局域网历史上是一个非常有趣的概念,主要用于美国。主要想法是标记实施开放式身份验证或弱身份验证的 WLAN 的位置。通过这样做,每个人只要在墙上或地上的某个地方发现了用粉笔写下的这个标志,就可以在不进行身份验证的情况下登录 Wi-Fi 系统。聪明,对吧?
您可能会问自己 – 为什么用粉笔而不是某种标记、喷雾或其他更持久的标记方式?答案很简单,来自刑法——用粉笔书写不被视为破坏行为。
无线安全 – 加密
一般来说,加密是将数据转换成某种密码文本的过程,该密码文本对于任何 3rd拦截信息的一方。如今,我们每天都在使用加密,甚至没有注意到。每次访问您的网上银行或邮箱时,最常见的是在您登录任何类型的网页时,或创建返回公司网络的 VPN 隧道时。
有些信息太有价值了,没有得到保护。而且,为了有效地保护信息,必须以不允许攻击者解密的方式对其进行加密。老实说,没有完全安全的加密方案。我们每天使用的所有算法都可能被破坏,但在当前的技术和时间下,这种情况发生的可能性有多大?
例如,使用新的超高速计算机破解加密“X”可能需要大约八年时间。风险是否足够大,以停止使用算法“X”进行加密?我怀疑,要保护的信息在那个时间点可能已经过时了。
无线加密的类型
要开始谈论无线加密,值得一提的是有两种类型的加密算法:Stream Cipher 和 Block Cipher。
-
Stream Cipher – 它以逐位方式将明文转换为密文。
-
块密码– 它对固定大小的数据块进行操作。
下表收集了最常见的加密算法 –
Encryption Algorithm | 加密算法类型 | 数据块大小 |
---|---|---|
RC4 | 流密码 | — |
RC5 | 块密码 | 32/64/128 位 |
DES | 块密码 | 56位 |
3DES | 块密码 | 56位 |
AES | 块密码 | 128 位 |
您最有可能在无线网络上遇到(以某种形式)的是RC4 和 AES。
WEP 与 WPA 与 WPA2
无线网络领域共有三种广为人知的安全标准。这三者之间最大的区别在于它们可以提供的安全模型。
Security Standard | 加密算法用户 | 认证方法 | 破解加密的可能性 |
---|---|---|---|
WEP | WEP(基于 RC4) | 预共享密钥 (PSK) |
|
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 加密算法的输入之一。整个机制如下图所示 –
可以注意到,该算法有两个输入,一个是 24 位长的 IV(也以明文形式添加到最终密文中),另一个是 WEP 密钥。当试图破解这种安全模型 (WEP) 时,必须收集大量无线数据帧(大量帧,直到找到具有重复 IV 向量值的帧)。
假设对于 WEP,IV 有 24 位。这意味着它可以是从两帧(如果你足够幸运)到 2 的任何数字24+ 1(您收集每一个可能的 IV 值,然后,下一帧必须是重复的)。根据经验,我可以说,在相当拥挤的无线局域网上(大约有 3 个客户端一直在发送流量),获取足够的帧、破解加密并导出 PSK 值只需要 5-10 分钟.
此漏洞仅存在于 WEP 中。WPA 安全模型使用 TKIP,通过将其大小从 24 位增加到 48 位来解决弱 IV,并对图表进行其他安全增强。这些修改使 WPA 算法更加安全并且容易受到此类破解。
无线安全 – 破解加密
在本章中,我们将看到如何破解 WEP 和 WPA 加密。让我们从 WEP 加密开始。
如何破解 WEP 加密?
可以使用许多可能的工具来破解 WEP,但所有方法都遵循相同的想法和步骤顺序。
假设您已找到目标网络,请执行以下操作 –
-
收集(嗅探)空中飞行的 WEP 加密数据包。可以使用名为“airodump-ng”的 Linux 工具执行此步骤。
-
当收集到足够的数据包时(您收集了一组具有重复 IV 向量的帧),您尝试使用名为“aircrack-ng”的工具破解网络。
在高度拥塞的网络上,上述两个步骤可能需要大约 5-10 分钟或更短的时间。就这么简单!详细的破解 WEP 分步指南将在“Pen Testing WEP Encrypted 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模式。顺便提一下 – 所有的企业无线部署,它们都使用真正的 802.1x 身份验证,基于外部 RADIUS 服务器,因此,您唯一可能的目标可能是非常小的企业或家庭网络。
还有一点是,用于保护 WPA/WPA2 的 PSK 的大小必须合理(最多 10 个字符 – 与允许的最大长度为 64 个字符相反),如果您打算打破它。该要求的原因是,在初始 4 次握手期间,PSK 在无线客户端和 AP 之间仅传输一次(非明文),并且从这些数据包中导出原始密钥的唯一方法是通过暴力破解或使用一本好的字典。
有一个非常不错的在线计算器,可以估计暴力破解 PSK 所需的时间 – http://lastbit.com/pswcalc.asp。假设您有 1 台 PC,每秒可以尝试 1000 个密码(由小写、大写、数字和常用标点符号组成),破解密码需要 28910 年(当然最多,如果幸运的话,它可能会需要几个小时)。
破解 WPA/WPA2 加密的一般过程(仅当他们使用 PSK 时)如下 –
-
收集(嗅探)在空中飞行的无线数据包。可以使用名为“airodump-ng”的 Linux 工具执行此步骤。
-
在收集数据包时,您应该取消对当前客户端的验证。通过这样做,您会遇到这种情况,即客户端需要再次进行身份验证才能使用 Wi-Fi 网络。这正是你想要的!通过这样做,您可以准备一个良好的环境来嗅探对网络进行身份验证的无线用户。您可以使用基于 Linux 的工具“aireplay-ng”来取消对当前无线客户端的验证。
-
由于您嗅探了 4 次握手(并保存在转储文件中),您可以再次使用“aircrack-ng”来破解 PSK。在这一步中,您必须引用包含所有密码组合的字典文件,aircrack-ng 工具将使用该文件。这就是为什么一个好的字典文件是这里最重要的元素。
WPA/WPA2 网络的详细分步黑客攻击将在“Pen Testing WPA/WPA2 Encrypted WLAN”主题下显示。
如何防御 WPA 破解?
我有一种感觉,在完成本教程的最后部分之后,您已经有了一些想法,应该做什么才能使 WPA 破解成为不可能(或者更确切地说:在合理的时间内不可能)。以下是保护家庭/小型企业无线网络的最佳实践的一些指针 –
-
如果有机会,请使用 WPA2 而不是 WPA。它对套件使用的加密方案有直接影响。AES(由 WPA2 使用)比 TKIP(由 WPA 使用)安全得多。
-
正如您之前看到的,破解 WPA/WPA2 的唯一方法是嗅探身份验证 4 次握手并暴力破解 PSK。为了在计算上不可能,使用至少 10 个字符的密码,由小写、大写、特殊字符和数字的随机组合(不是任何字典中可以遇到的任何普通单词)组成。
-
禁用 Wi-Fi 保护设置 (WPS) – WPS 是一项“很酷的功能”,旨在使新的无线客户端连接到网络变得更加容易 – 只需输入一个特殊的 8 位 AP PIN 码。这个 8 位数字是蛮力攻击的一个非常短的工作,而且这个 8 位数字可以在 AP 盒本身的背面找到。试一试,看看你的家用路由器 – 你看到背面的 WPS PIN 了吗?您的家庭路由器是否启用了 WPS 功能?
无线安全 – 访问控制攻击
无线网络比有线网络更容易受到攻击,这已经不是什么秘密了。除了协议漏洞本身之外,它还是一种“无线”共享介质,可将此类网络打开到全新的攻击面集。在连续的子章节中,我将尝试介绍无线通信的许多方面(或更确切地说是威胁),这些方面可能被恶意 3rd 派对。
访问控制攻击
访问控制的概念就是控制谁可以访问网络,谁不能访问。它可以防止恶意 3rd方(未经授权)关联到无线网络。访问控制的思想与身份验证过程非常相似;然而,这两个概念是互补的。身份验证通常基于一组凭据(用户名和密码),访问控制可能会超出此范围并验证客户端用户或客户端用户设备的其他特征。
众所周知,无线网络中使用的访问控制机制基于 MAC 地址白名单。AP 存储有资格访问无线网络的授权 MAC 地址列表。使用当今可用的工具,这种安全机制不是很强大,因为 MAC 地址(无线客户端芯片组的硬件地址)可能很容易被欺骗。
唯一的挑战是找出 AP 允许哪些 MAC 地址对网络进行身份验证。但由于无线介质是共享介质,任何人都可以嗅探空气中流动的流量,并查看具有有效数据流量的帧中的 MAC 地址(它们在未加密的标头中可见)。
如下图所示,在我的家用路由器上,我通过指定其 MAC 地址将两个设备设置为能够与 AP 通信。
这是攻击者一开始没有的信息。然而,由于无线媒体对嗅探是“开放的”,他可能会使用 Wireshark 来监听那些在特定时间连接并与 AP 通话的设备。当您启动 Wireshark 进行空中嗅探时,您很可能每秒收到数百个数据包,因此,在 Wireshark 中使用高效的过滤规则是明智的。我实现的过滤器类型是 –
(wlan.fc.type_subtype == 0x28) && (wlan.addr == 58:6D:8F:18:DE:C8)
这个过滤器的第一部分告诉 Wireshark 它应该只查看数据包(而不是信标帧或其他管理帧)。它是一个子类型0x28 AND(“&&”)其中一方应该是我的 AP(它在无线电接口上的MAC 地址为58:6D:8F:18:DE:C8)。
您可以注意到有两个设备正在与 AP 交换数据包,这是我之前作为管理员特别允许在 MAC 过滤中使用的设备。有了这两个,作为攻击者,你唯一要做的配置就是在本地更改无线网卡的 MAC 地址。在这个例子中,我将使用一个基于 Linux 的工具(但对于所有可能的操作系统还有很多其他的工具) –
这是一种绕过基于 MAC 过滤的访问控制的简单方法。如今,执行访问控制的方法要先进得多。
专门的认证服务器可以通过查看来自特定客户端的无线帧的外观并将它们与以特定供应商而闻名的一组“基线”。但是,这不是您在家庭网络上可能看到的。这些解决方案非常昂贵,并且需要集成多种类型服务器的更复杂的基础设施——最有可能在一些企业环境中遇到。
无线安全 – 完整性攻击
信息的完整性是确保数据在通过网络(无线或有线)从 A 点到 B 点时不被篡改的特征。在谈到无线通信时,802.11 无线电可以被任何 3rd同一频道的派对。下图说明了一种针对信息完整性的简单攻击类型 –
让我们想象一下被称为受害者的合法无线客户端(步骤 1)正在给朋友写一封电子邮件(电子邮件将转到互联网),要求返还 1000 美元,并在电子邮件中输入银行帐号。
假设信息没有很好地加密(或者攻击者破坏了加密并有机会以明文形式读取所有内容),无线攻击者(步骤 2)读取在空中流向 AP 的整个数据包。攻击者通过将银行帐号交换为自己的帐号来修改消息,然后将消息重新注入空中,以通过 AP 访问互联网。
在这种情况下,如果没有完整性检查来检测消息内容的变化 – 收件人将收到一条带有修改过的银行帐号的消息。可能,所描述的情况在现实生活中极难实现,因为像邮件交换这样的所有工具都可以抵御这些类型的攻击(通过适当的加密和消息完整性检查),它完美地展示了攻击的概念。
针对这种类型的完整性攻击,有两种主要的对策 – 加密(这样攻击者根本无法读取消息)和消息完整性代码(MIC),它们基本上是散列函数,如MD5或SHA1,它们采用整个消息的足迹并创建 128 位 (MD5) 或 160 位 (SHA1) 的散列。任何时候,数据包内容发生变化,哈希值也会发生变化,导致消息被拒绝(已经被无线路由器拒绝)。
无线安全 – 保密攻击
针对信息机密性的攻击的作用只是破坏无线部署中使用的加密模型。查看该领域的各种安全模型,可能会提出以下一般建议 –
-
无加密/ WEP 加密– 这些不是非常安全的方法,不应在任何情况下使用。
-
TKIP 加密– 此加密模型用于 WPA 部署。它尚未被破解,但由于使用较弱的 RC4 算法,TKIP 不被认为是强加密手段。
-
CCMP 加密– 这与 WPA2 一起使用。到目前为止,它被认为是基于不可破解(至少在今天)AES 算法的最安全的加密模型。
各种攻击的主要目标是破解加密并获得密钥的值。这会给攻击者带来两件事:破坏其他用户的机密性和直接访问无线网络。
无线安全 – DoS 攻击
旨在禁用服务(使目标不可用)或降低其性能(降低可用性)的攻击属于拒绝服务 (DoS)攻击的范畴。对于业务基于电子商务的受害者或公司而言,此类攻击的成本可能非常昂贵。他们可以数百万美元来计算攻击的成本,这取决于他们的 Web 服务不可用的时间长度。
无线网络也在员工的生产力中发挥着至关重要的作用。我们都在工作场所使用无线笔记本电脑和智能手机。由于缺乏无线网络工作,我们的生产力下降。
针对可用性的 DoS 攻击可分为 3 种类型 –
- 第一层 DoS
- 二层拒绝服务
- 第 3 层 DoS
我们将在接下来的章节中详细讨论这些攻击中的每一种。
无线安全 – 第 1 层 DoS
这是射频干扰(有意或无意)的结果。大多数情况下,无意干扰会出现在 2.4 GHz 频段上,因为它非常繁忙。射频摄像机、无绳电话或微波炉等设备可能会使用此频段。至于故意干扰,有可能会干扰 802.11 WLAN 的射频干扰器。RF 干扰器可以是硬件单元或软件工具(下面显示的示例“Websploit”框架)。
使用第 1 层 DoS 的最常见 WiFi 攻击是昆士兰攻击。
昆士兰袭击
这用于中断 802.11 WLAN 的运行。无线电卡配置为发出恒定的 RF 信号(很像窄带信号发生器)。而其他有效的无线客户端永远没有机会访问该介质,因为每当它们执行畅通信道评估(在通过无线发送任何流量之前检查“空气”的简短过程)时,无线介质就会被这个恒定的发射器占用.
干扰攻击也可用于启动其他类型的攻击。通过使用干扰工具,可以强制无线客户端重新进行身份验证。之后,可以使用协议分析器(嗅探器)来收集身份验证过程(LEAP 或 WPA/WPA2 Personal 情况下的 4 次握手)。此时,攻击者将拥有执行离线字典攻击所需的所有必要信息。窄带干扰也可以作为中间人攻击的辅助工具。
使用软件(使用 Websploit)创建第 1 层干扰器非常容易。我将使用我自己的名为“home_e1000”的家庭无线网络来说明攻击。首先使用airodump-ng,我将收集有关 WLAN 本身的信息(BSSID、信道)。
如你所见,“home_e1000”无线网络使用的是BSSID为58:6D:8F:18:DE:C8的AP,在通道6上运行。这是我们需要的一组信息,作为websploit框架的输入来执行干扰攻击。
与我们的场景相关的模块在“无线模块”下,我们将使用 Wi-Fi/wifi_jammer 之一。
“RQ”字段列代表“必需”,因此您需要在此处填写所有值 –
-
interface – 这是 WLAN 接口,如ifconfing 中所示,在我的情况下,它是 wlan0。
-
bssid – 这是 AP 无线电适配器的 MAC 地址。您可以从 airodump-ng 派生出这个,如前面步骤中所述。
-
essid – 这是您要阻塞的 WLAN 的名称。
-
mon – 监控接口的名称,如 ifconfig 或 airmon-ng 中所示。就我而言,它是 mon0。
-
channel – 显示来自 airodump 的信息。我的目标网络“home_e1000”正在通道 6 上工作,如 airodump-ng 输出中所示。
现在,当 websploit 框架中设置了所有必需的信息时,您只需要键入“运行”命令。命令一执行,攻击就开始了。
正如你在下面的截图中看到的,websploit 框架会自动启动aireplay-ng工具并干扰网络。
这次攻击的结果(你看不到),是我的无线 PC 和我的智能手机断开连接,我无法真正重新连接,直到我通过发出“停止”命令来停止攻击。
无线安全 – 第 2 层 DoS
这些攻击是最有可能由恶意攻击者发起的攻击。这种攻击背后的主要思想是调节 802.11 无线帧并将它们注入(或重新传输)到空中。
最常见的第 2 层 DoS 攻击类型包括欺骗解除关联或解除身份验证管理帧。之所以如此高效,是因为这些帧不是请求帧,而是通知!
因为身份验证过程是关联的先决条件(如上所示),取消身份验证帧也会自动解除客户端的关联。
这种攻击可能(再次)开始使用aireplay-ng 工具。你能看出这个工具有多强大吗?
再次以 ESSID 为“home_e1000”的家庭网络为目标,我首先使用 airodump-ng 检查连接的客户端。
我的智能手机是连接到 home_e1000 网络的设备,MAC 地址为 98:0D: 2E: 3C:C3:74。然后我对我的智能手机发出解除身份验证的 DoS 攻击,如下面的屏幕截图所示 –
结果,我家中的目标设备(智能手机)再次与 Wi-Fi 网络断开连接。
针对这些类型攻击的缓解技术是使用802.11w-2009 标准管理帧保护 (MFP)。简单来说,该标准要求管理帧(如解除关联或取消身份验证帧)也由受信任的 AP 签名,如果它们来自恶意客户端或假 AP,则应忽略它们。
无线安全 – 第 3 层 DoS
这种第 3 层 DoS 的想法是用大量要处理的流量压倒主机,从而导致主机崩溃。大多数情况下,这种类型的攻击源自一组黑客拥有的主机,称为僵尸网络,并以互联网上的受害者服务器为目标。
三种最常见的第 3 层 DoS 攻击类型是 –
碎片攻击
攻击者向 IP 广播地址发送大量 UDP 回显请求。源 IP 地址被欺骗并被设置为受害者 IP 地址。通过这样做,广播子网上的客户端发起的所有回复都被发送回受害者。
Ping 洪水攻击
攻击者使用 ping 向目标计算机发送大量 ICMP 数据包。想象一个拥有数千台 PC 的僵尸网络的恶意方。如果我们想象在所有这些 PC 上同时运行 ping flood 攻击,那么它可能会变得非常严重。
蓝精灵攻击
与 Fraggle Attack 完全相同的逐步操作。唯一的区别是,Smurf 攻击使用 ICMP 回显请求数据包,与使用 UDP 数据包的 Fraggle 攻击相反。
这些类型的第 3 层 DoS 攻击并不是专门的无线技术攻击。它们可用于任何第 2 层技术,包括以太网、帧中继、ATM 或无线。此攻击成功的主要要求是攻击者控制大量被超越的 PC(僵尸网络)。然后特定数据包从僵尸网络中的每个受感染主机发送到目标 – 假设僵尸网络有 1000 多个设备,累积流量可能很大。从单台 PC 使用第 3 层 DoS 根本无效。
无线安全 – 身份验证攻击
您现在可能已经知道,身份验证是验证所提供的身份和凭据的方法。无线设置中使用的大多数身份验证方案都通过适当的加密进行保护。
我们已经描述了基于 WPA/WPA2 中使用的 EAP 身份验证和 PSK 身份验证的场景。通过嗅探客户端和身份验证器 (AP) 之间的 4 次握手,可以执行暴力攻击(例如——离线字典攻击)来破解加密并导出 PSK 值。
另一个例子可以是 LEAP(轻量级可扩展身份验证协议)。它在过去被用作生成动态 WEP 密钥的机制。在这个设置中,密码散列是通过 MS-CHAP 或 MS-CHAPv2 算法(它们都可以通过离线字典攻击破解)进行空中散列的。可能适用于 LEAP 的身份验证攻击的简短描述包括以下步骤 –
-
用户名以明文形式发送。
-
有明文形式的挑战文本。
-
响应文本经过哈希处理。
-
Office字典攻击,这里可以使用(使用aircrack-ng工具)尝试“ function(password,challenge) = response ”数学公式中密码的所有组合,找到正确的密码。
此类攻击的示例将在接下来的章节中逐步说明。
恶意接入点攻击
当我们考虑企业网络时,企业 WLAN 是一个经过授权且安全的网络资源无线门户。恶意接入设备 (AP) 是任何未经授权连接到公司网络(通常连接到某个网络交换机)的 WLAN 无线电。
员工(恶意用户或错误)安装的大多数恶意接入点实际上与组织中的 IT 部门使用的 AP 不同,而是一些小型办公室家庭办公室 (SOHO) 无线路由器 – 相同那些,你可能在家里。在它们配置错误或没有任何安全性的情况下 – 它会打开下一个攻击面,以便轻松访问非常安全的网络)。
随着当前 IT 行业的发展,流氓接入点可能非常隐蔽且极难发现。如果将 Raspberry Pi 放置在隐藏在数百条网线之间的机架背面,您是否能够轻松发现连接到您的网络交换机的 Raspberry Pi?我可以肯定地说,你根本不会发现它!
如果网络资源被恶意接入点暴露,可能会识别出以下风险 –
-
数据盗窃– 公司数据可能会受到损害。
-
数据销毁– 数据库可能会被删除。
-
服务丢失– 可以禁用网络服务。
-
恶意数据插入– 攻击者可能使用门户上传病毒、键盘记录器或色情内容。
-
3rdParty Attacks – 公司的有线网络可用作 3rd 党派攻击互联网上的其他网络。
无线安全 – 客户端错误关联
您可能已经遇到过这样的情况,当您携带 PC 在家使用无线网络时,您的 PC 会自动连接到 WLAN,无需您执行任何操作。这是因为,您的笔记本电脑会记住您过去连接到的 WLAN 列表,并将此列表存储在所谓的首选网络列表中(在 Windows 世界中)。
恶意黑客可能会使用此默认行为,并将自己的无线 AP 带到您通常使用 Wi-Fi 的物理区域。如果那个 AP 的信号比原来 AP 的信号好,笔记本软件就会错误地关联到黑客提供的假(流氓)接入点(认为它是合法的 AP,你过去用过) )。在一些大型开放空间,例如机场、办公环境或公共区域,此类攻击非常容易实施。这些类型的攻击有时被称为蜜罐 AP 攻击。
创建假 AP 不需要任何物理硬件。本教程使用的 Linux 发行版是Kali Linux,它有一个名为airbase-ng的内部工具,可以使用单个命令创建具有特定 MAC 地址和 WLAN 名称 (SSID) 的 AP。
让我们创建以下场景。过去,我曾在欧洲的一个机场使用过“Airport-Guest”的 SSID。这样,我就知道我的智能手机已将此 SSID 保存在 PNL(首选网络列表)中。所以我使用airbase-ng创建了这个 SSID 。
创建 WLAN 后,我使用了前面描述的第 2 层 DoS 攻击,不断从 Home_e1000 无线网络取消对我的智能手机的验证。那时,我的智能手机检测到另一个具有非常好的链接质量的 SSID(Airport-Guest),因此它会自动连接到它。
这是您在上面的转储中从 21:48:19 开始看到的内容。在这一点上,我们处于良好的情况下,可以执行一些具有此初始连接的额外攻击。它可以是中间人攻击,通过攻击者的 PC 转发所有无线流量(攻击流量交换的完整性和机密性。或者您可以通过使用 Metasploit 框架利用一些漏洞从攻击者的 PC 直接连接回智能手机。 .. 有很多可能的前进方式。
错误配置的接入点攻击
错误配置的 AP 是一种安全表面,如果检测到,则最容易破坏。您最有可能遇到配置错误的 AP 的地方是家庭无线网络或非常小的企业。大型无线环境最有可能使用集中管理平台来控制数百或数千个 AP 并保持它们同步,因此不太可能在那里遇到任何配置错误。
导致无线破解的最常见的配置错误区域是 –
-
某些 AP 配置保留为出厂默认设置,例如用户名和密码或默认 WLAN 广播 (SSID),默认设置可在 Internet 上特定供应商的手册中找到。
-
人为错误 – 在整个组织的一组 AP 上配置了高级安全策略,而其他的则被遗忘并保留默认的弱安全设置。
作为针对错误配置的 AP 的对策,组织应将正在进行的现场调查作为监控安全无线环境的工具。
一些 Linksys 无线家用设备的默认用户名/密码数据库的示例是 –
Model | 用户名 | 密码 |
---|---|---|
BEFSR series | (无)或管理员 | 行政 |
E series | 管理员或(无) | 管理员或(无) |
EA series | 行政 | 管理员或(无) |
WAG series | 管理员或(无) | 管理员或(无) |
WRT series | (没有任何) | 行政 |
Ad-Hoc 连接攻击
Ad-Hoc Connection 攻击是非常讨厌的攻击类型,其中攻击者(恶意用户)使用 3rd方合法用户作为攻击者设备和 AP 或其他类型网关之间的附加跃点或中间人。
Ad-Hoc 无线网络功能,需要在“中间设备”上工作,可以在 Windows 或 Linux 设备上配置,它允许在客户端之间设置 ad-hoc(点对点)无线链接设备(没有任何额外的网络基础设施,如 AP)。在幕后,您实际所做的是在您的 PC 上创建虚拟软件 AP,而另一台设备与您创建的 SSID 相关联(有效地建立无线链接)。
使用 Linux 时,您可以使用本章前面介绍的名为“airbase-ng”的工具。另一方面,在使用 Windows 时,可以使用“配置新连接或新网络”在无线网络设置中创建 WLAN。
以下情况将描述临时攻击。让我们假设攻击者可能是 2、3 或 4 号计算机中的任何一台。受害者(中间人)将是计算机 1。这台笔记本电脑将运行并提供与周围环境的无线连接,并将有其他接口连接到有线网络以访问互联网。
攻击者可以连接到由计算机 1 广播的 WLAN,然后使用它通过这台受害 PC 将所有流量路由到互联网。从互联网的角度来看,看起来是计算机 1 发起了流量!从计算机 1 到所有攻击者的无线链接不一定是 Wi-Fi 连接——它可以是蓝牙或任何其他类型的无线技术,所有尝试相互通信的各方都支持。
无线安全 – 黑客方法
在本章中,您将更加熟悉可用于执行特定攻击(或作为更高级攻击的一小步)的各种常用工具。稍后,在最后一节中,您将需要将所有这些工具知识结合在一起,并执行更高级和更复杂的无线攻击类型。这是本教程的最后一部分,将逐步介绍无线安全黑客场景,并使用您目前看到的工具以及您将在此处找到的工具。
Wi-Fi 发现
Wi-Fi 发现是用于了解 WLAN 在环境中的存在的过程。WiFi 发现过程不违反任何法律,因为您在任何时候都没有采取冒犯性的行为,您只是使用您的无线客户端被动地收听 Wi-Fi 频段。
为了发现存在哪种类型的 WLAN 网络,您需要使用使用无线硬件并侦听 2.4GHz 或 5GHz 频段的特定工具。其中一些是操作系统内置的(它们通常对于详细的 WLAN 分析非常无效),而另一些则是简单的工具,您可以在 Internet 上找到这些工具。市场上有成百上千的工具。
我将向您展示其中的 2 个,由于其简单,我非常喜欢。您会发现,在阅读这些章节时(或者您已经从经验中了解到),为 Windows 操作系统提供的工具具有更好的图形和一些奇特的图形功能,这与基于 Linux 的工具提供的相反。但我可以向你保证,基于 Linux 的那些提供完全相同的信息(只是以更像文本的格式)。另一方面,编写脚本要容易一些,它将一个工具的输出作为其他工具的输入。
对于 Windows 用户,您应该查看Xirrus Wi-Fi Inspector(它可以免费使用)。这是一个简单的工具,用于识别附近存在的 WLAN。在 Windows 环境中执行相同功能的另一个工具是NetStumbler。
您可以从上述屏幕截图底部的表格中提取的信息提供您可能需要查找的所有信息,例如 SSID 名称、接收信号强度、使用的 802.11 标准、WLAN上的加密和身份验证设置、BSSID(AP 的 MAC 地址、如果您想创建一个具有相同 MAC 地址的假 AP)以及它在哪个频道上运行。这是很多!您还可以看到非常精美的图形“雷达”显示,特定网络距离您当前位置的距离 – 可以从信号 (dBm)字段读取相同的信息。
另一方面,当使用 Linux 时(我为渗透测试人员使用 Kali 发行版 – 你也应该尝试),等效的工具是一个名为 airodump-ng 的工具。以下屏幕截图显示了 airodump-ng 向用户输出的一组信息。此外,我们还有另一个著名的工具,称为 Kismet。
战争驾驶
Wardriving 是一个人在车上使用他们的个人笔记本电脑、智能手机或其他无线客户端工具寻找无线网络(无线网络发现)的过程。基本上,目的是找到一些免费访问的无线网络,恶意用户可以在没有任何法律义务的情况下使用。例子可能是一些提供免费 Wi-Fi 的市场,无需注册,或者一些您可以使用虚假数据注册的酒店。
查找这些 WLAN 的方法与本无线发现部分中的上述方法完全相同。
GPS地图
有许多卫星绕地球运行,每颗卫星都向它所覆盖的地球发送低功率无线电信号。您使用的 GPS 设备(例如启动了谷歌地图应用程序的智能手机)同时从多个卫星接收该信号。设备本身将这些信号组合在一起并计算地球上的当前地理位置。
GPS 映射的思想是将用户遇到的无线网络参照其地理位置在全球无线网络地图上进行映射。可以使用前面提到的 Kismet 工具将其无线网络映射到地理位置,然后将其坐标放在谷歌地球地图上。
互联网上有一个网站http://wigle.net,您可以使用它来查看有多少 WLAN 被 GPS 映射。您也可以使用该网站来映射 GSM 蜂窝网络。
无线安全 – 流量分析
无线流量分析过程在取证调查或故障排除期间可能非常有帮助,当然这是一种很好的自学方式(只是为了了解应用程序和协议如何相互通信)。为了使流量分析成为可能,首先,需要以某种方式收集这些流量,这个过程称为流量嗅探。最常用的流量嗅探工具是 Kismet 和 Wireshark。这两个程序都提供了适用于 Windows 和 Linux 环境的版本。
对于无线网络的渗透测试和黑客攻击,需要收集的数据类型有BSSID、WEP IV、TKIP IV、CCMP IV、EAP 4 次握手交换、无线信标帧、通信方的 MAC 地址等。您可以在无线流量转储中获得更多信息。您将获得的大部分信息都将用于上一章中介绍的所有攻击。它们可以(例如)用作离线暴力攻击的输入,以破解 WLAN 部署中使用的加密和身份验证模型。
在 Windows 和 Linux 中使用 Wireshark 都非常直观——这两种环境都提供了一个对于两个系统看起来相同的 GUI。程序启动时,您只需要指明用于流量嗅探的物理接口(您可以选择任何接口,有线接口或无线接口),然后进行流量嗅探。以下屏幕截图显示了无线网卡收集的无线数据包示例。
输出的布局始终相同 – 从顶部开始,您有 –
-
Filter Field – Wireshark 配备了一个非常好的过滤工具,可以限制实时流量输出。当您需要从每秒来自周围所有无线客户端的数百个数据包中提取特定流量(在特定 MAC 地址之间或特定 IP 地址之间)时,它非常有用。
-
流量输出– 在本节中,您可以看到显示的所有数据包,这些数据包在无线接口上一一嗅探。在输出的这一部分中,您只能看到流量特征的基本摘要,例如 – SRC/DST MAC 地址、协议(在本例中为 Wi-Fi 802.11)和有关数据包的简要信息。
-
数据的解码参数– 本节列出了帧中存在的所有字段(所有标题 + 数据)。使用示例转储,我们可以看到,某些信息集是不可读数据的形式(可能是加密的),并且在 802.11 标头中您可以找到 CCMP 信息(它确认流量是 AES 加密的),因此它必须是 WPA2无线网络。
-
十六进制转储– 十六进制转储与您上面“数据的解码参数”中的信息完全相同,但采用十六进制格式。原因是,十六进制表示是数据包的原始方式,但 Wireshark 有数千个“流量模板”,用于将特定的 HEX 值映射到已知的协议字段。例如,在 802.11 标头中,从 5 到 11 的字节始终是无线帧的 MAC 地址的来源,使用相同的模式映射,Wireshark(和其他嗅探器)可以重新构建和解码静态(众所周知)协议字段。
您可以使用常见的.pcap格式保存所有流量转储,该格式以后可以用作输入,例如,对收集的流量执行一些高级操作(例如破解加密模型)的 python 脚本。
您应该知道的另一个工具是Kismet。只要您启动 Kismet 工具并指定mon0接口,它就会列出在您的环境中检测到的所有 SSID。
在 Kismet 运行期间,所有无线数据包都被收集并存储在.pcap文件中。当您退出程序时,您会收到一条消息,说明所有无线数据包转储都已保存,之后您可以访问它们。
在上面的示例中,所有数据包转储都存储在二进制文件中(当您使用“more”或“vi”或“nano”等打开这些文件时,它们不是可读格式)。
要正确打开它们,您必须使用 Wireshark(再次!)。
无线安全 – 发起无线攻击
各种无线攻击可分为两类 –被动攻击和主动攻击。大多数情况下,被动攻击(或者更确切地说是被动信息收集)是 1st 在发起无线攻击本身之前的步骤(攻击的活跃部分)。
被动攻击是不需要攻击者与任何其他方通信或注入任何流量的所有攻击。在被动攻击期间,受害者无法检测到您的活动(因为您没有采取行动),您只是隐藏并收听无线电频率。
被动攻击本身不被视为违法,但是使用您通过被动攻击获得的信息可能会被视为违法行为。例如,您可以随意嗅探(收听)未加密的流量,将其收集在一起并看到实际上这是两个人之间的对话,但是在世界某些地方阅读并使用此私人对话中包含的信息是违反法律。
被动攻击的例子
现在让我们来看看一些被动攻击的例子 –
破解 WEP 加密
要破解 WEP 加密,必须在幕后嗅探大量数据包。下一步是在无线帧内部得到相同的IV向量,最后一步是离线破解WEP加密模型。攻击中没有任何一步需要攻击者以任何方式与受害者进行通信。
破解 WPA/WPA2 加密
要破解 WPA/WPA2 加密,需要嗅探无线客户端和 AP 之间的 EAP 4 次握手。然后,对收集到的加密数据包进行离线字典(或离线暴力攻击)。如果你足够幸运,你可能根本不会与受害者交流,这种攻击被认为是纯粹的被动攻击。
但是,您可能会发现受害者早在您开始使用 AP 之前就已通过 AP 身份验证的情况,您不想再等待了。然后,您可以在一般被动攻击中使用“主动攻击步骤”——注入无线解除认证帧,强制无线受害者解除认证,然后再次重新认证,从而嗅探新的认证 4 次握手。
嗅探通信方之间的流量
假设您以某种方式知道加密密钥,您可以嗅探各方之间的通信(例如使用 Wireshark),然后解码对话(因为您知道密钥)。假设各方没有使用任何本机使用加密的协议(例如cleat text HTTP),您可以自由地查看用户在做什么并在互联网上跟踪他的举动。
另一方面,主动攻击需要主动参与无线流量转发或注入影响 WLAN 操作的无线帧。执行主动攻击会留下恶意活动的痕迹,因此在某些特定情况下,受害者(使用 Wireshark)收集的转储或法医调查员从 WLAN 卡中收集的关于您的活动的转储可能是法庭上对您不利的有效证据。如果您决定以恶意方式使用您的知识。
主动攻击的例子
以下是一些主动攻击的例子 –
-
无线流量注入– 第 2 层 DoS 的经典示例,用于泛洪取消身份验证帧。攻击者直接注入影响无线客户端的无线数据包(告诉他们取消认证),导致无线用户的状态从认证到取消认证不断波动,使整体无线体验非常糟糕。
-
干扰攻击– 您还记得,这是一种第 1 层 DoS 攻击。干扰设备用于对 Wi-Fi 网络的有效射频产生干扰,从而导致 WLAN 服务质量下降。这是一种主动攻击,因为攻击者直接影响无线行为。
-
Man-in-the-Middle Attack – 攻击者配备了两张无线网卡,可以使用其中一张作为客户端连接到原来的AP;并使用第二张无线卡使用模拟AP的软件(airbase-ng软件工具)广播一些假SSID。这样,客户端就会关联到攻击者刚刚创建的“假 AP”,并且所有进入互联网的客户端流量都直接通过攻击者设备转发(然后攻击者可能会对这些数据做任何事情)。
您将看到,大多数攻击都是被动步骤和主动步骤的组合。被动的总是一个很好的起点来了解环境,做作业并获得尽可能多的关于潜在受害者的信息等。
相同的方法对应于您可能看到的任何类型的黑客攻击,无论是 Web 应用程序黑客攻击、社会工程黑客攻击还是任何其他黑客攻击方法。至少 80% 的时间将用于被动收集有关目标的信息,并收集在下一步攻击中对您有价值的数据。然后,主动攻击本身就是总“攻击”时间的最后 20%。
无线安全 – 破解无线攻击
每当您可能需要“破解”无线网络时,任务就是破解加密、身份验证或散列算法以获取某种秘密密码。
有很多方法可以实现它 –
-
您可以尝试使用较弱的加密算法来破解加密算法。这可能是可行的,但老实说,现在没有人会使用可能会被破解的算法,因此,除非你是高级加密分析师,否则不会是前进的方向。
-
大多数方法将专注于使用某种字典或蛮力攻击。
只是为了让您简单了解如何执行此攻击,假设我们有一些“我们不知道”的密码 – “MySecretPassword”。以某种方式,我们获得了 MD5 和 SHA1 签名,如下面的屏幕截图所示 –
作为攻击者,我们的目标是破解这些哈希算法并获得原始密码。有许多现成的工具可用于此目的;我们也可以创建自己的工具。
以下是一个简单的脚本(用 ruby 编写),可用于字典(类型 – 蛮力)攻击 –
我们将使用一个简化的字典文件(我在几秒钟内创建的那个),如下面的屏幕截图所示。通常在现实生活中,您会使用包含数十万个条目的词典文件(从互联网上下载准备好的词典文件很流行,您可以尝试找到一个)。
这个脚本背后的想法是遍历每个密码,如果计算出的哈希值与签名匹配,我们会从网络“嗅探”,这意味着我们找到了密码。
我不得不说这是一个简化的例子,但它完美地展示了这个概念本身。
在无线网络破解过程中,你很可能会使用一个叫做aircrack-ng的工具。它专为破解WEP/WPA/WPA2 而设计。在 WPA/WPA2 破解的情况下,它将使用字典攻击(类似于我们上面介绍的简化攻击)和两种可能的字典类型。第一种类型是您可以自己准备(或从互联网上下载)并在脚本中引用它的类型。另一种方法是依赖内部airolib-ng字典,该字典是默认随工具一起安装的那种内部字典数据库。
在那一点没有做任何真正的破解,我将展示如何使用 aircrack-ng。我将使用我在上面的示例中创建的非常小的字典(里面只有 7 个短语,与您在实际字典文件中找到的数百万个相反)。此外,我不会实时监控任何流量,但我将使用.pcap文件和我在使用Kismet工具之前嗅探到的无线流量。
如您所见,有许多 WLAN,其中一些采用 WEP 加密,大多数采用 WPA/WPA2。我已经可以说在这种情况下任何类型的破解都会失败,因为 –
-
至于 WEP 加密的 SSID,我们没有收集任何流量(“无数据”)。
-
至于 WPA/WPA2 加密的 SSID,我们没有嗅探任何握手。您还记得,来自最初 4 次握手的数据是唯一可以导致网络破解的信息。数据包本身经过了很好的加密,可以抵御我们的攻击。
但是,想象一下我们想要尝试,我将定位我自己的家庭无线网络 – 索引为 6 的“Home_e1000”。
正如我所预测的,我们失败了。下一次,我会确保我们不会失败,你将能够学习如何赢得和破解无线网络——我可以告诉你这是一种很好的感觉。
无线安全 – 射频监控工具
监控射频 (RF) 空间的目标是了解环境中频段的利用率(它是 OSI 层的第 1 层)。大多数情况下,RF 监控是在无线连接问题的故障排除或无线站点调查期间进行的。他们都有一个共同的目标,即寻找任何可能影响 WLAN 网络运行的潜在 RF 发射设备。
可以影响无线网络运行的射频发射设备的例子有微波炉、无线摄像头或无绳电话。执法机构常用的射频技术的其他一些现实生活示例,当受害者在家被捕时,大多数情况下,他们会被放在作为射频发射器的脚镯中。此外,还有一个 RF 监控基站,可接收特定 RF 频率上的电磁场。这种设置允许该机构检查受害者是在房子里还是他离开了房子(以防电磁射频信号不再被检测到)。
思科频谱专家
可用于 RF 监控的工具之一是Cisco Spectrum Expert与Cisco AP 的结合。某些系列的 Cisco AP 具有称为“清洁空气”的特殊功能,允许将 AP 用作 RF 监视器。
通过将此 Cisco Spectrum Expert 连接到 AP,您可以获得频率利用率图表,如下面的屏幕截图所示。
此屏幕截图清楚地说明了在信道 6 上使用无线 802.11b 标准的客户端的典型频率利用率。
另一方面,以下屏幕截图说明了第 1 层频率扫描的另一个示例,这次是检测蓝牙设备的使用情况。
蓝牙操作基于跳频扩频(FHSS) 技术,这意味着蓝牙设备将从一个频率跳到另一个频率(大约每秒 1600 跳)并影响整个 2.4 GHz 频谱(如您所见上面,从 1 到 11 的所有通道都受到负面影响)。在无线现场勘测期间进行的适当 RF 检查应能检测到此活动,并且无线工程师应针对 802.11 无线信号传播的潜在问题发出危险信号。
AirSleuth 频谱分析仪
您可以查看的另一个工具是AirSleuth Spectrum Analyzer。您可以在以下网站上找到该软件的信息和价格 – http://nutsaboutnets.com/airsleuth-spectrum-analyzer/。
该工具本身是 802.11 网络发现工具和 2.4 GHz 频谱分析的组合(思科净空 AP 支持 2.4 GHz 和 5 GHz 频段)。结果与您使用 Cisco Spectrum Expert 获得的结果非常相似。您可以通过 X 轴扩展 2.4 GHz 频段,并直接在图表上显示信号强度。
以下屏幕截图中的频率分析是微波炉传输的电磁信号的示例。在为 802.11 Wi-Fi 网络保留的所有 2.4 GHz 频率上,它具有相当稳定的信号(与您在上面使用蓝牙看到的“跳跃”信号相比)。这又是一个完美的干扰示例,它会降低在 2.4GHz 频段上运行的 802.11 无线网络的运行。
无线安全 – 蓝牙黑客
蓝牙是无线通信技术(根据 IEEE 802.15.1 标准进行描述),可在有限的距离内工作(通常约为 10m,但根据标准可以达到 30m)。它在与 2.4 GHz WLAN 部署相同的频率范围内工作(从 2.4 GHz 到 2.485 GHz),因此使用蓝牙通信会干扰 WLAN 网络,如果它们都在同一区域使用。
为了与另一个使用蓝牙技术的设备进行通信,您需要一张特殊的蓝牙卡。您在笔记本电脑或智能手机上使用的普通 Wi-Fi 卡适用于 802.11 技术,它与基于 802.15 标准的蓝牙不兼容。您可以在市场上找到的一些非常好的蓝牙加密狗的例子是 –
-
LM540 – (http://lm-technologies.com/product/bluetooth-usb-adapter-class-1-long-range-lm540/)
-
CSR4.0 – (http://www.seeedstudio.com/depot/Bluetooth-CSR40-USB-Dongle-p-1320.html)
这两者都兼容 Kali Linux 系统。本章我个人使用的是CSR4.0模型。
蓝牙设备可以在三种可用的安全模型之一中运行 –
-
安全模式 1 –不受保护– 在此模式下,不使用加密或身份验证。蓝牙设备本身以非歧视模式(广播)工作。
-
安全模式 2 – 基于应用程序/服务– 在此模式下,一旦建立连接,安全管理器就会执行身份验证,从而限制对设备的访问。
-
安全模式 3 – 链路层 PIN 身份验证/MAC 地址加密– 在建立连接之前执行身份验证。即使使用了加密,设备仍然可能受到损害。
无线安全 – 蓝牙堆栈
当我们使用 Wi-Fi 通信(基于 802.11 协议)时,其 OSI 模型的所有层都参与到通信中。您始终拥有第 1 层,即无线物理层(调制和编码)。接下来,在第 2 层,您将拥有 802.11 标头。然后,在第 3 层 – 所有 IP 信息,依此类推。
蓝牙协议栈则不同,因为设备不必使用栈中的所有协议(通信模型的所有层)。这是因为,蓝牙被开发用于各种通信应用程序,并且正是应用程序指定了通信使用蓝牙堆栈的哪一部分。
蓝牙协议层及其相关协议如下 –
-
蓝牙核心协议基带– LMP、L2CAP、SDP
-
电缆更换协议– RFCOMM
-
电话控制协议– TCS 二进制,AT 命令。
-
采用的协议– PPP、UDP/TCP/IP、WAP。
您可以在堆栈上看到的另一个元素是主机控制器接口(HCI)。该 HCI 为基带控制器、链路管理器、硬件状态、寄存器提供命令接口。因此,所有用于蓝牙通信的 Linux 工具的名称都以“hci”开头;示例 – “hciconfig”、“hcidump”、“hcitool”。您将在以下部分中看到所有这些工具的运行情况。
无线安全 – 蓝牙威胁
您今天可以遇到的每项技术都有其独特的威胁和漏洞,蓝牙也不例外。蓝牙技术的威胁和漏洞可能来自以下一系列来源 –
RFCOMM 堆栈实现开发期间的错误编码
-
安全堆栈实现中的失败可能会导致缓冲区溢出。
-
一些制造商可能不会为其部署在终端设备上的原始代码版本发布任何补丁。
为不同的协议重用旧服务
-
一些高特权服务保持开放。
IrMC 权限
-
IrMC 定义了一组常见蓝牙对象的访问权限。
-
有时不遵循或只是打开权限,从而导致利用开放的 IrMC 服务。
所有提到的漏洞都没有直接说明 – 使用蓝牙设备的真正威胁是什么(知道这些漏洞存在)。仅举几例,攻击者可能能够 –
-
窃取信息。
-
使用蓝牙对终端设备执行 DoS 攻击。
-
远程执行代码。
-
注入病毒或蠕虫。
-
通过蓝牙设备(作为代理工作)注入精心设计的连接。
无线安全 – 蓝牙黑客工具
在互联网上,已经制作了成百上千的工具,这将有助于蓝牙黑客攻击。当然,不可能知道并了解所有这些,在我看来 – 所需的基本知识是了解用于侦察阶段的工具。
当你通过这个阶段时,你必须决定黑客方法注入一些文件的目标是什么?还是窃取数据?或者执行恶意恶意软件?根据您的方向,您应该使用一组不同的工具。
因此,专注于侦察(发现阶段)和内部 kali 蓝牙黑客工具将是我们本章的目标。
配置文件
这个 hciconfig 是用于与蓝牙设备(蓝牙加密狗)交互的主要 Linux 命令行实用程序。如果您了解 Linux,您可能已经看到了对其他工具(如ifconfig或iwconfig )的参考。
您从 hciconfig 输出中读取的信息是 –
-
接口名称 – “ hci0 ”。
-
它是如何连接到 PC(通过 USB 或内置)的,这里是 USB 加密狗。
-
蓝牙适配器的 MAC 地址 – 10:AE:60:58:F1:37。
-
它当前正在运行(UP 标志),您可以看到接收到的 (RX) 和传输的 (TX) 数据包。
hcitool
这个 hcitool 是一个在 kali Linux 中实现的非常强大的 CLI 工具,它允许用户与蓝牙堆栈交互。它也是一个很棒的工具,您可以在自己的脚本中使用它。
这个 hcitool 最常见的选项是scan和inq。
hcitool 扫描将允许您找到发送发现信标(类似于 AP 发出的 802.11 信标帧)的蓝牙设备。
正如您所看到的,在附近,两个支持蓝牙的设备正在发送信标帧以通知它们已准备好接受蓝牙连接。您可以尝试使用hcitool inq查找有关这两者的更多蓝牙信息。
此输出表示以下设备属于0x5a020c类(您可以在此处找到这些类的描述和映射 – (https://www.bluetooth.com/specifications/assigned-numbers/service-discovery)
工具
Kali Linux 还具有用于执行服务发现(SDP)的内置工具。它允许您枚举蓝牙设备上运行的所有服务。
l2ping
我们都知道 IP 世界中的 ping 实用程序,它用于使用ICMP 协议检查 IP 节点之间的连接。蓝牙世界有自己的等效项,称为 l2ping。该发现工具允许用户检查特定设备是否在范围内以及是否可以进行蓝牙通信。
这些是允许您使用蓝牙技术并对其操作进行很好侦察的基本工具。前面提到的工具hcitool,如果您想真正在蓝牙渗透测试领域进行开发,这是您应该花一些时间的工具。
无线安全 – Bluejack 是受害者
首先,让我们定义 Bluejacking 的含义。它是通过蓝牙将所谓的“电子商务”卡发送到其他设备的过程。我们所知道的电子名片类型是您发送给其他用户的带有联系信息(姓名、电子邮件、电话号码)的名片。Bluejacking 的工作方式相同,但不发送联系信息;取而代之的是,它会发送一些恶意内容。Bluejacking 的示例如下图所示。
Bluejacking 的这个定义是您在大多数互联网资源中都能看到的定义,这被认为是锦上添花。蓝牙黑客攻击的基本原理是它会给你很多选择。首先是首先与其他设备配对。执行此步骤后,您可能会在 Internet 上发现可实现某些特定恶意功能的工具。那些可能是 –
-
上面提到像发送带有恶意附件的电子名片。
-
从受害者的设备中提取机密数据。
-
在用户不知情的情况下接管受害者的设备并拨打电话、发送消息等。
我们现在将向您解释如何在您与受害者的设备配对时进入正题。无论您接下来想做什么,只取决于您可以在互联网上找到的工具和方法,但它几乎可以是一切。
第一步是在 PC 上本地启用蓝牙服务。
接下来,我们需要启用蓝牙接口并查看其配置(与物理以太网接口和无线接口相同,蓝牙也有MAC地址称为BD地址)。
当我们知道接口是 UP 并且正在运行时,我们需要扫描蓝牙网络以查找在关闭环境中可见的设备(这相当于来自 802.11 无线世界的 airodump-ng)。这是使用名为btscanner 的工具完成的。
你可以从上面的截图中读到的是 –
-
我们本地蓝牙设备的MAC地址是A0:02:DC:11:4F:85。
-
目标蓝牙设备的 MAC 地址为 10:AE:60:58:F1:37。
-
目标蓝牙设备的名称是“Tyler”。
这里的主要思想是 Tyler 的设备经过身份验证并与另一个蓝牙设备配对。为了让攻击者将自己伪装成“Tyler”并直接与其他节点配对,我们需要欺骗我们的 MAC 地址并将我们的蓝牙名称设置为“Tyler”。
只是为了让您知道,您还有一个适用于 Windows 操作系统的BTScanner版本。以下是该工具的 Windows 版本的示例屏幕截图。
为了模拟蓝牙信息,有一个叫做spooftooth的工具,我们需要在这里使用(相当于macchanger,我们必须使用它在 WEP 场景中使用 MAC 过滤绕过 MAC 身份验证)。我们在下面所做的是,我们已将蓝牙加密狗(hci0 设备)的 MAC 地址更改为我们使用 btscanner 找到的地址。我们还将蓝牙设备的名称更改为“LAB”。这是我在两部智能手机之间的蓝牙配对设置中本地使用的一种。
成功!现在,我们已经克隆了参与蓝牙智能手机到智能手机通信的客户端之一的蓝牙设置。它允许我们通过蓝牙对直接与其他设备通信。当然,我们需要确保合法设备(其凭据被我们欺骗)从网络中消失。在现实生活中这可能需要一些时间,我们必须等到用户离开蓝牙范围或禁用其设备上的蓝牙服务。
无线安全 – 工具
正确实施无线网络中的安全控制在当今至关重要,因为它直接影响一些企业的盈利能力和信息机密性。应使用无线安全工具定期测试(审核)无线实施。良好的无线安全审计不仅是实际测试,而且是适当的文档,包括如何使 WLAN 更安全的建议。
有一堆可能的审计,可以尝试执行 –
- 第一层审计
- 二层审计
- 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 的瑞士军刀工具。它是一种允许利用无线网络的概念验证工具。仅举几个选项,它允许您执行以下操作 –
-
Flood 假信标工具(作为模仿假 AP 的一种方式)。
-
身份验证帧的 DoS(如果易受攻击,可能会导致 AP 冻结或重启)。
-
解除关联/解除身份验证帧泛滥(将有效用户从网络中踢出)。
-
802.1X 无线安全测试。
-
滥用无线入侵防御/检测系统 (WIPS/WIDS) 和一堆其他有害的东西。
使用您的 kali Linux(mdk3 工具)创建解除身份验证帧的第 2 层 DoS 非常简单,可以使用单个命令来实现,如下面的屏幕截图所示。
当然,总是有很多方法可以获得相同的结果。您可以使用aireplay-ng工具获得相同的效果。“-a”后的 MAC 地址是广播特定 WLAN 网络的 AP 的 BSSID 值。
WLAN 安全审计
WLAN 安全审计的目标是调查特定 WLAN 是否以及如何受到损害。潜在攻击者会寻找的弱点类型(以及无线安全审核员应该关注的弱点)主要与身份验证、加密、部署的 WLAN 类型、使用中的弱密钥等相关。
适合该用途的工具是 –
-
协议嗅探器/分析器(例如 Wireshark)。
-
无线发现工具(例如 NetStumbler、Kismet、Win Sniffer、WiFiFoFum 等)。
-
加密/认证破解(测试)工具(aircrack-ng、自定义脚本、各种密码分析工具)。
如您所见,基本的 WLAN 安全审核不需要专门的软件。使用智能手机上的应用程序可能会起作用!
有线基础设施审计
对于无线网络通信,它的有线部分也需要得到保护,以便整个系统被认为是安全的。有线基础设施审计应涵盖以下几点 –
- 检查用于限制 WLAN 用户访问某些网络资源的防火墙。
- 应禁用未使用的 Switchport 接口。
- 如果可能,应使用强密码,并应使用内置加密的协议(HTTPS、SSH)。
社会工程审计
社会工程学是使用非技术方法获取信息的“攻击”类型。而不是试图破解无线密码,也许更容易要求它?也许获得 WPS PIN 会更容易,这将允许您连接到受保护的 WLAN?
这些场景听起来很神奇,但我可以向你保证,它们也发生在现实生活中。为了防止它,最重要的是要知道哪些数据应该保密,哪些数据应该共享。在您是网络“管理员”的家庭环境中,只有您可以决定什么应该保密。另一方面,在企业环境中,安全部门的职责是发起安全意识活动,以教育员工什么是正确使用无线网络,什么是误用。
无线入侵防御系统
在有线网络中,入侵防御系统(IPS)用于对遍历的数据包进行深度数据包检查,以查找异常、木马或其他恶意代码。
在无线世界中,它是类似的,但侧重于对流氓无线设备的反应,而不是安全事件。无线入侵防御系统 (WIPS),专注于检测和防止未经授权的无线设备的使用。WIPS 背后的整个想法是在您的基础设施中专门配置一些 AP 以 WIPS 模式(不广播任何 WLAN 网络或允许用户关联)。这些 AP 已针对特定频率信道进行了预配置,并且它们只是一直在侦听频谱,以寻找异常情况。
另一种方法是使用一组专用的无源传感器(而不是 AP)来执行此工作。您可能希望看到的不同类型的异常是:解除身份验证帧泛滥,或解除关联帧泛滥,检测由具有未知 BSSID 的 AP 广播的 WLAN 等。如果您想到深度数据包检测或恶意代码检测,它们仍然需要在有线网络上使用专用的 IPS/IDS 设备进行检测。
作为攻击者,您无法运行 WIPS 解决方案,因为它是一种防御性技术措施。由于它的价格和管理开销,只有较大的企业可能会运行它(仍然很少见)。WIPS 解决方案的一种可能部署可以基于 Cisco 无线基础设施模型。思科无线解决方案(最简单的形式)基于无线局域网控制器 (WLC) 和一组 AP。WIPS 解决方案,假设一些 AP 被从常规 WLAN 服务中取出,并设置为 IPS 模式,并且专门用于检查频谱。
Cisco 无线局域网控制器 (WLC) 的主页如下所示(机密字段用黑色填充的圆圈覆盖)。
此特定 WLC 当前管理已加入它的 38 个 AP。可以在“无线”选项卡下查看所有 AP 的详细列表,连同其 MAC 地址、IP 地址和 AP 模式。
当前加入的所有 AP,它们都设置为“本地模式”。这意味着它们致力于提供定期无线覆盖,并宣布所有已配置的 WLAN。为了将特定的 AP 转换为我们所知的“IPS 模式”,我们需要单击其中一个 AP 并将其“AP 模式”更改为特殊的“监控模式”。
将 AP 设置为“监控”模式并应用更改后,AP 将重新启动。从那时起,它唯一的工作就是监听频谱,并检测无线侧攻击。默认情况下,WLC 具有 AP 将查找的预定义签名集。它们列在以下屏幕截图中 –
可以看到,第9项是“Deauth flood”,有Frame Type-Management和对应的Action-Report(意思是只用日志消息通知攻击,不采取任何动作)。
通过我们这里的设置,当潜在攻击者使用 mdk3 或 aireplay-ng 工具干扰现有的 WLAN 网络时,基于 Cisco 无线基础设施 – 将检测到攻击并通知网络管理员。还有其他产品可以将无线安全性提升到一个新的水平。通过无线跟踪服务,该工具可能会在一些非常安全的位置检测您的确切地理位置,可能会有警卫来检查攻击源,或者可能会打电话给警察。
正如我之前提到的,您只能在企业环境中遇到这样的设置。在较小的部署或家庭环境中,您不会满足此类安全措施。
无线安全 – Wi-Fi 笔测试
在本节中,我们将跳过技术的所有理论方面,直接进入纯粹的实践活动。请注意,本节中的所有攻击都是在家里的模拟无线环境中执行的。在现实生活中使用此处描述的步骤破坏无线网络是违法的。
无线渗透测试
无线系统的渗透测试比在有线网络上进行测试更容易。您无法真正对无线介质应用良好的物理安全措施,如果您距离足够近,您就能够“听到”(或至少您的无线适配器能够听到)空气中流动的一切。正如您目前所见,有许多工具已准备就绪,等待您使用。
执行无线网络渗透测试所需的其他软件和硬件如下。这是我个人使用的套装,效果很好。
Kali Linux(旧回溯)
您可以将 Kali 安装为 PC 上唯一的操作系统,也可以运行 .iso 文件。第二个选项是我正在使用的Oracle VM VirtualBox(免费软件),你打开 Kali Linux 的 .iso。
无线网卡
如果您在 VM VirtualBox 中运行 Kali Linux 作为虚拟机,则可以直接在 VM 中使用 PC 的无线网卡。为此,您需要一个外部无线适配器(在本教程的初始章节中介绍了良好的无线网卡)。就我个人而言,我使用的是ALFA AWUS036NH,我绝对能感受到它的“威力”。它具有高输出功率 (1W) 和 5dBi 的内置天线。您可以尝试将它用于 Wi-Fi 连接,因为它比大多数笔记本电脑附带的一些“英特尔”连接快得多。
有了这一切,你就可以走了。
无线渗透测试框架
无线网络的渗透测试总是分为 2 个阶段 –被动阶段和主动阶段。您可以想象的每一种可能的攻击(无线攻击或任何其他攻击),总是从某种被动阶段开始。
在被动阶段,渗透测试人员(或攻击者)收集有关其目标的信息。攻击的不同类型的被动部分可能是 –
-
进行环境勘察。
-
从新闻中了解互联网上的目标安全措施。
-
与合法用户讨论安全控制。
-
嗅探流量。
一些测试可能已经停止。有可能,攻击者直接从不知情的合法用户那里获得了他需要的所有数据,或者嗅探到的流量足以进行一些离线攻击(离线暴力、离线字典或密码等相关信息以明文形式传输) -嗅探数据包中的文本)。
另一方面,如果这还不够,还有第二阶段,即活动阶段。这是攻击者直接与受害者互动的地方。那些可以是 –
-
发送网络钓鱼电子邮件,直接询问用户的凭据。
-
注入无线帧以刺激某些特定动作(示例 – 取消身份验证帧)。
-
创建假 AP,合法用户将使用该 AP 连接到无线网络。
本章描述的所有攻击都属于被动攻击或被动和主动攻击的组合。当读者仔细阅读它们时,很容易发现被动阶段何时结束以及主动阶段何时开始。
渗透测试未加密的 WLAN
使用未加密的 WLAN(开放式身份验证)时,您的无线网络不会受到任何保护。位于 AP 周围并且可以听到信号的每个人都可以加入和使用网络。整个身份验证过程非常简化,包括身份验证/关联交换,如下所示 –
在实验室设置中,我准备了一个 SSID 为“LAB-test”且具有开放式身份验证的 WLAN。作为攻击者,您首先需要进行一些被动扫描来检测这样的网络,所以让我们来做吧!在第一步中,我将启用我的无线网卡并使用 airmon-ng 实用程序创建一个 WLAN 监控界面。
下一步是使用“airmon-ng mon0”检查无线网卡听到的 WLAN。
我的无线网卡能够在信道 1 上看到“实验室测试”SSID,由 AP 广播,MAC 地址 (BSSID) 为 00:18: 0A:6D:01:30。在加密一栏下,可以看到字母“OPN”——表示有Open Authentication(其实就是根本没有认证)。
在 Windows PC 上,具有 Open Authentication 的 WLAN 标有感叹号作为不安全 WLAN 环境的警告,如下所示(与受保护的 WLAN 旁边缺少附加标志相比) –
我们可以尝试模拟无线客户端是否能够连接到这个 SSID。我们可以使用aireplay-ng实用程序来制作它。
如您所见,身份验证和关联过程进行得很顺利,任何无线客户端都可以加入网络。
您可以用来提高这种不安全环境的安全性的唯一机制是实施 MAC 过滤。这个功能前面已经介绍过了,直接跳转练习。
在 AP 本身,我将实现一个 MAC 过滤器,只允许 MAC 地址为 98:0d:2E:3C:C3:74 的客户端能够加入无线网络(这是我的智能手机)。
然后,当我使用 aireplay-ng 重复身份验证过程时,这次失败了。
在我将mon0接口的 MAC 地址更改为我的智能手机拥有的 MAC 地址后– 我再次成功进行了身份验证。
您现在不太可能会遇到开放认证的 WLAN。但是,了解所有这些较旧的部署类型也是非常好的。
无线安全 – WEP 加密 WLAN
如前所述,WEP 是第一个添加了身份验证和加密的无线“安全”模型。它基于 RC4 算法和 24 位初始化向量 (IV) – 这是实现的最大缺点,导致 WEP 在几分钟内可破解,我将在以下页面中展示。
我将再次使用“LAB-test”WLAN,这种类型通过 WEP 使用以下密钥进行保护:“F8Be4A2c39”。它是数字和字母的组合,长度为10个字符——从密码强度来看——密钥比较强。
与上一个示例相同,我们将从 airodump-ng 开始,被动收集有关 WLAN 的一些信息。
如您所见,有“LAB-test”,由 AP 在信道 1 上广播,BSSID 为 00:18: 0A:6D:01:30。加密模型是WEP,加上WEP cipher(基于弱RC4 算法)。在下半部分,您可以看到有关 STATION 的信息 – 事实上,这是连接到特定 WLAN 的无线客户端列表。在 BSSID 00:18:0A:6D: 01:30(这是我们的实验室测试),我们有 98: 0D:2E: 3C:C3:74 (猜猜那是什么?是的,这是我的智能手机)。
我们需要进行的下一步是收集此客户端通过空中交换的数据包。您还记得,数据包中包含 IV 向量。如果我们收集足够多的带有 IV 的数据包,我们将最终获得一组弱 IV 向量——这将允许我们导出 WEP 密码。所以我们走吧!首先,我们将使用已知的实用程序 airodump-ng 来嗅探特定 BSSID(实验室测试的 BSSID)的无线通信。
如您所见,随着流量的流动,收集到的数据包的数量也在增加。那时我们有 61 个数据包,至少有 25000 个左右是明智的!
几分钟后,计数器至少达到 25000,我们可以尝试使用工具aircrack-ng导出密钥。
如您所见,仅通过被动侦听网络(并收集足够的数据包),我们就能够破解 WEP 加密并导出密钥。现在,您可以免费访问无线网络并使用 Internet。
渗透测试 WPA/WPA2 加密 WLAN
WPA/WPA2 是在 WEP 被证明是不安全的之后出现的安全无线网络的下一个演变。这些协议使用的算法更加安全(WPA:TKIP 和 WPA2:CCMP/AES),使用与 WEP 相同的方法无法破解网络。
WPA/WPA2 的破解基于相同的想法——嗅探最初的 4 次握手并应用蛮力攻击以破解加密的密码。
为了说明这个例子,我将再次使用“实验室测试”WLAN,这次使用以下密钥 – “F8BE4A2C”使用 WPA2 进行保护。正如您在前几章中记得的那样,密码的暴力破解成功和所需的时间取决于密码的复杂性。我在这里使用的密码可能很弱,足以在相对合理的时间内破解。在实际环境中,您应该只看到密码,该密码长度超过 10 个字符并且包含所有类型的字母数字符号——这样,暴力破解它需要数年时间。
与上一个示例相同,我们将从 airodump-ng 开始,被动收集有关 WLAN 的一些信息。
正如您所观察到的,他确实拥有使用 WPA2 和 CCMP 加密保护的“实验室测试”SSID。连接到 LAB-test 的客户端目前是我的另一台 PC,MAC 地址为 84:A6:C8:9B:84:76。
第一步是启用流量嗅探(这次我们不太关心数据包) LAB 测试是为了收集 AP 和无线客户端(我的 PC)之间的初始 4 次握手。
如下所示,每次有新用户加入网络时,airodump 都会嗅探 4 次握手。
当我们将这些握手收集到一个文件中时,我们就可以破解密码了。唯一缺少的元素是带有可能密码的字典文件。您可以使用很多工具,例如 john、crunch,或者您甚至可以从 Internet 下载字典文件。在此示例中,我将展示 crunch,但您可以随意尝试您可能找到的所有解决方案。请记住,天空是极限。
如您所见,crunch可以为您创建字典。假设我们希望所有密码都包含数字和最多 8 个字符的字母。让我们假设数字可能是从 0 到 9 和从 A 到 F 的字母。为什么我们要做出这个限制(关于密码的假设)?——这是因为,如果你想要一个由数字0-9、字母az和AZ组成的密码所有组合的文件,你需要18566719GB的空间(!!!)。
因此,首先我们创建所有组合并将它们放入字典文件中。
然后,我们在使用aircrack实用程序时引用这个字典文件来尝试导出正确的密钥,如下所示 –
aircrack-ng 在文件中发现了 8 个 BSSID,因此它会问你——你想破解哪个 WLAN——我引用了数字 2——“实验室测试”网络。
逐个检查每个密码是一个很长的过程。找到正确密码的时间取决于密码在字典文件中的位置(如果幸运的话,如果密码放在字典文件的第一行,您可以在第一次猜测中找到密码)。在这个例子中,如你所见,我找到了密码,但花了 8 小时 47 分钟(!!!)。使用 10 个字符而不是 8 个字符的密码可能会将时间增加到几天或一周。
您必须记住,字典越长,破解密码所需的时间就越长。而且,正如我之前多次强调的那样,如果密码非常复杂和长,那么在计算上根本无法进行破解(在有限的时间内,假设不到 10 年)。
LEAP 加密 WLAN 渗透测试
轻量级可扩展身份验证协议 (LEAP) 是一种基于 Cisco 的传统身份验证协议,它使用外部 RADIUS 服务器对用户进行身份验证。它使用散列函数 – MS-CHAP 和 MS-CHAPv2 对无线客户端和身份验证服务器执行伪相互身份验证。
LEAP 的漏洞在于 –
-
用户的用户名以明文形式发送——因此黑客只需要获取用户的密码,例如使用社会工程。
-
用户的密码被 MS-CHAPv2 破解 – 算法容易受到离线字典攻击。
与之前的情况一样,让我们从 airodump-ng 开始,找出环境中广播的 WLAN。
如您所见,WLAN“LAB-test”显示为 WPA2 网络。这种类型的身份验证模式更改为“MGT”——这意味着没有静态预共享密钥 (PSK),但身份验证服务移动到外部身份验证服务器(例如 RADIUS)。那个时候,你不能说特定的 WLAN 网络是基于 LEAP、PEAP、EAP-TLS、EAP-TTLS 还是其他类型的 EAP 技术。
下一步是启用Wireshark,以便查看数据包详细信息——它为渗透测试人员提供了许多有价值的信息。
如您所见,身份验证服务器首先尝试协商 EAP-TTLS,但客户端拒绝了。在接下来的 2 条消息中,他们已同意使用 LEAP。
在前 2 条消息中,身份验证服务器要求提供用户名(身份),客户端回复——如您所见,客户端的回复以明文形式传输。
此时,我们已经知道无线客户端的有效用户名是“LAB_user”。为了找出密码,我们将看看请求/响应交换。
在 802.1x Authentication 标头的底部,您可以观察到身份验证服务器使用挑战文本“197ad3e4c81227a4”挑战无线客户端。然后在后台,无线客户端使用 MS-CHAPv2 算法结合 LAB_user 的密码并得到一个哈希值 – “ef326a4844adb8288712a67e2dc659c4f9597dc4a7addc89”,将其发送回身份验证服务器。正如您在前面的章节中所知道的,对我们来说幸运的是,MS-CHAPv2 容易受到离线字典攻击。为此,我们将使用一个非常常用的工具来破解 LEAP 密码,称为asleap。
如您所见,基于数据包捕获,asleap能够导出 802.1X 数据包交换的所有信息并破解 MS-CHAPv2 哈希。用户的密码:“LAB_user”是“f8be4a2c”。
再一次,你很有可能永远不会在生产环境中看到 LEAP 身份验证——至少现在你有一个很好的证据。