本期作者/0xc4se
HackRF是一款开源软件无线电(SDR)平台,由Great Scott Gadgets公司推出。它具有广泛的频率覆盖范围,从1 MHz到6 GHz,支持大部分常见的无线通信频段。采用软件定义无线电技术,HackRF提供了自定义和控制无线信号处理的能力,包括接收、发送、解码和干扰。配备高速ADC和DAC,它能够实现各种无线应用,并通过USB接口与计算机连接,方便集成到各种软件和开发平台中。作为一个功能强大且灵活的平台,HackRF为安全研究人员、软件无线电从业者和爱好者提供了一个开放的环境,用于探索和实验无线通信技术和安全应用。
HackRF可实现的功能可简要分为如下几点:
- 接收和解码无线信号:HackRF可以接收并解码各种无线信号,如无线电广播、无线电通信、无线电定位等。用户可以使用HackRF来监听和分析无线信号,了解无线通信的工作原理。
- 发送和模拟无线信号:HackRF可以生成和发送各种无线信号,如无线电广播、无线电通信、无线电干扰等。用户可以使用HackRF进行无线通信实验、无线信号干扰测试等。
- 破解和分析无线协议:HackRF可以用于破解和分析各种无线协议,如无线门禁系统、汽车遥控器、无线键盘鼠标等。用户可以使用HackRF来分析无线协议的加密算法和通信流程,从而进行安全评估和漏洞分析。
- 定位和跟踪无线信号:HackRF可以用于定位和跟踪无线信号的发射源。用户可以使用HackRF来进行定位和跟踪无线设备,如无线摄像头、无线麦克风等,从而实现无线设备的定位和监控。
在这一小节中,我们主要了解HackRF 接收和发送信号的功能,并在后续小节逐渐深入HackRF的各个功能。
注意:在使用HackRF设备时,在特定频率和特定功率广播需要执照,某些情况下甚至是非法的。请各位安全人员严格遵守相关无线电法规!
SDRsharp官网下载后,解包执行 install-rtlsdr.bat 自动下载 zadig.exe程序与此SDRsharp软件同级目录。SDRSharp.exe 为SDRsharp主程序,在运行SDRsharp.exe程序前需进行以下步骤:
将 HackRF One 连接计算机 USB,此时电脑无法识别HackRF One,我们需要打开 zadig 选择Options->Lists All Devices->HackRF One,并点击下图中按钮进行驱动安装。
安装成功后在设备管理器显示如下图,说明驱动安装成功:
1.收听FM广播
FM频率:
在全世界范围内,FM 广播波段属于无线电频谱的VHF部分,通常使用 87.5到108.0 MHz。
打开 SDRsharp后先将Source设置为HackRF后再进行其他操作。
HackRF Controller 为配置面板,DEVICE 下为设备名称,LNA Gain 与 VGA Gain 分别是 AFE 增益控制,AMP 为 RX AMP 启用/停止, PPM 为频率误差补偿。
通常在 FM 频率 LNA 设置在白天设置为 16或24,晚上设置为 8 即可正常工作,VGA 可根据信号进行调节,这里我设置为 24,AMP 也要勾选。设置完成后点击 CLOSE 或直接关闭即可。点击启动按钮显示如下图所示,出现的波峰为HackRF接收信号经SDRsharp解析识别到的可能信号源。
此时鼠标点击不同波峰处进行收听,即可切换至相应频率的FM电台。
2.收听对讲机
将频率设定到440MHz附近,设置如下图所示,图中Radio选择 NFM,并将 Correct IQ 勾选去除,点击开始收听后,在波形窗口中偶尔出现的波峰即是对讲机发出的信号,即瀑布图中偶尔出现的红线。
3.收听GSM信号
GSM 信号有两个频率 870MHZ,950MHZ。下图为收听870MHz的波形图。
4.收听其他信号
除了接收以上信息外,在指定频率下,HackRF还可收听航空、WiFi等信号。这里不再演示,大家感兴趣可自行查找频率范围并测试收听进行学习。
apt-get
install
HackRF libHackRF-dev libHackRF0
HackRF连接计算机,运行HackRF_info命令会输出以下信息。
我们可以使用HackRF_transfer命令来接收或发送信号。
-d 表示要使用的HackRF的ID,如果你只插了一台HackRF,·这个参数就可以忽视
-r 启用该参数需要指定文件名称,该参数是指将接收的音频保存到指定文件中,以便后期采用
-t 启用该参数需要指定文件名称,该参数是指从文件读取音频
-w 此参数是指自动保存文件为WAV,此参数是为了和SDR#(一款无线电软件,支持windows)兼容
-f 此参数为设置发送/接收的频率,单位是Hz,范围从
0
MHz到
7250
MHz
-i 此参数为设置发送/接收的中频,单位是Hz,范围从
2150
MHz到
2750
MHz
-o 此参数为设按置前端本地震荡器的频率(LO),单位是Hz,范围从
84
MHz到
5400
MHz
-m 此参数是选择镜像抑制滤波器,
0
为旁路,
1
为低通,
2
为高通
-a 此参数为是否启用RX/TX射频放大电路,
0
为禁用,
1
为启用
-p 此参数为是否启用天线端口电源,
0
为禁用,
1
为启用
-l RX LNA(中频)增益,可以设置
0
-40d
b,
8d
b间隔
-g RX VGA(基频)增益,可以设置
0
-62d
b,
2d
b间隔
-x TX VGA(基频)增益,可以设置
0
-47d
b,
1d
b间隔
-s 此参数为设置采样率,单位是Hz,范围从
2
-20
Mhz,默认为
10
Mhz
-n 此参数为接收/发送的样本的个数,默认为无限制
-S 此参数为设置缓冲区大小
-c 此参数为设置CW信号源模式,振幅
0
-127
(DC值到DAC)
-R 此参数为设置是否开启重复发送,默认为关闭
-b 此参数为以Hz为单位,设置基带滤波器的带宽,以下是可能的值:
1.75
/
2.5
/
3.5
/
5.5
/
6
/
7
/
8
/
9
/
10
/
12
/
14
/
15
/
20
/
24
/
28
Mhz,计算公式为:
默认值<=
0.75
*采样率(Hz)
-C 此参数为将内部晶体、时钟设置为ppm
-H 此参数为设置设备使用GPIO引脚同步USB传输
我们可以使用下面的命令录制信号。无线遥控设备通常是 315MHZ 和 433.92MHZ,这里指定录制频率为315MHz。运行后,手动触发遥控信号。
HackRF_transfer -r
open
.raw -
f
315000000
-
l
16
-g
20
运行下面的命令重放刚刚录制的遥控信号。
HackRF_transfer -t
open
.raw -
f
315000000
-
x
40
除了在linux中使用HackRF_transfer接收和发送信号外,在windows中也可通过Universal Radio Hacker软件进行接收和发送。我们可以利用HackRF接收和发送信号的能力,实现重放攻击。为了方便演示,下面以GPS欺骗实验为例,测试HackRF发送信号的功能。
我们可以使用GPS-SDR-SIM生成GPS仿真数据,并使用HackRF_transfer命令发送欺骗GPS信号。这个项目的原理是gps-sdr-sim能根据指定的卫星信息文件、坐标信息、采样频率等参数输出二进制的信号文件,将这个二进制文件导入到USRP或者bladeRF之类的无线电射频设备上就可以实现GPS的伪造。
下载并编译 GPS-SDR-SIM。
git clone http
s:
//github.
com
/osqzss/gps-sdr-
sim
.git
cd
gps-sdr-
sim
gcc-mp-
5
gpssim.
c
-
lm
-O3 -
o
gps-sdr-
sim
编译完成后./gps-sdr-sim运行程序,该程序参数详细解析如下。
Usage: gps-sdr-
sim
[
options
]
Option
s:
-
e
<gps_nav>
卫星信息文件(必须)
-
u
<user_motion>
用户定义的坐标文件 (动态的位置信息)
-g
<nmea_gga>
NMEA坐标文件 (动态的位置信息)
-
l
<location>
坐标,维度-经度-海拔,例如:
30.286502
,
120.032669
,
100
-t <date,time> 模拟的开始时间 YYYY/MM/DD,hh:mm:ss
-d
<duration>
持续时间 [秒] (最大:
300
)
-
o
<output>
二进制文件的输出位置 (默认: gpssim.bin)
-s
<frequency>
采样频率 [Hz] (默认:
2600000
)
-
b
<iq_bits>
二进制文件格式 [
1
/
8
/
16
] (默认:
16
)
-v 更多细节信息
我们在世界地图中随意选取一个坐标与星历数据生成GPS仿真数据
./gps-sdr-
sim
-
e
brdc0010.
22
n -
l
95.64899170484503
,
25.988308575432956
-
b
8
电脑连接HackRF后使用HackRF_transfer程序发射GPS数据。
HackRF_transfer
-t
gpssim
.bin
-f
1575420000
-s
2600000
-a
1
-x
0
注 :其中1575420000指定的是发射的频率,而2600000是采样频率,并且HackRF 会在发送完300秒GPS信号后会自动停止。
我这里测试大概在2分钟后,手机高德地图被欺骗。
在这一小节中,我们初步了解了HackRF的接收和发送信号的功能。并通过指定操作进行了接收和发送,并以GPS欺骗实验为例,对HackRF One的信号发送有了一定程序的理解。在后续的小节中,我们会以GNU Radio相关实验为例深入了解HackRF One的信号接收和发送能力。
原文始发于微信公众号(蛇矛实验室):软件无线电安全之HackRF One初探
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论