Skip to content

Latest commit

 

History

History
351 lines (206 loc) · 37.9 KB

File metadata and controls

351 lines (206 loc) · 37.9 KB

七、蓝牙攻击

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

  • 蓝牙技术简史
  • 蓝牙正在运行
  • 蓝牙中的漏洞
  • 选择蓝牙硬件
  • 蓝调
  • 蓝牙劫持
  • 蓝调

介绍

蓝牙是另一种非常流行和广泛应用的无线技术,已经有十多年的历史了。它存在于我们生活的许多方面,与我们使用的技术有关。然而,尽管我们中的许多人确实使用了蓝牙设备和技术,但对于蓝牙是什么、它是为什么设计的以及它是如何工作的,可能会有一些困惑或缺乏明确性。由于攻击和破坏蓝牙和蓝牙设备在很大程度上取决于对该技术的工作原理有很好的了解,因此我们实际上有必要了解该技术的一些背景知识,以及该技术的工作原理和产生方式。正是本着这种精神,我们将从蓝牙的历史开始,了解它是如何参与到它设计要面对的挑战中来的。接下来将对该技术的设计和实施进行技术讨论,并讨论蓝牙中存在的一些可被利用的漏洞。因此,在我们进入整个过程的机制之前,让我们先来谈谈蓝牙技术的历史和发展。

蓝牙技术简史

正如最初设想的那样,蓝牙技术是由瑞典电信公司爱立信发明和提出的。蓝牙的最初概念始于 1989 年,当时该公司的一组工程师决定开发或被委托开发一种短程无线电技术,该技术能够在爱立信当时打算推向市场的个人电脑和耳机之间进行传输和通信。正是这种通过短程无线电链路将设备连接在一起的核心概念推动了这项技术的发展,使其不仅连接耳机和个人电脑,而且后来连接到不同类型的设备,就像我们今天看到的那样。

在 90 年代,随着便携式技术(如个人数据助理或 PDA)和其他类似的早期移动设备的发展,人们设想了蓝牙的新概念和实现。使用这些早期 PDA 设备(如 Palm pilots)的技术爱好者是希望能够连接到该地区不同可用设备的一群人。这群人看到自己能够使用短程技术走进一个房间,连接到附近区域的打印机、扫描仪或其他服务和设备。正是由于这种愿望和驱动力,蓝牙很快就成为了这个问题的解决方案。

那么蓝牙这个名字实际上起源于哪里呢?好吧,以防万一你是以前没听过这个故事的人之一,让我给你一个简短的回忆。Bluetooth 这个名字是 10 世纪丹麦国王哈拉尔·布拉特兰(Harald Blatland)的英文翻译。这位国王以两个非常重要的特征而闻名,或者至少对我们来说很重要。首先,他以将丹麦和挪威的各族人民团结在一个旗帜下而闻名。其次,他获得了蓝牙的昵称,因为根据传说,他要么有一颗明显的坏牙,看起来是蓝色的,要么因为吃了大量蓝莓而把牙齿染成了蓝色。后一种说法是否属实很难说,但事实是蓝牙现在被用作这项技术的名称。原因是,与 king 非常相似,蓝牙技术正被用于将许多不同的技术结合起来,并允许它们使用一个标准规范进行对话和互操作。这意味着,无论您的设备的供应商或其他来源是什么,如果它遵守蓝牙标准,它都可以与其他供应商的设备进行通信,几乎没有问题。

另一个有趣的脚注;蓝牙标志是哈拉尔德国王的首字母缩写符的组合。下图显示了蓝牙徽标是如何派生的:

蓝牙标志的创建

在蓝牙首次亮相时,可以说它是竞争对手的主要技术是红外技术。红外技术允许,或者应该允许打印机和扫描仪等设备能够在短距离内进行无线通信。例如,在 90 年代,红外技术是笔记本电脑和打印机的一种相当常见的附加设备。那么,如果蓝牙是一种新兴的标准,而红外技术已经出现在这个领域,那么为什么红外技术不再被使用,为什么没有其他技术可以替代蓝牙技术呢?答案是有的,但有点复杂。与红外等其他技术不同,蓝牙允许多达八台设备通过短程无线电技术同时配对,并形成网络以交换信息。事实上,在某些圈子里,蓝牙被称为个人区域网络技术(PAN)。在这种设置中,配对的每个设备基本上都充当这个小型网络环境中自己的节点。当然,要实现这种互操作性,所有这些设备不仅必须启用蓝牙,而且必须使用标准化的通信协议,这就是蓝牙在这个等式中提供的。下图是 PAN 的概念图:

展示平底锅

