使用C118手机进行GSM/SMS嗅探实验

  • A+
所属分类:移动安全



点击上方蓝字关注我们




先对上一次写的文章进行简单的补充和纠错,没看过的戳下面这条链接

👉 ESP8266制作WiFi杀手(2020版)👈

- 一)对于 NodeMCU 开发板还可以进行许多小实验,如:天气预报,远程开关控制,家庭路由、UP主粉丝数量显示、BadApple等等...

- 二)中文版的 Deauther 开发板管理链接为 http://arduino.esp8266.com/stable/package_esp8266com_index.json对应的模块为 esp8266,版本2.0.0

- 正文开始 👇


✎ 编 者 按 

Po7mn1:这技术很早以前就有了,记得当时还可以用OpenBTS进行短信发送。。。

写出来第一个目的是为了看看还能不能嗅探到短信,其次是重温下 GSM 网络的相关知识,温故而知新嘛,不喜勿喷,如有错误还请指出。


  初探 GSM

GSM网络即全球移动通信系统,GSM是一个蜂窝网络,每个网格都有自己的覆盖范围

使用C118手机进行GSM/SMS嗅探实验

蜂窝网络
GSM基本系统构成:OSS(操作维护子系统)、BSS(基站子系统)、NSS(网络子系统),每个子系统还都划分了不同的服务,如:ISDN、PDN、PSTN、DPPS等等,一个个的写太麻烦了,这里简单阐述下就好,想要深入了解的可以找我要PDF文档自己研究。


使用C118手机进行GSM/SMS嗅探实验

相关资料补充:
  • SIM(用户识别模块)

这是一张符号 ISO 标准的卡,就是你手机里边的那张,它包含所有与用户有关的和某些无线接口的信息,使用移动台时都需要插入SIM 卡,当紧急呼叫时可以不使用SIM操作ME(移动台)
  • BTS(基站收发信台)和BSC(基站控制器)

BTS属于BSS(基站子系统)的无线部分,由BSC(基站控制器)进行控制,一般服务于某个小区的收发信设备,完成BSC与无线信道之间的交换。
  • MSC(移动业务交换中心)

MSC是一个控制多个BSC的节点。它是GSM系统中的核心设备,具有多种功能。

  • HLR(归属用户位置寄存器)和VLR(用户位置寄存器)

VLR服务于控制区域内移动用户的,存储着进入控制区内域内已登记的移动用户相关信息,为已接入的用户提供呼叫必要条件
HLR是GSM的中央数据库,存储着该HLR控制的所有移动用户的相关数据,一个HLR可以控制若干个移动交换区所有移动用户重要的静态数据都存储在 HLR 中,包括移动用户识别号码、访问能力、用户类别和补充业务等等数据
  • EIR(移动设备识别寄存器)

EIR存储着移动设备的IMEI识别码,通过检查白色清单、黑色清单或灰色清单这三种表格,在表格中分别列出了准许使用的、出现故障需监视的、失窃不准使用的IMEI识别码
  • AuC(鉴权中心)

AUC主要负责安全措施,对无线上的语音数据和信号信息进行保密
有关GSM安全算法(A5...)可以自行谷歌,本文不再赘述


使用C118手机进行GSM/SMS嗅探实验

GSM基本体系结构

那么说回来,不法分子是如何知道我们的短信信息呢?这个很简单,
我们的手机都处在一个大的基站辐射范围内(3G/4G)
这就好比基站是谷仓,而手机是一粒粒的米粒米粒通过电饭锅煮熟,基站负责(收发)每一粒米粒喷发出来的香味(信号)
而不法分子使用降频工具手机会降级到2G进行通信,这个时候GSM嗅探工具就可以嗅探到我们的SMS信息了。

使用C118手机进行GSM/SMS嗅探实验


  准备工作(Ready)

本公众号为了避免相关事项发生,环境搭建会省略到关键部分


硬件:

  1. Moto C118(某鱼十几)

  2. USB转TTL 2.5mm线(一瓶饮料的价格)

  3. CP2102模块(一瓶饮料的价格)


使用C118手机进行GSM/SMS嗅探实验

使用C118手机进行GSM/SMS嗅探实验

使用C118手机进行GSM/SMS嗅探实验


软件:

  1. osmocom-bb

有关 osmocom-bb 项目,这是一个开源GSM协议栈的项目,目的是要实现手机端从物理层layer1到layer3的三层实现。
  1. OpenBTS-5

  2. GNU

