基于OpenBTS的伪基站搭建与IMSI捕获 进行短信、语音等测试

实验前的法律法规教育
本次实验内容涉及移动通信系统安全,根据我国现行法律,对移动通信系统进行干扰或未经授权的监听属违法行为,本次实验以安全技术研究为目的,仅针对SDR搭建的GSM系统开展实验,并保证在试验后不将相关技术用于非法目的。

一、实验目的
搭建基于OpenBTS的基站,手机接入该基站,进行短信、语音等测试。
二、实验所用仪器(或实验环境)
USRP B210 1台,天线2根,PC机1台
基于OpenBTS的伪基站搭建与IMSI捕获 进行短信、语音等测试_第1张图片
三、基本原理及实验步骤
3.1 开启服务
OpenBTS使用通用软件无线电硬件(如USRP)作为射频前端,并提供了GSM协议栈的开源实现,通过语音交换软件(如Asterisk),可以接入公共网络。
安装OpenBTS,然后开启asterisk、sipauthserve、smqueue和openbts。asterisk是运行在linux上来实现用户电话交换的IP-PBX系统开源软件,支持各种的VOIP协议。asterisk提供了很多以前只有昂贵、专业的PBX系统才支持的功能,如:会议电话、语音信箱、交互式语音应答、自动电话转接;sipauthServe实现用户注册,替换SIP注册和运营商的HLR,smqueue负责短信处理,可实现本地发送短信到某个基站。分别使用下列命令sudo start sipauthserve 、sudo start smqueue 、sudo start openbts 、sudo start asterisk进行开启,但是这样可能不能够完全开启,所以我又用了一个脚本文件,通过它来开启服务。
在这里插入图片描述
在这里插入图片描述
3.2 参数设置
1.调整信号增益
需要修改GSM.Radio.RxGain的参数,如果信号增益太大,会导致设备无法工作。在这里插入图片描述
2.配置基站开放注册
使用命令 :
在这里插入图片描述
开放注册后,用户关闭手机中的自动选择运营商,可以手动搜索到这个基站,即如下图中的00101 2G 。
基于OpenBTS的伪基站搭建与IMSI捕获 进行短信、语音等测试_第2张图片
当用户注册成功,会收到一条短信,短信内容是IMSI。如图所示,我的IMSI的尾号为69。同时,使用tmsis可以查看已经注册用户的信息。
基于OpenBTS的伪基站搭建与IMSI捕获 进行短信、语音等测试_第3张图片
3.修改基站别名
在这里,我将原来的 Range 改成了ChinaMobile***。
修改操作如下:
基于OpenBTS的伪基站搭建与IMSI捕获 进行短信、语音等测试_第4张图片
修改成功后,连入这个基站的手机左上方便显示ChinaMobile*** 。
在这里插入图片描述
3.3添加用户
添加用户用的脚本是nmcli.py。这是NodeManager APIs的一个很简单的客户端,可以用它通过JSON格式的命令来更改配置参数、添加用户以及状态监控等等。添加用户用的脚本是nmcli.py。这是NodeManager APIs的一个很简单的客户端,可以用它通过JSON格式的命令来更改配置参数、添加用户以及状态监控等等。
使用nmcli.py有两种方式可以添加用户:第一种方法使用缓存的认证信息,使用方法如下所示。
./nmcli.py sipauthserve subscribers create name imsi msisdn
在下面的两条设置中,name设置为手机型号,网络中的电话号码就设置为学号。
基于OpenBTS的伪基站搭建与IMSI捕获 进行短信、语音等测试_第5张图片
再次查看用户信息。
在这里插入图片描述
3.4短信
1.Echo SMS
发送短信至411,收到echo信息。发送给411的短信的可以是任意内容,可以是任意的文字或者数字或者字母。这是smqueue中的一个简码处理流程,只管回显,不管其他接收、网络及用户信息等整个流程所用任何信息。
基于OpenBTS的伪基站搭建与IMSI捕获 进行短信、语音等测试_第6张图片
2.直接短信
基站内的两部终端可以互相发送短息,号码是添加用户时指定的手机号。下面是指定手机号161与161之间的短信交互。
基于OpenBTS的伪基站搭建与IMSI捕获 进行短信、语音等测试_第7张图片
3.基站短信
由基站直接发给某个终端(由IMSI指定),发送者的号码可随意设定。使用命令OpenBTS> sendsms [IMSI] [发送者号码] “短信内容”。这种方式创建的短信不通过smqueue服务的路由,而是直接通过GSM的空中接口发送给手机。
95559是交通银行的号码,在这里,我假装是交通银行,给自己发了几条短信。
基于OpenBTS的伪基站搭建与IMSI捕获 进行短信、语音等测试_第8张图片
基于OpenBTS的伪基站搭建与IMSI捕获 进行短信、语音等测试_第9张图片
从上面的短信中,我们可以发现,字数是有一定限制的,过长部分的内容不会显示,而且不支持中文内容,中文内容会出现如图中下午3:30的第二条短信那样的乱码。
3.5语音
1.Test Tone Call (2602)
拨打号码2602,接通后声音的频率变化,音调的变化是因为下行语音链路中丢了一些数据。语音测试的最主要应用是测试下行链路的质量。一个下行链路在生产环境有3%丢包率,那么在正常使用时候会有5%-7%的丢包率。
基于OpenBTS的伪基站搭建与IMSI捕获 进行短信、语音等测试_第10张图片
2.Echo Call (2600)
拨打号码2600,接通后声音为发起方声音的回音。回声测试除了可以用来测试语音通话,还能测试网络中延时情况和上行链路质量。
基于OpenBTS的伪基站搭建与IMSI捕获 进行短信、语音等测试_第11张图片
3.互拨电话
基站内的两部终端进行正常语音通话。
基于OpenBTS的伪基站搭建与IMSI捕获 进行短信、语音等测试_第12张图片
如上图所示,两部终端可以互拨电话。
四、实验结果分析及回答问题
1.所搭建的系统如何充当伪基站?
伪基站,又称假基站、假基地台,是一种利用GSM单向认证缺陷的非法无线电通信设备,主要由主机和笔记本电脑组成,能够搜取以其为中心、一定半径范围内的GSM移动电话信息,并任意冒用他人手机号码强行向用户手机发送诈骗、推销等垃圾短信,通常安放在汽车或者一个比较隐蔽的地方发送。伪基站运行时,用户手机信号被强制连接到该设备上,无法连接到公用电信网络,以影响手机用户的正常使用。
通过我们上面的实验可知,我们搭建的系统可以使用任意号码给用户发送虚假短信,例如我们可以伪造出交通银行的号码95559给受害者手机发送一些诈骗、推销等垃圾短信,OpenBTS也可以实现核心网中的语音功能。所以,我们搭建的系统可以充当伪基站。
2.在确保手机能接入该系统时需要预先对手机做何种操作?
我们需要将手机从当前使用的中国移动或者中国电信等运营商断开,取消自动选择运营商,然后搜索运营商网络,选择我们的伪基站。中国电信2G采用的是CDMA标准,如果运行商是中国电信,那么无论我们把伪基站的信号调得有多大,都不会自动跳转到GSM网络,所以我们需要手动切换(硬切换)。中国移动和联通的2G采用的标准是GSM,但是我们目前手机肯定是优先使用4G,最后才到2G,所以我们需要从现有的移动运行商网络断开,手动选择自己搭建的系统。
3.如何检测伪基站的存在?
手机信号强度飘忽不定,在排除周边信号不好或者存在信号死角之外,很可能是被伪基站强制“吸”走,于是信号被“切断”。典型现象就是手机信号从满格跌落到无信号,然后又快速回升。
在正常情况下,手机回落到2G网络;现在大家用的都是4G网络,正常情况下载手机屏幕顶上右侧会出现一个阶梯状信号格数提示,一般会显示“4G”或“3G”,当突然改变为“GSM”、“G”或者不再显示具体网络类型时,就意味着遭遇到强制“降频”,即从4G被拉到了GSM。
手机有信号,但是无法拨打和接听电话,无法上网。一旦被伪基站“劫持”,手机的所有通信就只能与伪基站交互,由于伪基站无法与合法基站进行鉴权等交互,所以就相当于处于“孤岛”模式,自然所有对外联系都被中断。这就解释了有时候信号格数还行,但却打不出去电话接收不到短信的原因,特别是对于一些就处于3G/4G信号薄弱的区域。
运营商信息。在Android下,可以通过查看手机电话卡(就是SIM卡)状态信来查询当前网络的运营商相关信息,在疑似被伪基站劫持时,打开查看便知。一般伪基站在此处的信息非常稀少,比如网络名称标识下“中国移动”就会显示为“应急通信”,甚至有时候会放一个相似的词,比如之前就见过“中国挪动”,也不知道是不是恶搞。
异常LAC和CID值。这算是以前对早期伪基站的一个判定方法,一个区域内出现异常数值的LAC或者CID值。原理是伪基站一般为了减少运营商注意,会刻意先探查周边的基站LAC和CID参数后,然后给伪基站设置一个绝对不会出现冲突或干扰的高位数值。同一个运营商下的基站设备肯定也要考虑这个,但正常是不会设置差距较大的数值,所以在移动探查中,一旦出现一个比周边LAC、CID值差距很大的基站,除了真正的应急通信基地车,很可能就是伪基站。
伪基站将GSM手机吸过去,发送完垃圾短信后再踢出,在运营商网络中可以观察到在某一区域(未必是固定区域)有大量GSM手机注册鉴权。因此运营商可以通过信令分析对网络内出现的伪基站进行检测。
受限于无线网络传播不稳定的特性,运营商不能因为某区域一两部手机发生了“被伪基站吸过去又踢出来”行为就判断附近存在伪基站(那会可能满地产生告警),必须经过一定数据积累超过阈值以后才可以触发监测告警。
GSM 基站对终端距离的测算,是基于TA(Timing Advance,时间提前量),TA的值域是0—63,大家可以粗暴的记住结论:1对应的距离是554m。在伪基站更活跃的城区,基站与手机的距离比较短,受多径传播、MS同步精度、光电转换设备的影响,TA值的误差往往是±1,最大可达3左右(约1.6km)。如果周边基站受到伪基站引起的同频干扰或邻频干扰,可通过特定算法将定位精度提高至200米,这也是信令监测技术的极限。

你可能感兴趣的:(实验报告集,安全)