当我们讨论蓝牙时,一个有趣的事实是,当它首次推出时,蓝牙确实有一些初期问题,就像任何已知的新技术一样。在蓝牙的例子中,许多不同的供应商抓住了蓝牙的想法,并匆忙将其应用到自己的产品线中,并将这些产品推向市场。然而,这股热潮有一个潜在的负面影响,在早期的蓝牙设备中表现得相当严重。在急于将蓝牙技术应用到自己的设备中的过程中,制造商遇到了一个问题,即不同的支持蓝牙的设备即使被标记为蓝牙兼容,也无法相互通信。事实上,一些早期的蓝牙设备不仅无法与其他供应商的设备通信,甚至无法与同一供应商生产的设备通信。这带来了一些非常严重的问题;你可以想象,当消费者购买支持蓝牙的设备时,他们不会太高兴,这些设备声称蓝牙兼容,而实际上他们每个人都实现了自己的蓝牙形式,但与其他设备不兼容。这其中的一个重要原因是,当供应商匆忙将蓝牙技术应用到他们的产品中时,例如耳机,蓝牙标准还没有得到充分的充实和认可,因此供应商必须填补空白,或者按照他们认为应该的方式进行调整,并只标注结果蓝牙。从那时起,这项技术已经迅速发展起来,困扰这项技术的早期问题已经被搁置一旁,来自不同供应商的支持蓝牙的设备现在可以非常快速、轻松地进行通信。

就技术而言,蓝牙标准与我们在本书其余部分讨论的 Wi-Fi 技术有很多共同点,但它的共同点并不是 100%。记住的最重要的事情之一是,与 Wi-Fi 技术一样,蓝牙并不局限于任何一种产品或环境。蓝牙被定义为一种通信标准,任何人都可以在任何技术中实现,就像使用 Wi-Fi 一样。此外,蓝牙规范由一个称为蓝牙特殊利益小组的特殊利益小组控制,该小组是一个委员会,负责更新标准,并控制和处理将要实施蓝牙的各个供应商的技术和商标许可。就像 Wi-Fi 一样,蓝牙也有很多标准;例如,在 Bluetooth 4.2 中,对功能集进行了更新,使其在操作时功耗更低,传输数据更快,并提供了比以前版本更高的安全性。蓝牙在过去几年中也得到了发展,它能够支持人们在家中看到的新一代智能设备的通信,如灯泡、开关、摄像头甚至恒温器。下图显示了蓝牙和 smarthomes 背后的一些概念:

蓝牙生态系统。

如果我们不在这里投入至少一点墨水来研究一种被认为是竞争性技术的东西,那我们就太疏忽了,这种技术被称为 Zigbee。这是一项十多年前首次出现的技术,其设计允许使用无线电信号在更长距离(如 100 米)上传输数据,同时消耗更少的电力。最初,这项技术的范围使它对那些依赖蓝牙的人具有吸引力,因为它提供了更长的传输距离,主要是因为蓝牙的有效范围为 10 米到这项技术的 100 米。然而,从 2006 年起,蓝牙将降低功耗作为其核心功能套件的一部分。通过使用特殊的天线和发射器,蓝牙还可以达到更长的距离,从而使信号达到更远的距离。下图显示了 Zigbee 设置的示例:

显示 Zigbee 设置。

今天,蓝牙很容易就占据了短程无线市场的主导地位,并且已经应用于从智能手机到平板电脑、各种家用电器和设备以及汽车等各个领域。这是因为这项技术被广泛应用,对于希望找到进入组织或窃取信息的方法的攻击者来说,它是一个非常诱人和可行的目标。

看看这项技术

因此,随着蓝牙技术的历史和发展,让我们了解了蓝牙技术是如何产生的,以及它在功能和设计方面的位置,让我们继续讨论蓝牙的技术规范,以及它与我们所做工作的关系。

蓝牙是一种设计在 2 MHz 和 3.5 MHz 之间工作的技术。正如您可能已经知道或回忆到的,这是一个全球未经许可,而非未经监管的频率频带,分配用于工业、科学和医疗目的,通常称为 ISM 2.4 GHz 短程射频频带。蓝牙在该频段内工作,并使用跳频扩频(FHSS)等技术来调制信号。下图显示了 ISM 波段的位置:

ISM 乐队

当蓝牙传输信息时,它的工作方式与其他类型的网络类似,它通过将数据分成数据包,然后使用 79 个不同的指定蓝牙通道中的一个传输每个数据包来传输数据。这些通道中的每一个都被分解为一个 1 MHz 的增量。正常工作时,蓝牙每秒在 800 个通道之间跳跃。新一代的蓝牙低能设备使用 2 MHz 的间隔,这意味着我们只有 40 个通道可以在它们之间跳跃,而不是之前的 79 个通道。

