GSM嗅探

GSM初探

大家应该都听说过HTTP协议,又听说WEB服务,每一个服务的背后都有一个协议在工作着。所谓的没有规矩不成方圆,说的就是这个道理,每一个细小的部分,都已经规定好,只要按照协议执行,就不会出现问题。同样,GSM手机可以拨打电话,也就离不开相关协议的支持,这里就来介绍GSM协议。全球移动通信系统Global System for Mobile Communication就是众所周知的GSM,是当前应用最为广泛的移动电话标准。全球超过200个国家和地区超过10亿人正在使用GSM电话。

GSM是一个蜂窝网络,蜂窝网络的原因,是因为一个数学结论,即以相同半径的圆形覆盖平面, 当圆心处于正六边形网格的各正六边形中心,也就是当圆心处于正三角网格的格点时所用圆的数量最少。作为运营商,为了考虑成本,不会建设大量多余的基站,那么采用蜂窝网络即可覆盖区域又可以减少基站数量,这不是很好么?是的,这很好。下面咱们就一块聊聊基站。

走近基站

首先,看一张图片,这就是基站。大家肯定都见过,但是有没有注意过,铁塔的下面总会有一间小房子,那房子里面是什么呢?请看图。其实就是一堆机器。里面究竟有哪些东西呢?组要组成有基站子系统(简称基站BS)由基站收发台(BTS)和基站控制器(BSC)组成;网络子系 统由移动交换中心(MSC)和操作维护中心(OMC)以及原地位置寄存器(HLR)、访问 位置寄存器(VLR)、鉴权中心(AUC)和设备标志寄存器(EIR)等组成。

探索基站与手机通信方式

这个话题,咱们就在一起聊一聊基站与手机是如何通信的,这里只作一个大概的介绍,因为这里面的水很深,自己认识也不是特别的清楚。

首先说明一些常见的情况,为什么手机卡分属各地呢?为什么市话便宜,长途贵?为什么要收取漫游费?当手机开机搜索信号时都与基站交换了什么呢?手机关机的时候又与基站交换了什么呢?下面,我给大家揭开迷雾。

在基站小节中,咱们分析基站了组成,其中有一个原地位置寄存器(HLR),HLR里面存放着本地的手机号信息,而访问 位置寄存器(VLR)存放着外地来的手机号信息。通过判断手机号的归属地,就可以区分本地和外地手机了,这就是区分归属地的原因了。

当你拨打电话的时候,首先会给基站请求,基站判断出这个手机号的所在的基站,然后与基站、目标手机建立连接,对于目标在本地,数据只在本地的基站系统中传输,相当于计算机中的局域网,故资费便宜,当目标手机不在本地时,就需要连接外地的基站,传输距离长,过程相对复杂,故资费较高。

当自己身处外地的时候,有没有想过,别人给自己打电话的时候,基站是如何寻找到自己的?其实,自己的手机时刻都连接的基站,当初在外地的时候,所连基站会在访问 位置寄存器(VLR)中注册一下,并向原籍基站进行请求相关信息,并告诉对方自己的位置,这样原籍的基站就知道自己的位置。此时,别人拨打自己的电话会先通过本地的基站-->当前基站--〉手机,故需要额外的漫游费。自己拨打当地的市话,与本地拨打并没有太大的区别。

基站会不停的对外广播自己的信号及相关信息,手机只要搜索信号,选择相应的连接上去即可,在连接过程会做一些信息的注册,比如Imel,手机号等。当自己的手机正常关机时,也会给基站发送注销信息,这样别人拨打你的电话,就会提示已关机。假如自己的手机突然断电,会意外的断开与基站的连接,基站那面没有完成正常的注销操作,这样别人拨打你的电话,就会提示暂时无法接通或者不在服务区。

说到这里,面对一个大基站,基站本身并不会对特定的方向的信号与你通信,而是以向四周广播的形式,发送信号。那么就可以说,我们的手机实际上也是可以接收到其他手机的信号,对的,就是这样,这就是无线,不像有线有一个专门的线路,只要把收到的信号给解密了,就可以嗅探别人的短信、语音通话。甚至可以假冒其他人的身份通话(当然,前提是可以突破目前的鉴权手段)。到这里,关于基站和手机的故事就到这里了。下面给大家介绍一下著名破解GSM的项目OsmocomBB。

OsmocomBB项目介绍

之前说过神奇的OsmocomBB项目,这一节就做简要的介绍。

OsmocomBB是国外一个开源项目,是GSM协议栈(Protocols stack)的开源实现,全称是Open source mobile communication Baseband.目的是要实现手机端从物理层(layer1)到layer3的三层实现。

对于这一方面,国内的中文资料很好,并且是一个很敏感的话题,即使在乌云里面报告,运营商也是置之不理。短信内容的明文传输已经不是什么秘密了。

好了,尽管不是特别的了解这个项目,但是还是可以从宏观的角度进行一个解释,前面说了,服务和协议都是相辅相成的。只要可以搞懂完整的GSM通信协议,咱们就可以从物理层捕获相关信号,通过对GSM的破解,可以对信号进行解密,从而获得原文。

