simtrace之探秘SIM卡中的世界

简介:

0×00 关于SIM卡

众所周知SIM卡是一张插在手机上的小卡,其全称为Subscriber Identity Module 客户识别模块。不过,这个世界上并没有多少人知道SIM卡中的操作系统是基于jvm的。该系统简称SCF(Smart Card Filesystem)又称SAT(SIM Application Toolkit)。

那么这个系统能够做什么呢?

允许运营商给你的SIM卡下载固件
加密解密
读取手机数据
获取用户输入
甚至截取你的微信聊天记录

SAT系统中的文件不像Windows或Linux,它的文件名是一串8或16字节的编号,它的文件结构也十分独特,如下图:

SAT中的系统指令

READ 读取
SELECT 修改
DOWN 下载
GET 接收
等等等等....

那么你一定会说:既然是系统就一定会安全问题

确实,根据国外媒体,曾有黑客通过自制发射器录制运营商加密信息后修改,造成巴西大量市民SIM卡属性泄露,之后便再也没有报道

说了那么多,那怎么访问这个系统呢?

0×01 SIMtrace介绍

这块板使用T=0 线+ AT91SAM7 微控.

它主动接收SIM卡与手机间交流的内容并上传到电脑通过电脑程序解密转换成TCP/UDP协议的包,可以通过Wireshark获得可视化内容。

特性:

完全的主动式扫描器
能够检测到RST和ATR
支持PPS / PTS
能够分割APDUs
作为手机与卡的中间人

0×02 使用方法

将SIMtrace如下连接:

安装:

复制代码
sudo apt-get install libusb-1.0-0-dev
git clone git://git.osmocom.org/simtrace.git
cd simtrace/host/
make
sudo groupadd osmocom
sudo adduser $USERNAME osmocom
sudo tee /etc/udev/rules.d/10-osmocom.rules << EOF
# to use, install this file in /etc/udev/rules.d as 10-osmocom.rules
# rule to grant read/write access on SIMtrace to group named osmocom.
SUBSYSTEM=="usb", ATTR{idProduct}=="0762", ATTRS{idVendor}=="16c0", MODE="0660", GROUP="osmocom"
EOF
sudo service udev reload
复制代码

运行:

sudo ./simtrace

复制代码
APDU: (9):  a0 a4 00 00 02 6f 07 9f 0fAPDU: (22):  a0 c0 00 00 0f 00 00 00 09 6f 07 04 00 15 00 15 01 02 00 00 91 78APDU: (9):  a0 a4 00 00 02 6f 38 9f 0fAPDU: (22):  a0 c0 00 00 0f 00 00 00 09 6f 38 04 00 15 00 55 01 02 00 00 91 78APDU: (16):  a0 b0 00 00 09 ff 3f ff ff 00 00 3f 03 00 91 78APDU: (9):  a0 a4 00 00 02 6f ad 9f 0fAPDU: (8):  a0 b0 00 00 01 00 91 78APDU: (9):  a0 a4 00 00 02 6f 07 9f 0fAPDU: (16):  a0 b0 00 00 09 08 49 06 20 11 49 00 11 06 91 78APDU: (9):  a0 a4 00 00 02 6f 7e 9f 0fAPDU: (18):  a0 b0 00 00 0b ff ff ff ff 64 f0 00 ff fe 00 03 91 78APDU: (9):  a0 a4 00 00 02 6f 78 9f 0fAPDU: (9):  a0 b0 00 00 02 00 01 91 78APDU: (9):  a0 a4 00 00 02 6f 74 9f 0fAPDU: (23):  a0 b0 00 00 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 91 78APDU: (9):  a0 a4 00 00 02 6f 20 9f 0fAPDU: (16):  a0 b0 00 00 09 ff ff ff ff ff ff ff ff 07 91 78APDU: (9):  a0 a4 00 00 02 6f 30 9f 0fAPDU: (22):  a0 c0 00 00 0f 00 00 00 f0 6f 30 04 00 11 00 55 01 02 00 00 91 78
复制代码

使用wireshark

socat -u udp-recv:4729 /dev/null
./simtrace -i 192.168.0.1

接下来,就能看见你的手机和SIM卡是怎么交流的

比如SIM卡告诉手机他能干嘛

有兴趣的朋友可以继续深入研究,如给SIM卡刷入系统等,不过这一领域是毫无资料的

附上simtrace购买地址:

sigline.gif 
本文转自 K1two2 博客园博客,原文链接:http://www.cnblogs.com/k1two2/p/5189293.html   ,如需转载请自行联系原作者
相关文章
|
10月前
|
算法
专题九Simulink仿真基础-1
专题九Simulink仿真基础
120 1
|
1月前
|
传感器 机器学习/深度学习 算法
Isaac Sim教程01 Isaac Sim介绍
这篇文章是Isaac Sim的入门教程,介绍了NVIDIA Omniverse平台上的Isaac Sim机器人仿真工具包。内容包括Isaac Sim的背景、特点、应用场景、架构和工作流程,以及近期的更新情况。Isaac Sim支持物理精确的仿真和合成数据集的创建,与ROS/ROS2兼容,并能模拟多种传感器数据,适用于机器人导航、操作应用、计算机视觉研究和数据集生成等多种场景。
129 0
Isaac Sim教程01 Isaac Sim介绍
|
10月前
|
安全 算法 C++
专题九Simulink仿真基础-2
专题九Simulink仿真基础
108 1
|
1月前
|
传感器 数据可视化 机器人
Nvidia Isaac Sim图编程OmniGraph 入门教程 2024(6)
本文是Nvidia Isaac Sim图编程OmniGraph的入门教程,介绍了OmniGraph的概念、图的分类、以及如何利用ActionGraph创建可视化编程流程来控制仿真中的机器人动作和物体跟随,包括键盘控制小车的流程分析、Graph的创建、节点添加与连接,以及测试和Python实现方法。
51 0
|
1月前
|
算法 机器人 API
Nvidia Isaac Sim代码编程 入门教程 2024(7)
Nvidia Isaac Sim 2024年的代码编程入门教程,涵盖了Isaac Sim环境的配置、核心API的使用以及如何利用Python API搭建基本仿真demo。
69 0
|
1月前
|
算法 数据可视化 机器人
Nvidia Isaac Sim搭建仿真环境 入门教程 2024(4)
本文是Nvidia Isaac Sim搭建仿真环境的入门教程,详细讲解了如何在Isaac Sim中创建物理场景、添加地面和光照、创建和配置仿真对象的物理属性、使用USD文件进行仿真场景的保存和引用,以及个人练习和相关物理概念的介绍。
38 0
|
4月前
|
数据可视化 算法
MATLAB Simulink晶闸管的特性分析
MATLAB Simulink晶闸管的特性分析
105 2
|
4月前
|
数据可视化 算法
MATLAB Simulink 交交变流电路性能研究
MATLAB Simulink 交交变流电路性能研究
63 2
|
4月前
|
算法 调度 决策智能
Python高级算法——模拟退火算法(Simulated Annealing)
Python高级算法——模拟退火算法(Simulated Annealing)
607 1
|
Dart NoSQL Java
用 nebula_dart_gdbc 在移动设备玩图数据库,泰酷辣!
当 Dart 遇上数据库,如何实现二者的相结合,让用户在移动端操作数据库呢?本文给出了它的答案,先搞定数据库数据访问接口,再搞定数据传输,最后是封装连接,一切就那么简单。
110 0
用 nebula_dart_gdbc 在移动设备玩图数据库,泰酷辣!