蓝牙的体系结构首先是基于数据包的,它依靠主从结构来传输信息和网络。这意味着我们有一个主节点,它可以与七个从节点进行通信,这就是所谓的微微网。主设备是所有设备同步其时钟的设备,以确保传输正常工作,通信有效工作。为了保持简单,主设备负责保持雪橇设备中的网络同步。此外,主机可以通过该网络传输所有数据。

在正常操作下,主蓝牙设备可以在其网络设置中与其他七个设备通信。正在建立的设置与 Wi-Fi 中的特设网络几乎相同;此网络拓扑中没有固定的中心点。需要记住的是,虽然主设备是一个在寻址其他七个设备时进行通信的设备,但它并不总是必须使一个设备固定或永久指定为主设备。事实上,设备可以在任何时间点在主设备和从设备之间切换。一个很好的例子是蓝牙耳机,它正试图连接到手机。当耳机启动与智能手机或手机的连接时,它实际上是一个主耳机,但一旦建立连接,手机实际上控制着通信,因此一旦切换完成,耳机就从主耳机变成了从耳机。这可以通过任何蓝牙设置中的设备之间的协议来完成。

那么,让我们来谈谈蓝牙中的具体数字,以便我们了解这些不同网络设计和设置的一些细节:

  • 蓝牙 3.0 的最大速度为 25 MB,最大范围为 10 米或 33 英尺
  • 蓝牙 4.0 的最大速度为 25 MB,最大范围为 60 米或 200 英尺
  • 蓝牙 5.0 的最大速度为 50 MB,最大范围为 240 米或 800 英尺

在讨论蓝牙时要记住的一点是,最大速度和范围可能会因可能存在的许多因素而发生巨大变化。在距离的情况下,此处所述的数字将受到诸如天线设计或配置、电池功率和大气密度等条件的影响,这些条件可能会出现在更长的距离,以及来自该区域内以相同频率运行的其他设备的干扰。同样的条件也可能导致速度损失或速度降低。无论如何,即使在最理想的条件下,你也不可能达到任何特定蓝牙产品所要求的速度和范围。

您可以更改或修改蓝牙网络的范围,以使用特殊适配器和天线,事实上,第三方市场上有许多此类适配器和天线。许多可用于第三方频道的专用天线和设备没有内置到大多数设备中的原因是,对于大多数用户来说,增加的范围并不是真正必要的,实际上增加了设备的成本。蓝牙的短距离使用对于在其环境中使用蓝牙的绝大多数消费者来说是理想的。

简单介绍一下蓝牙与 Wi-Fi 的区别,你可能会问,为什么要使用一种,而不是另一种,所以我们应该看看。当我们观察这两种技术时,我们可以看到它们非常相似,它们都用于共享信息、建立网络、打印、传输各种数据,甚至与其他设备和资源通信。在许多方面,蓝牙还解决了 Wi-Fi 在其自身环境中寻址的电缆问题,这里的区别在于,我们所讨论的电缆是耳机与电话或打印机与计算机之间的电缆。就 Wi-Fi 而言,我们所说的电缆覆盖的距离要远得多。蓝牙也被设计成一种技术,它只需要很少甚至不需要配置就可以有效地使用,而 Wi-Fi 在配置完成后确实需要更多的额外配置。还值得注意的是,Wi-Fi 在特别模式和基础设施模式下运行,但在蓝牙中使用集中接入点的地方,只有特别模式;没有基础设施,因为没有蓝牙接入点。尽管蓝牙和 Wi-Fi 解决了两组不同的问题,并且在各自的环境中有各自的优势,但它们不应被视为竞争性技术,而应被视为互补性技术,因为它们确实协同工作,而且非常有效。

蓝牙正在运行

在正常操作下,蓝牙有一种非常特殊的工作方式。我们提到了控制节点和客户端节点之间的主从关系,以及事物如何来回切换,但这只是谜题的一部分。让我们来看看这些设备是如何学会互相交谈和交换信息的。

在蓝牙中,设备之间的通信通过一个称为配对的过程来实现。配对是一个过程,其中一个设备将自身设置为可发现,这意味着其他蓝牙设备可以在区域扫描中找到它。扫描设备在找到此可用蓝牙设备后,将选择它作为要与之配对的设备。一旦做出选择,此时发生的情况可能会略有不同。在大多数情况下,主设备上会显示或记录验证代码,然后请求配对的设备必须确认此代码,然后才能完成连接。在某些设备中,此代码实际上是硬编码到设备中的,而在另一些设备中,有一个 PIN 码,可由设备所有者自定义,以提高安全性。在任何一种情况下,一旦代码得到确认,将假定两个设备相互了解,并且连接得到批准。下图显示了蓝牙配对过程:

