如何使用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 40 -l 40

稍作等待,即出現下圖所示情況

打開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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM