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

官方:http://shop.sysmocom.de/products/simtrace  –90欧元

freebuf:http://shop.freebuf.com/item/51 –20FB
时间: 2024-09-20 07:47:05

simtrace之探秘SIM卡中的世界的相关文章

三星S5 G9008W存储在SIM卡中的联系人不显示怎么办

1.在我们手机待机状态桌面点击[联系人]打开进入.     2.再者我们找到里边的[菜单]之后找到[设定]按钮打开它.       3.然后我们再点击[联系人]打开,细节如下.     4. 在系统人面板中找到[要显示的联系人]之后再打开它.   5.点击[全部联系人]即可.(如果您只想显示SIM卡中的联系人,点击[SIM 1])   6. 好了最后我们再点击 SIM卡中的联系人就显示出来了.    

小米4手机怎么显示SIM卡中的联系人?

  我们在保证手机连接电脑没有问题之后点击"联系人"图标:(在手机屏幕的最下方一排) 在这里手机默认不会列出SIM卡中的联系人的,如图一片空白: 现在我们不急,按下手机下的"菜单键"-"设置"-"要显示的联系人" 现在我们点击 接着在打开的"要显示的联系人"-"显示SIM卡联系人" 把开关打开就可以在联系人中显示你所有联系人了哦.

三星Note3 如何将SIM卡中的联系人导入手机(N9008S)?

1.这款手机导入联系人与其它三星手机是差不多了,我们点击里面的[联系人].   2.进入之后先按手机下方的[菜单]接着在弹出菜单[导入/导出]选择,点击它进入.   3.然后我们在弹出界面点击[从SIM卡导入]如下图所示.   4. 然后我们要把整个SIM卡的联系人导入到手机就点击[全选]当然也可以选择个别的哦,之后点击[完成]即可.       完成上述操作后,SIM卡上的联系人就成功复制到手机了.   友情提示 这样就成功把SIM卡联系人导入到手机中去了,你现在可以像给联系人设置头像,铃声等

努比亚z7max从SIM卡中把联系人导入到手机

1)在手机桌面点击[联系人]之后我们再找到[菜单键]然后我们按下它,在弹出点击[联系人设置],打开后点击[从电话卡导入联系人]细节如图所示. 2)[选择全部]联系人,点击[确定],再提示框中再次点击[确定]就可以了哦.     友情提示:如果你想把手机中联系人导入到SIM卡我们只要在在第一步选择从手机存储导入联系人到就可以了,这样就会导入到SIM卡了.

三星S5将SIM卡中的联系人导入手机l图解(G9008W)

1. 我们在手机中点击界面中的[应用程序]然后我们再进入到如下所示.   2. 点击[设定].     3. 向上滑动屏幕,点击[联系人]选项了,这个先进入我们不管其它的.    4. 点击[导入/导出联系人]选项了,这个有几个我们只要选择这一段即可.    5.选择您的SIM卡,这里以[从SIM 1卡导入]为例.     6. 点击[设备]了,这个设备指的就是你的手机了.    7. 将要导入的联系人前打勾,若想导入全部联系人,将左上角的[已选择]打勾,这里以导入全部联系人为例.    8.

三星Galaxy S5中SIM卡中的联系人不显示怎么解决

1. 我们先回到主屏中或在待机状态点击[联系人]按钮.     2. 这样就直接进入到手机的联系人中了,如下图所示.     3. 然后我们在联系人界面按五下[菜单]之后找到[要显示的联系人]点击进入,如下图所示.     4. 好了现在我们在找到[设备]如下图所示     5. 如我们点击[SIM卡],如下图红框处点击进入.     6. 然后我们选择[全部联系人],这样你会发现SIM与手机中的联系人全部都出来了.     7. 哈哈太爽了这个解决了哦.    

三星i939i怎么将SIM卡中的联系人导入手机

想要将电话卡中的联系人存储到手机中,可以按照以下步骤操作: 1. 在如下待机状态中我们找到[应用程序]图标,正常情况在右下角. 2. 找到应用打开之后再找到应用中的[设定]图标.  3. 在里面会有一个[联系人]按钮,我们点击联系人,如图所示. 4. 进入到联系人之后我们找到[导入/导出]按钮再在点击它打开,如图所示. 5. 然后在这里我们可以选择"[从中国电信卡导入]"(不同卡可以提示不同,同时我们还可以选择把手机联系人导致到SIM卡哦或从其它地方备份中导入到手机中). 6. 选择导

三星Galaxy S6把SIM卡中的联系人导入手机? S6联系人导入手机教程

1. 我们进入手机之后点击三星Galaxy S6桌面中的[应用程序]然后我们再点击[设定]-[联系人]细节如下.   2. 之后我们点击联系人中的[导入/导出]找到下面的[从SIM卡导入]里面有一个[设备]点击打开进入    3. 然后我们选中要导入的联系人,之后我们点击[选择全部],选择好了我们点击[完成]就可以了哦.   

Galaxy S5中SIM卡中的联系人导入手机方法

1.在S5的待机界面我们找到万能的[应用程序]按钮,然后我们如下图所示点击.   2. 接着我们找到应用中的[设定]图标进入,如下图所示.   3. 在此你会看到有一个[联系人]图标了,中间那个红框框了,如图所示点击进入.   4. 进入到了联系人我们会看到有很多选项了,在此我们点击[导入/导出]如图所示.   5. 点击进入到这个界面我们就可以选择[从SIM卡导入]哦.   6. 然后我们再点击[设备].   7. 然后我如果只导入几个就单选吧,如果是批量的就点击[选择全部],这里以导入全部联