文章目录
蓝牙嗅探
前言
最近对蓝牙(BLE)感兴趣, 近期的几篇文章都与之有关:
在Snap! 蓝牙驱动库一文中, 我们实现了:
- 在 MicroBlocks 中建立了 BLE eco server
- 在 Snap! 中建立了 BLE eco client
由于 MicroBlocks, Snap! 都是的个人计算环境,拥有强大的 liveness 能力,这使得它们成为出色的黑客工具。 既然我们能够完全在个人计算环境中控制通信的整个过程(发送和接收信号)。
我们似乎就有了绝佳的练习场: 练习使用蓝牙 hack 工具以及信号分析工具。
我喜欢建构主义式的学习, 在项目实践中学习, 而不是学完了理论和工具使用手册再去实践。
真实的环境有时候过于狂野, 容易摔跤和挫败信心。 拥有一个安全的学习环境有时是重要的, 在这个环境中我们可以控制变量, 如果信号的收发端都是完全可理解和可控的, 我们就能够专注在 hack 过程上, 即使 hack 工具捕获的信息经过和混淆和加密和加密,由于我们可以控制实际传输的内容,我们就可以推断两者中的联系。
尤其是debug时,某些部分时确定的,避免了安全回退。
“关注点分离” 是编程实践中,最强大的原则之一。
一旦我们在这个安全练习场掌握了工具的使用, 我们习得的能力就可以在野外使用了。
建立理解
我喜欢将 hack 过程分解为两个部分:
- 建立对系统的理解
- 将这种理解转化为行动
The challenge is not building it but understanding it – Bret 《Seeing Spaces》
第 1 部分通常占据大部分时间。 个人计算环境能够很好地增强可理解性。
本文工具是展示一些工具的使用,作为笔记
我们 MicroBlocks echo server 和 Snap 中的 echo client
在个人计算环境中探索蓝牙
使用 btlejack 捕获数据,使用 wireshark 分析
BtleJack: BLE 瑞士军刀
Btlejack提供了嗅探、干扰和劫持蓝牙低功耗设备所需的一切。
参考
- 破解 OctoStudio
- Snap! 蓝牙驱动库
- MicroBlocks 编程案例: 制作无线 Makey Makey
- btlejack: Bluetooth Low Energy Swiss-army knife
- wireshark: The world’s most popular network protocol analyzer
- hexyl: A command-line hex viewer
- ImHex: A Hex Editor for Reverse Engineers
- python-bluezero
文章作者 种瓜
上次更新 0001-01-01