使用C118手机进行GSM/SMS嗅探实验

  开始搭建(Compiling)

使用C118手机进行GSM/SMS嗅探实验


首先更新下系统的环境(笔者这里的系统是Kali),自行换源更新,接下来安装对应依赖,以防后面编译GNU时出现错误。


apt-get install build-essential libgmp3-dev 
libmpfr-dev libx11-6 libx11-dev texinfo flex
bison libncurses5 libncurses5-dbg
libncurses5-dev libncursesw5 libncursesw5-dbg
libncursesw5-dev zlibc zlib1g-dev
libmpfr4 libmpc-dev


aptitude install libtool shtool automake autoconf git-core pkg-config make gcc


安装完了后,找个目录新建一个文件夹,接着下载编译时要用到的 shell 脚本


http://bb.osmocom.org/trac/raw-attachment/wiki/GnuArmToolchain/gnu-arm-build.3.sh


官网貌似502了,我把shell脚本放在了我的 Github 上,需要的可以自行 Fork。

https://github.com/icecliffs/backup/tree/main/gnu-environment-shell

新建两个文件夹 install src build

进到 src 里边把下面的文件下载到里边


wget http://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.bz2
wget http://ftp.gnu.org/gnu/binutils/binutils-2.21.1a.tar.bz2
wget ftp://sources.redhat.com/pub/newlib/newlib-1.19.0.tar.gz


接下来回到上级目录给gnu-arm-build.3.sh 赋予执行权限,然后 ./gnu-arm-build.3.sh 


$ cd ..
$ ./gnu-arm-build.3.sh 
I will build an arm-none-eabi cross-compiler:

  Prefix: <YOURPATH>/install
  Sources: <YOURPATH>/src
  Build files: <YOURPATH>/build

Press ^C now if you do NOT want to do this.


输入 Enter 键,开始编译环境,时间有点久跳出下面的代码即表示搭建成功!


Build complete! Add <YOURPATH>/bin to your PATH to make arm-none-eabi-gcc and friends
accessible directly.


这时候我们还需添加环境变量,打开 ~/.bashrc 在末尾添加以下内容


export PATH=$PATH:<YOURPATH>/install/bin


以上是构建 GNU 的过程,接下来开始搭建 osmocom-bb 环境,克隆仓库到本地目录


git clone git://git.osmocom.org/osmocom-bb.git


搭建前我们还需要安装一个 osmocom-bb 的 libosmocore 库,先把相关依赖安装下


apt-get install build-essential libtool shtool autoconf automake git-core pkg-config make gcc libpcsclite-dev


克隆仓库到本地目录


git clone git://git.osmocom.org/libosmocore.git


开始编译 libosmocore


cd libosmocore
autoreconf -i
./configure
make 
make install
cd ..
ldconfig


接着切换到 osmocom-bb/src 目录里面,make 即可。

上文的安装步骤非常精简,因为我已经安装过了,大部分步骤都是凭记忆及网上教程写的,想看完整版的可以谷歌

如果编译时遇到下图,多半是权限不足或未安装相关函数库导致的,可根据报错内容自行安装软件包


使用C118手机进行GSM/SMS嗅探实验


