科普:如何构建一个被动IMSI捕获器

释放双眼,带上耳机,听听看~!

没有硬件的小伙伴,看一下思路学习学习也是可以的,这也算是信息收集的一种途径,当然,请不要用于违法行为,我翻这篇文章只是为了告诉大家,IMSI也会导致隐私问题,特别是定位追踪等不可描述的途径。

所以,在开篇前先对IMSI有一个基本概念和结构的认识

国际移动用户识别码(IMSI:International Mobile Subscriber Identification Number)是区别移动用户的标志,储存在SIM卡中,可用于区别移动用户的有效信息。(IMEI是手机的唯一识别号码,即手机串号,别整反了)

IMSI是15位的十进制数。其结构如下:

MCC+MNC+MSIN

图1 IMSI结构

MCC(Mobile Country Code,移动国家码):

MCC的资源由国际电信联盟(ITU)在全世界范围内统一分配和管理,唯一识别移动用户所属的国家,共3位,中国为460。

MNC(Mobile Network Code,移动网络号码):

用于识别移动用户所归属的移动通信网,2~3位。

在同一个国家内,如果有多个PLMN(Public Land Mobile Network,公共陆地移动网,一般某个国家的一个运营商对应一个PLMN),可以通过MNC来进行区别,即每一个PLMN都要分配唯一的MNC。中国移动系统使用00、02、04、07,中国联通GSM系统使用01、06、09,中国电信CDMA系统使用03、05、电信4G使用11,中国铁通系统使用20。

MSIN(Mobile Subscriber Identification Number,移动用户识别号码):用以识别某一移动通信网中的移动用户。共有10位,其结构如下:

EF+M0M1M2M3+ABCD

其中,EF由运营商分配;M0M1M2M3和MDN(Mobile Directory Number,移动用户号码簿号码)中的H0H1H2H3可存在对应关系;ABCD:四位,自由分配。

而一般谈到IMSI,基本都会有人提到伪基站,具体原理性东西不在这谈了,有兴趣的同学可以看一下这篇文章。

一夜之间收到上百条短信,账户空了…东南亚有一千多座伪基站,专骗中国人!公安部门为啥不抓光这些骗子?

而题目谈到的IMSI捕获器,是常用的执法和情报机构在世界各地追踪手机的设备。它们旨在收集和记录IMSI号码,这些号码是分配给移动电话订阅的唯一标识符。在某些情况下,IMSI号码可以链接回个人身份,这固有地引起了许多隐私问题。

这篇文章介绍了构建被动 IMSI捕获器的过程,它与传统的IMSI捕获器截然不同,因为它不会传输,也不会以任何方式干扰蜂窝网络。


下面都是传统的,按理说是违法的。

传统的IMSI捕获器在大多数司法管辖区都是非法的,因为它们在蜂窝频率上传输(需要许可证),并且它们基本上在电话和移动基站之间执行中间人攻击(这打破了所有各种反黑客法律)。被动IMSI捕获器不会执行这些操作。


需要注意的一点是,设备收集的个人数据(IMSI号码)可能受隐私法的约束,因此请注意存储/处理/共享此设备收集的数据。

开始


当电话初始化到基站的连接时,被动IMSI捕获器通过捕获IMSI号来工作。IMSI仅在初始连接期间公开。为了保护隐私,与该基站的所有后续通信都是使用随机的临时移动订户身份(TMSI)号码完成的。


这意味着您只能在设备在基站之间移动时收集IMSI号码。传统的IMSI捕获器通过欺骗合法基站并强制订户连接到自身来以不同的方式工作。它们具有收集有关固定设备数据的附加功能,并且可能具有更具针对性的范围。


硬件

唯一需要的硬件是支持GSM频率的PC和SDR接收器。通常这意味着850/900 / 1,800 / 1,900 MHz。大多数廉价的基于RTL2832U的接收器具有大约1700MHz的高频范围。您可以使用其中一种,但当然,您将无法收听1,800或1,900 MHz的电台。

建议使用Nooelec NESDR SMArt XTR,它具有扩展的频率范围。

https://www.nooelec.com/store/sdr/sdr-receivers/nesdr-smart-xtr.html

HackRF一个是另一种流行的选择。

