首页
社区
课程
招聘
[原创]侠盗猎车 -- 玩转固定码 (下)
2021-11-1 19:03 33663

[原创]侠盗猎车 -- 玩转固定码 (下)

2021-11-1 19:03
33663

0x00 前言

大家好, 我是星舆车联网实验室Kevin2600。星舆取 “星辰大海, 舆载万物”之意, 是专注于车联网技术研究, 漏洞挖掘和工具研发的安全团队。团队成员在漏洞挖掘, 硬件逆向与AI大数据方面有着丰富经验, 连续在GeekPwn等破解赛事中斩获奖项, 并获众厂商致谢。团队研究成果多次发表于DEFCON等国内外顶级安全会议。并成功入选特斯拉漏洞名人堂。

 

让我们继续上篇侠盗猎车的旅程, 学习更多固定码信号逆向分析的姿势。为了方便读者理解, 笔者将用以下无线门锁进行针对性讲解。

 

首先拆开无线门锁及遥控器进行信息收集, 通过PCB板上的关键字”HFY535F”, 得知此款无线门锁采用了深圳华方圆的解决方案。再利用频谱分析软件确定其工作频率为常见的315Mhz。

 

 

在锁的接收端与遥控器部分都带有一个8 bits的DIP开关。只有当两边的bits位相匹配时, 遥控器才能将门锁打开。相对传统不可更改的固定码而言, 使用这类拨码设计, 用户可随时更改编码, 安全性有所提升, 不过这仍属固定码的范畴。通过专业的无线钥匙设备可以了解到, 此款无线门锁采用了PT2262 芯片, 最终显示的地址码1FF01F10 和键码1000与DIP开关位相吻合。

0x01 采样

在确定无线门锁的工作频率后, 第一步便是获取信号样本,这里列举几个笔者常用的方式。其中最简便的是osmocom_fft, 根据个人喜好可选择不同的界面, 如下图的示波器和频谱FFT模式。只要设置好目标频率, 点击REC便可自动记录下信号样本, 需要注意的是此时保存下的是信号原始IQ格式, 文件容量分分钟过百兆。

 

如果想有更多的灵活性, 则GnuRadio-Companion是必选之一。在用示波器模式分析信号的同时, 还可捕获门锁信号并输出Wave格式的音频文件, 以及原始IQ文件。

 

通过示波器模式显示门锁信号, 使我们有更直观的感受。如下图分别是遥控器上锁和解锁2个按钮所输出的波形。

 

将捕获到的音频信号倒入Audacity后, 显示的结果与示波器波形完全吻合。

 

我们还可以用上篇提到RTL-433进行采样, 以下是解锁指令的信号解析, 可以看到与上面音频, 示波器结果相同, 且以二进制等方式显示, 使其更加一目了然。

0x02 分析

在对信号采样后, 接下来就需要对其近一步分析。比如我们想要获取信号的波特率, 通常的方法是套用已知公式 (1/ (最短波形长度/采样率))。如下图音频信号中 1/(542/2000000) 波特率大概是3690左右。

 

笔者这里推荐一款名为Inspectrum的开源软件。其界面友好, 操作简单。如下图可以看出门锁遥控器的信号是典型的OOK模式。

通过自动化解析得到我们所需的波特率, 跟之前音频分析得到的结果一致。

 

还可以将脉冲信号自动转换成相对应的二进制格式。这大大提高了分析工作效率。

0x03 发送

在分析完信号样本后, 可以尝试回放信号攻击. 之前提到的GnuRadio-Companion可以帮助我们将捕捉到的门锁信号, 原封不动的发送出去.

 

需要注意这里发送的是门锁遥控信号原始数据, 如果有任何噪音也同样一并发送出去。以下是信号发送演示视频 (https://www.youtube.com/watch?v=2Uszj0Wc8Zs)

 

这里再跟大家推荐这款名为 Yardstick1 的无线神器。 加上Python框架RFCat, 我们可用脚本的方式来达到门锁信号回放的目的。

 

下图为攻击脚本, 需要注意的是波特率以及数据包之间的间隔等参数一定要设置正确。

以下是使用 Yardstick1发送解锁指令信号演示视频 (https://www.youtube.com/watch?v=bDQ3YtoY8GA)

0x04 总结

针对固定码的分析与破解就此告一段落。对汽车钥匙安全研究来说只是热了个身, 接下来有更多烧脑的挑战在等着我们 (视频: https://www.youtube.com/shorts/m71ZGKYPKlo)

0x05文献

http://samy.pl/opensesame/
https://www.audacityteam.org/
https://github.com/miek/inspectrum
https://github.com/atlas0fd00m/rfcat

 

欢迎加入星球一起学习探讨


[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

最后于 2022-1-11 12:18 被星舆实验室编辑 ,原因:
收藏
点赞3
打赏
分享
最新回复 (3)
雪    币: 12478
活跃值: (3237)
能力值: ( LV8,RANK:133 )
在线值:
发帖
回帖
粉丝
飘零星夜 2021-11-1 19:34
2
0
我用手指头数数, 研究1+1;  大佬们都在研究微积分了.   
雪    币: 5068
活跃值: (4369)
能力值: ( LV5,RANK:65 )
在线值:
发帖
回帖
粉丝
gamehack 2021-11-1 22:38
3
0
感谢分享,虽然不太懂,但是看着挺爽!
雪    币: 0
活跃值: (35)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
cos12a 2022-1-29 14:24
4
0

对于滚动码就是这个数据。只要有这个了,无线发射什么的也就10元钱的事。
就像兔妈妈告诉小兔,今天开门的暗号是什么,而且每次都会变。用了这次的的暗号,下次就不会再用了,兔妈妈喊门的时候,大灰儿狼偷听到了也没用,暗号已经过用了,不会再次出现。狼再次用这个暗号开门时,小兔一听是过时的暗号,懒得理狼。
破解一:大灰狼在外面制造噪音,免妈妈说暗号的时候,小免没有听清楚,大灰狼记下了。免妈妈走了,大灰狼把刚才的重复了一下,兔一查是这暗号是对的没过时,开门了。结果。。。。
破解二:大灰儿狼想办法知道了兔妈妈和小兔约定的暗号。结果。。。。
破解三:。。。只有结果了。。。

最后于 2022-1-29 14:26 被cos12a编辑 ,原因: 修改错字
游客
登录 | 注册 方可回帖
返回