蓝牙配对过程

以下屏幕截图显示配对请求屏幕:

配对请求

只要一句关于蓝牙可发现性或可发现性的话;这种模式本质上是为了广播设备的名称,就像 Wi-Fi 中的 SSID 一样。然而,在蓝牙中,可发现性不仅可以打开和关闭,而且可以在有限的时间内打开。这意味着一部手机可以设置为在五分钟内可被发现,如果在这五分钟内未进行配对,该设备将从可发现变为不可发现。原因是,如果设备保持可发现状态,则该区域中的其他设备可以扫描该设备,这可能会允许恶意方尝试连接甚至篡改您的设备。大多数支持蓝牙的现代设备将默认为一种模式,即当配对尝试启动时,设备将在有限的时间内保持可发现状态,这通常会持续几分钟,然后恢复为不可发现状态。

因此,掌握了这些知识之后,让我们继续讨论蓝牙可能存在的不同类型的攻击。你会发现本章中的许多攻击可能与我们在普通 Wi-Fi 中看到的攻击类型相似,这是因为 Wi-Fi 和蓝牙之间有一些相似之处,但请记住,它们并非百分之百相同。就机制而言,这两种技术肯定不完全相同,但是在概念上,有相当数量的相似性,这将使攻击看起来非常相似,尽管这两种技术的实际执行情况不同。这很好,因为这意味着您将熟悉这些概念,这将使您有更多的时间关注蓝牙技术中概念实现的实际机制和技术细节。

在 Linux 中,蓝牙协议栈是通过一组统称为 BlueZ 的库实现的。与大多数 Linux 发行版一样,Kali 默认安装了它,无需执行任何其他操作即可安装它(尽管您可能希望运行更新以获得协议的最新修复程序和补丁)。

在 BlueZ 中,有许多不同的工具用于管理和探索蓝牙功能。其中有几项特别有用:

  • hciconfig:该工具的操作与 Linux 中的ifconfig非常相似,主要区别在于它在蓝牙设备上运行。
  • hcitool:这是一个查询工具。它可以为我们提供设备名称、设备 ID、设备类和设备时钟。
  • hcidump:此工具使我们能够嗅探蓝牙通信。

这些并不是 Kali 中唯一可以使用蓝牙进行操作的工具,以下列表包含了一些其他工具:

  • Bluelog:蓝牙站点调查工具。它扫描该区域,尽可能多地查找该区域中可发现的设备,然后将它们记录到一个文件中。
  • Bluemaho:一套基于 GUI 的工具,用于测试蓝牙设备的安全性。
  • Blueranger:一个简单的 Python 脚本,使用 I2CAP ping 定位蓝牙设备并确定其大致距离。
  • Btscanner:这个基于 GUI 的工具扫描范围内可发现的设备。
  • 红方:这个工具可以让我们找到隐藏的蓝牙设备。
  • Spooftooph:这是一个蓝牙欺骗工具。

蓝牙协议栈

蓝牙设备不需要使用协议栈中的所有协议(如 TCP/IP 协议栈)。蓝牙协议栈的开发是为了使各种通信应用程序能够使用蓝牙。通常,应用程序将只使用此堆栈的一个垂直部分。此处列出了蓝牙协议层及其相关协议:

  • 蓝牙核心协议基带:LMP、L2CAP、SDP
  • 电缆更换协议:RFCOMM
  • 电话控制协议:TCS 二进制,AT 命令
  • 采用的协议:PPP、UDP/TCP/IP、OBEX、WAP、vCard、vCal、IrMC、WAE

除了协议层之外,蓝牙规范还定义了一个主机控制器接口HCI。这为基带控制器、链路管理器提供了一个命令接口,并提供了对硬件状态和控制寄存器的访问权限,因此上述工具的名称为hciconfighcidumphcitool

蓝牙中的漏洞

蓝牙技术已经显示出它既方便又强大,但同时它也显示出它有自己的漏洞类型,这些漏洞在其他技术中是看不到的,或者至少没有相同的形式。由于蓝牙的工作方式和设计方式,很有可能会出现新的攻击类型,在这种环境中也出现了一些此类攻击。

