HackRF配合Kali嗅探GSM信号

为本地实验,仅供安全研究参考。

实验过程

Sudo apt-get install update
Sudo apt-get install upgrade
sudo apt-get install hackrf libhackrf-dev libhackrf0 gnuradio gnuradio-dev gr-osmosdr gr-osmosdr gqrx-sdr wireshark automake gqrx-sdr gr-gsm
git clone https://github.com/scateu/kalibrate-hackrf.gitcd kalibrate-hackrf./bootstrap./configuremakesudo make install

插上hackrf 扫描基站信号

cd src
./kal -s GSM900 -g 40 -l 40

每个国家所采用的每个操作码都使用GSM频率段中的不同的频率,通常是从900Mhz开始。

这里使用40作为两个增益值,等待kalibrate运行一段时间,得到输出内容

运行gqrx:

点击OK 这里需要拔插一下HackRF,否则会识别为设备正在使用

输入扫到的基站频率,点击左上角start就可以看到频谱:

正确频率为峰值频率,可以用鼠标拖动红线到峰值频率,这样免于计算+-频率

下载扫描基站的软件:

Git clone https://github.com/Oros42/IMSI-catcher.git

安装依赖库:

Pip3 install numpy
Pip3 install scipy
Pip3 install scapy

关闭频谱监听器,开启两个新的终端:

先运行 grgsm_livemon -f 945.609M(这里我是自选的频率,根据之前扫描的信道频率进行选择)
再进入IMSI-catcher目录,终端运行
sudo python3 simple_IMSI-catcher.py --sniff

然后拖动控制频率的slide bar 直到出现数据,同时python脚本也扫描到基站信息(这里扫描到的都是基站,在同一信道频率下的基站,不同基站所用信道频率可能不同,同一信道频率下可能会有多个基站)

然后再打开一个终端,运行:

sudo wireshark -k -Y '!icmp && gsmtap' -i lo

抓到gsm数据报文