使用 HackRF 重放小玩具遥控信号

你有没有想过,生活中的各种常见物品都是可以被攻击的?

使用红外遥控的空调、使用无线遥控的玩具、乃至使用基站的手机?

今天,我们来用 HackRF 来攻击小玩♂具的遥控器。

前言

最常见的遥控器就是红外遥控器,通过红外 LED 发射一串闪光来代表 0 和 1,从而进行数据的传递。

而要进行稍远距离的信号传输该怎么办?信号在传输途径可能被人体、树木、建筑物等遮挡,如何才能穿透这些物体?

答案很简单,射频(无线电)。

你生活中绝大多数常见的遥控器基本都工作在 433Mhz 左右。比如一些玩具遥控器,车库门遥控器,电动车锁遥控器等等。

至于为什么是这个频率咱还专门查了下:

先查了《无线电频率划分表》,没有提。毕竟是小功率发射设备,而且是免许可频段,没提也正常。

最后顺藤摸瓜找到了《微功率短距离无线电发射设备目录和技术要求》,因为 2019 年政策进行了更新,所以我们跳过 2005 年的那堆文件,看现在的。

2019 年年底工信部发了第 52 号文件工业和信息化部发布微功率短距离无线电发射设备相关公告),其中提到:

「生产或者进口在国内销售、使用列入并符合《...目录》的无线电发射设备,无需取得无线电频率使用许可、无线电台执照、无线电发射设备型号核准...」

然后我们看下目录:

只要发射功率小于 10mW 就是可以直接使用的,不过其中明确写道「不得用于无线控制玩具」,咱觉得大部分厂商可能都没查到过这些文件,咱愣是翻了半个小时才翻出来。

厂商:「我们这是无线智能健身锻炼复健器材,不是玩具」(大雾)

好的,我们只要知道这个频率可以合法地使用就成了。

确定频率

在这里,我使用的是一块 HackRF One SDR 开发板,在今天性能已经略显逊色了,但是对付这种场景还是完全够用的。毕竟 bladeRD 和 LimeSDR 贵的可不是一点半点。

如果你是第一次使用 HackRF 的话,需要简单配置下环境

Ubuntu

sudo apt install gqrx-sdr libhackrf-dev libhackrf0 gnuradio inspectrum

MacOS

brew install hackrf gqrx gnuradio

HackRF 如果在虚拟机下使用似乎会出现第二次 RX 失败的情况,但第一次又可以正常工作,看起来目前似乎还没解决,所以只能多按几次 RST 了。但是在实机上直接使用还是没问题的。

我们先用 Gqrx 确认大概的频率范围,通过进一步寻找,确定了频率是 433.950Mhz。

如果你有个对讲机的话,你还可以听到遥控器所发出的声音。

找到频率就好办了,拿出来无线电界的瑞士军刀:GNURadio。

捕获信号

GNURadio 以程序框图的形式来表示流程,你可以从许多模块中挑选出你需要的功能。最后,GNURadio 会按照你的设置来帮你自动生成对应的代码。

我们先创建一个场景,用于捕获信号。然后运行他,同时遥控器发射信号,将信号原始数据记录在我们所需要的文件中。

随后我们再创建一个场景,将信号发射出去。

在频谱图上有反应的同时,玩具也跟我们预期的一样工作了起来。

如果你只是需要重放信号的话,还有更简单的方法:利用 HackRF Tools

hackrf_transfer -r toy.raw -f 433950000 -g 16 -l 32 -a 1 -s 8000000 -b 4000000
#接受信号

hackrf_transfer -t toy.raw -f 433950000 -g 16 -l 32 -a 1 -s 8000000 -b 4000000
#发射信号

参数都很简单,搞不明白的话就 hackrf_transfer -h 一下。

分析信号

理论上,我们可以通过分析录制的信号来获得最原始的 1 和 0 数据。

最简单的方法:把数据扔进 Audacity,一个短小精悍的开源音频处理软件。

在这里你就可以看到由高低电平代表的 0 和 1 了。如果你有写轮眼的话,甚至还可以直接读出来 0 和 1。

不过考虑到对自己的眼睛好一点,我们可以借助工具,Inspectrum。

你可以更轻松地读取每一个字节,在这里我们一般会查一下芯片的数据手册,看一下每一帧信号里到底发了多少个 01 信号,直接填进软件方便建立基准值。

然而咱这个遥控器上的芯片没丝印,事情就麻烦了许多。

你需要手动慢慢去尝试,一帧信号里到底包含了多少个 01 信号。说实话咱对了半天也没对个正好。

如果你最后可以成功导出 0 和 1 的原始数据的话,那么你还可以用 HackRF 直接发射最原始的数据。

甚至,你还可以做一个小玩意,不停的发射你想发射的信号,达到需要的结果。

比如,把你周围的几个玩具同时开启。具体的应用就看你自己的想象力了(x

*一本正经:前面说的玩具是玩具小车。

标签: ham HackRF


已有 5 条评论
  1. 好耶,大佬又更新了!这次大佬带来的是重放小玩具遥控信号。话说回来,这个遥控器控制的小玩具,不像是小玩具车啊。😏

    1. 哼,咱说是啥就是啥😆

    2. 学会了这个造个同频率的遥控小车还不难?(逃

  2. vvve vvve

    怎么看遥控器和我小区车辆道闸的很像

  3. 盯——

添加新评论