严正声明:该工具主要是为了让大家更好的了解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. Java使用PegDown将markdown文件转成html格式

    maven依赖: <dependency> <groupId>org.pegdown</groupId> <artifactId>pegdown< ...

  2. SQL Server 2008 R2如何使用正则表达式搜索

    正则表达式是简明而灵活的表示法,用于查找和替换各种模式的文本.在 SQL Server Management Studio 的“查找和替换”对话框中的“查找内容”字段中,可以使用一组特定的正则表达式. ...

  3. iOS-DatePicket

    组件_DatePicket /** 1.初始化 2.设置选择控件的格式 3.设置日期选择控件的地区 4.监听日期选择控件数值变化 **/ UIDatePicker *datePicker = [[UI ...

  4. 乐字节Java循环:循环控制和嵌套循环

    乐字节小乐上次讲完了Java反射,接下来小乐给大家讲述Java循环. 循环有以下四部分: 一.循环控制 1. do..while 直到型 ( 先执行后判断) ,结构为: 先执行循环体,后判断布尔表达式 ...

  5. 1、html的concept(概念)和三大基石

    概念:      HMTL:超文本标记语言 作用:      HTML是告诉浏览器接收到的数据使用什么样的数据组织形式进行显示使用:     HTML的规则 1.文件后缀名              ...

  6. scratch少儿编程第一季——04、想要做到有的放矢,瞄准方向很重要

    各位小伙伴大家好: 上期我们学习了动作模块的前面三个指令,今天我们继续学习下面的5个指令. 首先来看第一个(控制方向): 面向90方向默认就是屏幕的右边. 点击白色文本框上面的▼可以打开下拉菜单. 大 ...

  7. asp.net core-1.在控制台创建ASP.NET Core应用程序

    创建asp.net core应用程序,需要先把环境安装好,我这边选的是vs2017 第一步先执行dotnet 我执行dotnet --help可以把所有的命令全部列出来: 红框内就是我们可以用来初始化 ...

  8. css之word-wrap和word-break的区别

    对于英文单词,如果有一个连写且长度很长的英文单词,在第一行显示不下的情况下,浏览器默认不会截断显示,而是把这个单词整体挪到下一行.但是当整体挪到下一行还是显示不完全该肿么办呢?有如下两个方法: wor ...

  9. Vs code 下设置python tasks.json

    { // See https://go.microsoft.com/fwlink/?LinkId=733558 // for the documentation about the tasks.jso ...

  10. ubuntu maven jdk

    https://blog.csdn.net/zrgood123/article/details/82894447 这里是将环境变量配置在etc/profile,即为所有用户配置JDK环境. 使用命令打 ...