GSM信号嗅探

利用RTL-SDR实现GSM信号的嗅探工作

PS:以下项目是在Ubuntu20.04以及Gnuradio3.8下完成的

​ GSM网络的不安全的事实是我们早已熟知的,事实上在国外12年左右就有完整的开源项目实现GSM Sniffing,国内大神在13年就非常详细的公开了如何实现GSM SMS Sniffing工作,当然这些项目都是(osmocom项目),如今这个项目就找不到了(404)。

一:原理篇

接下来的原理内容由于不了解底层实际的逻辑,就只能根据网上的资料进行大概的了解,算是班门弄斧了🤐

  1. 什么是GSM:

    GSM即全球移动通信系统(Global System for Mobile Mommunications),俗称“全球通”,由欧洲电信标准组织(ETSI)制定的数字移动电话网络标准,以蜂窝网络形式覆盖,具有频谱利用率高,话音质量佳,容量大,覆盖广等特点。GSM使用的是时分多址的变体,并且它是目前三种数字无线电话技术(TDMA、GSM和CDMA)中使用最为广泛的一种。GSM将资料数字化,并将数据进行压缩,然后与其它的两个用户数据流一起从信道发送出去,另外的两个用户数据流都有各自的时隙。GSM实际上是欧洲的无线电话标准。

  2. GSM工作频段

    目前GSM系统主要有GSM900、GSM1800以及GSM1900也是欧洲国家普遍采用的GSM900系统,而我国主要采用GSM900及GSM1800,其中GSM900的上行工作频段为890-915MHz,下行工作频段为935-960MHz,所占带宽25M,且上下频点为25x5-1共124个,而GSM1800的上行工作频段为1710-1785MHz,下行工作频段为1805-1880MHz,所占带宽75M,且上下频点为75x5-1共374个。由于采用了不同频段因其适用的手机也各不尽相同,不过目前国大部分手机基本上是双频手机,也随着信息技术的发展,手机市场也不甘示弱也有三频手机的出现,这极大程度上实现了真正的畅游全世界的理念。

    GSM网络中频道ARFCN( Absolute Radio Frequency Channel Number)即绝对无线频道编号,是指在GSM无线系统中用来鉴别特殊射频通道的编号方案。ARFCN与中心频率之间的关系如下:

    900频段由MS发送,BTS接收:
    F 1 ( n ) = 890.2 + ( n − 1 ) ∗ 0.2 M H z F1(n)=890.2+(n-1)*0.2MHz F1(n)=890.2+(n1)0.2MHz
    900频段由BTS发送,BS接收:
    F h ( n ) = F 1 ( n ) + 45 M H z Fh(n)=F1(n)+45MHz Fh(n)=F1(n)+45MHz
    1800频段由MS发送,BTS接收:
    F 1 ( n ) = 1710.2 + ( n − 512 ) ∗ 0.2 M H z F1(n)=1710.2+(n-512)*0.2MHz F1(n)=1710.2+(n512)0.2MHz
    1800频段由BTS发送,BS接收:
    F h ( n ) = F 1 ( n ) + 95 M H z Fh(n)=F1(n)+95MHz Fh(n)=F1(n)+95MHz

    3.GSM系统的组成结构

    ​ GSM通信系统结构如下所示主要由移动交换子系统(MSS)、基站子系统(BSS)和移动台(MS)以及操作维护中心(OMC,Operations & Maintenance Center)组成 ,其中基站子系统由基站收发台(BTS)和基站控制器(BSC)组成;移动交换子系统由移动业务交换中心(MSC)和原地位置寄存器(HLR)、访问位置寄存器(VLR)、鉴权中心(AUC)和设备标志寄存器(EIR)等组成。移动台(MS)就是移动用户设备部分由移动终端(MS)和用户识别卡(SIM)组成用于通过无线电连接GSM网络的设备。对于移动交换中心(MSC)负责管理身份的验证,也用于移动网络呼叫连接、切换到其他的网络控制、无线信道管理等功能的设备也对移动网与公用电话交换网(PSTN)、综合业务数字网(ISDN)等固定网的接口;原地位置寄存器(HLR)用于保存手机本地用户基本信息如手机SIM卡号、手机号码、签约信以及当前的位置、是否已经关机等动态信息的保存,每个GSM网络提供商只有一个HLR;访问位置寄存器(VLR)每个MSC都有自己的VLR能够用于保存外地用户用户的动态、状态信息以及从HLR下载的用户信息,也持有临时移动用户标识(TMSI)。对于鉴权中心(AUC)处理网络请求用户的身份验证过程。更具体地说,AUC 持有共享密钥并生成用于身份验证的随机标识码。那么攻击者可以通过判断手机号的归属地,就可以区分本地手机号和外地手机号。

    image-20220713112303934

    4.GSM网络安全

    ​ 基站在不停的对外广播自己的信号及相关信息,手机会自动选择相应的频点进行连接,并且其连接过程正是用户手机与基站简单交互过程部分。正因为用户之前所提GSM网络只对用户验证单向鉴权的,所以网络鉴权能力不足,因此出现伪造于是GSM网络攻击随之而来。

    1. GSM网络攻击分类
    • 主动攻击

      就是攻击者伪装成基站(BTS),然后发射诱导信号,引导被攻击者链接到非法基站,由于 GSM 属于单向鉴权,所以移动台只能被基站鉴权,而无法对基站进行鉴权,因此用户很容易被诱导至伪基站进行数据通信。

    • 被动攻击

    ​ 即攻击者不会主动向被攻击者终端发送诱导信号,而是监听基站与移动台之间传播的广播信号,并且对信号进行解密以达到侦听的目的。

    • 两者的区别

    ​ 就是一个可以监听数据还可以动态修改往来的数据,而另一个只能被动监听数据而无法直接篡改。

    b.GSM三大加密算法

    ​ A3加密算法提供了收集到网络的鉴权,A8产生密钥Kc算法,A3与A8算法通常被同时执行像(A3/A8)这样表达,用户在SIM卡和GSM网络认证过程中也就是使用在鉴别用户和产生加密语音和数据通信的过程,而这些加密算法又是基于用户专用的密钥Ki的,Ki(subscriber key)可以说是一个“主密钥”,存储在你的 SIM 卡中,GSM网络中Ki放在与用户对应的用户归属位置寄存器中(HLR)内。A5算法是GSM的保护数据安全的密钥,其密码加密算法可以分为A5/1、A5/2和A5/3三种,其中A5/1被认为性能最好的加密算法。A5/0也是一种A5算法,但不应用于数据的解密。 image-20220713154913417
    手机在登陆网络的过程中移动网络会随机生成一个16字节的随机数据发送给手机后手机向SIM卡进行发送这个数据,接下来SIM卡用自己的KI密钥和随机数做运算后生成一个4字节的数据作为移动网络的应答数据与此同时移动网络进行相同的算法过程后生成的数据与之比较如果一样则认定为允许连接的用户,其中涉及的算法也就是A3算法,另外SIM卡还利用Ki和随机数通过A8算法计算另一个密钥也就是Kc,它的长度是64bits。

    二:实战篇

      接下来从项目的安装以及运行结果展示此次实战的过程:
    
    1. gr-gsm项目的安装

      首先安装完以下命令中的依赖:

      sudo apt update && debian_frontend=noninteractive sudo install -y cmake autoconf libtool pkg-config build-essential libcppunit-dev swig doxygen liblog4cpp5-dev python3-docutils python3-scipy gnuradio-dev liborc-dev libosmocore-dev gr-osmosdr
      

      源代码安装gr-gsm项目

      git clone https://git.osmocom.org/gr-gsm
      cd gr-gsm
      mkdir build
      cd build
      cmake ..
      mkdir $home/.grc_gnuradio/ $home/.gnuradio/
      make -j $(nproc)
      sudo make install
      sudo ldconfig
      

      gr-gsm安装成功后显示如下图:

      image-20220713160815968
      然后运行grgsm_livemon进行gr-gsm安装测试如果出现 problem with gr-gsm. no module named 'grgsm,也就是说gr-gsm项目找不到。grgsm_livemon本身是一个python文件,既然不能运行,那表明它不再所需利用的python环境下,并且要想grgsm项目顺利运行,那么必须要在安装完libiio跟libad9361-iio这两个文件下执行的,而这两个文件是Gnuradio3.8的必要文件,并且运行环境是python3.8的环境,所以我们需要把gr-gsm这个项目安排到python3.8的环境下,因此我们有两种办法解决这个问题:

    (我们原先安装的grgsm项目在/usr/local/lib/python3/dist-packages目录下)

    1:在gr-gsm安装的环境下创建一个软链接指向python3.8,命令如下:

    ln -s /usr/local/lib/python3/dist-packages /usr/local/lib/python3.8/dist-packages
    

    2: 直接把grgsm项目复制到python3.8的目录下,命令如下:

     ```sudo cp -r/usr/local/lib/python3/dist-packages/grgsm /usr/local/lib/python3.8/dist-packages/```个人建议直接使用第二个办法,免得软链接不起效。
    

    2.安装wireshark

      wireshark作为一个网络分析数据包的分析器,其分析的结果很详细明了。
    

    ​ ubuntu下安装命令:

    sudo apt install wireshark
    

    为了安全起见弹出的"yes"/“no"选项中选择"no”,然后以后每次的使用都需要在管理员的权限下进行使用。

    3.开始搜寻基站

      按住ctrl+alt+t调出命令窗口,终端输入:grgsm-scaner -v -b GSM900,结果如下图所示:
    

    ​ 在另一个终端中输入grgsm_livemon -f 944.2M,结果如下图所示:

    经过我们调整其频率就会在所建立的终端输出数据,如下图所示:

    终端数据显示

    然后我们可以进行下一步的操作,我们打开另一个终端并且需要在管理员的权限下运行:

    sudo wireshark -k -f udp -y gsmtap -i lo
    

    然后我们就有wireshark运行的界面图了,如下图所示:

    这样就我们完成了GSM信号的嗅探工作了。

    三:此次实战项目中最终结果(以附图形式展示)

    ​ IMSI AND TMSI:

    IMSI on wireshark:

​ GSM-SMS:
image-20220713172342725

image-20220713172637695

除了以上嗅探工作外我们还可以通过分析和密码破解来解码语音通话数据。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/29036.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

《ChatGPT提问技术与艺术》目录发布

《ChatGPT提问艺术与技术》目录发布!!! 前言 2022 年 11 月,OpenAI 推出了一款革命性的人工智能聊天机器人程序——ChatGPT(Chat Generative Pre-trained Transformer)。这款聊天机器人不仅能够协助人们进行…

将 ChatGPT 引入您的 IDE,快速使用Bito —之— Bito VS Cursor

什么是Bito? 官方解释:通过将 ChatGPT 引入您的 IDE 和 CLI 来帮助开发人员显著加速他们的影响。我们使用OpenAI的模型,您不必拥有OpenAI密钥。比托每天可以为您节省一个小时!Bito AI使编写代码,理解语法,…

《花雕学AI》36:探索Aski AI——集成问答、写作和绘画功能的强大AI平台

引言:人工智能是当今时代的最热门和最有前途的技术之一,它可以帮助人类解决各种复杂和有趣的问题,提高生活和工作的效率和质量。然而,人工智能的应用还面临着许多挑战和局限,比如数据的稀缺和质量、算法的复杂性和可解…

想瘦身不伤体质,就要学会和脂肪做朋友

