严正声明:该工具主要是为了让大家更好的了解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. SQLPrompt 6.3.0.354 完美破解 安装于 SQL Server 2012/2014

    SQL SERVER 2012格式化 SQL SERVER 2014格式化 SQLPrompt_6.4.0.641 破解版 百度云下载 迅雷下载 百度网盘下载 SQL Prompt 是一款拥有SQL智 ...

  2. vue-cli2.0项目的搭建

    1.第一步:安装vue-cli 命令行输入cmd或按住shift鼠标右键打开powershell 输入命令 npm install --global vue-cli 按enter键 2.第二步:创建项 ...

  3. Vue项目过程中遇到的小问题

    1.给router-link添加点击事件 <router-link to="" @click.native=""></router-link& ...

  4. vue警告: component lists rendered with v-for should have explicit keys

    warning信息:component lists rendered with v-for should have explicit keys. See https://vuejs.org/guide ...

  5. iOS-AES算法总结

    AESCipher.h #import <Foundation/Foundation.h> @interface AESCipher : NSObject /** 加密算法 @param ...

  6. java中内存泄露有几种?如何分析泄露原因

    一.Java内存回收机制 不论哪种语言的内存分配方式,都需要返回所分配内存的真实地址,也就是返回一个指针到内存块的首地址.Java中对象是采用new或者反射的方法创建的,这些对象的创建都是在堆(Hea ...

  7. Java语言资源国际化步骤

    语言资源国际化步骤:   1. 定义资源文件(如:language),需要使用命令native2ascii命令进行转码:(native2ascii是jdk中的转码工具,在jdk的bin目录下)   2 ...

  8. windons下一些软件的地址

    idea http://download.jetbrains.8686c.com/idea/ideaIC-2018.3.1.exe

  9. 《CAP定理》

    分布式系统的最大难点,就是各个节点的状态如何同步.CAP 定理是这方面的基本定理,也是理解分布式系统的起点. 分布式系统的三个指标 这三个指标不可能同时做到——这个结论就叫做 CAP 定理. Part ...

  10. 剑指offer(5)——从尾到头打印链表

    题目: 输入一个链表的头结点,从尾到头反过来打印出每个结点的值.结点定义如下: public class ListNode { int val; ListNode next = null; ListN ...