当今几乎所有人都拥有一部移动电子设备,其中的SIM(用户身份识别模块),其中也存在着许多有价值的信息,所以关于SIM卡的取证也是非常重要的一环。
参考书籍:《电子数据取证》
SIM卡一般是作为电信运营商作为其用户接入网络的凭证,因此主要作用是用户鉴别。但是它还有一个功能,就是用来存储联系人、呼叫记录和短信。当在原始设备提取不到信息的时候,可以从SIM卡中读取恢复。
SIM卡的文件系统树中有三类标识符,即主文件(MF)、专有文件(DF)和基本文件(EF)。每种文件系统识别符包含头部和主体。文件头部包含文件的类型、文件属性和权限信息。
主文件是SIM卡文件系统的根目录,起始位置为内存地址0x3F00.
这里是通过硬件采集后的SIM卡文件目录。
关于SIM卡的数据采集,如果遇到存在PIN码的时候,可以通过ICCID从电信运营商获取PUK码,ICCID可以通过SIM卡的文件系统获取,或者卡表面记录。
一般联系人存储在基本文件6F3A中。号码记录的第一个字节表示号码的长度。下一个字节为十六进制数字0x81或者0x91。如果号码是未知号码,则为0x81;如果联系人号码是国际号码,则为0x91。
联系人号码:
用winhex打开6F3A文件
定位到这个叫Doctor的联系人,第一个字节的值为06,代表6个字节存储。接下来一个字节为0x81,代表是就是本地或者未知号码。剩余的03 91 27 40 00, 书中所讲是以反向半字节格式存储,因此其代表301-972-0400。
短信记录:
短信一般存储在6F3C中,其中信息一般包括服务中心信息、联系人号码、时间戳和消息正文。短信的第一个记录是短消息服务中心(SMSC)记录。第一个字节用(0x01,0x00)来代表已读还是已删除,第二个字节表示服务中心号码所使用的字节数。
发送者号码在短消息服务中心号码之后。第一个字节以十进制的形式表示发送者号码的长度。第二个字节表示为号码类型(0x81和0x91,作用同上)。
发送者号码后相隔两个字节记录短信的时间戳。时间戳前面的字节表示消息正文的编码方式。一般需要用7bit解码。
第一个字节 01,表示这条短信已读
第二个字节表示用于存储服务中心号码的字节数
91代表国际号码
21 60 13 03 00 F4 代表 1 206-313 0004
21 04 37 41 20 F2 表示发送者号码 1 204-731 4022
70 30 01 02 72 14 时间戳。代表3月10日,2007年 08:27:41 PM)
利用脚本解码。
对于只是标记删除的,我们也可以恢复
因为和文件删除一样,只是标记位置删除了。其他的不变。
ICCID在这里保存在0x2FE2中
其内容是89 01 26 02 20 01 25 59 59 7,是反向半字节格式
89指电信工业标识符
01指国家码标识符 US
260指网络码 T-Mobile
MSISDN在6F40中
刚开始的部分类似文件头JPG这种,之后存储的就是SIM卡的号码。
来源:Th0r安全