严正声明:该工具主要是为了让大家更好的了解GSM网络的工作原理而设计开发的,请不要用于恶意目的!

前言

IMSI-catcher是一个可以帮助你发现附近手机的IMSI号码,国家,品牌和运营商等信息的工具。

你需要准备的设备

一台PC电脑

1个带有天线的USB DVB-T key(RTL2832U)(大概在15美元以内),或是一部OsmocomBB手机一个HackRF设备。

设置

git clone https://github.com/Oros42/IMSI-catcher.git
# or wget https://github.com/Oros42/IMSI-catcher/archive/master.zip && unzip -q master.zip

sudo apt install python-numpy python-scipy python-scapy

对于Debian Testing (10) 和 Ubuntu 18.04+ gr-gsm 的安装,请参阅:https://osmocom.org/projects/gr-gsm/wiki/Installation

对于老版本的Debian 和 Ubuntu的安装命令如下 :

sudo add-apt-repository -y ppa:ptrkrysik/gr-gsm
sudo apt update
sudo apt install gr-gsm

如果gr-gsm设置失败,请参照:https://github.com/ptrkrysik/gr-gsm/wiki/Installation 进行设置。

Debian:https://tracker.debian.org/pkg/gr-gsm

运行

使用旧版本的gr-gsm

打开2个终端。

在终端1中输入:

sudo python simple_IMSI-catcher.py --sniff

你可以添加-h参数显示可用选项。

在终端2中,搜索频率:

grgsm_scanner

使用grgsm_livemon命令嗅探你搜索到的频率:

grgsm_livemon -f <your_frequency>M

例如:

grgsm_livemon -f 938.2M

运行后应该会产生类似以下输出:

15 06 21 00 01 f0 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
25 06 21 00 05 f4 f8 68 03 26 23 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
49 06 1b 95 cc 02 f8 02 01 9c c8 03 1e 57 a5 01 79 00 00 1c 13 2b 2b
...

你可以根据需求更换不同的频率。

gr-gsm >= 0.41.2-1

同样,打开2个终端。

在终端1中输入:

python simple_IMSI-catcher.py

你可以添加-h参数显示可用选项。

在终端2中输入:

python scan-and-livemon

这个过程可能需要几分钟的时间。因为,它需要运行grgsm_scanner来查找附近的基站,并请求grgsm_livemon_headless接收信号。

或是先找到附近基站的频率。

grgsm_scanner

接着,使用grgsm_livemon命令嗅探你搜索到的频率:

grgsm_livemon -f <your_frequency>M

例如:

grgsm_livemon -f 938.2M

运行后应该会产生类似以下输出:

15 06 21 00 01 f0 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
25 06 21 00 05 f4 f8 68 03 26 23 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b 2b
49 06 1b 95 cc 02 f8 02 01 9c c8 03 1e 57 a5 01 79 00 00 1c 13 2b 2b
...

你可以根据需求更换不同的频率。

完成以上操作后,下面我们要做的就是等待结果。大概一分钟左右的时间,我们就能够在终端1中看到IMSI号码。如果一分钟后没有出现任何内容,那么请更改你的频率。

相关文档:https://fr.wikipedia.org/wiki/Global_System_for_Mobile_Communications

例如法国的频率为:9.288e+08 Bouygues

查看捕获到的数据包:

sudo wireshark -k -Y '!icmp && gsmtap' -i lo

可选项

获取有关信号塔的信息:

sudo python find_cell_id.py

获取Immediate Assignment信令:

sudo python immediate_assignment_catcher.py

查找频率

除了可以使用上面提到的grgsm_scanner来查找频率,你也可以使用像kalibrate-hackrf这样的工具来查找:

sudo apt-get install automake autoconf libhackrf-dev
git clone https://github.com/scateu/kalibrate-hackrf
cd kalibrate-hackrf/
./bootstrap
./configure
make
sudo make install

运行

kal -s GSM900
kal: Scanning for GSM-900 base stations.
GSM-900:
  chan:   14 (937.8MHz + 10.449kHz)	power: 3327428.82
  chan:   15 (938.0MHz + 4.662kHz)	power: 3190712.41

参考资料:

Gr-Gsm 设置:https://github.com/ptrkrysik/gr-gsm/wiki/Installation

频率:http://www.worldtimezone.com/gsm.htmlhttps://fr.wikipedia.org/wiki/Global_System_for_Mobile_Communications

MNC:https://en.wikipedia.org/wiki/Mobile_Network_Code

Scapy:http://secdev.org/projects/scapy/doc/usage.html

IMSI:https://fr.wikipedia.org/wiki/IMSI

Realtek RTL2832U:https://osmocom.org/projects/sdr/wiki/rtl-sdrhttp://doc.ubuntu-fr.org/rtl2832uhttp://doc.ubuntu-fr.org/rtl-sdr