(HackRF的方法请看这里https://www.freebuf.com/news/141988.html)

软件

该项目基于几个主要组成部分:

  • GNU Radio – 信号处理框架

    https://www.gnuradio.org/

  • gr-gsm – 用于处理GSM传输的GNU Radio的块和工具

    https://github.com/ptrkrysik/gr-gsm

  • IMSI-catcher – 处理来自gr-gsm的数据并提取IMSI号的Python脚本

    https://github.com/Oros42/IMSI-catcher

  • Wireshark – 可用于查看来自gr-gsm的原始GSM数据包

    https://www.wireshark.org/


博主在Windows 10上运行的Ubuntu 18.04 LTS虚拟机中运行了所有内容,效果很好。


安装gr-gsm

官方gr-gsm安装说明可在此处找到。在Ubuntu 18.04上,您可以使用以下命令安装所需的依赖项并构建+安装gr-gsm。


sudo apt install gnuradio gnuradio-dev git cmake autoconf libtool pkg-config g++ gcc make libc6 \
libc6-dev libcppunit-1.14-0 libcppunit-dev swig doxygen liblog4cpp5v5 liblog4cpp5-dev python-scipy \
gr-osmosdr libosmocore libosmocore-dev

# Build and install gr-gsm
git clone https://git.osmocom.org/gr-gsm
cd gr-gsm
mkdir build
cd build
cmake ..
make
sudo make install
sudo ldconfig


安装其他

# IMSI-catcher script
sudo apt install python-numpy python-scipy python-scapy
git clone https://github.com/Oros42/IMSI-catcher.git

# Wireshark

sudo apt install wireshark tshark


捕获GSM流量和IMSI


测试一切正常的第一步是运行sudo grgsm_scanner。这将扫描并列出附近的所有基站。您可能需要大约一分钟才能开始看到基站。


选择一个基站来捕获来自的流量。信号强度列在最右侧列中。接近零的数字代表更强的信号。对于这个例子,我将使用949.8 MHz的电台。

您可以告诉gr-gsm捕获流量sudo grgsm_livemon -f 949.8M。


捕获的GSM流量通过管道连接到环回接口,可以在Wireshark中轻松查看。该e212.imsi过滤器将只显示包含IMSI号的分组。


该python simple_IMSI-catcher.py –sniff命令还可用于从数据流中解析IMSI。它比Wireshark更容易阅读,并且还将IMSI与特定的网络运营商,品牌和国家相匹配。

结论

你有一堆IMSI号码。接下来是什么?理想情况下,您不应该仅对IMSI号码执行任何操作。当您可以将IMSI与个人关联时,会出现问题。网络运营商和执法部门通常可以大量访问这些数据。希望有所有适当的授权和保证……

但是,私人和公司也有各种方式来收集IMSI号码。一种经常被忽视的方法是通过移动应用程序。应用可以访问设备的IMSI号码(在Android上),有时会将其收集并用作唯一用户标识符。IMSI可以与客户数据库中的姓名,电话号码和电子邮件地址一起存储。客户数据库通常出于营销目的出售给第三方,当然有可能被盗。

看完之后,可能有人会说,现在可是5G时代,并没那么容易利用IMSI去攻击了。

然而,今年2月就刚爆出了4G/5G的新漏洞,攻击者可拦截电话和追踪用户位置


多名学者组成的团队近日宣布成功在4G/5G网络中发现三个新的安全漏洞,可用于拦截电话以及跟踪手机用户的位置。相关调查结果显示,这是首次同时影响现有4G网络和即将到来的5G标准的首批漏洞。5G网络声称提供更快的速度和更高的安全保护,并对窃听手机行为提供了更妥善的保护措施,但研究人员表示新型攻击方式可以绕过这些措施。

该论文的共同作者之一Syed Rafiul Hussain向外媒TechCrunch透露:“任何对蜂窝寻呼协议有所了解的人都可以发起此类攻击。”Hussain,以及来自于普渡大学的Ninghui Li和Elisa Bertino,来自爱荷华大学的Mitziu Echeverria和Omar Chowdhury,计划于本周二在圣地亚哥的网络和分布式系统安全研讨会上展示他们的发现。

根据论文描述,这三个漏洞分别为Torpedo、Piercer和IMSI-Cracking攻击。其中最为严重的就是Torpedo,它利用了蜂窝寻呼协议(paging protocol,运营商用于来电或者短信之前通知手机)的弱点,在短时间内拨打和取消手机通话可以在通知目标设备来电的情况下触发寻呼协议,从而让攻击者追踪受害者的位置。研究人员说,知道受害者的寻呼时机还可以让攻击者劫持寻呼通道,并通过欺骗消息(如Amber警报)或完全阻止消息来插入或拒绝寻呼消息。

而基于Torped漏洞,攻击者还可以推进另外2个漏洞。研究人员表示Piercer允许攻击者在4G网络上确定国际移动用户身份(IMSI),而另外一个漏洞名为IMSI-Cracking攻击,它可以在4G和5G网络中暴力攻击IMSI号码,而IMSI号码都是加密状态的。

Hussain表示美国四大电信运营商(AT&T,Verizon、Sprint和T-Mobile)均存在Torped漏洞,攻击者只需要花200美元购买一台无线电通讯设备就能发起攻击。一位不愿透露姓名的内部人士表示,美国的一家运营商已经遭受到了Piercer漏洞的攻击。

所以,还是买一个HackRF吧。(tb一搜就有)

相关链接:

https://harrisonsand.com/imsi-catcher/

近期看点(点击即可):

欢迎下方长按识别二维码关注本公众号

更多情报和数据,请关注公众号,点击菜单栏,扫码加入知识星球

感谢您的关注和转发

右下角

朕已阅

本文源自微信公众号:黑鸟

人已赞赏
安全工具

Cobalt Group近期攻击。。等情报

2019-10-16 10:04:36

安全工具

远程桌面服务漏洞分析与检测代码公开,暗网已开始售卖可利用EXP

2019-10-16 10:04:42

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索