- A+
详解蓝牙Bluebugging攻击技术
目前流行的蓝牙协议版本应该是2.0和2.1,但作为2005年以前生产的手机、PDA等便 携式设备,普遍使用的是1.1版本。而无论是早期的蓝牙1.1还是现在的蓝牙2.0,都已经被 公布出是存在漏洞和潜在攻击隐患的。至于这些漏洞的具体内容是什么,又如何表现,本节 就来讲述较为有名的Bluebugging攻击。 13.3.1 基本概念
1.关于Bluebugging攻击
Bluebugging允许恶意攻击者利用蓝牙无线技术通过连接手机隐藏且未经保护的频道, 在事先不通知或提示手机用户的情况下访问手机命令。此缺陷可以使恶意的攻击者通过手机 拨打电话、发送和接收短信、阅读和编写电话簿联系人、偷听电话内容以及连接至互联网。 虽然现在很多智能手机已基本不受其影响,但是仍旧有大量的手机面临此类攻击的威胁,比 如一些采用MTK解决方案的国产手机。
2.何谓MTK
目前市场上主流的平台有TI、摩托罗拉、飞利浦、MTK、ADI、展讯、英飞凌、凯明 等。一般来说,在服务方面所有手机平台没有特别大的差别。MTK公司的产品因为集成较 多的多媒体功能、容易开发的特点及较低的价格在手机公司和手机设计公司待到广泛的应 用。MTK全名MediaTek,是我国台湾联发科技多媒体芯片提供商研制的一种高度集成的多 媒体基带芯片方案,是一个主要应用于手机的廉价解决方案。
对消费者来说买MTK方案的手机主要是因为功能多价格便宜。虽然MTK曾一度被戏 称为黑手机,但很多手机厂商都是用MTK的方案,因为其缩短了产品研发周期,使得手机 厂商能够更加灵活地应对市场多变的需求。虽然MTK有很多缺点,但是该解决方案的实际 表现证明了其强大的生命力,庞大的市场占有率和销量都是其他平台所无法企及的。MTK 并不像很多人认为的那样仅仅是黑手机的标志,即使是MTK手机也是有区别的。品牌手机 无论是在做工还是保修上肯定要比一些低端手机生产厂商拼装的黑手机强得多。而这些厂家 生产的MTK手机其外观常与某些大品牌的手机产品类似,甚至在名称上也使用了Nokai、 Anycoll等相似名称来迷惑消费者,图13-55所示为某MINI手机。而图13-56为所示的手机 是D899,外观上与时下流行的iPhone相似。
本节中的内容适用对象也包含了使用MTK芯片的部分手机,这一点请大家注意,
13.3.2工具准备
大多数的蓝牙工具在Linux下默认已安装,如hciconfig、hcitool等,主要需要安装的是 minicom这款Linux下的终端工具。
Linux下的minicom的功能与Windows下的超级终端功能相似,可以通过串口控制外部 的硬件设备。适于在Linux通过超级终端对嵌入式设备进行管理。同样也可以使用minicom 对外置Modem等进行控制。对于BackTrack4 Linux的用户来说,minicom已经内置安装完 毕无须再下载。
对于Linux下的用户,可以从http://alioth.debian.org/projects/minicom/下载minicom的安 装包至本地再安装。
至于Linux下的具体安装命令,参考如下:
13.3.3攻击步骤
下面以目前在国内广泛流行的低端手机为例来演示Bluebugging 攻击。如图13-57所示,作为本节演示用的低端手机名为Anycoll, 与三星Anycall品牌中的某一款型极其相近。这款用于测试的低端手 机采用的就是MTK芯片。
关于Bluebugging攻击的具体步骤如下:
扫描蓝牙设备。
在载入蓝牙适配器后,就可以对周边开启篮牙的移动设备进行 图13-57 扫描了,具体命令如下:
按IEnter]键后即可看到图13-58所示的内容,可以看到发现一个名为MTKBTDEVICE 的设备,该设备即为测试用的低端手机,这个名称是其内置的蓝牙芯片名称,其中,MTK 表示出其芯片厂商,而BT即Bluetooth的缩写,DEVICE就是设备的缩写。
一般在搜索到开启蓝牙功能的设备后,会使用L2ping测试与该设备的蓝牙模块之间是 否数据可达,具体命令如下:
按【Enter]键后即可看见图13-58所示的内容,会显示出类似于“6 sent,6 received, 0% loss”的提示,即“发送6个包,收到6个包,没有丢失”的意思。
查找串行端口服务。
为了获取手机的控制权,需要连接目标设备的串行端口。所以需要通过蓝牙来搜索关于 串行端口的服务。这里需要使用到sdptool工具,这里使用的具体命令如下:
其中,browse用于浏览所有可用服务,主要是列出所有隐藏的服务内容、工作频道等。 按IEnter]键后可以看到出现了详细的服务列表,这些都是该手机设备支持的服务内容, 如图13-59所示。
对于攻击者而言,需要找到串行端口即Serial Port的信息,在sdptool命令返回的内容 中查看,即可看到名为Serial Port的内容,其中,主要需留意的是Channel即频道的数值。 如图13-60所示,这里的Channel为10,即串口使用的隐藏频道是10。
配置蓝牙连接设置。
接下来需要对Ubuntu下的蓝牙配置文件进行修改和设置,具体命令如下:
在上述命令中,nano是Linux下一款工作在Shell下的编辑工具,rfcomm.conf别是蓝牙 连接的配置文件。按IEnterl键后即可看到图13-61所示的内容,当然,对于之前很少在 Linux下使用蓝牙的读者,实际看到的内容可能与图13-61所示的稍有偏差,请将原始的配 置文件内容修改成与图13-61所示的一致。其中,在device后面输入需要连接的目标蓝牙设 备MAC,这里就是上面使用hcitool搜索到的蓝牙设备MACo然后在channle后面输入Serial Port的频道数值,这里就是上面使用sdptool 列出的内容,即10频道。
配置完毕后,按ICtrl+X】组合键退 出,注意选择Y保存。然后开始配置设备的 映射:
其中,bind绑定在某一个设备上,这里 指与目标蓝牙设备之间建立映射关系,也就 是rfcomm0指代目标设备。 按LEnterl键后就可以开始配置终端工具 nurucom。 图13-61
配置minicom。
◇在使用minicom连接之前,需要先对串口进行设置,具体命令如下:
其中,-s用于进入setup模式,即配置模式。
@按【Enterl键后即可看到图13-62所示的配置菜单,使用方向键在菜单中选择Serial
port setup选项并按【Enter]键,该选项主要设置串口。
在打开的设置框中,确保Serial Device选项设置为/dev/rfcomm0,与前面绑定的一 样,具体如图13-63所示。然后在配置菜单中选择Save setup as dfl保存【一定要 记得这一步),提示成功后再选择Exit from Minicom退出菜单。
实施Bluebugging攻击。
④一切配置无误后,就可以开始进行Bluebugging攻击了,先确定目标手机设备在蓝
牙适配器的工作范围内,然后输入如下命令:
④按【Enter]键后即可看到图13-64所示的内容,成功连接至该手机设备。此时,受害者手机上会出现“串口已连接”的提示,不过该提示会一闪而过,不需要对方的确定。这时,攻击者就已经成功地获取了该手机的控制权。 ◇现在攻击者已经可以对该手机进行任意操作了,包括命令该手机向外拔打电话、读
取手机短信、编写短信向外发送、读取通话记录等。比如输入参数如下:
其中,atdt num参数用于拔打电话,后面的num为具体的电话号码,需要注意的是,由 于机型的不同,有时在拨打手机时需要加入086这样的国际区号。
按【Enter】键后如图13-64所示,此时受害人的手机会自动拔打该号码。 作为攻击者而言,当然不会简单地拨 号那么简单,输入参数如下:
参数解释:
at+cpbr=<indexl>[,<index2>] 参数 用于查询手机中电话薄的内容。其中,在 indexl处输入序号,即可查询该顺序号码 下的电话号码。若需要查询某一段号码, 则在indexl处输入起始位,在index2处输入结束位即可。
该命令的意思是列举出手机电话号码薄中l~ 100住的内容。按IEnterl键后就可看到图 13-65所示的内容,自动将读取的前100位号码全部列举出来。此时,受害者的手机是没有任何 提示和反应的。
从图13-66可以看出,由于该手机中只存了70个号码,所以经过数秒后,就成功地将 全部号码读取完毕了。
图13-65 图13-66
由此可见Bluebugging攻击的危害性,而由于攻击者已经获得了该手机的全部控制权, 更可以以此做出更多严重的危害,比如拨打恶意声讯台诈取高额话费、骚扰他人、伪造短信 骗取钱财、伪造身份等,由于本节仅为研究和探讨Bluebugging攻击的存在形式,所以更进 一步的操作就不再演示了。不过为方便安全及渗透测试人员进行深一步的安全测试,下面给 出几个常用的手机测试参数,具体如表13-2所示。
- 我的微信
- 这是我的微信扫一扫
- 我的微信公众号
- 我的微信公众号扫一扫