如何构建一台属于自己的基站?

上周我去特拉维夫(Tel Aviv)探望我的朋友结果有了一些收获,一块崭新的BladeRF(x40),即一个支持USB3.0的SDR平台,这就意味着可以同时发送和接收信息了。而HackRF不同于其他两款硬件,它不支持全双工。这意味着要切换收和发的话,必须每次给控制器发送命令。

微控制器处理切换可能要花费微秒级的时间。在这篇文章中将会介绍如何建立一个小型便携式GSM基站,GSM网络可以遭到攻击/劫持/拦截,当然你可以利用相对价格比较低的电子设备做到这一点。而本文也仅仅供交流学习使用。

本文中介绍的工具、技术带有一定的攻击性,请合理合法使用。

硬件要求

bladeRF x40 两个天线 树莓派3 充电宝(作者使用的是 Anker Astro E7(26800mAh)) 一个专为树莓派准备的SD卡(不低于8G)

软件

让我们开始为树莓派安装Raspbian系统(lite版),然后将系统写入SD卡中,开始启动树莓派,开始配置WiFi以及网络连接等,完成后应该可以用SSH方式对树莓派进行管理。

这一步将会进行的很快:

sudo apt-get install git apache2 php5 bladerf libbladerf-dev libbladerf0 automake

完成上一步,应该可以连接BladeRF,将其插入到树莓派一个USB端口中,输入dmesg 就可以看到相关信息了:

[ 2332.071675] usb 1-1.3: New USB device found, idVendor=1d50, idProduct=6066 [ 2332.071694] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [ 2332.071707] usb 1-1.3: Product: bladeRF [ 2332.071720] usb 1-1.3: Manufacturer: Nuand [ 2332.071732] usb 1-1.3: SerialNumber: b4ef330e19b718f752759b4c14020742

输入bladeRF-cli 以及version指令查看版本信息:

pi@raspberrypi:~ $ sudo bladeRF-cli -i bladeRF> version bladeRF-cli version: 0.11.1-git libbladeRF version: 0.16.2-git Firmware version: 1.6.1-git-053fb13-buildomatic FPGA version: 0.1.2 bladeRF>

当然bladeRF可以支持很宽的载频范围,带有一个大容量的FPGA,还有高速的USB3.0接口。通过上面的信息可以了解到具体的版本信息,而其它版本的固件在我们的配置条件下不可能工作的。

现在我们开始安装两个开源软件 Yate和YateBTS,这样我们就可以创建基站了。

而作者也花费了很长的时间来寻找与bladeRF适合的软件,作者已经将找到合适的程序了,你现在只需要这样做,就可以安装在树莓派home路径下的文件夹里面了:

git clone https://github.com/evilsocket/evilbts.git cd evilbts

我们开始正式安装那两个软件吧:

cd yate ./autogen.sh ./configure --prefix=/usr/local make -j4 sudo make install sudo ldconfig cd .. cd yatebts ./autogen.sh ./configure --prefix=/usr/local make -j4 sudo make install sudo ldconfig

这需要花费几分钟的时间,然后就可以完成安装了。接下来就需要在www文件夹目录下创建软连接:

cd /var/www/html/ sudo ln -s /usr/local/share/yate/nib_web nib

赋予配置文件权限:

sudo chmod a+w -r /usr/local/etc/yate

现在就可以在浏览器里面查看基站的网页了:

http://ip-of-your-rpi/nib

配置

使用 nano或vi编辑器打开 /usr/local/etc/yate/ybts.conf配置文件,然后更新里面信息:

Radio.Band=900 Radio.C0=1000 Identity.MCC=YOUR_COUNTRY_MCC Identity.MNC=YOUR_OPERATOR_MNC Identity.ShortName=MyEvilBTS Radio.PowerManager.MaxAttenDB=35 Radio.PowerManager.MinAttenDB=35

然后就可以找到mcc(移动国家代码)或mnc号(移动网络号码)。

现在可以编辑 /usr/local/etc/yate/subscribers.conf配置文件了:

country_code=YOUR_CONTRY_CODE regexp=.*

警告:如果使用“ .* ”(正则表达式)将会导致信号范围内的每一部具有GSM功能的手机连接到你的基站上。

在你的测试页面(NIB)上会看到这样的信息。

监听

在“Tapping”选项下,你可以配置 GSM以及GPRS选项,在测试接收机性能时,终端把收到的下行数据解调后重新编码调制并发回给测试仪器,然后仪器把终端环回的比特与原始发送的比特比较,计算BER(误码率)或FER(误帧率)或PER(误包率)。

