IMSI-catcher可以分为两类,一类为主动型,即构建伪基站,迫使UE连入伪基站来实现IMSI的获取;另一类是被动攻击,即仅检测正常基站中的信息,通过分析来获取IMSI。大家可以看博文内容,了解IMSI获取的一般过程,以及在5G网络中对其进行的改进。
5G时代,与IMSI安全的梗概_二日-Wilson的博客-CSDN博客_imsi码泄露的危害
本文介绍的是使用HackRF One嗅探基站信息来获取用户IMSI的,通过上一篇博客,我们已可以实现使用HackRF One来实现GSM基站的嗅探,本文讲继续往下进行实验。
1 首先从github下载IMSI-cather程序
git clone https://github.com/Oros42/IMSI-catcher.git
2 之后需要安装python-numpy python-scipy python-scapy
pip3 install numpy
pip3 install scipy
pip3 install scapy
3 这样IMSI-catcher的程序安装已经完成,使用livemon指令来监听1828.6MHz。同时在另外一个窗口中使用simple_IMSI-catcher来监听端口,记得要加-s参数哦,是指定其进行监听的。当然你也可以输入-h来获取帮助,可以使用-a来显示没有获取IMSI终端的TMSI;-p来更改监听的端口;-t将结果存储成txt文件。
python3 grgsm_livemon -f 1828.6M
sudo ./simple_IMSI-catcher.py -s
使用IMSI-catcher来进行IMSI被动获取是比较容易的,但其需要等设备进行身份认证才能够成果捕获到,我通过讲手机设置为仅使用2G,并没有捕获到自己的IMSI,于是怀疑是因为有TMSI的存在,因此关机一夜,第二天再捕获,仍然没有捕获到...在目前我的知识储备下,怀疑可能的原因有两个:1、TMSI的存储时间很久,并没有失效;2、USIM卡设置了防护机制。
具体什么愿意我也不清楚,如果有知道的小伙伴欢迎留言,如果后面通过学习,我知道了原因,也会补充博客告诉大家。