HackRF 入门 -- GPS欺骗、GSM嗅探
上一节已经对HackRF升级了最新的固件,今天我们利用它做一些简单的实验。因为本人也是小白,所以本文并没有任何复杂的理论知识,只要会用Linux按照顺序一步一步操作都可以实验成功。
0x01 GPS欺骗
第一个实验使用GPS-SDR-SIM生成GPS仿真数据,使用hackrf_transfer发送欺骗GPS信号。
下载并编译 GPS-SDR-SIM
1 | git clone https://github.com/osqzss/gps-sdr-sim.git |
生成GPS仿真数据
1 | ./gps-sdr-sim -e brdc3540.14n -l 31.603202,120.466576,100 -b 8 -d 100 |
具体每个参数应该怎样设置可以参照参考文献或官方文档。在这里需要注意的是,参考的两篇文章都没有添加 -d
参数,实验的过程中发现没有这个参数生成的仿真文件为空,所以我在这里使用-d 100
生成了一个100s的gps信号文件(约500M)。
如果把
-d
设置为10
,我这边无法成功欺骗手机。
发射GPS数据
使用HackRF套件的hackrf_transfer程序发射GPS数据
1 | hackrf_transfer -t gpssim.bin -f 1575420000 -s 2600000 -a 1 -x 0 |
HackRF 在发送完100秒GPS信号后会自动停止,如果想重复循环发送信号,可以在后面加上-R
参数
运行后第53秒手机被成功欺骗^_^
参考
[1] 使用HackRF和外部时钟实现GPS欺骗实验
[2] HackRF实现GPS欺骗教程
0x02 利用hackRF嗅探GSM网络流量
一篇参考
可以直接转到这篇文章《利用hackRF嗅探GSM网络流量》,一步一步照做就行了。下面是我在嗅探时的截图:
如果编译安装过程出问题,可以参照官方文档的编译方法:Manual compilation and installation
另一篇参考
还有另一篇GSM Hacking Part ① :使用SDR扫描嗅探GSM网络写的也很好,不过里面有一个错误,在运行grgsm_livemon -f 937.4
嗅探的时候会报错
1 | return _osmosdr_swig.source_sptr_set_center_freq(self, freq, chan) |
不知道是作者笔误还是grgsm的开发者修改了参数,这行-f
参数应该以HZ
为单位,所以输入grgsm_livemon -f 937400000
,程序运行成功。
airprobe_rtlsdr.py 还是 grgsm_livemon ?
看完上面两篇文章会发现他们用了不同的命令来嗅探,一个是airprobe_rtlsdr.py
另一个是grgsm_livemon
。其实这两个命令是一样的,具体可以参考ptrkrysik/gr-gsm/Usage。我们进入/usr/local/bin
目录也会发现airprobe_rtlsdr.py
只是对应grgsm_livemon
的链接:
1 | root staff 12 Mar 15 02:31 airprobe_decode.py -> grgsm_decode* |
0x03 未完待续
接下来的工作主要是解密收到的GSM信号,解密LTE信号,以及搭建伪基站。
GSM Hacking:如何对GSM/GPRS网络测试进行测试?
GSM Hacking Part ② :使用SDR捕获GSM网络数据并解密
使用HackRF解调TDD-LTE信号