最近,市场上出现了一系列名为“蓝蜂”的攻击。这些设备的设计目标是支持蓝牙功能的设备。事实证明,这些攻击相当令人不安,令人担忧,因为它们依赖于新的通信机制,而不是旧的通信机制。如果我们看一下传统的攻击,这些攻击是通过网络技术传播的,包括互联网、硬连线网络甚至 Wi-Fi。然而,在蓝牙的例子中,我们有一种技术,相当于一种促进非常小的网络的方式,但是相似性很快几乎有效地消失了。这一系列攻击非常危险,攻击者有可能从被攻击的那一刻起就获得对设备的完全和绝对控制。造成此类攻击的严重性和危险性的原因是,安全界才刚刚开始探索蓝牙的危险和问题以及利用蓝牙的潜在方式。

还有其他因素使这种类型的攻击,我们将在本章中探讨的,比在其他环境中看到的更危险。基于蓝牙的攻击最危险的一个方面是,它能够在空中迅速传播,这不仅是因为无线技术无处不在,而且还因为这些设备的安全性仍在不断发展,在许多情况下可能缺乏安全性。接下来,蓝牙中最近出现的许多攻击允许绕过设备上存在的任何安全措施,因此这意味着攻击可以有效地保持不被发现。另一个令人担忧的问题是,连接到传统网络的蓝牙设备也可能允许恶意方找到安全网络的后门,因为连接到常规网络并启用蓝牙的设备可能允许攻击者将这些设备用作入口点。最后,真正思考什么是蓝牙的最大问题之一是,文件可以通过蓝牙连接推送到目标设备上并执行,而用户无需点击链接或采取任何行动。

蓝牙环境中出现的一些攻击与其他环境(包括 Wi-Fi)中出现的攻击类似。让我们快速查看一下这些攻击和漏洞,然后只看到 ER 并讨论如何对付这些攻击和漏洞:

  • 软件漏洞:这不是蓝牙独有的,但它肯定会暴露蓝牙的不同漏洞和问题。由于软件在复杂性和规模方面的本质,一个软件完全没有任何错误或问题是闻所未闻的。事实是,在计算机或设备上运行的每一个软件都有错误,这只是一个问题,即这些漏洞或问题的数量和严重程度。较新的蓝牙实现(如 Bluetooth 4.0)以及较新的操作系统和驱动程序在解决出现的漏洞方面取得了长足的进步,但毫无疑问,也引入了新的漏洞。这就是为什么具有蓝牙功能的设备的所有者应该跟踪可能已发布的任何新更新,以及查看是否存在任何可能影响它们的威胁,并相应地处理它们。
  • 窃听:由于蓝牙是一种网络技术的核心,因此它很容易受到窃听等攻击。虽然窃听蓝牙设备需要一些额外的技巧和诀窍,但它仍然是一种非常可行的攻击,可以针对此类设备和技术进行部署。然而,所有版本的蓝牙都采用了加密等技术(尽管在最新版本中做得更好),从而解决了与信息披露和修改相关的问题。然而,请记住,虽然使用加密的旧版本蓝牙可能已经使用了该技术,但加密技术实际上比新版本的加密技术缺陷更大。因此,必须将使用旧蓝牙规范的设备升级到解决这些问题的新技术版本。
  • 拒绝服务:与无线接入点、网站和应用程序非常相似,如果蓝牙通信技术被攻击者锁定,并希望破坏系统或干扰信号,则该技术也容易受到拒绝服务的攻击——所有这些都是可能的。在蓝牙平台上,这实际上可能是一个很难有效阻止的攻击,但可以做的是关闭设备中的蓝牙功能,删除目标,从而阻止拒绝服务产生任何影响并关闭。
  • 硬件缺陷:虽然你可以做很多事情来修补和更新在支持蓝牙功能的智能手机、平板电脑或电脑上运行的软件,但你无法控制的是你可能从第三方购买的设备,如耳机。在许多情况下,这些设备没有一种更简单、更明显的方法来更新其内部的固件,以修复这些设备中可能存在的弱点和漏洞。正因为如此,这些设备本身可能成为恶意方的可行目标,希望对您造成伤害或刺激。在某些情况下,唯一的修复方法是停止使用此蓝牙附件,并更改为没有漏洞的附件。
  • 违约:这是一个棘手的问题,因为在很多情况下,对于存在相当于弱违约的公司来说,并没有一个即时的解决方案。所谓弱默认值,我们的意思是,您可以使用蓝牙配对的某些设备具有消费者无法更改的 PIN 码。这些 PIN 码是在工厂设置的,在设备的使用寿命内一直保持这种状态。这会使设备面临潜在的攻击,因为只要稍加调查或观察,攻击者就可以快速查看设备,了解其品牌和型号,并通过简单的互联网搜索找到该设备的默认 PIN 码并与之配对。虽然随着时间的推移,这个问题越来越不成问题,但仍然有一些设备,包括新设备和旧设备,其默认 PIN 码消费者根本无法更改。在这些情况下,如果这是一个严重的漏洞,您可能别无选择,只能停止使用该设备,以获得允许更改的新设备。