减肥的你,一定是谈脂肪色变,但是脂肪真的有那么可怕? 当然不是,每天摄入一定量的脂肪很有必要。因为脂肪供给人体的能量持久力最高,1克脂肪有9卡的热量,三大营养素中,停留在胃里时间最久、最能…

数说热点|社恐人群运动健身指南:不想去健身房,那就在家找面墙

连杰伦都开始跳操了,你还不动动动动动起来? 随着《运动者联盟》这档体育挑战真人秀节目的完美收官,忙碌生活中的运动激情似乎又被点燃了。5月9日,周杰伦现身厦门,在活动现场和刘耕宏合体跳起了《本草纲目》&#xff0…

健身房如何管理与运营?

健身房经营项目的综合性强,集多项运动于一体,能提供科学的、齐全的、安全的各种体育训练设备,虽然受室内场地限制,但健身房也在不断更新结构,为运动爱好者提供专业场所和器械,受健身、减脂人士喜爱。 健身房…

硬派健身——健身先健脑

俗话说得好,健身先健脑 认识自己的身体红白肌人体功能系统人体三大供能系统的相互关系 什么叫做胖 减肥为什么会失败?快走 or 慢跑?胖猴子才能活下来节食减肥为何失败致胖环境体重设定点(set-point)理论只有30分钟以上…

健身参考

一周三练 前言参考链接全身肌肉分布pre 热身一、胸、肱三头动作A:哑铃飞鸟动作B:哑铃俯身臂屈伸动作C:哑铃平板卧推动作D:哑铃上斜卧推动作E:哑铃下斜卧推动作F:龙门架夹胸动作G:龙门架屈臂下拉…

