天天看點

GSM Hacking:使用BladeRF、樹莓派、YatesBTS搭建便攜式GSM基站

<a href="http://images2015.cnblogs.com/blog/640760/201604/640760-20160425191307330-1396307915.jpg" target="_blank"></a>

每次看到黑客在網上釋出的那些GSM技術相關文章我都十分驚訝。然而在沒有Software Defined Radios (SDRs)之前,玩GSM并不便宜,除此之外想要好好玩你得下大功夫。

拓展閱讀

<a href="http://www.cnblogs.com/k1two2/p/5379655.html" target="_blank">GSM BTS Hacking: 利用BladeRF和開源BTS 5搭建基站</a>

<a href="http://www.cnblogs.com/k1two2/p/5358866.html" target="_blank">極客DIY:如何建構一台屬于自己的基站</a>

在閱讀多篇有關GSM基站的文章之後,我注意到有關GSM基站這個話題有許多的不一緻或者是講的不夠細緻。

基于這一點,我決定寫下今天這篇文章,進行手把手教學。

在文章開始之前,我要感謝所有開創GSM技術的黑客以及研究人員

<a href="http://images2015.cnblogs.com/blog/640760/201604/640760-20160425191834298-1925574669.jpg" target="_blank"></a>

硬體及價格

樹莓派作業系統及初始配置

<a href="http://images2015.cnblogs.com/blog/640760/201604/640760-20160425192033017-623401768.jpg" target="_blank"></a>

首先我們要做的就是下載下傳,解壓,安裝RASPBIAN Jessie Lite(Version: March 2016, Release date: 2016-03-18, Kernel version 4.1)鏡像到存儲卡中。

GSM Hacking:使用BladeRF、樹莓派、YatesBTS搭建便攜式GSM基站

在SD卡中完成安裝後就可以将其插入到樹莓派中了,啟動該裝置并進行初始化配置。

注意:你需要知道樹莓派配置設定的IP位址,在本文中樹莓派配置設定的IP位址為192.168.0.10

<a></a>

注意:在樹莓派中預設的使用者名為pi,預設的密碼為raspberry

現在你登入到樹莓派中,使用超級使用者運作配置指令

我們首先從檔案系統開始:

<a href="http://images2015.cnblogs.com/blog/640760/201604/640760-20160425192452377-653506595.jpg" target="_blank"></a>

<a href="http://images2015.cnblogs.com/blog/640760/201604/640760-20160425192459720-264830167.jpg" target="_blank"></a>

樹莓派重新開機之後你就可以開始安裝依賴包的程序了。

安裝依賴關系

你必須将這些必要的依賴包安裝到環境中去

連接配接Nuand bladeRF x40

現在你就可以将bladeRF x40插入到樹莓派的一個USB接口上,記得檢查是否連接配接到裝置。

Nuand bladeRF源代碼

下載下傳并安裝 Nuand bladeRF源代碼

Yate以及YateBTS (SubversiveBTS)源代碼

為了建立GSM基站你需要下載下傳并安裝Yate和YateBTS,他們都是開源軟體

感謝Simone Margaritelli,你不用去找相容bladeRF x40的Yate和YateBTS版本。他在Github上分享了一份清單

Nuand bladeRF x40固件

下載下傳并安裝 Nuand bladeRF x40 firmware v1.8.0

安裝完後,從樹莓派USB口拔下Nuand bladeRF x40,之後再重新插入。

現在我們是時候檢測安裝的bladeRF-cli, libbladeRF, Nuand bladeRF x40 firmware以及Nuand bladeRF x40 FPGA版本。

從bladeRF退出,直接鍵入‘quit’

Network in a Box (NIB) Web GUI

在Apache WWW目錄中給NIB Web GUI建立一個symlink,并賦予配置檔案的寫權限

配置GSM基站系統

現在你就可以通過浏覽器通路Network in a Box (NIB) Web GUI,并開始基站的配置

對于GSM基站系統,你需要設定以下值

GSM Hacking:使用BladeRF、樹莓派、YatesBTS搭建便攜式GSM基站

顯然在YateBTS的公開版本中,設定“Identity.ShortName” 值是沒有影響的。根據社群回報資訊,我們得知隻有一個商業版本設定這個值是有影響的。

在OpenBTS中,設定這個值能夠很好的完成工作。

是以設定“Identity.ShortName=SubversiveBTS”的值也是沒有影響的

支援訂閱者

你可能需要允許訂閱者的手機連接配接到GSM基站

GSM Hacking:使用BladeRF、樹莓派、YatesBTS搭建便攜式GSM基站

注意:* 正規表達式

Tapping選項

