simtrace之探秘SIM卡中的世界

简介: 0×00 关于SIM卡 众所周知SIM卡是一张插在手机上的小卡,其全称为Subscriber Identity Module 客户识别模块。不过,这个世界上并没有多少人知道SIM卡中的操作系统是基于jvm的。

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购买地址:

相关文章
|
7天前
|
传感器 存储 供应链
plant simulation物流系统仿真案例
plant simulation物流系统仿真案例
10 0
|
1月前
|
数据可视化 算法
MATLAB Simulink晶闸管的特性分析
MATLAB Simulink晶闸管的特性分析
62 2
|
1月前
|
算法 调度 决策智能
Python高级算法——模拟退火算法(Simulated Annealing)
Python高级算法——模拟退火算法(Simulated Annealing)
250 1
|
7月前
|
算法
基于Simulink的Chaos混沌电路设计与仿真
基于Simulink的Chaos混沌电路设计与仿真
|
9月前
|
机器学习/深度学习 传感器 算法
【带RL负载的全波桥式整流器】功能齐全的单相非控整流器(Simulink)
【带RL负载的全波桥式整流器】功能齐全的单相非控整流器(Simulink)
|
11月前
|
C++
[simulink] --- 模型生成嵌入式代码配置
[simulink] --- 模型生成嵌入式代码配置
141 0
[simulink] --- 模型生成嵌入式代码配置
|
10月前
具有吸引子的非线性系统(Matlab&Simulink实现)
具有吸引子的非线性系统(Matlab&Simulink实现)
|
11月前
|
监控 算法
分布式和可再生系统建模(simulink)
分布式和可再生系统建模(simulink)
148 0
|
算法
基于matlab和simulink的小型无人机集群仿真演示平台
基于matlab和simulink的小型无人机集群仿真演示平台
234 0
基于matlab和simulink的小型无人机集群仿真演示平台
|
算法
m基于simulink的jtids数据链抗干扰性能仿真分析
m基于simulink的jtids数据链抗干扰性能仿真分析
167 0
m基于simulink的jtids数据链抗干扰性能仿真分析