GnuRadio Hacking ①:使用GnuRadio+SDR破解固定码无线遥控

时间:2022-04-27
本文章向大家介绍GnuRadio Hacking ①:使用GnuRadio+SDR破解固定码无线遥控,主要内容包括0×01 信号捕获、0×02 录制信号、0×03 信号重放、0×04 演示视频、0×05 信号分析、0×06 Hacking The world with watch、0×07 Thanks&refer、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

*Author:雪碧0xroot @漏洞盒子安全团队

0×01 信号捕获

在这篇文章中,我们将使用GnuRadio+SDR硬件对某品牌型号的无线跳蛋进行无线重放攻击的演示。

市面上常见的无线遥控工作的频段,通常工作在315Mhz、433Mhz,也有少数的会采用868Mhz.915Mhz这几个频点。

我们可以用电视棒、HackRF、BladeRF等SDR硬件来确定遥控的工作频率: 打开软件按下遥控器后,能在瀑布图上看到明显的反应: osmocom_fft -F -f 433e6 -s 4e6

gqrx

无线遥控中心频率:433870000

0×02 录制信号

SDR软件通常支持录制信号,可将遥控的信号保存为wav音频文件或者以.cfile、.raw格式保存。

这里用gnuradio-companion流图来实现信号录制以及信号重放。

wget http://www.0xroot.cn/SDR/signal-record.grc
gnuradio-companion signal-record.grc

左侧osmocom Source模块调用SDR硬件,我们设置其中心频率为433.874MHz,采样率为2M:

右侧上边 QT GUI Sink模块将捕获到的信号在瀑布图上展示出来,右侧下边的File Sink将录制到的信号保存为/tmp/key.raw文件:

执行流图,按下遥控前:

按下遥控:

转到/tmp 缓存目录:

0×03 信号重放

接下来再用gnuradio-companion写个信号重放的流图:

wget http://www.0xroot.cn/SDR/signal-replay.grc
gnuradio-companion signal-replay.grc

左侧File Source调用捕获到的key.raw信号文件,osmocom Sink调用HackRF、BladeRF将信号发射出去,与此同时QT GUI Time Sink、QT GUI Frequency Sink模块分别在屏幕上显示时间轴(时间域)、频率幅度(频率域),执行流图:

bingo!

0×04 演示视频

0×05 信号分析

inspectrum key.raw

信号分析&转码细节参考: 如何使用SDR+inspectrum逆向分析无线遥控信号 一文。

s = ''a = [0.333033, 0.326189, 0.0332124, 0.388094, 0.326704, 0.0154539, 0.322883, 0.0270275, 0.0150091, 0.443235, 0.362946, 0.027745, 0.430879, 0.443824, 0.0277048, 0.330736, 0.0290668, 0.0133217, 0.376686, 0.0123277, 0.00931546, 0.446231, 0.397617, 0.0162406, 0.447861, 0.0050071, 0.0109479, 0.389289, 0.0271959, 0.0138626, 0.32109, 0.0268736, 0.0129828, 0.401142, 0.326009, 0.0303488, 0.379368, 0.0229494, 0.0134011, 0.318115, 0.346288, 0.017666, 0.333818, 0.326769, 0.0141554, 0.341832, 0.0291055, 0.0153984, 0.446665, 0.399975, 0.024566, 0.316297, 0.0159851, 0.010876, 0.428384, 0.444201, 0.0214323, 0.376211, 0.00628675, 0.0105036, 0.44565, 0.0195615, 0.012549, 0.445242, 0.366523, 0.0225733, 0.324775, 0.0192127, 0.0134437, 0.318991, 0.381386, 0.0149852, 0.00882163, 0.447015]for i in a:    if i > 0.1:
        s +='1'
    else:
        s +='0'print s     
python test.py 
 11011010011011010010011010010010011010011011010011010011010010011010011001
pip install bitstring`
pythonimport bitstring

bitstring.BitArray(bin='11011010011011010010011010010010011010011011010011010011010010011010011001').tobytes() 

Automated RF/SDR Signal Analysis [Reverse Engineering]

Payload: x36x9bx49xa4x9ax6dx34xd2x69x9

thanks for tresacton‘s help (GitHub)

0×06 Hacking The world with watch

德州仪器生产的EZ430 Chronos手表由于采用了MSP430芯片,该芯片支持发射1GHz以下频率的无线信号,覆盖市面上各种常见的无线遥控频率(315MHz、433MHz、868MHz、915MHz):

6.1 开发环境搭建

到 TI德州仪器官网下载:(需注册账号)

CCS studio (Code Composer Studio ):http://processors.wiki.ti.com/index.php/Download_CCS

FET-Pro430-Lite程序:http://www.elprotronic.com/download.html

SmartRF Studio : http://www.ti.com.cn/tool/cn/smartrftm-studio

以及GitHub上面的 miChronos项目代码:http://github.com/jackokring/miChronos

百度网盘:https://pan.baidu.com/s/1hsse2Ni

windows 7如果不是Service Pack 1 则需下载安装Windows 7 和 Windows Server 2008 R2 Service Pack 1 (KB976932)补丁,否则无法安装 Code Composer Studio 下载地址:https://www.microsoft.com/zh-cn/download/confirmation.aspx?id=5842

搭建完开发环境便可将信号Payload烧录到手表中,使用手表控制设备。

0×07 Thanks&refer

YouTuBe Michael Ossmann: Software Defined Radio with HackRF, Lesson 11: Replay

如何使用SDR+inspectrum逆向分析无线遥控信号

Automated RF/SDR Signal Analysis [Reverse Engineering]

TI eZ430-Chronos Hacking quickstart

The hackable watch: a wearable MSP430 MCU

You can ring my bell! Adventures in sub-GHz RF land…

TI EZ430 Chronos watch, quick guide / tutorial to hacking the firmware

*Author:雪碧0xroot @漏洞盒子安全团队 cn0xroot.github.io/