虽然我们还可以将其他漏洞添加到此列表中,但这只是为了向您显示此技术存在一些漏洞。请记住,最初这项技术并没有考虑到安全性;这是事实发生后植入到解决方案中的东西。该技术旨在促进不同平台和供应商之间的通信,在这方面取得了相当成功。然而,安全目标实际上充其量只是次要目标,因此,随着蓝牙技术在全世界的应用和普及,它不得不做一些跟进工作。

亚马逊 Echo 和谷歌家用设备可能存在的蓝牙漏洞已经成为一个相当大的目标,并引起了安全技术市场的一些关注。事实上,2017 年 9 月,据报道,至少有 8 个不同的漏洞针对这两种设备。使这些设备及其相关的漏洞如此糟糕和危险的原因是,它们几乎无法被当前的安全技术和解决方案检测到。另外要考虑的是,这两个设备的集合被估计有至少 2000 万个当前脆弱的设备部署到世界各地的家庭和其他地点。

如前所述,这些类型的攻击是被称为蓝蜂攻击的一种形式

选择蓝牙硬件

让我们在本节中真正了解一些硬件和组件以及其他可用于改进和有效使用蓝牙技术的项目。当我们对一些不同的蓝牙硬件进行探索时,你会发现,从概念上讲,很多蓝牙硬件与我们在 Wi-Fi 技术中的硬件相同,但并非所有的硬件都相同。然而,无论这个概念与我们在 Wi-Fi 中看到的是相同的还是不同的,我们都将介绍它,只是为了确保您知道并知道哪些组件适用于蓝牙,哪些组件不适用于蓝牙。

首先,让我们注意到,如今的大多数系统,无论是笔记本电脑、台式机系统还是平板电脑或智能手机等移动设备,都在出厂时内置了蓝牙功能。事实上,如今,汽车、收音机、游戏系统、玩具和许多其他包括互联网设备在内的设备也倾向于使用蓝牙。因此,您很可能会遇到内置蓝牙功能的设备,因此您可能不需要在设备上添加任何特殊功能,就可以执行蓝牙探索。但是,通常内置的支持库存设备上蓝牙的硬件通常不具备执行各种攻击所需的所有功能。但是,在那些不支持蓝牙库存或需要增强此功能的设备上,我们需要担心我们可以使用哪些特殊硬件或附加设备来实现此技术。

当今市场上的大多数设备都将支持蓝牙。它已成为现代设备消费者的预期功能。可以肯定地说,过去十年内发布的任何设备都将具备蓝牙功能,作为其功能集的一部分。

将蓝牙添加到笔记本电脑等设备的最常见方法之一就是购买所谓的蓝牙加密狗。此加密狗是一个典型的 USB 插头,可滑入计算机上可用的 USB 插槽,然后允许该加密狗与支持蓝牙的设备(无论是打印机、鼠标还是其他外围设备)配对。这种类型的解决方案通常非常常见,当所有者希望添加此功能时,可以在没有内置蓝牙的旧设备上实施。以下屏幕截图显示了蓝牙加密狗:

蓝牙加密狗

加密狗对于将蓝牙添加到尚未具备支持蓝牙功能的设备非常有用,但您可能会发现,对于我们将在本章中执行的测试类型,加密狗受到限制。在本章的测试中,我们将不使用蓝牙软件狗,因为在大多数情况下,它对我们打算执行的操作可能过于有限,尽管您可能希望自己尝试这样做。

在我们使用 USB 时,一个重要的选择是添加 USB 适配器,它不仅仅是一个简单的加密狗。这些专用适配器增加了提高性能和数据传输速率的能力,甚至增加了设备中可能存在的蓝牙范围。对于技术爱好者或那些性能更高或数据传输要求与各自平台内置的默认功能不同的人来说,这不是一个罕见的解决方案。同样,与加密狗基本解决方案非常相似,它们通常以 USB 设备的形式出现。以下是蓝牙适配器的屏幕截图:

数据链路蓝牙适配器

