无线电安全 重放攻击

环境介绍

硬件:

ESP32 :处理无线通信协议和控制逻辑

CC1101 :可以发送信号和接收信号

R828D :只能接收信号,不能发送

杜邦线 :母对母*8

软件:

URH :用于无线电协议的分析、解码和重新播放的开源工具

cc1101-tool :用于配置和控制 CC1101无线收发芯片的调试工具

gqrx :用于无线信号的接收和解调

Arduino IDE :用于对ESP32硬件烧录程序

SDRSharp :用于信号频率分析

WindTerm :用于连接串口

目标

1
通过重发包攻击,解锁电动车

R828D使用教程

Windows

下载https://zadig.akeo.ie/安装驱动

使用SDRSharp.exe软件和urh进行监听或分析捕获的信号

可以先通过SDRSharp.exe分析出目标设备工作的频率,一般在315mhz433mhz附近,如下图可以看到是在432.720MHz附近

然后通过urh捕捉信号分析,将信号保存分析

img

三种信号代表三种按钮

img

复制信号进行分析,可以看到三种信号

1
2
3
1000100011101110111011101110111010001000100011101110111010001000111010001000100010001000100011101
1000100011101110111011101110111010001000100011101110111010001000111010001000100010001110100010001
1000100011101110111011101110111010001000100011101110111010001000111010001000100010001000111010001

对信号进行转换1000 -> 01110 -> 1,可以看到只有后四位不同,最后的1SYN

img

1
2
3
0011111100011100100000011
0011111100011100100001001
0011111100011100100000101

通过urh工具也可以看到

img

Linux

安装驱动,安装urh,安装gqrx

1
2
3
4
5
6
sudo apt update 
sudo pipx install urh
在~/.bashrc文件中,最后一行添加export PATH="$PATH:/root/.local/bin"保存
source ~/.bashrc

apt install gqrx-sdr

R828D连接到虚拟机,结合urh捕捉信号分析

ESP32连接CC1101

E07-M1101D引脚ESP32引脚描述GNDGND地线连接,确保模块和ESP32共地VDD3.3V电源连接,使用ESP323.3V输出GDO0GPIO4(可选)用于中断信号检测CSNGPIO5SPI的片选信号SCKGPIO18SPI的时钟信号MOSIGPIO23SPI的主机数据输出信号MISO/GDO1GPIO19SPI的主机数据输入信号GDO2GPIO16(可选)用于其他功能(如状态指示等)

ESP32芯片烧录

前期准备

cc1101-tool中下载cc1101-tool-esp32-wroom.ino,安装Arduino IDE,将ESP32连接到电脑,安装驱动

使用Arduino IDE打开cc1101-tool-esp32-wroom.inoArduino IDE->工具->开发板->开发板管理器->搜索Espressif SystemsELECHOUSE_CC1101安装,然后选择开发板

img

点击上传按钮,观察输出窗口

img

通过ESP32和CC1101发送无线电信号

使用工具连接串口

img

img

输入help可以查看指令集

1
2
3
4
5
6
show : Show content of recording buffer
flush : Clear the recording buffer
recraw <microseconds> : Recording RAW RF data with <microsecond> sampling interval.
addraw <hex-vals> : Manually add chunks (max 60 hex values) to the buffer so they can be further replayed.
showraw : Showing content of recording buffer in RAW format.
playraw <microseconds> : Replaying previously recorded RAW RF data with <microsecond> sampling interval.

方式一:

recraw <microseconds>监听指定间隔毫米的无线电信号

playraw <microseconds>发送指定间隔毫米的无线电信号

方式二:

addraw <hex-vals>向缓冲区写无线电信号

playraw <microseconds>发送指定间隔毫米的无线电信号

总结

硬件

ESP32

双核处理器

  • ESP32 内置 Tensilica Xtensa LX6 双核处理器,每个核心的最高频率可达 240 MHz,拥有高达 600 DMIPS 的计算能力,能够处理复杂的计算任务。
  • 也有单核版本的 ESP32(例如 ESP32-S0WD)用于更加低功耗的应用场景。

Wi-Fi 和蓝牙双模通信

  • Wi-Fi:支持 IEEE 802.11 b/g/n 协议,能够在 2.4 GHz 频段进行通信,具备 AP(接入点)、STA(站点)和 Mesh(自组网)模式,适合组建无线网络。
  • 蓝牙:支持 Bluetooth 4.2 BR/EDR 和 BLE(Bluetooth Low Energy),适合短距离通信或蓝牙配件集成。支持蓝牙双模通信,可以在不消耗太多电量的情况下实现与蓝牙设备的互通。
  • Wi-Fi 和蓝牙可以同时使用,这使得 ESP32 适用于连接各种无线设备。

