每次看到黑客在网上发布的那些GSM技术相关文章我都十分惊讶。然而在没有Software Defined Radios (SDRs)之前,玩GSM并不便宜,除此之外想要好好玩你得下大功夫。
GSM BTS Hacking: 利用BladeRF和开源BTS 5搭建基站
在阅读多篇有关GSM基站的文章之后,我注意到有关GSM基站这个话题有许多的不一致或者是讲的不够细致。
基于这一点,我决定写下今天这篇文章,进行手把手教学。
在文章开始之前,我要感谢所有开创GSM技术的黑客以及研究人员
尤其我要感谢Karsten Nohl(这哥们就是Ninja)出版的有关GSM Hacking的书籍(可以去看看他所使用的SS7协议),以及感谢Simone Margaritelli写下的“How To Build Your Own Rogue GSM BTS For Fun And Profit“(中文版本可以参考FreeBuf发布的 极客DIY:如何构建一台属于自己的基站 )译文,让我第一次实现了GSM基站的搭建。
- A Nuand bladeRF x40 USB 3.0 Software Defined Radio. Price: $420.00
- Two Quad-band Cellular Duck Antennas SMA. Price: $15,9
- A Raspberry Pi 3 Model B Kit. Price: $69,99
- A Anker Astro E7 26800mAh Portable Charger (optional). Price: $54,99
首先我们要做的就是下载,解压,安装RASPBIAN Jessie Lite(Version: March 2016, Release date: 2016-03-18, Kernel version 4.1)镜像到存储卡中。
wget -c http://vx2-downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2016-03-18/2016-03-18-raspbian-jessie-lite.zip
unzip 2016-03-18-raspbian-jessie-lite.zip
dd if=2016-03-18-raspbian-jessie-lite.img of=/dev/Your_MicroSD_Device
在SD卡中完成安装后就可以将其插入到树莓派中了,启动该设备并进行初始化配置。
blog@strcpy.info:/home/blog/$ ssh pi@192.168.0.10
pi@192.168.0.10's password:
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Fri Apr 22 15:00:30 2016 from strcpy.info
pi@raspberry:~ $
现在你登录到树莓派中,使用超级用户运行配置命令
我们首先从文件系统开始:
pi@raspberry:~ $ sudo su
root@raspberrypi:/home/pi# raspi-config
树莓派重启之后你就可以开始安装依赖包的进程了。
你必须将这些必要的依赖包安装到环境中去
blog@strcpy.info:/home/blog/$ ssh pi@192.168.0.10
pi@raspberry:~ $ sudo su
root@raspberry:/home/pi# apt-get update
root@raspberry:/home/pi# apt-get install git telnet apache2 php5 libusb-1.0-0 libusb-1.0-0-dbg libusb-1.0-0-dev cmake automake
现在你就可以将bladeRF x40插入到树莓派的一个USB接口上,记得检查是否连接到设备。
root@raspberry:/home/pi# dmesg
[ 2092.437659] usb 1-1.2: New USB device found, idVendor=1d50, idProduct=6066
[ 2092.437679] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2092.437692] usb 1-1.2: Product: bladeRF
[ 2092.437704] usb 1-1.2: Manufacturer: Nuand
[ 2092.437716] usb 1-1.2: SerialNumber: 4c132c8ba43e0c4d922418a29a1ce207
下载并安装 Nuand bladeRF源代码
root@raspberry:/home/pi# cd /tmp
root@raspberry:/tmp# wget -c https://github.com/Nuand/bladeRF/archive/master.zip
root@raspberry:/tmp# unzip master.zip
root@raspberry:/tmp# cd bladeRF-master
root@raspberry:/tmp/bladeRF-master# cd host
root@raspberry:/tmp/bladeRF-master/host# mkdir build
root@raspberry:/tmp/bladeRF-master/host# cd build
root@raspberry:/tmp/bladeRF-master/host/build# cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DINSTALL_UDEV_RULES=ON ../
root@raspberry:/tmp/bladeRF-master/host/build# make -j4
root@raspberry:/tmp/bladeRF-master/host/build# make install > install.log
root@raspberry:/tmp/bladeRF-master/host/build# ldconfig
为了创建GSM基站你需要下载并安装Yate和YateBTS,他们都是开源软件
感谢Simone Margaritelli,你不用去找兼容bladeRF x40的Yate和YateBTS版本。他在Github上分享了一份清单
root@raspberry:/tmp/bladeRF-master/host/build# cd /tmp
root@raspberry:/tmp# git clone https://github.com/strcpyblog/SubversiveBTS.git
root@raspberry:/tmp# cd SubversiveBTS/yate
root@raspberry:/tmp/SubversiveBTS/yate# ./autogen.sh
root@raspberry:/tmp/SubversiveBTS/yate# ./configure --prefix=/usr/local
root@raspberry:/tmp/SubversiveBTS/yate# make -j4
root@raspberry:/tmp/SubversiveBTS/yate# make install > install.log
root@raspberry:/tmp/SubversiveBTS/yate# ldconfig
root@raspberry:/tmp/SubversiveBTS/yate# cd /tmp/SubversiveBTS/yatebts
root@raspberry:/tmp/SubversiveBTS/yatebts# ./autogen.sh
root@raspberry:/tmp/SubversiveBTS/yatebts# ./configure --prefix=/usr/local
root@raspberry:/tmp/SubversiveBTS/yatebts# make -j4
root@raspberry:/tmp/SubversiveBTS/yatebts# make install > install.log
root@raspberry:/tmp/SubversiveBTS/yatebts# ldconfig
下载并安装 Nuand bladeRF x40 firmware v1.8.0
root@raspberry:/tmp/SubversiveBTS/yatebts# cd /tmp
root@raspberry:/tmp/# wget -c http://www.nuand.com/fx3/bladeRF_fw_v1.8.0.img
root@raspberry:/tmp/# bladeRF-cli -f bladeRF_fw_v1.8.0.img -v verbose
安装完后,从树莓派USB口拔下Nuand bladeRF x40,之后再重新插入。
现在我们是时候检测安装的bladeRF-cli, libbladeRF, Nuand bladeRF x40 firmware以及Nuand bladeRF x40 FPGA版本。
root@raspberry:/tmp/# bladeRF-cli -i
bladeRF> version
bladeRF-cli version: 1.3.1-git-unknown
libbladeRF version: 1.6.1-git-unknown
Firmware version: 1.8.0
FPGA version: Unknown (FPGA not loaded)
bladeRF>
从bladeRF退出,直接键入‘quit’
在Apache WWW目录中给NIB Web GUI创建一个symlink,并赋予配置文件的写权限
root@raspberry:/tmp/# cd /var/www/html
root@raspberry:/var/www/html# ln -s /usr/local/share/yate/nib_web nib
root@raspberry:/var/www/html# chmod -R a+w /usr/local/etc/yate
现在你就可以通过浏览器访问Network in a Box (NIB) Web GUI,并开始基站的配置
注意:在浏览器键入http://192.168.0.10/nib
对于GSM基站系统,你需要设置以下值
Radio.Band=900
Radio.C0=75
Identity.MCC=001
Identity.MNC=01
Radio.PowerManager.MaxAttenDB=35
Radio.PowerManager.MinAttenDB=35
显然在YateBTS的公开版本中,设置“Identity.ShortName” 值是没有影响的。根据社区反馈信息,我们得知只有一个商业版本设置这个值是有影响的。
在OpenBTS中,设置这个值能够很好的完成工作。
因此设置“Identity.ShortName=SubversiveBTS”的值也是没有影响的
你可能需要允许订阅者的手机连接到GSM基站
你可以激活GSM and GPRS,启用这些选项你可以通过GSMTAP的L1/L2接口抓取GSM (发信号) 和GPRS (发信号和通信)
至此,这个简化版的配置就完成了。
接下来你需要配置GPRS提供数据连接(互联网)
相信我,GPRS的数据连接非常慢
首先我们需要使用IPTABLES配置GPRS的网络连接
root@raspberry:/var/www/html# iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
对于GPRS operability,我们需要设置以下值
Firewall.Enable=no firewall
MS.IP.Base=192.168.1.20
MS.IP.MaxCount=5
执行以下命令开启基站
root@raspberry:/# yate -s
如果所有配置都正确,你可以看到如下信息
...
Release 5.0.1 formal build date Apr 22 2016 rev
Starting MBTS...
Yate engine is initialized and starting up on GhostBTS
RTNETLINK answers: File exists
MBTS ready
你要手动在网络列表中选择“Test ID PLMN 1-1”网络ID来连接到GSM基站
在本文中,网络ID为“Test ID PLMN 1-1”是由于我们之前在“Identity.MCC =001”和 “Identity.MNC =01”中进行设置的
手机成功连接到GSM基站之后,会通过短信发送一条包含分配号码的欢迎信息。
在本节中你可以详细管理基站的订阅者
在这里你可以看到在线的订阅者
在“Test ID PLMN 1-1” GSM基站上进行短信测试
在“Test ID PLMN 1-1”GSM基站上进行通话测试
在“Test ID PLMN 1-1”GSM基站上进行GPRS测试
*原文链接:strcpy,鸢尾编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)
11月 上海
CIS 2019首席信息安全官闭门高峰论坛11月
CIS 2019议题抢先看10月
公开课双十一活动9月 上海
CIS 2019官网上线,早鸟票同步开售
已有 18 条评论
https://github.com/Nuand/bladeRF/wiki/Minimalistic-build-and-run-test-for-OpenBTS-5
不是
喂,婆婆吗![笑cry]
转发微博
投资有点大 玩不起啊
@ 二哈来个公主抱 成本不超过4000
@ 鸢尾 666,AV哥真土豪!
如果有朋友在国外可以帮忙带回来的话,总成本不超过4000软妹币。
我来看看
尼玛,又出来这么篇东西
好牛逼
不是我的领域
这是相关机关缴获的吧 以前我也要和领导借了玩玩来着 领导死活不让 没记错的话默认数据库密码好像nb250+38
能不能用简单、直白的话说一下这么折腾是为了什么 ? 原理是什么 ?
@ linux0ne 你老了
原来我们自己慢慢的玩骚扰耶。
有木有低成本一点的,树莓派现在是有了,但是BladeRF太贵了,淘宝4K左右,,,有没有廉价的替代品
limeSDR 可以模拟成blax40麽