极客DIY:如何构建一台属于自己的基站

写在前面(原文作者)

上周我去特拉维夫(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手机(Network Cell Info Lite应用程序)做的测试,三分钟之后的截图:

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

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

扩展阅读

https://github.com/Nuand/bladeRF/wiki/Setting-up-Yate-and-YateBTS-with-the-bladeRF

https://z4ziggy.wordpress.com/2015/05/17/sniffing-gsm-traffic-with-hackrf/

https://z4ziggy.wordpress.com/2015/05/10/ziggys-embedded-bts/

http://wiki.yatebts.com/index.php/Main_Page

*参考来源evilsocket

时间: 2024-10-01 02:17:00

极客DIY:如何构建一台属于自己的基站的相关文章

极客DIY:廉价电视棒玩转GNSS-SDR,实现GPS实时定位

0×00 前言 GNSS是Global Navigation Satellite System的缩写.中文称作:全球卫星导航系统.全球导航卫星系统.   GNSS泛指所有的卫星导航系统,包括全球的.区域的和增强的,如美国的GPS.俄罗斯的Glonass.欧洲的Galileo.中国的北斗卫星导航系统,以及相关的增强系统,如美国的WAAS(广域增强系统).欧洲的EGNOS(欧洲静地导航重叠系统)和日本的MSAS(多功能运输卫星增强系统)等,还涵盖在建和以后要建设的其他卫星导航系统. 0×01 摘要

极客DIY:使用树莓派制作一架四轴无人机

如果你想DIY一台属于自己的无人机,那么接下来可以阅读这篇文章,阅读完毕之后也许对你会有启发. 这个项目主要用到的零件主要来自Erle Robotics(一个使用Linux系统的开源四轴飞行器项目).本文的作者并不为这家公司工作,如果对该场景感兴趣也可以关注以树莓派相关联的基础项目,例如 Dexter Industries以及PiBOT.另外在一些相关网站上也更多的教程可以观看.在今年 Robotics是向爱好者提供了相对廉价而又易上手的一次机会,可以在芯片上烧录程序同时可以不断添加新硬件,这一

极客DIY:使用Arduino制作一块开源手表

1 – 引言 首先让我们看下这个项目要考虑到的问题: 1.)使用100%Arduino兼容性硬件 2.)保证存储器足够大可以装下大量的稍后会扩展的新内容 3.)电量最少够1天用 4.)BLE既是中枢设备又是外围设备 5.)体积足够小 接下来的几页都是如何建造一个开源的手表!(这个版本是最初版本,所以之后的内容会有所更改来改进设计!) 这个项目非常耗时,既需要耐心又需要坚定的决心完成细致的焊接项目(小电线是不是非常有趣呢?) 这张图片是完成版的手表 2 – 零配件和工具 1.)Microduino

极客DIY:打造属于自己的无线移动渗透测试箱

本文中介绍的工具.技术带有一定的攻击性,请合理合法使用. 你想不想拥有一款属于自己的移动无线渗透测试箱,如果你感兴趣,下面介绍的设备将会对你很有帮助.这个箱子被称为"MiTM(中间人攻击)WiFi箱",使用这个箱子可以完成一些无线审计工作,同时也可以伪造接入点并完成中间人攻击. 工具要求 如果你真的想要做这个箱子那么你需要如下工具: 5或6mm的钻木/金属钻头 开口扳手(规格8) 钳子 手术刀/裁纸刀 尼龙扎带(俗称:勒死狗) 箱子的选择 这里有些建议,你选中的箱子最好是用过一次以上,

极客DIY:RFID飞贼打造一款远距离渗透利器

本文使用最新的渗透工具RFID飞贼(Tastic RFID Thief)和RFID感应破解技术来获取一些拥有安防的建筑物的访问权限. Tastic RFID Thief是一个无声远距离RFID读卡器,可不为人知地远距离盗取RFID信息,当不知情人员佩戴门禁卡或射频设备时,便会被它攻破.Tastic RFID Thief针对的是低频125KHz的射频系统,例如那些使用HID Prox或者Indala Prox的产品,不仅如此,你还可以利用它的电路板改造成一个13.56MHz的高频RFID读卡器,这

存储极客 | 多方位全面保护数据库

  "存储极客"栏目再次与大家见面啦!在这里,只有一位大咖名叫"存储",它的粉丝我们称为"存储极客"!存储极客这是一群存储偏执狂 为存储而生,跟存储死磕 各具独家秘笈 有观点,有碰撞,有干货 从今日起 做客存储极客栏目 与你分享存储里的那点事儿 前不久看了朋友发的一条微博,去听了一场公开课,加深了我对数据库保护方面的理解,主要是结合使用多种措施的意义. 尽管我从事数据保护和灾备行业已经有几个年头,但更多时候是在向用户解释什么时候适合用备份?什么时

《R的极客理想——高级开发篇 A》一一1.1 R语言知识体系概览

1.1 R语言知识体系概览 问题 如何高效地学习R语言? 引言 最近遇到很多想转行做数据分析的程序员,他们刚开始学习R语言.很多人以为有了其他语言的编程背景,学习R语言就是一件很简单的事情,因而一味地追求速度,但不求甚解.有人说2周就能掌握R语言,但其实掌握的仅仅是R语言的语法,只能算是入门. R语言的知识体系并非语法这么简单,如果都不了解R的全貌,何谈学好R语言呢?本节将介绍R语言的知识体系结构,并告诉读者如何才能高效地学习R语言.1.1.1 R语言的知识体系结构 R语言是一门统计语言,主要用

高德“极客地图”上线 首批解锁吃住玩等等五类独家极客推荐榜单

本文讲的是高德"极客地图"上线 首批解锁吃住玩等等五类独家极客推荐榜单[IT168 资讯]8月8日,集合多个高德极客用户推荐的吃喝玩乐榜单"极客地图"今日正式在高德地图内上线.包括林志玲.TFBOYS.董克平.苏芩等在内的高德极客用户推荐的榜单覆盖了明星.文艺.玩乐.美食.出行等五大类别,共计46个,且这些榜单只在高德地图内独家呈现.现在只要打开高德地图,通过左上角"G"按钮(或在搜索框内搜索"极客地图")就可以进入极客地图榜

中关村创业街:聒噪被极客精神稀释现实更残酷

中关村创业大街已经挂牌半年,在席卷全国的创投热潮下,创业大街声名远播,与此同时,二百米长的创业大街迎来大批寻梦者.与带有理想和极客精神的更早期相比,创业大街正在尝试构建完整的创投链条以提供更多服务.但在越来越多寻梦者面前,创业大街的容量显得相对有限,而随着更多人涌入,曾经浓厚的极客精神也逐渐被浮躁所稀释.这里只聊梦想在中关村创业大街,人们见面打招呼的方式不是你吃了吗",而是你是创业者吗?"来自吉林.杭州.廊坊.上海.西安的创业者纷纷慕名而来,在享用免费场地.电源以及WiFi的同时,他们