低功耗设计

  • ESP32 设计有多种低功耗模式,包括 深度睡眠****模式休眠模式,能够将功耗降至微安级,非常适合电池供电的设备。
  • 支持 ULP(超低功耗协处理器),在低功耗模式下可以处理简单任务,无需唤醒主 CPU,从而进一步降低功耗。

丰富的 I/O 接口

  • 提供了丰富的外设接口,包括 GPIOADC(12 位)、DACSPII2CUARTPWM 等,适配多种传感器和执行器。
  • 支持 触摸传感接口温度传感器,可以直接用于触摸和温度感知场景。
  • 集成了 CAN 总线接口,便于在工业控制领域中应用。

大容量存储

  • 集成 520 KB SRAM448 KB ROM,可用于存储程序和数据。
  • 支持 外部 Flash 存储,容量通常为 4 MB 或更大,能够满足大规模应用的需求。

硬件加密功能

  • ESP32 支持多种硬件加密算法,包括 AESSHARSA 等,适用于实现安全的网络通信。
  • 内置安全启动和闪存加密机制,能够保护设备的固件和数据安全。

集成的 RTOS 支持

  • ESP32 自带 FreeRTOS 实时操作系统,支持多任务调度和系统资源管理。
  • 多任务支持便于用户开发复杂应用,例如同时处理传感器数据、网络通信、数据处理等多种任务。

开发环境支持

  • ESP32 可以在多种开发环境中进行编程,包括 Arduino IDE、**Espressif’s IDF(**IoT Development Framework)MicroPython 等,适合不同层次的开发者。
  • 官方提供的 Espressif IoT Development Framework (ESP-IDF) 是一个强大的开发工具包,支持 OTA(空中升级)和大量的开源库。

引脚图

CC1101

CC1101 支持多种频率频段,尤其适用于 315 MHz433 MHz868 MHz915 MHz 的 ISM 频段

CC1101 支持多种调制方式,包括 **2-**FSK(二进制频移键控)、GFSK(高斯频移键控)、OOK(开关键控)和 MSK(最小频移键控)

CC1101 数据速率范围从 0.6 kbps 到 500 kbps,可通过寄存器配置来调节数据传输速度

CC1101 具有出色的接收灵敏度,可以达到 -120 dBm 左右,能够接收微弱的信号,从而提升通信距离

CC1101 使用标准的 SPI串行外设接口 与外部主控芯片(如单片机、ESP32 等)进行通信,SPI 接口的数据传输速率可达 10 Mbps

CC1101 具有自动频率校准功能,能够在频率偏移较大的情况下自动对频率进行校正,以提高接收信号的准确性

CC1101 通过配置寄存器控制芯片的工作状态和参数。常见的工作模式包括:

  • **待机模式(**Idle Mode):低功耗模式,快速响应模式切换。
  • 接收模式(RX Mode):进入接收状态,等待接收数据。
  • 发送模式(TX Mode):发射状态,将 FIFO 中的数据发射出去。
  • 睡眠模式(Sleep Mode):超低功耗模式,用于节能。

引脚图(这里在淘宝买的CC1101,但快递到了之后显示是E07-M1101D)

R828D

R828D 的频率覆盖范围广,通常支持 42 MHz 到 1002 MHz 之间的频段,可覆盖大量的无线电频率,如 FM 广播、VHF/UHF 电视信号、气象卫星信号等

R828D 内置低噪声放大器,可在接收微弱信号时进行放大,同时将噪声控制在较低水平,确保接收信号的质量

R828D 支持 自动增益控制(AGC) 功能,可以根据接收信号的强度自动调整增益,避免强信号过载导致的失真

R828D 采用宽带调谐器设计,支持多种调制方式,如 AM、FM、QAM 等,适配不同的无线电协议

R828D 的工作模式

  • 低功耗接收模式:在维持较高的接收灵敏度的同时,将功耗控制在最低,以延长设备的使用寿命。
  • 自动增益调节模式:根据接收信号的变化自动调节增益,适应不同信号源的需求。
  • 数字调谐模式:支持多频段调谐和信号调制格式的解码,用于不同的无线协议接收。

参考链接:

https://www.bilibili.com/video/av887144512?vd_source=2ebfc962819c00c32934bd94fff93ea4&spm_id_from=333.788.player.switch

https://lanvnal.com/2019/01/22/yi-ci-dui-dian-dong-che-yao-chi-de-xin-hao-fen-xi/

https://www.bilibili.com/video/BV11YULYjEfy/?spm_id_from=333.337.search-card.all.click&vd_source=2ebfc962819c00c32934bd94fff93ea4

https://www.cnblogs.com/k1two2/p/5436099.html