你可以激活GSM and GPRS,啟用這些選項你可以通過GSMTAP的L1/L2接口抓取GSM (發信号) 和GPRS (發信号和通信)

GSM Hacking:使用BladeRF、樹莓派、YatesBTS搭建便攜式GSM基站

至此,這個簡化版的配置就完成了。

接下來你需要配置GPRS提供資料連接配接(網際網路)

相信我,GPRS的資料連接配接非常慢

配置GPRS BTS Operability

首先我們需要使用IPTABLES配置GPRS的網絡連接配接

注意:改變樹莓派連接配接的wlan0網絡接口

對于GPRS operability,我們需要設定以下值

GSM Hacking:使用BladeRF、樹莓派、YatesBTS搭建便攜式GSM基站

開啟基站

執行以下指令開啟基站

如果所有配置都正确,你可以看到如下資訊

連接配接手機

你要手動在網絡清單中選擇“Test ID PLMN 1-1”網絡ID來連接配接到GSM基站

在本文中,網絡ID為“Test ID PLMN 1-1”是由于我們之前在“Identity.MCC =001”和 “Identity.MNC =01”中進行設定的

注意:MCC 和 MNC的值可以在這裡找到

GSM Hacking:使用BladeRF、樹莓派、YatesBTS搭建便攜式GSM基站

手機成功連接配接到GSM基站之後,會通過短信發送一條包含配置設定号碼的歡迎資訊。

<a href="http://images2015.cnblogs.com/blog/640760/201604/640760-20160425193750736-810660968.jpg" target="_blank"></a>

注意:你可以通過編輯/usr/local/share/yate/scripts/nib.js檔案修改歡迎資訊

<a href="http://images2015.cnblogs.com/blog/640760/201604/640760-20160425193817455-1529684666.jpg" target="_blank"></a>

訂閱者

在本節中你可以詳細管理基站的訂閱者

GSM Hacking:使用BladeRF、樹莓派、YatesBTS搭建便攜式GSM基站

在這裡你可以看到線上的訂閱者

<a href="http://images2015.cnblogs.com/blog/640760/201604/640760-20160425193910939-356999938.jpg" target="_blank"></a>

真實測試

在“Test ID PLMN 1-1” GSM基站上進行短信測試

在“Test ID PLMN 1-1”GSM基站上進行通話測試

在“Test ID PLMN 1-1”GSM基站上進行GPRS測試

參考資料

<a href="http://wiki.yatebts.com/index.php/Main_Page">http://wiki.yatebts.com/index.php/Main_Page</a>

<a href="https://github.com/Nuand/bladeRF/wiki/Setting-up-Yate-and-YateBTS-with-the-bladeRF">https://github.com/Nuand/bladeRF/wiki/Setting-up-Yate-and-YateBTS-with-the-bladeRF</a>

<a href="https://imjuanpablo.wordpress.com/2015/02/14/should-you-need-openbts-on-your-bladerf">https://imjuanpablo.wordpress.com/2015/02/14/should-you-need-openbts-on-your-bladerf</a>

<a href="https://evilsocket.net/2016/03/31/how-to-build-your-own-rogue-gsm-bts-for-fun-and-profit">https://evilsocket.net/2016/03/31/how-to-build-your-own-rogue-gsm-bts-for-fun-and-profit</a>

<a href="http://linux.net.pk/blog/poor-mans-gsm-bts-nuands-bladerf-openbts-5-setup-instructions">http://linux.net.pk/blog/poor-mans-gsm-bts-nuands-bladerf-openbts-5-setup-instructions</a>

<a href="https://discourse.criticalengineering.org/t/howto-gsm-base-station-with-the-beaglebone-black-debian-gnu-linux-and-a-usrp/56">https://discourse.criticalengineering.org/t/howto-gsm-base-station-with-the-beaglebone-black-debian-gnu-linux-and-a-usrp/56</a>

<a href="https://github.com/Nuand/bladeRF/wiki/Minimalistic-build-and-run-test-for-OpenBTS-5">https://github.com/Nuand/bladeRF/wiki/Minimalistic-build-and-run-test-for-OpenBTS-5</a>

<a href="https://www.raspberrypi.org/documentation/installation/installing-images/linux.md">https://www.raspberrypi.org/documentation/installation/installing-images/linux.md</a>

<a href="http://www.circuitbasics.com/raspberry-pi-basics-setup-without-monitor-keyboard-headless-mode/">http://www.circuitbasics.com/raspberry-pi-basics-setup-without-monitor-keyboard-headless-mode/</a>

本文轉自 K1two2 部落格園部落格,原文連結: http://www.cnblogs.com/k1two2/p/5432437.html ,如需轉載請自行聯系原作者

繼續閱讀