在本章中,我们将要做的事情中最重要的一点是增加蓝牙设备范围的能力。在大多数情况下,相对而言,蓝牙范围可以在很短的距离内测量。在大多数情况下,蓝牙只能可靠地延伸到大约 10 米或大约 30 英尺的距离。有些设备确实改变了这一能力,并将这一范围扩大了一点,但在大多数情况下,静止的距离会很大。如果你像本章中我们将要做的那样进行笔式测试探测,这会带来一个问题,因为当你必须呆在目标如此狭窄的半径内时,很难不被发现,或者可能更接近目标以获得可靠的信号。理想情况下,我们希望有这样一种情况,即我们可以从大多数库存设备中可用的更大范围内攻击目标并与之交互。在这种情况下,我们可以获得为工业应用而设计的蓝牙适配器,这些应用可以达到几百英尺,在某些情况下,可以达到几千英尺的距离。这种类型的适配器往往是为工业或专业应用而构建的,必须作为支持 USB 的设备在售后市场购买,该设备可以插入任何免费 USB 端口,并且在特殊驱动程序的帮助下,它们可以通过操作系统完全交互。以下是一个工业蓝牙适配器的照片:

Sena 蓝牙适配器

另一个与蓝牙一起使用的非常有用的硬件是使用特殊的天线,可以扩展这些适配器的范围。适配器(如前面提到的适配器)是为工业应用而设计的,在很多情况下,适配器确实能够拧上或栓上天线,从而改变设备能够拾取的范围。这意味着,一个可能只允许从几百英尺检测蓝牙信号的设备可能能够将该范围扩展到几千英尺的范围。如果您需要这种类型的范围,请务必购买能够插入外部天线的适配器,并了解其所需的连接类型,因为特殊连接可能会有所不同。下图显示了一些蓝牙适配器及其旁边的天线示例:

带有外部天线的适配器。

在讨论蓝牙功能和可能需要的选项时,值得讨论的最后一项是数据包注入。数据包注入是我们已经在 Wi-Fi 中看到的一种技术,特别是在上一章中执行 WEP 破解时。如果您还记得的话,我们使用数据包注入将 ARP 广播数据包放到网络上,并生成大量流量。内置在笔记本电脑、智能手机或平板电脑等设备中的蓝牙适配器几乎永远不会将此功能作为其现有功能的一部分。原因是,这不是大多数消费者所需要的功能,并且增加了设备的费用;因此,通常不添加它。因此,如果您决定稍后执行任何将执行数据包注入的攻击,那么几乎可以肯定的是,在任何情况下都必须使用外部适配器。

有了这些关于蓝牙硬件的小细节,让我们开始看看我们可以使用蓝牙执行的一些攻击。

攻击类型

针对无线网络认证的攻击多种多样,每种攻击都有各自的优缺点,使其在任何特定情况下都有用或无用。

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

  • 蓝调
  • 蓝牙劫持
  • 蓝调
  • MAC 欺骗
  • 中间人

记住,这些只是可以用来破坏无线网络认证的几种攻击类型中的一种;它们绝不应被视为唯一的攻击类型。

蓝调

我们将介绍的第一种攻击类型称为 Bluesmacking,是针对该协议的较早类型的攻击之一。在我们对该攻击的研究中,您会发现它是针对网络、设备和应用程序的常见攻击的变体,称为拒绝服务

简而言之,当我们执行 Bluesmacking 攻击时,我们正在执行一种攻击,通过这种攻击,特制的数据包可以使设备无法使用。此攻击通过发送超过蓝牙设备上可用的最大数据包大小的数据包来工作。最终结果是设备无法处理数据包,目标成为拒绝服务的受害者。这种攻击是著名的死亡之平攻击的变体。

那么什么是死亡之声?ping of death 是一种典型的 DoS 攻击,由发送 IP 数据包大于 IP 协议允许的 65536 字节的恶意方生成。由于 IP 协议依赖于碎片的使用,攻击者很快发现,如果他们将数据包碎片化,目标可能会重新组装该数据包,并超过此 65536 限制。由于操作系统从未被设计为接收如此大小的数据包,它们在收到此数据包后会冻结、崩溃或重新启动。

这类攻击的另一个危险级别是接收者的身份可能被欺骗。

为了应对这一攻击,产品供应商在 1997 年修补了他们的设备和软件,以减少这一攻击的可能性。然而,它仍然存在于蓝牙中。

这种拒绝服务的效果有多种形式,所有这些都会使目标设备在一段时间内无法使用。其影响可能是,设备被攻击者击溃,导致其所有者无法操作,并耗尽设备的电池,从而影响攻击后设备的继续运行。

准备

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

  • 支持蓝牙的设备或外部适配器
  • 卡利 Linux

怎么做。。。

