天天看點

使用OpenBTS基站測試物聯網子產品安全性

使用OpenBTS基站測試物聯網子產品安全性

0×00 引子

近年來,随着雲計算、物聯網技術的快速發展,物聯網的理念和相關技術産品已經廣泛滲透到社會經濟民生的各個領域,越來越多的穿戴裝置、家用電器通過藍牙、Wi-Fi、Li-Fi、z-wave、LoRa等技術接入網際網路,成為聯網的終端裝置。

使用OpenBTS基站測試物聯網子產品安全性

但是由于這些技術普遍為短距離無線通信技術,通常被設計用于室内和短距離使用,在室外尤其是非視距下性能表現非常差,而作為現有成熟的GSM(Global System for Mobile Communication)技術,因其網絡在全國範圍内實作了聯網和漫遊,在網絡資源、傳輸特性及資料可靠性等方面的優勢,提供了一個機動、靈活、可靠的遠距離傳輸方式,是以使用GSM子產品聯網的方案也被廣泛使用。

使用OpenBTS基站測試物聯網子產品安全性

0×01 測試短闆

針對短距離無線通信技術的測試方法有很多,同時也被大家所悉知、使用,是以這裡不再一一詳述。而對于通過使用2G/GSM、3G/UMTS以及4G/LTE基站聯網通信的裝置,例如智能電表、POS機、抓娃娃機、自動售貨機這些硬體的測試方法、技巧卻是寥寥無幾,幾乎一片空白。

使用OpenBTS基站測試物聯網子產品安全性

本文将分享如何通過SDR加開源項目搭建僞基站并使用僞基站的GPRS功能作為網關來進行GSM/GPRS網絡測試,并對GSM子產品的硬體流量進行攔截、分析、重放等。

使用OpenBTS基站測試物聯網子產品安全性

0×02 環境搭建

2.1 更新

<a></a>

2.2 搭建OpenBTS開發環境

編譯下載下傳的源碼,因為使用的是USRP B200 build腳本後加SDR硬體 ,如果使用的是USRP N200 則執行./build.sh N200(過程中需從谷歌下載下傳源碼,建議全程FQ,否則會報錯!)

使用OpenBTS基站測試物聯網子產品安全性

編譯過程根據網絡、機器性能而異,通常在30-45分鐘左右,編譯完成後,ubuntu自動安裝GnuRadio、USRP的UHD驅動等相關SDR環境,但USRP的固件還需手動下載下傳:

編譯完成後也會在BUILD目錄下生成一個以編譯時間為名的檔案,如果系統為32bit編譯後則在該目錄下生成i386.deb的軟體包,如果系統為64bit則生成amd64.deb :

使用OpenBTS基站測試物聯網子產品安全性

2.3 更新&amp;安裝依賴包

2.4 安裝編譯完成的DEB軟體包

需注意是否有報錯:

0×03 開啟資料轉發、配置iptables

因為OpenBTS基站的GPRS網絡流量是基于PC機,是以在開啟基站GPRS功能前,需要開啟資料包轉發以及配置Iptables防火牆規則。

3.1 開啟資料包轉發:

ubuntu開資料轉發需以root身份執行,如果不是root使用者,即使使用sudo也無法開啟:

使用OpenBTS基站測試物聯網子產品安全性

3.2 配置iptables規則:

/etc/OpenBTS/iptables.rules 配置規則檔案内容如下:

使用OpenBTS基站測試物聯網子產品安全性

某些情況下機器的網卡并非eth0 ,是以需要根據自身實際情況,靈活地修改配置檔案。

使用OpenBTS基站測試物聯網子產品安全性

3.3 加載資料庫

使用OpenBTS基站測試物聯網子產品安全性

3.4 配置asterisk

Asterisk是運作在Linux上來實作使用者電話交換的IP-PBX系統開源軟體,支援各種的VOIP協定。Asterisk提供了很多以前隻有昂貴、專業的PBX系統才支援的功能,如:會議電話、語音信箱、互動式語音應答、自動電話轉接。

在/etc/asterisk/目錄中需要修改sip.conf、extensions.conf 具體方法:将手機的IMSI國際使用者識别碼和配置設定的号碼登記資料asterisk中,也就是将資料寫入sip.conf、extensions.conf兩個配置檔案。 SIP.CONF:

callerid=2000003,表示将IMSI為46001658*****19的手機配置設定号碼2000003;

canreinvite=no,表示被呼叫的手機一旦建立連接配接後OpenBTS将不再發送重新邀請的指令;

context=sip-external,表示允許外部未配置設定号碼的匿名電話呼入。

0×04 啟動基站:

4.1 執行 transceiver連接配接SDR硬體

使用OpenBTS基站測試物聯網子產品安全性

4.3 執行smqueue,啟用短信服務

使用OpenBTS基站測試物聯網子產品安全性

4.4 執行sipauthserve,啟用鑒權服務

使用OpenBTS基站測試物聯網子產品安全性

4.5 asterisk -vvvc or asterisk -r

使用OpenBTS基站測試物聯網子產品安全性
使用OpenBTS基站測試物聯網子產品安全性

4.6 啟動OpenBTS終端控制台:

使用OpenBTS基站測試物聯網子產品安全性

<a href="http://images2015.cnblogs.com/blog/640760/201701/640760-20170111081448806-1653869029.jpg" target="_blank"></a>

0×05 配置基站

GSM 900頻段瀑布圖:

<a href="http://images2015.cnblogs.com/blog/640760/201701/640760-20170111081813619-1701830283.png" target="_blank"></a>

gr-gsm &amp;Kal掃描GSM基站

<a href="http://images2015.cnblogs.com/blog/640760/201701/640760-20170111081906822-1427840369.png" target="_blank"></a>

<a href="http://images2015.cnblogs.com/blog/640760/201701/640760-20170111081934806-1001315701.png" target="_blank"></a>

剛搭建完成的基站由于天線功率過大以及手機跟基站的距離太近等原因,可能會導緻手機不能正常加入到基站,這時需要配置加入基站的條件以及設定天線功率:

允許任意機器接入:

使用OpenBTS基站測試物聯網子產品安全性

設定天線功率:

設定基站頻段:

設定歡迎短信:

<a href="http://images2015.cnblogs.com/blog/640760/201701/640760-20170111082238713-234115378.jpg" target="_blank"></a>

設定基站名:

将基站設定為測試網絡:

将基站設定為國内: MCC460 為中國

設定營運商為聯通:

設定營運商為移動:

設定ARFCN、LAC、BCC

網絡色碼,NCC,一般用于辨別營運商;基站色碼,BCC,區分同一營運商下的相同BCCH的不同基站。

一般采用BCCH頻點和BSIC來聯合辨別小區,BSIC=NCC+BCC。在TD和WCDMA裡,存在PLMN,PLMN=MCC+MNC,其中MCC為移動國家碼,MNC為移動網絡碼辨別營運商。

基站切換的時候,主要是通過CI、BCCHBSIC等資訊尋找目标小區,當同時檢測到鄰區清單裡出現同BCCH同擾碼組的小區時,容易出現切換失敗。

使用OpenBTS基站測試物聯網子產品安全性

使用者管理

在3.4配置asterisk再我們給部分使用者配置了callerid号碼,啟動OpenBTS後可通過NodeManager目錄下的nmcli.py腳本進行使用者管理:

添加使用者示例:

将123456 (MSISDN碼)配置設定到IMSI 碼為46001658*****19的LG G3裝置中

讀取已錄入資訊:

啟用GPRS功能:

<a href="http://images2015.cnblogs.com/blog/640760/201701/640760-20170111082731416-2133644555.png" target="_blank"></a>

設定基站DNS伺服器:

編輯/etc/resolv.conf

為防止機器重新開機或重新開機網絡後/etc/resolv.conf檔案被重寫複原,可修改/etc/resolvconf/resolv.conf.d/head

設定GGSN日志存放路徑:

檢視已加入基站的裝置:

檢視日志:cat /var/log/OpenBTS.log

配置檔案:/etc/rsyslog.d/OpenBTS.conf