也有可能是丢失下面的包,安装即可(仅作参考


使用C118手机进行GSM/SMS嗅探实验

  嗅探测试(Testing)

将手机接上 2.5mm 杜邦线,然后刷入固件,注意接线顺序


->TXD;->RXD;黑->GND


使用C118手机进行GSM/SMS嗅探实验


进到 osmocom-bb/src/host/ 里输入以下命令,手机需关机,命令执行后按下电源键开始刷入固件。


./osmocon -p /dev/ttyUSB0 -m [固件类型] 
../../target/firmware/board/compal_e88/
[二进制文件]


使用C118手机进行GSM/SMS嗅探实验


刷完后手机屏幕会出现 Layer23 (我把屏幕拆了,不然还可以让你们看 lol)


使用C118手机进行GSM/SMS嗅探实验

按手机上的按钮终端会显示相关信息


接下来扫描附近的基站


./cell_log -O


使用C118手机进行GSM/SMS嗅探实验

PS:我们这2G服务基本上都没了到后面学习 OpenBTS 发信技术后我会在原有基础上重新写一篇,如果有2G信号的话会显示信号(PWR)像这样


<000e> cell_log.c:248 Cell: ARFCN=58 PWR=-23dB MCC=460 MNC=01 (China, China Unicom)
Cell ID: 460_1_378E_2DE6
<000e> cell_log.c:248 Cell: ARFCN=59 PWR=-62dB MCC=460 MNC=01 (China, China Unicom)
Cell ID: 460_0_372C_C7D1
<000e> cell_log.c:248 Cell: ARFCN=77 PWR=-34dB MCC=460 MNC=00 (China, China Mobile)
Cell ID: 460_0_3926_0759
<000e> cell_log.c:248 Cell: ARFCN=85 PWR=-24dB MCC=460 MNC=00 (China, China Mobile)
Cell ID: 460_1_378E_2F78
<000e> cell_log.c:248 Cell: ARFCN=68 PWR=-32dB MCC=460 MNC=01 (China, China Unicom)
Cell ID: 460_1_378E_2DE4
<000e> cell_log.c:248 Cell: ARFCN=69 PWR=-12dB MCC=460 MNC=01 (China, China Unicom)


其中PWR为信号强度,值越小说明信号越好,ARFCN为基站信道号


./ccch_scan -i 127.0.0.1 -a [ARFCN]


使用C118手机进行GSM/SMS嗅探实验

执行后如果一直滚代码说明能正常嗅探到基站数据

有关 GSM 频段,可参考下面的图表


频段 名称 信道号 上行(MHz) 下行(MHz) 其他
GSM 850 GSM 850 128 - 251 824,0 - 849,0 869,0 - 894,0 美国, 南美洲国家 和 亚洲部分国家。
GSM 900 P-GSM 900 1-124 890,0 - 915,0 935,0 - 960,0 GSM最先实现的频段,也是使用最广的频段。
E-GSM 900 975 - 1023 880,0 - 890,0 925,0 - 935,0 900M扩展频段
R-GSM 900 n/a 876,0 - 880,0 921,0 - 925,0 铁路GSM(GSM-R),为铁路调度通信系统开发的特殊版本。
GSM1800 GSM 1800 512 - 885 1710,0 - 1785,0 1805,0 - 1880,0 适用于对信道容量需求大的市场,应用范围仅次于900M。
GSM1900 GSM 1900 512 - 810 1850,0 - 1910,0 1930,0 - 1990,0 主要用于美洲国家,由于有频率重叠,与1800M系统不兼容。

来源于 http://www.blogjava.net/baicker/archive/2013/11/13/406293.html


接下来打开 Wireshark 嗅探即可,选择协议 gsm_sms


使用C118手机进行GSM/SMS嗅探实验


使用C118手机进行GSM/SMS嗅探实验

上文已经说了,我们这三网2G基本上都停止服务了,但有技术可以降频到2G网

关注本公众号后续回陆续写出使用C118手机进行GSM/SMS嗅探实验

但为了证明该实验是成功的,翻了张前的照片搪塞过去


使用C118手机进行GSM/SMS嗅探实验

  额外拓展

为了更方便的识别数据,减少上面的步骤,GSMSniffer项目对2G网络短信嗅探抓取的一个Demo实现自动载入系统/扫描基站与抓取短信并存入数据库

基本架构

  • Tengine

  • PHP 7.3

  • MySQL

上面三个服务都省略搭建步骤,把项目克隆下来后直接修改文件运行即可


使用C118手机进行GSM/SMS嗅探实验


Butterfly~~


使用C118手机进行GSM/SMS嗅探实验

  如何防范(Defense)

手机开4G/5G Only,没开的话可以搜索手机工程代码进入到里边自己打开,换服务,移动2G还存在一点点,联通基本上都没了,电信的不知道。

也希望我这是最后一篇关于GSM短信嗅探的,毕竟新的技术过的久了就会发现许多漏洞,几天前 GeekPwn 参赛选手就破解了某信LTE微基站(Orz)


为了避免相关情况发生,本文不进行教程支援及问题解答

  参考文献





https://youtu.be/ZDToZIYHmJM

https://www.irjet.net/archives/V4/i1/IRJET-V4I1323.pdf

https://wulujia.com/2013/11/10/OsmocomBB-Guide

http://osmocom.org/projects/baseband/wiki/OsmocomBB

https://github.com/osmocom/osmocom-bb

http://osmocom.org/projects/baseband/wiki/Software_Getting_Started




本文始发于微信公众号(Gh0xE9):使用C118手机进行GSM/SMS嗅探实验

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: