手机数据提取简介

0x00.SIM卡数据提取

如今,我们对SIM卡取证的方法通常用的方法有两种。第一种方法是利用专门的读卡设备对SIM卡的数据进行提取。在这种方法中,只要读卡器只要符合ETSI(欧洲电信标准协会)TS31.101和TS51.011两种标准指令集就可以对SIM卡中的数据进行提取。此外另一种方法就是通过指令对SIM种数据进行直接提取。

一般情况来说Android手机的SIM卡使用记录一般保存在data分区的data\com.android.providers.telephony\databases\telephony.db文件中,该文件类型为SQLite数据库。数据库中的表“sim_info”会记录使用过的SIM卡的ICCID、手机号码等信息。


0x01.AT指令集

AT指令集是从TE(终端设备,Terminal Equipment)或者DTE(数据终端设备,Data Terminal Equipment)向TA (终端适配器,Terminal Adapter)或者DCTE (数据电路终端设备,Data Circuit Terminal Equipment)发送的。

AT指令集最早是由”贺氏“微系统公司开发,初衷是用来操作调制解调器的,随后专门开发了一套手机专用的AT指令集。在这套专门为手机开发的版本中,开发者可以通过指令获取手机的产品型号、手机生产商、手机操作系统版本、IMEI、IMS、电话簿、电话记录短消息记录等信息数据。

Nokia、Ericsson、Motorala和HP这些被AT指令集覆盖的移动设备生产厂商共同为GSM 研发了一套AT指令,该套专门定制的AT指令集被用来控制手机的GSM模块。其中就包括对SMS(short message service,短信息服务)的控制。后来的GPRS模块,3G模块、4G模块均采用AT命令集来进行控制。

功能 AT指令 详细说明
厂商认证 AT+CGMI 获得厂商的标识
模式认证 AT+CGMM 查询支持评断
修订认证 AT+CGMR 查询软件版本
生产序号 AT+CGSN 查询IMEI序列号
TE设置 AT+CSCS 选择支持网络
查询IMSI AT+CIMI 查询国际移动电话支持认证
卡的认证 AT+CCID 查询SIM卡的序列号
功能列表 AT+GCAP 查询可供使用的功能列表
重复操作 A/ 重复最后一次操作

更多AT指令集请参阅:https://blog.csdn.net/u012686462/article/details/53199382


0x02.JTAG提取技术

JTAG主要用于高级器件的芯片(如高通高端芯片)内部测试,该类芯片均支持JTAG协议。标准协议下的JTAG接口有:TCK、 TDI、TDO、TMS,分别为时钟、数据的输入和输出线、模式选择。 针对高通芯片的测试接口且可以在主板上焊线并且通过JTAG指令,就可以直接控制CPU 强制读取 nandflash/eMMC。

绝大多数CDMA定制机器只具有充电接口而不具有数据传输接口,这些定制的机器大多采用高通的低端CPU。针对这类机器,可以通过使用JTAG技术探查主板,同时依据具体CPU型号采用专门方法进行数据提取,从而获得手机中数据的镜像。

JTAG取证技术的原理是将安卓手机背后的 JTAG触点连接到专门设备,相关人员使用手机向CPU发送指令,再通过JTAG命指令反向控制 CPU,将 FLASH所有数据发给 CPU,我们再从CPU把 FLASH芯片的数据取走。

JATG取证的优点是不论手机是否root,是否可以安装第三方recovery,USB调试模式是否打开,操作系统版本是多少都不重要,使用该方法都可以直接提取到FLASH芯片数据镜像。