这种所谓的环回模式(Loopback)被广泛应用于GSM接收机测试中。而这次也不例外,由于我还没有选择加密信息,所以你可以看见所有的gsm流量信息。

使用基站

现在可以通过输入指令的方式来操作基站吧( BladeRF插入状态):

sudo yate -s

如果配置都正确就可以看到这样一组信息:

Starting MBTS... Yate engine is initialized and starting up on raspberrypi RTNETLINK answers: File exists MBTS ready

在这一刻,BladeRF上中间的LED灯应该开始闪烁了。

测试

现在开始测试吧,手机会连接基站,当然这是由于GSM功能本身的原因。

现在你可以设置任何你想要的MCC、MNC、LAC(位置区域码),甚至可以骗过合法的基站了。

相信手机都会选择信号强的基站进行连接,小伙伴你说会连接哪个基站。作者用的三星 Galaxy S6手机做的测试,三分钟之后的截图:

现在你可以随意配置基站来做自己喜欢做的事情了,当然你也可以通过“代理”来做一个合法的SMC(一个GSM/3g USB dongle)或者获取GSM手机流量信息,或创建一个免费的SIP业务供人使用,更多信息参阅 YateBTS。

前面准备的充电宝也不是没有用的,插上充电宝之后就可以成为一个移动便携式的基站了。

*参考来源:evilsocket,FB小编亲爱的兔子编译,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

原文发布于微信公众号 - FreeBuf(freebuf)

原文发表时间:2016-04-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Seebug漏洞平台

VxWorks Fuzzing 之道:VxWorks 工控实时操作系统漏洞挖掘调试与利用揭秘

来自404实验室安全研究团队的对于VxWorks 工控实时操作系统进行的 Fuzzing 与漏洞挖掘调试、利用的安全探究。 0x00 前言 关于VxWorks,...

63450
来自专栏Linuxer的专栏

宋宝华:火焰图 全局视野的 Linux 性能剖析

火焰图的火焰首先来自于根,然后以火苗的形式往上面窜。可以把从靠近地面的根到顶上的每个火苗,想想成一个调用栈。由于火苗有很多根,这正好也和现实生活中程序的执行逻辑...

38600
来自专栏张戈的专栏

JuiceSSH:超好用的安卓移动端Linux系统运维终端工具

去年年底,我考虑到回老家之后可能会有工作上的紧急运维事务需要处理,家里没电脑网络,又不想背笔记本,所以考虑入手一个平板。安卓、IOS、Win8 板子,考虑良久之...

1.6K80
来自专栏FreeBuf

Kali Linux中优秀Wifi渗透工具TOP 10

这篇文章要讨论的是目前一个非常热门的话题:渗透无线网络以及如何防止无线网络被入侵。WiFi通常都是网络环境中的一个薄弱环节,因为WiFi信号可以在范围内的任何一...

57450
来自专栏林德熙的博客

VisualStudio 修改配色 使用 VisualStudio 配色应用Resharper配色

如果觉得 VisualStudio 的配色不好看,那么可以到这个网站下载其他的配色。

41820
来自专栏FreeBuf

RFID入门:Mifare1智能水卡破解分析

文章的最开始,先来致敬RadioWar。一直手痒RFID这个领域,准备了一段时间,开始入门RFID。 先来普及一下基础知识: RFID即为射频识别。NFC近场...

1.3K70
来自专栏施炯的IoT开发专栏

利用SDF2.3获取Windows Mobile上的IP地址和MAC地址

OpenNETCF的Smart Device Framework为开发者提供了许多开发捷径,其SDF1.x系列提供了完全的源代码,即Full Source,从...

20390
来自专栏友弟技术工作室

工欲善其事,必先利其器之------MAC工具类

前面分享了一篇《工欲善其事,必先利其器之------Ubuntu工具类》,今天分享MAC的工具。 由于我是一个程序员可能,工具偏开发一点。 ? 通用类的工具 ...

39380
来自专栏Rindew的iOS技术分享

Mac电脑使用虚拟机玩Win游戏,解决虚拟机游戏登录限制

1.1K20
来自专栏一个会写诗的程序员的博客

《MongoDB极简教程》第一章 NoSQL简史 & MongoDB安装&环境配置NoSQLNoSQL 简史CAP定理(CAP theorem)BASEMongoDB 特性&优势文档参考安装&环境配置

MongoDB 是一款开源的文档数据库,并且是业内领先的 NoSQL 数据库,用 C++ 编写而成。

12930

扫码关注云+社区

领取腾讯云代金券