如何使用HackRF做一个简单的IMSI捕获器
关于IMSI
IMSI为国际用户识别码(International Mobile Subscriber Identity)的缩写,是用于区分蜂窝网络中不同用户的,在所在蜂窝网络中不重复的识别码。IMSI可以用于在归属位置寄存器(HLR)和拜访位置寄存器(VLR)中查询用户信息,为了避免被监听者识别并追踪特定用户,有些情形下手机与网络之间的通信会使用随机生成的临时移动用户识别码(TMSI)代替IMSI。
如图,IMSI由MCC(移动国家代码),MNC(移动网络代码)以及MSIN(移动用户识别代码)组成,一般为15位。
准备工作
所需硬件
HackRF one
安装IMSI-catcher,gr-gsm,gnuradio及其他
安装过程可以参考这里,步骤基本相同。
apt-get install gnuradio gnuradio-dev gr-osmosdr sudo apt-get install git cmake libboost-all-dev libcppunit-dev swig doxygen liblog4cpp5-dev python-scipy
git clone https://github.com/ptrkrysik/gr-gsm.git
cd gr-gsm
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig git clone https://github.com/Oros42/IMSI-catcher.git
在/root/.gnuradio中创建文件config.conf并粘贴以下内容:
[grc]
local_blocks_path=/usr/local/share/gnuradio/grc/blocks
最后安装kalibrate-hackrf(可以不装,不装的话直接看下面)
apt-get install automake autoconf
git clone https://github.com/scateu/kalibrate-hackrf.git
cd kalibrate-hackrf
./bootstrap
./configure
make
make install
确定频率
如果安装了kalibrate-hackrf:
cd kalibrate-hackrf
cd src
./kal -s GSM900 -g -l
稍作等待,即出现下图所示情况
打开gr-gsm_livemon,选择刚刚获取的其中一个频率并进行微调,直到终端显示数据。
grgsm_livemon
出现数据就会像下图一样
如果没有装kalibrate-hackrf,那只能从一开始给的频率慢慢调了。
获取IMSI
切换目录
cd IMSI-catcher/
修改权限
chmod u+x simple_IMSI-catcher.py
运行
./simple_IMSI-catcher.py
稍等片刻,即可显示信息
打开wireshark可以查看更详细的信息
sudo wireshark -k -Y 'gsmtap && !icmp' -i lo
另:根据LAC和cellId可进行基站定位,点击这里进入定位网站
IMSI查询可以点击这里
参考来源:
https://zh.wikipedia.org/wiki/国际移动用户识别码
http://www.rtl-sdr.com/using-an-rtl-sdr-as-a-simple-imsi-catcher/
最新文章
- MIT 6.828 JOS学习笔记3. Exercise 1.2
- 实战Java虚拟机之二“虚拟机的工作模式”
- InfoObject共享
- (整理)SQLServer 大数据的插入与查询
- mORMot使用基础
- ehcache的介绍和使用
- android系统自带图标集合(android.R.drawable查看)
- OpenCms Application dev-ref
- Artificial Intelligence
- 【MySQL】SQL语法,between and 使用注意事项
- 转:测试计划(出处:: 51Testing软件测试网--zfx081)
- 使用ASIHttoRequest需要导入的framework
- SharePoint 2016 配置工作流环境
- combobox数据获取及使用总结
- 20155324《网络对抗》Exp2 后门原理与实践
- VS2015/Visual Studio快捷键无效问题
- dubbo的服务发现和注册如何实现
- PPT文件分析摘记
- APM飞控的使用心得
- [UI] 精美UI界面欣赏[9]