现在,咱们不需要深入了解GSM的工作原理,利用这个开源项目,进行简单的配置,咱们就可以嗅探了!下一节,咱们具体谈一谈实验的配置。重点在后面。这里对于初学的我,先暂时不深究了。

实验环境配置

4.1硬件清单

1、需要一个兼容的平台(即硬件可以兼容交叉编译环境,主要为手机):

这里官方推荐了几个类型的手机

  Designed + Manufactured by Compal, OEM by Motorola

  MotorolaC115/C117 (E87)

  MotorolaC123/C121/C118 (E88) -- our primary target

  MotorolaC140/C139 (E86)

  MotorolaC155 (E99) -- our secondary target

  MotorolaV171 (E68/E69)

  SonyEricssonJ100i

  Designed by Pirelli/Foxconn?, manufactured by Foxconn

  Pirelli DP-L10

Designed by Openmoko, manufactured by FIC

Neo 1973 (GTA01)

OpenMoko - Neo Freerunner (GTA02)

A list of potential targets that may be worth adding support for in the future is available at PotentialCalypsoTargets.

MTK based

Information specific to Mediatek phones that we support.

Designed + Manufactured by Bluelans

SciphoneDreamG2 (MT6235 based)

这是官网的推荐,这里我们采用的是MTC118,淘宝的价格也就几十块钱。

2、还需要USB串口转换模块

上图是官网的推荐型号,这里我们采用FT232,尽管贵了点,但是比较稳定,效果好。

下面,上一图,就是全部硬件了。

软件部分

环境:kali Linux(amd*64)系统

1、vim /etc/apt/sources.list
2、
deb http://mirrors.ustc.edu.cn/kali kali main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali main non-free contrib
deb http://mirrors.ustc.edu.cn/kali-security kali/updates main non-free      //把这三行添加进去,wq保存
3、apt-get update
4、aptitude install libtool shtool autoconf git-core pkg-config make gcc
5、
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
6、wget -c http://bb.osmocom.org/trac/raw-attachment/wiki/GnuArmToolchain/gnu-arm-build.2.sh
7、chmod +x gnu-arm-build.2.sh
8、mkdir build install src
9、cd src/
10、
wget http://ftp.gnu.org/gnu/gcc/gcc-4.5.2/gcc-4.5.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
11、cd ..
12、./gnu-arm-build.2.sh
13、echo "export PATH=\$PATH:/root/install/bin">>/root/.bashrc
14、source /root/.bashrc
15、cd ~
16、git clone git://git.osmocom.org/libosmocore.git
17、cd libosmocore/
18、autoreconf -i
19、./configure
20、make
21、make install
22、cd ..
23、.ldconfig
24、cd ..
25、git clone git://git.osmocom.org/osmocom-bb.git
26、cd ~/osmocom-bb
27、git checkout --track origin/luca/gsmmap
28\cd src
29\make

在环境配置过程中,总会遇见其他奇葩的问题,但是幸运的是,我一遍就成功了,大家一定要遇见问题,去解决问题。

开始嗅探

假设我们已经编译好环境了,下面要做的就是,

第一步:插上硬件,在kali终端输入lsmod | grep usb ,如图:

如果出现的话,证明硬件连接成功。

第二步:

刷固件,就是把程序烧写到手机里面,

输入命令:

./osmocon -m c123xor -p /dev/ttyUSB0 ../../target/firmware/board/compal_e88/layer1.compalram.bin

然后按一下开机键,就开始刷了,接下来会出现过程代码。

大概15秒后,完成,手机屏幕会出现如下提示,说明刷固件成功。

第三步:

新建一个终端,输入命令:

cd ~/osmocom-bb/src/host/layer23/src/misc./cell_log -O

这个命令是扫描可用信道,会列出相关信道的信息

其中出现的ARFCN就是信道编号。

第四步:

新建一个终端,输入命令:

./ccch_scan -i 127.0.0.1 -a 655

其中最后一个数字代表ARFCN号,就是根据上一个终端得出的结果。这个命令代表在信道655上嗅探。

第五步:

新开一个终端,输入命令:

wireshark -k -i lo -f ‘port 4729‘ 

并且wireshark的过滤器选择gsm_sms,就可静静的等待一下。结果如图:

今天的运气还是比较好的,短短5分钟就嗅探到了6条短信。如果嗅探不到的话,就需要换个信道试一试。

时间: 2024-10-11 01:02:47

GSM嗅探的相关文章

一种基于SDR实现的被动GSM嗅探

软件定义无线电(SDR)是一种无线电通信系统,简单来说,就是通过数字信号处理技术在通用可编程数字信号处理硬件平台上,利用软件定义来实现无线电台的各单元功能,从而对无线电信号进行调制.解调.测量.SDR架构放弃了传统无线电电路中所有的硬件单元,包括变频.混频.滤波器.放大器.检波器.解调器等,所有的处理,包括混混频,滤波,解调等都是用软件来完成的,完全是一种新的架构和技术. 其实,SDR技术和架构的无线电产品在军用和商用无线电领域早已广泛使用,近年来SDR技术已经被应用到了与大众接触最为密切的移动