IMSI-catcher:可发现附近手机敏感信息的工具的更多相关文章

  1. 4款Github泄漏敏感信息搜索工具简单比较

    gitrob Ruby开发,支持通过postgresql数据库https://github.com/michenriksen/gitrob weakfilescan Python开发,多线程,猪猪侠开 ...

  2. 如何利用GitHub搜索敏感信息

    如何利用GitHub搜索敏感信息 背景: 最近总是能听到同事说在GitHub上搜到某个敏感信息,然后利用该信息成功的检测并发现某个漏洞,最后提交到对应的SRC(安全应急响应中心)换点money.顿时心 ...

  3. 车牌、手机、身份证、等敏感信息 屏蔽 替换 、中文转unicode编码 函数

    应工作要求,需要对展示的内容进行敏感信息替换.琢磨的一些时间,编写的函数匹配率还是比较高的. 顺便说下思路,使用的是正则匹配替换和字符串替换.函数可以再改进. 先把需要匹配的内容写好相应的正则,然后进 ...

  4. 【转】Android应用开发allowBackup敏感信息泄露的一点反思

    转载:http://blog.csdn.net/yanbober/article/details/46417531 1 背景 其实这篇文章可能有些小题大作,但回过头想想还是很有必要的,有点阴沟里翻船的 ...

  5. Android应用开发allowBackup敏感信息泄露的一点反思

    1 背景 [工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处.尊重劳动成果] 事实上这篇文章可能有些小题大作,但回过头想想还是非常有必要的,有点阴沟里翻船的感觉. ...

  6. 【转】android 安卓APP获取手机设备信息和手机号码的代码示例

    http://blog.csdn.net/changemyself/article/details/7421476 下面我从安卓开发的角度,简单写一下如何获取手机设备信息和手机号码 准备条件:一部安卓 ...

  7. Spring拓展接口之BeanFactoryPostProcessor,占位符与敏感信息解密原理

    前言 开心一刻 一只被二哈带偏了的柴犬,我只想弄死隔壁的二哈 what:是什么 BeanFactoryPostProcessor接口很简单,只包含一个方法 /** * 通过BeanFactoryPos ...

  8. android 安卓APP获取手机设备信息和手机号码的代码示例

    下面我从安卓开发的角度,简单写一下如何获取手机设备信息和手机号码 准备条件:一部安卓手机.手机SIM卡确保插入手机里.eclipse ADT和android-sdk开发环境 第一步:新建一个andro ...

  9. 逆向路由器固件之敏感信息泄露 Part2

    之前的文章中详细介绍了各种解包路由器固件的工具.解包之后就获得了固件中的文件.下一步就是分析文件寻找漏洞了.这次分析的目标是Trendnet路由器,分析的漏洞是一个远程获取路由器权限的漏洞. 初步分析 ...

随机推荐

  1. (转)Flink简介

    1. Flink的引入 这几年大数据的飞速发展,出现了很多热门的开源社区,其中著名的有 Hadoop.Storm,以及后来的 Spark,他们都有着各自专注的应用场景.Spark 掀开了内存计算的先河 ...

  2. Spring的AOP原理

    转自 https://www.tianmaying.com/tutorial/spring-aop AOP是什么? 软件工程有一个基本原则叫做“关注点分离”(Concern Separation),通 ...

  3. Python编译出现错误SyntaxError: Non-ASCII character '\xe7' 时解决方法

    转载个解决办法:https://blog.csdn.net/wangchao701123/article/details/57084244 转自https://blog.csdn.net/jim742 ...

  4. netstat -anp/ss -t里的Send-Q和Recv-Q含义

    Send-Q 对方没有收到的数据或者说没有Ack的,还在本地缓冲区 Recv-Q 数据已经在本地接收缓冲区,但是还没有recv() The count of bytes not copied by t ...

  5. 【c# 学习笔记】c#中的类

    1.什么是类: 在c#中类是一种数据结构,它可以包括数据成员.函数成员(方法.属性.事件.索引器.索引符.实例构造函数.静态构造函数和析构函数.及嵌套类型). 属性是,类中字段和方法的结合体,通过定义 ...

  6. 基于OpenCV的同态滤波

    在4.0.1节中,我们已经介绍了一个简单的图像形成模型,即照射-反射模型.这个模型可以开发一种频率处理程序,该程序可以同时压缩灰度范围和增强对比度来改善一幅图像的表现.图像形成的照射-反射模型的表达式 ...

  7. 阿里云ecs自动创建快照教程

    最近在一个博客联盟的微信群里面看到经常有朋友问阿里云的ecs服务器怎么设置自动创建快照,也不知道最近是怎么了,看到问这个问题的朋友有有四五个左右了,今天就特意到博客里来费大家分享设置自动创建快照的方法 ...

  8. redis 设置后台守护运行的两种方式

    第一种:进入src目录,执行 nohup ./redis-server & 第二种:redis.conf==> daemonize=yes,启动redis-server后面加redis. ...

  9. python条件判断if/else - python基础入门(8)

    生活中我们总是面临各种选择,选择不同,结果也不同,不管我们是否愿意,总会有结果,有的快乐,也有的痛苦…… 鲁迅说:人只要有钱,烦恼就会减掉90%以上,情商智商也会提高,更不会乱发火!(关键是:钱怎么来 ...

  10. 多个结果集union后保持各自原有排序

    SELECT *FROM ( SELECT TOP (@count1) a.* FROM Article AS a WITH (NOLOCK)LEFT JOIN Article_Type AS at ...