“健身餐”APP

第 1 章 绪论 1.1 研究的背景 随着社会发展,人们的生活质量越来越高,对自己身材的要求也越来越高, 健身健美中注重饮食,训练期间的饮食和生活需求较为严格[1]。经调查发现健身人 群的饮食结构非常苛刻,他们若想达到自…

健身Fitness

前言 加油 原文 健身常用会话 ❶ The school has recently built a new gym. 学校最近新建了一个体育馆。 ❷ Rowing machines provide a good indoor workout. 划船器械提供了一种很好的室内消耗体能的方式。 ❸ He strained and raised the barbell of 205 kilograms. 他…

有哪些既美味又健康的食品适合健身和减肥爱好者?

Ashley Yu ,Eat Fit Love 张常绿、胭脂渗透、夏天聪 等人赞同 自己做健身餐一年了,越来越喜欢这种饮食模式,而且也喜欢研究尝试各种菜谱,把健身餐做的多样而且美味! 早餐系列 - 水果烤燕麦 这个特别快手,…

本地部署 langchain-ChatGLM

本地部署 langchain-ChatGLM 1. 什么是 langchain-ChatGLM2. 什么是 langchain3. Github 地址4. 安装 Miniconda35. 创建虚拟环境6. 部署 langchain-ChatGLM7. 启动 langchain-ChatGLM8. 访问 langchain-ChatGLM9. API部署10. 命令行部署11. 其他,LangChain Documen…

betfair交易平均赔率与即时赔率的比较的思考

概念:betfair交易平均赔率:该赔率是以当前价位的交易量大小进行加权计算而得;betfair即时赔率:该赔率是当前betfair交易的赔率; 思考:对于这两个赔率思考了很久,通过这两个赔率反映了一个市场的…

了解世界杯赔率,让您运气更‘好‘(个人分享)

足球世界杯买球赢面计算 前言理论基础实际计算用例:代码实现真实数据 前言 此文是个人关于世界杯的一些浅显的看法,实际统计结果和计算方法有出入,可能原因:1)数据量不够。2)比赛双方差距够大导致的。但在…

德昂对话ChatGpt:如何做好BI行业的推广

|| 导语 企业级BI软件,一般面向企业内部的IT和专业分析人员,或者专业的服务团队,其营销模式有别于面向个人的软件。 好的营销经理难寻,企业级BI软件产品的营销经理更是凤毛麟角。到底是内部培养,还是外部招聘? 看了…

Chatgpt3.5 在python上的简单应用

# 下面是python_LLM的环境变量,要引用的时候直接复制就行了 import openai import pandas as pd openai.api_key"sk_GbP"#这里填API #定义好询问函数 def get_completion(prompt, model"gpt-3.5-turbo"):messages [{"role": "u…

文本AI3.5的安装和基本用法:轻松掌握

PC端 1、首先打开Edge浏览器,这个浏览器是windows系统自带的 2、打开扩展管理->查找新的扩展 查找新的扩展 3、输入:WeTAb 进行搜索->安装 4、简单的使用 这里需要注意有时候,你询问AI问题的时候会提示你的询问次数已达到上限。解决…

如何防御ChatGPT们滥用同形异义词域名

Identity Digital域名 注册专场部分域名直降120元 点击直达 人工智能(AI)聊天机器人在全球范围内风靡,2023年将成为越来越多人关注的技术。OpenAI于2022年的最后一个季度发布了ChatGPT,这促使许多公司、组织和个人进入这一领域。甚…

Unity虚拟现实插件VRTK3.3使用教程三:VR场景交互-触碰,抓取,使用

vrtk中的交互-触碰,抓取,使用 参考:VRTK - 2.场景物体的交互:触碰,抓取,使用 - 简书 已经能在场景中移动了,接下来肯定想在虚拟场景中与物体互动吧! 虚拟场景互动主要包括触碰,抓取,使用三种方式. Touch 必要条件: 被接触的物体必须有C…

Avatar和虚拟场景如何影响用户VR社交行为

对于VR社交来讲,虚拟场景(社交环境)、Avatar(虚拟化身)是两个重要的元素,一个代表了人们在VR中互动的空间,而另一个则代表他们在这个空间中所扮演的角色。现阶段,Avatar有多种形态&a…