HackRFOne无线射频遥控信号重放攻击
一、无线射频遥控基础知识:
1、遥控射频频率及应用
市面上最常用的是315MHZ或433MHZ,也有些比较少见的频率 305、310、 330、350、390、418、430MHZ。
应用范围都比较广泛,主要应用于安防报警等设备上面,及其一些门控方面。比如说道闸开关控制,卷帘门,平移门,自动门,伸缩门,车库门控制等方面。
2、无线射频遥控器编码特点
目前市场主要有固定码、学习码、滚动码的遥控器,简单分析一下各自的特点:
固定码:
又叫焊码、硬件码,需要用电烙铁来改变地址。代表IC:编码PT2262(用在遥控器端);解码PT2272(用在主机端)。4位按钮的地址编码组合为:3的8次方(6561)。安全度很不高,易被复制。
学习码:
安全度相对较高,100万组编码大大降低使用上编码重复的机率;加装配件简单,因为主机本身不具有固定的地址编码;所有的探测器和遥控器用着各不相同的编码;主机学习各配件的编码即可工作;因此加装配件只须在主机上学习录入即可,遥控器即使丢失也不用担心,只须在主机上删除其编码。
滚动码:
当前主要用在RKE(Remote Keyless Entry)系统中,进行身份验证。
编码器检测到按键输入, 把系统从省电状态中唤醒, 同步记数加1 , 与序列号一起经密匙加密后形成密文数据, 并同键值等数据发送出去。由于同步计数值每次发送都不同, 即使是同一按键多次按下也不例外。同步计数自动向前滚动, 发送的码字不会再发生。因此被称为滚动码。同步计数跟编码器序号一个64位一起经过DES加密,DES密钥为厂家独有,必须保密。加密之后的密文则通过射频系统发射出去。
二、固定码遥控重放攻击实验
操作系统:Ubuntu20.04
硬件工具:HackRFOne,天线(40-860MHz),无线射频遥控器
软件工具:gqrx,hackrf_transfer
1、搭建环境
(1)接入HackRFOne设备
开机打开Ubuntu20.04虚拟机系统,把HackRFOne工具接入天线后再将USB数据线插入电脑USB接口。
查看虚拟机设备栏的信息,如未连接就在这选项框中点击连接。
(2)打开gqrx工具
在桌面右键打开命令行终端,输入gqrx命令,即可打开gqrx工具GUI界面。
2、获取信号频率
(1)设置频率参数为433MHZ或315MHZ,并按左上角开始接收按钮。
(2)长按遥控按键,记录所接收到的信号频率。
【使用实验室门禁遥控器测试】
根据上图即可查看到信号的频率大约是在
434.015700MHZ
。
【使用电动车遥控器测试】
根据上图即可查看到信号的频率大约是在
315.025900MHZ
。
3、复制重放攻击
(1)打开命令行终端,利用以上获取到的射频频率来使用命令进行复制开门按键射频信号。
hackrf_transfer -r lab.raw -f 434015700 -g 16 -l 32 -a 1 -s 8000000 -b 400000
-r 录制射频文件名 -f 射频频率 其他参数无需更改。
执行命令后,把遥控器靠近HackRFOne设备,然后按开门按键几次,然后在命令行窗口按Ctrl + C可完成录制。
(2)使用命令进行重放开门按键射频信号。
hackrf_transfer -t lab.raw -f 434015700 -x 47 -a 1 -s 8000000 -b 4000000
-t 重放射频文件名 -f 射频频率 其他参数无需更改。
4、攻击效果及思路拓展
效果:无需遥控器,只需要执行信号重放命令即可以完成开门或电动车开锁等操作。
思路拓展:这个实验只是利用HackRFone设备来测试这个功能,如果只是为了完成该重放攻击实验,可使用更方便且成本更低的方案,如使用hackcube设备或使用主要配置了射频的接收发射模块的硬件工具。
汽车钥匙信号频率测试
设置频率参数为433MHZ或315MHZ,并按左上角开始接收按钮,获取的频率结果如下图。
经检测频率发现,滚动码出现了三种不同的频率同时出现在频谱图上,固定码只有一种。