探索蓝牙和iBeacons - 从软件到无线电信号并返回

正如我通常对新目标所做的那样,我会寻找资源 - 我开始着眼于BT堆栈本身 - 无论是在Linux还是在Android上,因为它们显然不一样。谷歌将Android BT堆栈从默认的Linux BT堆栈切换到了自己的名为BlueDroid的BT堆栈,这显然使我所有的Linux BT工具和资源都被淘汰。看起来,当谷歌用自己的本土BlueDroid取代BlueZ时,推测原因是授权问题 - BlueZ是GPL和Android,其生态系统是Apache(不过,无视房间中的大象--GPL Linux内核)。但是,如果您从商业角度比较这两个项目的来源,则会注意到两个大名将大部分代码贡献给了每个项目 - 英特尔@BlueZ和Broadcom @BlueDroid,这让我觉得还有其他方面的参与。

随着我的目标,我查看了一些现有的BT攻击工具,并破解了他们的来源,以更好地了解发生的事情。一些有趣的工具是:

atshell - 在窗帘通道上打开与BT目标的连接
证明 - 如上保存,也将盲目尝试检索联系人,电话等
bluesnarfer - 与上面相同,但有更多选项
bt_dos - 对BT目标的拒绝服务攻击
(更多信息在这里:http://tools.kali.org/tag/bluetooth)

我继续看BT文档(长达2700多页,8卷,数百个修订版,除了BTLE),并且非常有信心,我会发现一些有问题的实现这样一个可怕的设计。回到BT堆栈源代码证实了我的感受,并且我发现了一些我希望遵循的有希望的线索。我首先映射了我的目标频率:

BT有79个频道:
频道00:2.402000000 Ghz
频道01:2.403000000 Ghz
频道02:2.404000000 Ghz
...
频道78:2.480000000 Ghz

BTLE有40个频道:
频道37:2.402000000吉赫
频道00:2.404000000 Ghz
频道01:2.406000000 Ghz
频道02:2.408000000 Ghz
频道03:2.410000000 Ghz
频道04:2.412000000 Ghz
频道05:2.414000000 Ghz
频道06:2.416000000 Ghz
频道07:2.418000000 Ghz
频道08:2.420000000 Ghz
频道09:2.422000000 Ghz
频道10:2.424000000 Ghz
频道38:2.426000000 Ghz
频道11:2.428000000 Ghz
频道12:2.430000000 Ghz
频道13:2.432000000 Ghz
频道14:2.434000000 Ghz
频道15:2.436000000 Ghz
频道16:2.438000000 Ghz
频道17:2.440000000 Ghz
频道18:2.442000000吉赫
频道19:2.444000000 Ghz
频道20:2.446000000 Ghz
频道21:2.448000000 Ghz
频道22:2.450000000 Ghz
频道23:2.452000000 Ghz
频道24:2.454000000 Ghz
频道25:2.456000000 Ghz
频道26:2.458000000 Ghz
频道27:2.460000000 Ghz
频道28:2.462000000吉赫
频道29:2.464000000 Ghz
频道30:2.466000000 Ghz
频道31:2.468000000 Ghz
频道32:2.470000000 Ghz
频道33:2.472000000 Ghz
频道34:2.474000000 Ghz
频道35:2.476000000 Ghz
频道36:2.478000000 Ghz
频道39:2.480000000 Ghz

然后,我围绕hcitools制作一个简单的包装来执行定期查询并嗅探结果,并在新检测到的目标上自动执行各种BT攻击工具。这导致检索到大量信息(许多手机仍然提供他们的联系人列表,许多BT音频设备允许使用'1234'作为引脚连接等),但没有主动攻击。然后,我明白了,如果我想实现主动攻击,我再也不能避免使用我的888开奖网HackRF了 - BT工具或笔记本电脑上的固件(也不是我的Android)允许使用很多功能,而且我不想倒车固件是个好主意......所以HackRF就是这样。

我发现焦贤骏正在研究BTLE解码器/编码器,并能够使用他的hackrf成功重放iBeacons,所以我启动了hackrf_transfer并开始以2.402ghz频率录制BTLE频道37(3个BTLE广告频道之一)从我的笔记本电脑发送iBeacons,然后重放嗅探的数据 - 但没有任何工作 - 似乎没有任何东西出现在Gqrx和SDRSharp上。我做错了什么?我加倍检查了所有内容,甚至为调试制作了GNURadio流程 - 但结果相同 - 我的2.402光谱中没有出现任何内容。我的结论是我的天线是专为75mhz-1ghz范围而设计的,我决定等待,直到我得到一个像样的2.4GHz天线。我得到这种天线后的第二天(实际上我欺骗了 - 我拿了一个女性SMA 2.4GHz天线,并插入一个引脚变成男性),将其插入我的hackrf - 结果相同。现在我知道我做错了什么,但是它是什么?

你可能感兴趣的:(探索蓝牙和iBeacons - 从软件到无线电信号并返回)