问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
硬核黑客笔记 - 不够聪明的蓝牙锁
#### 0x00 前言 大家好, 我是Kevin2600. 最近设计了一套物理安防渗透课程, 在研发过程中遇到了一把蓝牙锁, 因其之前被大神Stawomir Jasek破解过, 本以为会是个简单的复现过程. 未曾想此蓝牙...
#### 0x00 前言 大家好, 我是Kevin2600. 最近设计了一套物理安防渗透课程, 在研发过程中遇到了一把蓝牙锁, 因其之前被大神Stawomir Jasek破解过, 本以为会是个简单的复现过程. 未曾想此蓝牙锁的安全机制已经完全升级, 只得从头开始研究. 这里跟大家分享一下心得. 同时借此机会向BaCde 在研究过程中的协助表示感谢。 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-f7cb594b4ea782ac0273854e92a1d53293c51052.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-f7cb594b4ea782ac0273854e92a1d53293c51052.png) #### 0x01 开局 传统物理安全的历史由来已久, 涉及各行各业的各个领域. 门禁; 视频监控; 警报系统种类繁多. 尤其是门锁的历史甚至可以追述到古埃及. 门锁这个作为保护民众财产的重要器材, 一直就伴随着人类文明的发展. 甚至可以说锁具的发展也体现了人类智慧的结晶.随着科技一日千里, 物联网的逐渐流行. 物理安防领域也发生了翻天覆地的变化. 采用蓝牙或NFC 作为智能门锁的通讯方式几乎成了标配. 并且有人还认为智能锁比传统锁具更加安全, 比如以下这段具有代表性的网友留言。 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-00a82d0a41163ea0cd9a24fd64d0b8da0768ba00.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-00a82d0a41163ea0cd9a24fd64d0b8da0768ba00.png) 然而真实情况是在方便了用户操作的同时, 因设计缺陷所导致的安全问题也层出不穷. 在过去几年里不断有研究人员在智能门锁产品中发现安全漏洞. 其中由Stawomir Jasek发现的某蓝牙锁厂商在自研加密方案上的设计缺陷非常具有代表性. 具体分析过程建议大家可以去看原文, 简单来说其发现有以下几个缺陷。 缺陷1: 蓝牙锁APP的登录验证密码是以明文的方式传输的. 只需要在用户登录的时候, 捕获蓝牙流量即可获取密码。 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-18f8abb213ca19918d50b9b94699cc41c78e8409.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-18f8abb213ca19918d50b9b94699cc41c78e8409.png) 缺陷2: 蓝牙锁APP在跟锁交互之初会发送类似应答挑战的数据包. 然而这样的应答响应的发起方竟然是手机APP端. 也就是说如果采用中间人攻击的方式, 每次发给锁端的挑战数据可以是一样的, 因而锁定应答数据也会是一样. 这就给我们带来了数据重放攻击的机会。 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-48f27ecd159aee94191f0db13ee7c91344e7c39a.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-48f27ecd159aee94191f0db13ee7c91344e7c39a.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-cd201816c1568811accf2495964e5bb2fddade68.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-cd201816c1568811accf2495964e5bb2fddade68.png) 缺陷3: 通过逆向蓝牙APP找到了开发人员硬编码的超级密码 741689. 进而分析出整个数据包的结构. 看来业界常说没事不要自研密码算法是有道理的。 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-36efbf47014128babb3307b4274c49fb7c01445f.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-36efbf47014128babb3307b4274c49fb7c01445f.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-facddacef0577191eceddc4ad7e631a3310afb7b.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-facddacef0577191eceddc4ad7e631a3310afb7b.png) 本来事情到这里, 只需复现以上几个缺陷就该结束了. 没想到一上来捕获的用户登录数据包跟期待的就完全不同, 仔细一看这分明是加密后的密文啊, 说好的明文密码呢? [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-10c3375627bc46d711cb7843087e69b6d6d72335.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-10c3375627bc46d711cb7843087e69b6d6d72335.png) #### 0x02 分析 先来了解下这款蓝牙锁的APP吧. 其流程很简单先跟目标锁建立连接, 随后需要输入正确的密码 (默认是123456). 连接成功后便可对锁进行开关操作。 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-49e4227073279c962720a758d2c08c8db6df723f.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-49e4227073279c962720a758d2c08c8db6df723f.png) 对APP反编译后找到几个至关重要的信息. 例如APP包含的UUID和其功能。 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-cc391dd97a2e70b8ef24d76b68300c53a3d9ab49.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-cc391dd97a2e70b8ef24d76b68300c53a3d9ab49.png) 以及蓝牙锁采用的密钥信息, 很明显开发者用硬编码的方式将AES密钥写在APP 中. 同时我们还能找到各个操作指令的硬编码, 如登录时的 616。 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-cec5e4b0c198a24e5384b598d9c76639b4e65baf.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-cec5e4b0c198a24e5384b598d9c76639b4e65baf.png) 除此之外开发者还将加密前和加密后的指令信息写在了log 文件中, 也许是为了方便调试吧. 当然我们也一样可以通过logcat 指令来查看和分析。 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-25e50f3b30149146ff70358e00903fbc1e7b009f.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-25e50f3b30149146ff70358e00903fbc1e7b009f.png) #### 0x03 验证 基于前面的分析, 可得出结论, 升级过后的Smart-lock 仍有设计缺陷, 且会被黑客滥用. 让我们一起来验证下吧。 缺陷1: 虽说安全机制采用了AES128. 但因为是对称性加密, 其16字节的密钥被开发人员以硬编码的形式写在APP中. 这让我们在获取蓝牙数据包后, 便可轻易破解出原文.如下图所示, 用户登录时的密文仍可被破解并获取密码。 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-e1183027b1cd38d834b65590ad641b30d058b32e.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-e1183027b1cd38d834b65590ad641b30d058b32e.png) 缺陷2: 蓝牙锁APP在跟锁交互时发送的应答挑战数据包, 依旧是由手机APP端发起的. 也就是说数据重放攻击隐患依旧存在. 我们甚至只需要一台手机便可完成重放攻击的整个操作. 如下图所示将编辑好的XML 文件导入nRF Connect 宏文件, 或直接对UUID进行写操作即可。 [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-a3f641238a93ab5f9cf4c7d8f051809d109e61d9.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-a3f641238a93ab5f9cf4c7d8f051809d109e61d9.png) [![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-e966600d11220077ab92e100751e69443496c938.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-e966600d11220077ab92e100751e69443496c938.png)[![](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-ec61103fd65056c82e5fab56ea2c6a4fa4ace86e.png)](https://shs3.b.qianxin.com/attack_forum/2021/07/attach-ec61103fd65056c82e5fab56ea2c6a4fa4ace86e.png) #### 0x04 结语 通过Smart-Lock这个案例, 相信大家对蓝牙锁应用的安全分析有了更多了解. 市面上的蓝牙锁种类繁多, 每款产品的安全程度也各不相同. 建议用户考虑相对重视自身安全的大品牌产品. 从开发者的角度来说在设计初期就需将安全防御考虑进去. 同时也要避免如硬编码这类错误, 以免被攻击者滥用。 #### 0x05 参考文献 <https://github.com/kevin2600/BTLE-SmartLock-Hacking> [https://media.ccc.de/v/33c3-8019-lockpicking\_in\_the\_iot](https://media.ccc.de/v/33c3-8019-lockpicking_in_the_iot) <https://smartlockpicking.com/tutorial/how-to-pick-a-ble-smart-lock-and-cause-cancer/>
发表于 2021-07-14 15:52:03
阅读 ( 6652 )
分类:
漏洞分析
1 推荐
收藏
0 条评论
请先
登录
后评论
木子
3 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!