为了执行 Bluesmack 攻击,我们将使用内置 BlueZ 堆栈的一部分来实现。这可能是对蓝牙设备的一种非常有效的攻击,它可以有效地让受害者别无选择,只能关闭他们的设备、蓝牙或移动到范围之外。

  1. 首先,让我们在终端使用hciconfig确认我们的蓝牙适配器已打开并可识别:
 hciconfig 

命令的结果将类似于以下屏幕截图:

从这个屏幕截图中,您可以看到蓝牙适配器标有一个地址(很像物理网络适配器上的 MAC 地址)。它还有一个名称hci0

  1. 我们可能需要启动并启用蓝牙适配器,以便通过发出以下命令确保它已启动并准备好使用:
 hciconfig hci0 up 
  1. 现在我们将使用hcitool扫描该区域的蓝牙设备。我们将首先使用此工具的扫描部分来查找发送发现信标的蓝牙设备(在发现模式下):
 hcitool scan 
  1. 一旦命令列出了您希望进一步调查的设备,您就可以使用inq命令查询这些设备。您可以这样使用命令:
 kali > hcitool inq 

这将显示不同类型的信息,包括通知我们正在扫描的设备类型的类别信息。

  1. 接下来,我们将使用服务发现协议SDP)在设备上搜索服务。BlueZ 包括一个名为sdptool的工具,该工具能够浏览设备提供的服务。我们可以通过键入以下内容来使用它:
 sdptool browse <MAC Address> 
  1. 使用附近所有设备的 MAC 地址,我们可以 ping 它们,无论它们是否处于查找模式,以查看它们是否在可访问范围内:
l2ping <MAC address> 

这表示 MAC 地址为76:6F:46:65:72:67的设备在范围内且可访问。

蓝牙劫持

Bluejacking 是另一种可以通过蓝牙对范围内易受影响的设备进行攻击的类型。然而,在进行 bluejacking 之前讨论它是如何工作的是很重要的。简而言之,bluejacking 是一种攻击,未经请求的消息通过蓝牙传输到支持蓝牙的设备,如手机、PDA、笔记本电脑等,通过 OBEX 协议将通常包含姓名字段中消息的联系人发送到另一个支持蓝牙的设备。请记住,bluejacker 不会通过 bluejacking 技术控制您的手机;攻击者只需通过蓝牙发送消息。将这种类型的攻击视为使用蓝牙协议的垃圾邮件。

我在这里展示此攻击是为了完整地展示支持蓝牙的设备中存在的漏洞。这种类型的攻击不需要 Kali 来成功执行。

准备

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

  • 蓝牙适配器
  • 卡利 Linux

怎么做。。。

以下是执行此攻击的步骤:

  1. 去地址簿。创建一个新联系人。
  2. 创建联系人时,在联系人姓名部分输入您希望 bluejack 的消息。
  3. 选择通过蓝牙发送卡。
  4. 搜索范围内的蓝牙设备。
  5. 选择找到的其中一个设备。
  6. 单击发送。

蓝调

Bluesnarfing 是一种有趣且非常强大的攻击,可用于攻击易受攻击的设备。简而言之,Bluesnarfing 是指通过蓝牙连接(通常在手机、笔记本电脑和类似类型的设备之间)对设备进行未经授权的访问。此攻击提供对目标上各种类型数据和资源的访问,并且在某些手机上用户可以复制图片和私人视频。

这种类型的攻击针对任何连接已打开且扫描方可发现的支持蓝牙功能的设备。关闭蓝牙以及防止设备被发现是解决此问题的一种方法。

对于要成为目标的设备,攻击者必须通过暴力攻击猜出设备的 MAC 地址。与暴力攻击一样,猜测正确的 MAC 地址只是时间问题。

蓝牙使用 48 位唯一 MAC 地址,其中前 24 位是制造商通用的。剩下的 24 位大约有 1680 万个可能的组合,平均需要 840 万次暴力猜测。

准备

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

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

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

怎么做。。。

  1. 既然安装了 Bluesnarfer,请配置rfcomm
 mkdir -p /dev/bluetooth/rfcomm
 mknod -m 666 /dev/bluetooth/rfcomm/0 c 216 0
 mknod --mode=666 /dev/rfcomm0 c 216 0
 hciconfig -i hci0 up
 hciconfig hci0
  1. 现在要扫描潜在的漏洞:
 hcitool scan hci0 
  1. Ping 受害者以查看他是否在现场:
 l2ping  < victim mac addr> 
  1. 浏览受害者的rfcomm频道以连接:
 sdptool browse --tree --l2cap < mac addr > 
  1. 现在 Bluesnarfer 已经成立。现在,您可以访问受害者手机查看短信、拨打电话等:
 Bluesnarfer -r 1-100 -C 7 -b < mac addr >