快捷搜索:  汽车  科技

智能锁避坑知识分享(BLE分析及实践破解智能门锁)

智能锁避坑知识分享(BLE分析及实践破解智能门锁)3. 访问0x0013获取此次认证的挑战码2. 向0x000c写入设备号及24个密钥信息1、覆盖密钥从上面的分析可以看到密钥是APP写入设备的,那么我们可以把设备重置掉,然后写个key进去,然后就能用电脑模拟 app控制设备了。步骤为:1. 首先访问handle:0x0013触发初始化

上文《BLE分析及实践——抓包及风险分析》已经完成了数据包的抓取并且也分析出风险点出来,下面我们来利用这些风险点

首先开始看了小视频,这个是这个漏洞利用很好的案例:

这个是怎样实现的?我们先看智能门锁的破解过程,大家仔细看第三个攻击方式:

攻击方式

1、覆盖密钥从上面的分析可以看到密钥是APP写入设备的,那么我们可以把设备重置掉,然后写个key进去,然后就能用电脑模拟 app控制设备了。

步骤为:

1. 首先访问handle:0x0013触发初始化

2. 向0x000c写入设备号及24个密钥信息

3. 访问0x0013获取此次认证的挑战码

4. 使用python程序计算认证码

5. 向0x000c写入认证码,完成配对

6. 向0x000c写入操作行为,操作门锁

具体操作如下

首先先连接上设备:

智能锁避坑知识分享(BLE分析及实践破解智能门锁)(1)

然后写入随机数字:

智能锁避坑知识分享(BLE分析及实践破解智能门锁)(2)

此时写入密钥成功

配对过程:

智能锁避坑知识分享(BLE分析及实践破解智能门锁)(3)

此时设备端提示:

智能锁避坑知识分享(BLE分析及实践破解智能门锁)(4)

此时已经完成了认证过程,然后就可以写数据进入了:

智能锁避坑知识分享(BLE分析及实践破解智能门锁)(5)

设备端提示:

智能锁避坑知识分享(BLE分析及实践破解智能门锁)(6)

此时完成了对整个设备的控制。

2、万能密码步骤和一类似,只是不需要覆盖密钥信息了,直接使用4861636b6d654c6f636b4d6173746572通过认证。

3、利用中间人进行重放攻击利用嗅探工具或中间人获取到ble传输的信息,提取相应的密钥信息,后续使用该密钥进行认证进行操作,该方法不需要

重置设备

根据嗅探或中间人截获到的认证码,使用中间人进行数据的重放攻击

我们在APP上关闭锁操作:

设备端提示:

智能锁避坑知识分享(BLE分析及实践破解智能门锁)(7)

显示锁处于关闭状态,我们在btlejuice上进行开锁的重放攻击:

智能锁避坑知识分享(BLE分析及实践破解智能门锁)(8)

操作完成后可以看到设备端提示:

智能锁避坑知识分享(BLE分析及实践破解智能门锁)(9)

锁已经完成了打开操作。

利用方法分析

1、数据分析

分析蓝牙数据可以更清楚的知道整个数据的逻辑流程,利用wireshark进行分析更加清楚btle协议。

ubertooth 功能很强大,但是要是自己配置运行环境比较复杂,还要有docker镜像,但是捕获数据比较麻烦,需要正确捕获到此次传输的频段。

中间人,能很好的知道数据的逻辑流程和传输数据,但是需要配置代理,需要又一个额外的系统进行支持。

2、攻击比较

覆盖密钥方法:需要初始化设备,需要搞清楚整个认证流程,自己写AES加密算法。

中间人攻击:不需要自己去计算认证码,直接重放数据即可,但是配置比较麻烦。

附录 AES加密代码:

智能锁避坑知识分享(BLE分析及实践破解智能门锁)(10)

至此这个智能门锁,攻击者可以使用电脑打开,这里面将BLE协议转换成tcp传输还是挺有意思的,这个中间人工具就是,这样加大了BLE协议的传播距离。

我们来分析下文章开始时候的案例:钥匙是放在车库里面,这个钥匙用的是BLE协议,信号只有几米的距离,盗贼通过中间人,将BLE的信号通过TCP协议加大距离,另一个同伙再通过协议转化把TCP协议转化成BLE打开了汽车

猜您喜欢: