您好,登錄后才能下訂單哦!
GSM短信嗅探原理是什么,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
大家應該都聽說過HTTP協議,又聽說WEB服務,每一個服務的背后都有一個協議在工作著。所謂的沒有規矩不成方圓,說的就是這個道理,每一個細小的部分,都已經規定好,只要按照協議執行,就不會出現問題。同樣,GSM手機可以撥打電話,也就離不開相關協議的支持,這里就來介紹GSM協議。全球移動通信系統Global System for Mobile Communication就是眾所周知的GSM,是當前應用最為廣泛的移動電話標準。全球超過200個國家和地區超過10億人正在使用GSM電話。
GSM是一個蜂窩網絡,蜂窩網絡的原因,是因為一個數學結論,即以相同半徑的圓形覆蓋平面, 當圓心處于正六邊形網格的各正六邊形中心,也就是當圓心處于正三角網格的格點時所用圓的數量最少。作為運營商,為了考慮成本,不會建設大量多余的基站,那么采用蜂窩網絡即可覆蓋區域又可以減少基站數量,這不是很好么?是的,這很好。下面咱們就一塊聊聊基站。
首先,看一張圖片,這就是基站。大家肯定都見過,但是有沒有注意過,鐵塔的下面總會有一間小房子,那房子里面是什么呢?請看圖。其實就是一堆機器。里面究竟有哪些東西呢?組要組成有基站子系統(簡稱基站BS)由基站收發臺(BTS)和基站控制器(BSC)組成;網絡子系 統由移動交換中心(MSC)和操作維護中心(OMC)以及原地位置寄存器(HLR)、訪問 位置寄存器(VLR)、鑒權中心(AUC)和設備標志寄存器(EIR)等組成。
這個話題,咱們就在一起聊一聊基站與手機是如何通信的,這里只作一個大概的介紹,因為這里面的水很深,自己認識也不是特別的清楚。
首先說明一些常見的情況,為什么手機卡分屬各地呢?為什么市話便宜,長途貴?為什么要收取漫游費?當手機開機搜索信號時都與基站交換了什么呢?手機關機的時候又與基站交換了什么呢?下面,我給大家揭開迷霧。
在基站小節中,咱們分析基站了組成,其中有一個原地位置寄存器(HLR),HLR里面存放著本地的手機號信息,而訪問 位置寄存器(VLR)存放著外地來的手機號信息。通過判斷手機號的歸屬地,就可以區分本地和外地手機了,這就是區分歸屬地的原因了。
當你撥打電話的時候,首先會給基站請求,基站判斷出這個手機號的所在的基站,然后與基站、目標手機建立連接,對于目標在本地,數據只在本地的基站系統中傳輸,相當于計算機中的局域網,故資費便宜,當目標手機不在本地時,就需要連接外地的基站,傳輸距離長,過程相對復雜,故資費較高。
當自己身處外地的時候,有沒有想過,別人給自己打電話的時候,基站是如何尋找到自己的?其實,自己的手機時刻都連接的基站,當初在外地的時候,所連基站會在訪問 位置寄存器(VLR)中注冊一下,并向原籍基站進行請求相關信息,并告訴對方自己的位置,這樣原籍的基站就知道自己的位置。此時,別人撥打自己的電話會先通過本地的基站-->當前基站--〉手機,故需要額外的漫游費。自己撥打當地的市話,與本地撥打并沒有太大的區別。
基站會不停的對外廣播自己的信號及相關信息,手機只要搜索信號,選擇相應的連接上去即可,在連接過程會做一些信息的注冊,比如Imel,手機號等。當自己的手機正常關機時,也會給基站發送注銷信息,這樣別人撥打你的電話,就會提示已關機。假如自己的手機突然斷電,會意外的斷開與基站的連接,基站那面沒有完成正常的注銷操作,這樣別人撥打你的電話,就會提示暫時無法接通或者不在服務區。
說到這里,面對一個大基站,基站本身并不會對特定的方向的信號與你通信,而是以向四周廣播的形式,發送信號。那么就可以說,我們的手機實際上也是可以接收到其他手機的信號,對的,就是這樣,這就是無線,不像有線有一個專門的線路,只要把收到的信號給解密了,就可以嗅探別人的短信、語音通話。甚至可以假冒其他人的身份通話(當然,前提是可以突破目前的鑒權手段)。到這里,關于基站和手機的故事就到這里了。下面給大家介紹一下著名破解GSM的項目OsmocomBB。
之前說過神奇的OsmocomBB項目,這一節就做簡要的介紹。
OsmocomBB是國外一個開源項目,是GSM協議棧(Protocols stack)的開源實現,全稱是Open source mobile communication Baseband.目的是要實現手機端從物理層(layer1)到layer3的三層實現。
對于這一方面,國內的中文資料很好,并且是一個很敏感的話題,即使在烏云里面報告,運營商也是置之不理。短信內容的明文傳輸已經不是什么秘密了。
好了,盡管不是特別的了解這個項目,但是還是可以從宏觀的角度進行一個解釋,前面說了,服務和協議都是相輔相成的。只要可以搞懂完整的GSM通信協議,咱們就可以從物理層捕獲相關信號,通過對GSM的破解,可以對信號進行解密,從而獲得原文。
現在,咱們不需要深入了解GSM的工作原理,利用這個開源項目,進行簡單的配置,咱們就可以嗅探了!下一節,咱們具體談一談實驗的配置。重點在后面。這里對于初學的我,先暫時不深究了。
1、需要一個兼容的平臺(即硬件可以兼容交叉編譯環境,主要為手機):
這里官方推薦了幾個類型的手機
Designed + Manufactured by Compal, OEM by Motorola
MotorolaC115/C117 (E87)
MotorolaC123/C121/C118 (E88) -- our primary target
MotorolaC140/C139 (E86)
MotorolaC155 (E99) -- our secondary target
MotorolaV171 (E68/E69)
SonyEricssonJ100i
Designed by Pirelli/Foxconn?, manufactured by Foxconn
Pirelli DP-L10
Designed by Openmoko, manufactured by FIC
Neo 1973 (GTA01)
OpenMoko - Neo Freerunner (GTA02)
A list of potential targets that may be worth adding support for in the future is available at PotentialCalypsoTargets.
MTK based
Information specific to Mediatek phones that we support.
Designed + Manufactured by Bluelans
SciphoneDreamG2 (MT6235 based)
這是官網的推薦,這里我們采用的是MTC118,淘寶的價格也就幾十塊錢。
2、還需要USB串口轉換模塊
上圖是官網的推薦型號,這里我們采用FT232,盡管貴了點,但是比較穩定,效果好。
下面,上一圖,就是全部硬件了。
1、vim /etc/apt/sources.list 2、 deb http://mirrors.ustc.edu.cn/kali kali main non-free contrib deb-src http://mirrors.ustc.edu.cn/kali kali main non-free contrib deb http://mirrors.ustc.edu.cn/kali-security kali/updates main non-free //把這三行添加進去,wq保存 3、apt-get update 4、aptitude install libtool shtool autoconf git-core pkg-config make gcc 5、 apt-get install build-essential libgmp3-dev libmpfr-dev libx11-6 libx11-dev texinfo flex bison libncurses5 \libncurses5-dbg libncurses5-dev libncursesw5 libncursesw5-dbg libncursesw5-dev zlibc zlib1g-dev libmpfr4 libmpc-dev 6、wget -c http://bb.osmocom.org/trac/raw-attachment/wiki/GnuArmToolchain/gnu-arm-build.2.sh 7、chmod +x gnu-arm-build.2.sh 8、mkdir build install src 9、cd src/ 10、 wget http://ftp.gnu.org/gnu/gcc/gcc-4.5.2/gcc-4.5.2.tar.bz2 wget http://ftp.gnu.org/gnu/binutils/binutils-2.21.1a.tar.bz2 wget ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz 11、cd .. 12、./gnu-arm-build.2.sh 13、echo "export PATH=\$PATH:/root/install/bin">>/root/.bashrc 14、source /root/.bashrc 15、cd ~ 16、git clone git://git.osmocom.org/libosmocore.git 17、cd libosmocore/ 18、autoreconf -i 19、./configure 20、make 21、make install 22、cd .. 23、.ldconfig 24、cd .. 25、git clone git://git.osmocom.org/osmocom-bb.git 26、cd ~/osmocom-bb 27、git checkout --track origin/luca/gsmmap 28\cd src 29\make
如果出現的話,證明硬件連接成功。
第二步:
刷固件,就是把程序燒寫到手機里面,
輸入命令:
./osmocon -m c123xor -p /dev/ttyUSB0 ../../target/firmware/board/compal_e88/layer1.compalram.bin
然后按一下開機鍵,就開始刷了,接下來會出現過程代碼。
大概15秒后,完成,手機屏幕會出現如下提示,說明刷固件成功。
第三步:
新建一個終端,輸入命令:
cd ~/osmocom-bb/src/host/layer23/src/misc./cell_log -O
這個命令是掃描可用信道,會列出相關信道的信息
其中出現的ARFCN就是信道編號。
第四步:
新建一個終端,輸入命令:
./ccch_scan -i 127.0.0.1 -a 655
其中最后一個數字代表ARFCN號,就是根據上一個終端得出的結果。這個命令代表在信道655上嗅探。
第五步:
新開一個終端,輸入命令:
wireshark -k -i lo -f 'port 4729'
并且wireshark的過濾器選擇gsm_sms,就可靜靜的等待一下。
看完上述內容,你們掌握GSM短信嗅探原理是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。