發送短信:sendsms $IMSI $号碼  ”$内容”

<a href="http://images2015.cnblogs.com/blog/640760/201701/640760-20170111082943806-938931479.png" target="_blank"></a>

<a href="http://images2015.cnblogs.com/blog/640760/201701/640760-20170111083049556-2024044119.png" target="_blank"></a>

OpenBTS+Burp suite

<a href="http://images2015.cnblogs.com/blog/640760/201701/640760-20170111083222947-296579464.png" target="_blank"></a>

0×06 硬體調試

硬體晶片子產品

<a href="http://images2015.cnblogs.com/blog/640760/201701/640760-20170111083335025-1465067780.jpg" target="_blank"></a>

G510-Q50-00 Pin Definitoins

<a href="http://images2015.cnblogs.com/blog/640760/201701/640760-20170111083457681-1224975332.png" target="_blank"></a>

焊接TTL進行調試:

序列槽調試:

<a href="http://images2015.cnblogs.com/blog/640760/201701/640760-20170111083849963-1254332762.png" target="_blank"></a>

0×07 refer

GSM/GPRS Traffic Interception for Penetration Testing Engagements

<a href="https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2016/may/gsmgprs-traffic-interception-for-penetration-testing-engagements/" target="_blank">https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2016/may/gsmgprs-traffic-interception-for-penetration-testing-engagements/</a>

Getting Started with OpenBTS

OpenBTS Application Suite Release 4.0 User Manual

<a href="http://openbts.org/site/wp-content/uploads/2014/07/OpenBTS-4.0-Manual.pdf" target="_blank">http://openbts.org/site/wp-content/uploads/2014/07/OpenBTS-4.0-Manual.pdf</a>

OpenBTS BuildInstallRun

<a href="http://openbts.org/w/index.php?title=BuildInstallRun" target="_blank">http://openbts.org/w/index.php?title=BuildInstallRun</a>

<a href="http://openbts.org/w/index.php?title=OpenBTS-UMTS" target="_blank">http://openbts.org/w/index.php?title=OpenBTS-UMTS</a>

<a href="https://wush.net/trac/rangepublic/wiki/GPRS" target="_blank">https://wush.net/trac/rangepublic/wiki/GPRS</a>

How to get 3G working on the UmTRX

<a href="https://fairwaves.co/blog/openbts-umts-3g-umtrx/" target="_blank">https://fairwaves.co/blog/openbts-umts-3g-umtrx/</a>

FIBOCOM G510

<a href="http://www.fibocom.com/product/2-1-2-1.html" target="_blank">http://www.fibocom.com/product/2-1-2-1.html</a>

FIBOCOM G510 Q50-00

<a href="http://www.tme.eu/gb/details/g510-q50-00/gsmgpsgprshspaedgelte-modules/fibocom/g510-q50-00/" target="_blank">http://www.tme.eu/gb/details/g510-q50-00/gsmgpsgprshspaedgelte-modules/fibocom/g510-q50-00/</a>

<a href="http://www.fibocom.com/upfile/down/document_2_1_2_1.pdf" target="_blank">http://www.fibocom.com/upfile/down/document_2_1_2_1.pdf</a>

<a href="http://www.tme.eu/gb/Document/fabb43e22a46fba821931db19e577988/FIBOCOM_G510_U_M.pdf" target="_blank">http://www.tme.eu/gb/Document/fabb43e22a46fba821931db19e577988/FIBOCOM_G510_U_M.pdf</a>

<a href="http://www.mouser.cn/ProductDetail/STMicroelectronics/STM32F103C8T6/?qs=bhCVus9SdFtq6kqxsU5%2FDA%3D%3D" target="_blank">http://www.mouser.cn/ProductDetail/STMicroelectronics/STM32F103C8T6/?qs=bhCVus9SdFtq6kqxsU5%2FDA%3D%3D</a>

原文位址:http://www.freebuf.com/articles/wireless/124147.html 本文轉自 K1two2 部落格園部落格,原文連結: <b>http://www.cnblogs.com/k1two2/p/6272278.html</b>   ,如需轉載請自行聯系原作者

繼續閱讀