声明:本实验内容为无线电与移动通信安全领域的合规性技术验证,仅供安全研究与学习参考,严禁用于任何非法用途。操作者需严格遵守所在地无线电管理法规,并确保在合法授权范围内进行测试。
项目的起因,是需要对当前主流的基站设备进行一次深入的安全评估。坦白说,作为首次接触这类专用硬件设备的人,我内心充满了好奇与探索欲。基站作为移动通信的核心设施,其内部网络连接着区域内所有的基站,承载着关键的通讯与管理流量。一旦其安全防线被攻破,可能导致敏感数据泄露,甚至发生基站被非法托管等严重后果。因此,对基站进行安全性测试,绝非多此一举。

由于缺乏现成经验,我按照常见的评估流程开始了工作:主机发现、端口扫描、Web服务渗透测试以及固件逆向分析。在一番常规的渗透测试之后,确实发现了一些典型的安全问题,例如未授权访问、任意文件上传以及任意文件下载漏洞等。下图展示的就是通过黑盒测试发现的任意文件下载漏洞的一个实例。

如今,运营商部署的主流基站基本都已升级至4G和5G。在这些新一代网络标准中,引入了基站与终端设备之间严格的双向身份验证机制。这意味着,在没有获得合法运营商授权的情况下,伪基站无法通过验证,也就难以欺骗手机接入。然而,早期的2G网络并不存在这种双向认证机制,这为伪基站的出现留下了技术空间。理论上,如果攻击者能够将周围的3G/4G/5G信号屏蔽,迫使手机回落到2G网络,那么手机就有可能接入伪基站。基于这个原理,本次实验的目标便是创建一个2G伪基站环境。
我们的技术方案选用了 OpenBTS 软件套件与 USRP B210 软件定义无线电硬件平台。USRP B210可以从二手市场淘到,价格大约在1500元人民币左右。

具体的搭建过程此处略过,网络上已有不少详尽的教程可供参考,例如:
https://blog.csdn.net/songtm/article/details/53994745
当环境部署完成并启动相应服务后,USRP B210便可以开始发射GSM基站信号(注意:其发射功率通常很小,有效范围大约在一米左右)。此时,将测试手机的“自动选择网络”功能关闭,手动进行网络搜索,列表中便会出现我们搭建的测试基站信号,选中它即可连接。

手机成功接入测试基站后,会立即收到一条系统自动发送的欢迎短信,内容大致是告知用户已接入测试网络,并显示其国际移动用户识别码(IMSI),类似于运营商的欢迎短信。

在OpenBTS的控制台,我们可以通过 tmsis 命令查看当前有哪些终端设备接入了基站。同时,也可以使用以下命令格式,向指定的终端发送短信:
sendsms [IMSI] [发送者号码] “短信内容”
sendsms xxxxxxxxxxxx 911 "open the door"
中文乱码-可通过修改代码修复

发送成功后,目标手机就能收到来自“911”号码的测试短信了。

更进一步,还可以通过配置实现测试网络内的终端之间相互通话,甚至提供简单的上网服务。展望未来,在对物联网设备进行安全评估时,这类技术或许能派上用场,例如通过搭建伪基站对特定物联网设备的通信进行抓包分析,从而发现潜在的安全隐患。
希望这次的技术实践分享,能为对移动通信安全和SDR技术感兴趣的朋友打开一扇窗。技术探索永无止境,欢迎大家在云栈社区交流更多想法。
再次重申:本文所述技术、工具及方法仅限于合法授权的安全研究、教学及个人学习。任何个人或组织不得将其用于非法侵入、干扰他人网络等违法犯罪活动,否则一切后果自负,与作者及发布平台无关。
|