這篇文章我將介紹如何制作中間人(MitM)設置來嗅探SIM卡和后端服務器之間的流量。雖然這不是一項新的研究,但我希望這將幫助一些沒有電信基礎的人學習移動數據嗅探和虛假基站的知識。但是我只會介紹使用2G和GPRS的SIM卡的方案。希望將來可以帶來更多關于3G,4G的文章吧!
為什么
隨著越來越多的物聯網設備誕生,這些設備一般通過SIM卡連接到其服務器。他們可以是很常見的東西,如咖啡機,智能手表,智能眼鏡,汽車或重要醫療設備等更大的東西。如果您想要嗅探物聯網設備和后端服務器之間的流量,這篇文章可以幫你。
目標
為了對移動數據流量進行中間人攻擊。我們需要使用USRP硬件制作了一個簡單的偽基站。
要求
我在文中提到的用于進行此設置的設備。當然還有許多其他代替品。所以我沒有任何聲稱這是最好的方法!
硬件
1.[USRP B210](https://www.ettus.com/product/details/UB210-KIT)(帶天線和電纜usb3連接到PC)
2.智能手機/或舊的GSM手機。在IoT pentest場景的情況下,我們在此處使用IoT設備。
3.一張SIM卡
4.一臺筆記本電腦
軟件
1.OpenBTS
2.SipauthServ
3.Smqueue(可選)
4.Asterisk(可選)
5.操作系統 – Ubuntu 16.04
什么是OpenBTS

OpenBTS.org是一個開源軟件項目,致力于制作電信協議和傳統的復雜的專有硬件系統,具有互聯網協議和靈活的軟件架構。OpenBTS軟件是一個Linux應用程序,它使用軟件定義的無線電向用戶設備提供標準的3GPP空中接口,同時將這些設備作為SIP端點呈現給Internet。這構成了一種新型無線網絡的基礎,該網絡有望擴大對未服務和服務不足市場的覆蓋范圍,同時釋放創新平臺,包括為新興網絡技術提供支持,例如針對物聯網的網絡技術。[參考](http://openbts.org/about/)
建立偽基站

首先要做的是運行OpenBTS。我按照此[鏈接](http://openbts.org/w/index.php?title=BuildInstallRun#Running_It_All)從源代碼構建OpenBTS。通常會有一些缺少的依賴項需要修復。除此之外,構建OpenBTS不需要特定的設置。首先,我們主要需要兩個服務,即OpenBTS本身和SipauthServe。從源代碼構建OpenBTS和SipauthServe后,啟動終端中的兩個服務。在上面的[鏈接]( http://openbts.org/w/index.php?title=BuildInstallRun#Running_It_All)中,還有其他組件,如Smqueue和Asterisk,它們使呼叫和SMS功能正常工作。但由于我們的重點主要是移動數據(這里是GPRS),我們在這里不關心設置這些組件。
運行OpenBTS
1.使用USB將USRP設備連接到計算機。
2.就我而言,我新建了一個虛擬機,我在其中構建了所有必需的軟件,移植起來很方便。但在使用虛擬機時,要確保具有USB轉發功能。在virtualbox中,您應該要啟用USB>設備> Ettus Research USRP B210(或類似的名稱。如果您不知道正確的名稱,請執行dmesg以確定。)
3.uhd_usrp_probe:使用此命令,用于Linux的USRP硬件驅動程序外設報告實用程序,一旦檢測到設備,將下載B210的固件。
4.運行SipauthServe:
home/dev/subscriberRegistry/apps$ sudo ./sipauthserve
5.運行OpenBTS:
home/dev/openbts/apps$ sudo ./OpenBTS
6.運行OpenBTSCLI
home/dev/openbts/apps$ sudo ./OpenBTSCLI
配置基站
在上面的步驟中,您會注意到我們運行了OpenBTSCLI。這主要是為了配置我們的OpenBTS。
下面是OpenBTSCLI中主要配置:
1.允許任何電話無需任何身份驗證即可連接到基站。無論其提供商。
OpenBTS> config Control.LUR.OpenRegistration
2.啟用GPRS
OpenBTS> config GPRS.Enable
3.啟用IP轉發
echo 1 > /proc/sys/net/ipv4/ip_forward
4.設置iptables:[這里](http://openbts.org/w/index.php?title=GPRS)詳細介紹了整個GPRS和IPtables設置。
讓手機連接到基站
智能手機需要更改某些設置才能使其連接到基站。如果是物聯網設備,需要設置更多東西,因為在物聯網設備中幾乎沒有選項來配置“移動網絡”。我們稍后會談到這一點。
設置Android手機
(在iPhone上基本相似。)
1.啟用2G。這將從4G下調至2G:設置>蜂窩網絡>首選網絡類型> 2G
2.添加APN:設置>蜂窩網絡>接入點名稱。添加時,請確保將MCC和MNC設置為與SIM卡相同的值。在德國,MCC為262.跨國公司將根據提供商進行更改。詳細信息查看此[鏈接](http://www.mcc-mnc.com/)。APN和Name值可以是任何值。此外,將身份驗證保持為none。

3.搜索我們的基站并手動連接到它:設置>蜂窩網絡>搜索網絡。通常它顯示為包括MCC和MNC值的數字。

如果您看到該消息,即您的手機已在網絡上注冊,則可以通過檢入OpenBTSCLI來確認:
OpenBTS> tmsis
這將顯示注冊到基站的SIM卡的IMSI。IMSI是SIM卡的私有標識符。具有IMSI的攻擊者可以識別和跟蹤訂戶的網絡。
移動數據嗅探
GPRS正常工作后,您應該可以在手機中實際看到“LTE”或移動數據符號的位置看到符號“G”。嘗試在智能手機的瀏覽器中搜索某些內容。這會超級慢。
|