IT学习网 - 爱学习 - 最具影响力综合资讯网站 -- 中国IT界的领航者!
热门关键字:      88888  as  xxx
站外
广告
站外
广告

GSM Hacking Part ② :使用SDR捕获GSM网络数据并解密

发布时间:2016-08-24 17:33文章来源:网络整理文章作者: 学习网点击次数:
本文作者:雪碧[email protected]洞盒子安全团队000在文章第一部分 GSM Hacking Part ① :使用SDR扫描嗅探GSM网络搭建了嗅探GSM流量的环境,在第二部中,我们来讨论如何捕获发短信以及通话过程中的流量,从捕获到的…

本文作者:雪碧0xroot@漏洞盒子安全团队

0×00

在文章第一部分 GSM Hacking Part ① :使用SDR扫描嗅探GSM网络搭建了嗅探GSM流量的环境,在第二部中,我们来讨论如何捕获发短信以及通话过程中的流量,从捕获到的数据中解密提取出短信文字以及通话语音。

IMG_0857.JPG

0×01

1.1 获取三星漏洞利用代码:

这是三星的Modem interface exposed via USB通过该exp可对设备输入AT指令进行调试(此方法仅适用于:Galaxy Note 3、Galaxy S4、Galaxy S5、Galaxy S6)。

AT 即Attention,AT指令用于终端设备与PC应用之间的连接与通信。

wget https://raw.githubusercontent.com/ud2/advisories/master/android/samsung/nocve-2016-0004/usbswitcher.c

1.2 源码编译libusb:

wget http://jaist.dl.sourceforge.net/project/libusb/libusb-0.1%20%28LEGACY%29/0.1.12/libusb-0.1.12.tar.gz
tar zxvf libusb-0.1.12.tar.gz
cd libusb-0.1.12/
./configure
make
make install
sudo ldconfig

1.3 gcc编译PoC:

gcc usbswitcher.c -o switcher -lusb

0×02 获取Kc、TMSI参数

插入三星设备,可以在/dev/ttyACM*中找到它:

三星.png

2.1 switcher

busybox microcom /dev/ttyACM0

busy.png

./switcher

swift.png

这一步比较尴尬,需要反复执行才能成功进入交互界面,如果实在不行可以尝试下一种方式,使用minicom:

2.2 minicom

minicom -D /dev/ttyACM0

通过AT指令获取Kc\TMSI可参阅:Attacking the Baseband Modem of Mobile Phones to Breach the users’ Privacy and network Security

Clipboard Image.png

2.3 Kc

GSM系统中的加密也只是指无线路径上的加密,防止BTS和MS之间交换客户信息和客户参数时不被非法个人或团体所得或监听,在鉴权程序中,当客户侧计算SRES三参数组的提供时,同时用另一算法(A8算法)也计算出密钥Kc。根据MSC/VLR发送出的加密命令,BTS侧和MS侧均开始使用Kc。在MS侧,由Kc、TDAM帧号和加密命令M一起经A5算法,对客户信息数据流进行加密,在无线路径上传送。在BTS侧,把从无线信道上收到加密信息数据流、TDMA帧号和Kc,再经过A5算法解密后,传送BSC和MSC。可以通过AT指令获取KC值:

AT+CRSM=176.28448,0,0,9

演示视频中,Crazy Danish Hacker获得了该值为:5973237C3E96980303 丢弃最后两位,即:5973237C3E969803

2.4 TMSI 鉴权后分配临时识别码

临时识别码的设置是为了防止非法个人或团体通过监听无线路径上的信令交换而窃得移动客户真实的客户识别码(IMSI)或跟踪移动客户的位置。客户临时识别码(TMSI)是由MSC/VLR分配,并不断地进行更换,更换周期由网路运营者设置。更换的频次越快,起到的保密性越好,但对客户的SIM卡寿命有影响。TMSI的值也能通过AT指令来获取:

AT+CRSM=176.28542,0,0,11

演示视频中,Crazy Danish Hacker获得了该值为:9062FF7632F8665610FF00,取其前4bytes,也就是前8字节,即:9062FF76。

0×03 信号捕获

3.1 确定当前手机接入基站

手机在连入GSM基站时,我们可通过一些方式确定自己手机连入的是哪个基站、ARFCN是多少,安卓手机在2G状态时,可在键盘拨号界面输入:

*#*#4636#*#*  

上面这个是安卓通用的如果你的手机没反应,还可以尝试

Samsung (Android) : *#*#197328640#*#* or *#0011#
iPhone (all) : *3001#12345#*拨号
HTC (Android) : *#*#7262626#*#*

进去以后能找到基站的MCC、MNC、ARFCN这些参数。

MCC 移动国家码

MNC Mobile Network Code,移动网络码,共2位,中国联通GSM系统使用01,中国移动GSM系统使用02

ARFCN 绝对无线频道编号(Absolute Radio Frequency Channel Number – ARFCN ),是在GSM无线系统中,用来鉴别特殊射频通道的编号方案。

手机开机后,即搜索广播控制信道(BCCH)的载频。因为系统随时都向在小区中的各用户发送出用广播控制信息。手机收集到最强的(BCCH)对应的载频频率后,读取频率校正信道(FCCH),使手机(MS)的频率与之同步。所以每一个用户的手机在不同的位置(即不同的小区)的载频是固定的,它是由GSM网络运营商组网时确定,而不是由用户的GSM手机来决定。


GSM Hacking Part ② :使用SDR捕获GSM网络数据并解密
本文由 IT学习网 整理,转载请注明“转自IT学习网”,并附上链接。
原文链接:http://www.ourlove520.com/Article/netsafe/xitong/419080.html

标签分类:

上一篇:上一篇:Cowrie蜜罐部署教程
下一篇: 下一篇:oclhashcat:离线hash密码破解工具官方文档(中文版)
无觅关联推荐,快速提升流量