osmocom-bb中cell_log的多种使用姿势

转载留做备份,原文地址:http://92ez.com/?action=show&id=23342 翻阅osmocom-bb源码的时候注意到,在cell_log中有非常多我们从来没有注意到的功能.这些功能看起来并不是适合我们当前的使用环境.例如,在cell_log里面有GPS的扫描.我们目前所接触到的还没有涉及到GPS设备的使用.当然,osmocom-bb的功能是非常强大的,如果只是简单的搞个GSM嗅探,那未必也太大材小用,所以如果你手头上有GPS设备,不妨可以试一试,嗅探的信息入库,同时加上G

GSM Hacking Part① :使用SDR扫描嗅探GSM网络

0×00 写在开头 近期,发现Crazy Danish Hacker在YouTuBe发布了一个挺不错的教程视频:使用SDR嗅探监听GSM网络的通信流量(GSM Sniffing Teaser – Software Defined Radio Series).该教程从电视棒的安装到扫描.嗅探工具的使用.GSM流量包的捕获解密都有详细说明演示: 作为搬运工,在这里将分两三部分参考&总结一下该教程的主要内容,输出一篇中文教程,希望能够给对这方面感兴趣的童鞋带来一定帮助. 0×01 环境搭建 OS:GN

GSM Sniffing入门之软件篇:GSMTAP抓取与SMS(Short Message Service)还原

重点介绍如何利用50元左右的设备,抓包并还原SMS短信内容: ps:研究GSM Sniffing纯属个人兴趣,能抓SMS报文只是捡了个明文传输的漏子,切勿用于非法用途.就像sylvain说的,osmocomBB并不是为抓包而实现的,如果没有足够的GSM相关知识,想实现还原语音通话内容根本就无从下手. ---------------------------------------------------------------------------------------------------

剖析 GSM 加密机制以及位置更新的过程

你有没有想过打开手机时会发生什么?它是如何以安全的方式与网络进行通信?几乎所有人都知道TCP / IP,并且可能许多人还是专家,但是谈到电信方面,很少有人知道它的内部原理. gsm中的消息结构是什么?它使用的加密类型是什么?因此,今天我们将详细介绍gsm的加密标准,以及手机如何更新移动网络的位置. 当你打开手机发生了什么? 当您打开手机时,它首先启动其无线电资源和移动管理程序. 手机通过SIM或网络接收附近地区支持的频率列表. 它根据功率级别和移动提供商在一个单元上存储.之后,它会对认证发生的网

GSM sniffer实践报告

GSM sniffer实践报告 一.声明这东西在国内挺敏感,国外已经玩了两三年了,国内现在才开始火起来,总之一句话,本报告只做研究用,勿做非法用途,违者自负!二.OsmocomBB简介OsmocomBB是GSM协议栈(Protocols stack)的开源实现,全称是Open source mobile communication Baseband.目的是要实现手机端从物理层(layer1)到layer3的三层实现.但是目前来看,真正的物理层(physical layer)并没有真正的开源实现,

KALI GSM Sniffer 搭建测试(本人亲自搭建测试)

声明 本文仅为技术测试和探讨,请勿用于非法用途. 一.测试硬件和软件要求 1.摩托罗拉c118手机一部 2.2.5mm 3极耳机线一根 3.USB转TTL模块一个 4.笔记本一个(kali linux 1.0.7)64位 建立Arm码的编译环境 二.建立Arm代码的编译环境 1.打开kali linux1.0.7,用1.0.9版本也可以.首先我们需要安装一下我们必要的编译环境.因为Osmocom-bb嗅探平台是需要自己在本地编译的.所以编译环境一定要先整好,避免编译失败.注意,这里使用的系统是k

Kali下的Osmocom-BB GSM-SMS 嗅探

最近在学习无线安全方面的知识,了解到了  Osmocom-BB , 拿来研究下 . 以下知识,仅用作研究探讨,请勿用作非法用途  !!!! 作者QQ: 70583079 理论:   osmocom-bb 国外的一个开源项目, 针对 GSM 协议,  移动 联通 的 2G网络用的都是 GSM,  (电信不是) , 所以此开源项目可以嗅探 短信,或者搭配 openBts 搭建小型短信基站来发短信 ARFCN: 信号通道的意思,嗅探短信也要知道此信号道 参考:  http://bb.osmocom.o

MSF魔鬼训练营-3.3.2 口令猜测与嗅探

密码暴力破解以SSH为例,其他协议方法类似 SSH msf > use auxiliary/scanner/ssh/ssh_login msf auxiliary(ssh_login) > set rhosts 192.168.3.199 rhosts => 192.168.3.199 msf auxiliary(ssh_login) > set username root username => root msf auxiliary(ssh_login) > set