版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章Android操作系统取证技术8.1Android智能手机取证概述8.2Android操作系统常见逻辑数据提取分析8.3Android密码绕过与物理取证
8.1 Android智能手机取证概述
8.1.1 Android概况及发展历程Android操作系统的历史最早可以追溯至2003年10月,AndyRubin等人创立了AndroidInc.公司,该公司在成立仅22个月后于2005年8月17日被Google公司收购。2007年,Google联合其他软硬件制造商与电信运营商共同成立了开放手持设备联盟(OpenHandsetAlliance),基于开源的LinuxKernel2.6发布了首个免费的移动终端操作系统Android。
2008年,首个采用Android操作系统的智能手机——HTCDream发布,在其后近10年间,Android操作系统发展速度惊人,截至2021年1月,Android操作系统已经发展到Android11版本,并陆续针对电视、智能可穿戴设备和汽车等发布了AndroidTV、WearOS以及AndroidAuto等衍生操作系统。
Android操作系统的基本架构主要由Linux内核、硬件抽象层、原生C/C++库、Android运行时库(AndroidRuntime,ART)、JavaAPI框架以及系统应用组成,关于每部分的具体构成和组件,可以通过Android官方平台介绍页面详细了解,由于篇幅所限,本节不再赘述。
与之类似的和取证相关的Android操作系统版本发展变化还包括安全方面的改进,如Android6.0操作系统中增加了全盘加密(FullDiskEncryption,FDE),为Android设备的数据安全提供了更高的安全保障,其后的Android7.x版本更是将单密钥加密的FDE方式升级为了与iOS操作系统数据加密类似的基于文件加密(File-BasedEncryption,FBE)方式,允许数据根据需要进行解密,这使得多数基于离线芯片拆卸(Chip-off)方式的取证完全失效。
上述两个例子表明,作为目前占据市场份额最大的智能终端操作系统,Android版本的更新与完善直接影响了对它的取证方式和取证效果。所以,取证调查人员应当了解和熟悉不同版本的Android操作系统之间的主要差异,尤其是在安全功能方面的变化,并持续关注与了解Android操作系统的发展趋势和最新动态,以便及时适应和有针对性地更新取证方面的知识与方法。
8.1.2常见Android手机厂商及系统特点
由于Android的开放性特点,众多设备厂商甚至业余爱好者都可以在官方Android版本基础上进行再次开发和定制,增加额外的功能,提高系统效率。其中较为常见的厂商定制优化版本包括小米MIUI、华为EMUI(EmotionUI)、OPPOColorOS、vivoFuntouchOS、魅族Flyme等,较为著名的CyanogenMod(简称CM)也是第三方团队在官方Android版本基础上修改而来的。
下面选择国内常见的手机厂商使用的定制Android操作系统,从系统安全功能与数据提取方式方面进行简要介绍。
1.小米MIUI
MIUI由小米公司开发,于2010年发布了首个内测版本。早期的MIUI是基于国外第三方团队的CyanogenModROM进行定制的,适配于HTCNexusOne机型,结合国内用户需求进行了功能定制与优化,受到了大量用户的好评。截至2021年1月,其已更新至MIUI12.5版本。
主要适配机型:小米手机、红米手机。
接口协议与数据备份方式:除Android官方adb(Androiddebugbridge)外,部分版本还集成了可进行通信的mdb协议;MIUI操作系统自带备份功能,可进行应用程序数据备份。
2.华为EMUI
EMUI由华为公司开发,于2012年发布了首个版本EMUI1.0,是基于当时的Android4.0进行开发的。随着华为公司移动终端产品的不断丰富,EMUI更新速度也同步加快,截至2021年1月,EMUI已更新至EMUI11版本。
主要适配机型:华为手机(P系列、Mate系列等)、华为荣耀系列手机。
接口协议与数据备份方式:可使用Android官方adb进行连接;EMUI操作系统自带备份功能,可进行应用程序数据备份。
3. OPPOColorOS
ColorOS是OPPO公司基于Android操作系统深度定制的手机ROM。近年来越来越多的国内手机厂商从传统非智能机转型至Android智能手机,OPPO便是一个较为典型的例子,通过在手机行业多年的发展,目前OPPO品牌的智能手机在国内手机市场占据了相当大的份额。截至2018年初,ColorOS最新版本为ColorOS11。
主要适配机型:OPPO品牌手机。
接口协议与数据备份方式:使用Android官方adb进行连接。
4. vivoFuntouchOS
FuntouchOS是vivo公司定制开发的Android操作系统,最初发布于2013年10月,目前主要使用于vivo品牌手机中,最新版本为FuntouchOS10。
主要适配机型:vivo品牌手机。
接口协议与数据备份方式:使用Android官方adb进行连接,部分新版本无法使用adbbackup进行备份。
8.1.3 Android功能特点
由于Android版本更新换代较快,因此不同版本间的功能特点与取证相关联的特性也不尽相同。本小节主要针对Android操作系统的一些安全机制方面的功能特点进行介绍。
1.应用程序权限机制
在Android操作系统中,应用程序对于具体系统功能的使用都需要进行对应授权,如摄像头、拨号、短消息、地理位置、应用程序列表和系统存储等。这种权限控制可以在应用程序安装过程中进行提示,也可以在应用程序首次运行时进行授权提示。
2.应用程序沙盒机制
Android操作系统使用沙盒机制对程序权限进行控制,Android为每个应用程序分配了一个独立的UID(UniqueUserID),从而确保每个应用程序仅能访问自己所属的存储和指定的系统权限。在这一机制保护下,潜在的恶意程序与病毒程序无法读取其他应用程序存储的数据和系统数据,保护了用户数据的安全。
3.全盘加密
Android4.4版本引入了FDE机制,在原生Android6.0版本设备中默认启用FDE设置。FDE是指使用密钥(密钥本身也经过加密)对Android设备上的所有用户数据进行编码的过程。设备经过加密后,所有由用户创建的数据在写入磁盘之前都会自动加密,并且所有读取操作都会在将数据返回给调用进程之前自动解密数据。
4.文件级加密
在Android7.0及更高版本中,增加了文件级加密(File-BasedEncryption,FBE)。与FDE采用一个主密钥进行加密不同,FBE支持针对不同的文件采用不同的密钥进行加密,并按需进行解密。
8.1.4 Android取证准备工作
在了解Android操作系统的不同层次的取证方式前,首先需要了解有哪几种方式可以提取Android操作系统数据、这些方式分别基于什么原理,以及可以提取到的数据范围。下面介绍如何准备和配置对Android进行取证的环境。
1. 安装AndroidSDK
AndroidSDK(SoftwareDevelopmentKit,软件开发包)主要用于Android应用程序的编写测试与调试,其中包括一系列的文档和调试工具,如Android手机取证中经常使用到的adb以及AndroidVirtualDevice等。
AndroidSDK安装包可以在GoogleAndroid项目页面下载:https://developer.android.com/studio/#downloads,下载完成后即可运行安装包。
在安装过程中,根据需要可以勾选AndroidVirtualDevice工具,该工具可以创建基于任意版本的Android虚拟机,取证调查人员借助该工具可以研究和分析不同版本的Android操作系统而无须使用实际的手机终端。
在全部安装完成后,AndroidStudio将会自动下载完成所需的组件,包括对应的SDK工具包。
2. adb
adb是Android操作系统用于进行数据传输的C/S客户端协议。对于Android取证来说,adb是非常重要的一个概念,绝大多数情况下的数据提取、备份都是基于adb进行的。
使用adb进行通信,除了在计算机端安装AndroidSDK外,还需要在Android手机端开启USB调试模式。在不同版本的Android操作系统中,USB调试模式的开启方法也有所差异,如表8-1所示。
另外,出于安全考虑,Android4.2.2之后的版本在连接USB调试模式时,需要在屏幕上点击“确定”按钮,如图8-1所示。这意味着如果手机设置了屏幕锁定密码,需要首先解除手机屏幕锁定密码后才能进行USB调试模式的连接。图8-1 Android手机端连接调试模式授权权
3.通过adb连接Android手机
当在计算机端安装AndroidSDK并在Android手机端打开调试模式后,便可以通过adb方式连接手机。
将Android手机连接至计算机并允许进行调试连接后,可以使用adbdevices命令查看已连接的设备情况,如图8-2所示。图8-2使用adbdevices命令查看已连接的设备情况
如设备显示为unauthorized,则需要先解除屏幕锁定后再进行USB调试模式方可,如图8-3所示。此时,可以使用adb方式进行数据提取和取证工作。图8-3 adb手机端未授权连接
8.1.5 Android操作系统逻辑数据提取
8.1.4节曾提到,在Android取证工作中,adb是非常重要的一个概念,因为多数针对Android的逻辑层面的取证都要依赖于adb的方式进行。在对其展开介绍之前,首先需要了解不同方式手机取证方法的差异。
图8-4所示是SamBrothers关于手机取证工具的分级图,其中除了最基本的手工提取分析与较为复杂的芯片拆卸方式外,多数手机取证工具具备了逻辑数据提取和物理提取功能。图8-4手机取证工具分级图(SamBrothers)
Android操作系统中的逻辑数据通常存储在以下两种文件中:
(1) SQLite数据库文件:通常以 *.db为扩展名,大部分数据存储于其中,多数SQLite数据库文件采用不加密明文存储方式,可以使用常用的数据库查看器对其进行查看和分析。
(2) XML配置文件:用于保存应用程序参数配置信息,可以直接使用文本查看器对其进行查看。
表8-2列出了Android操作系统中常用逻辑数据路径。
通常情况下,如果Android手机已解除屏幕锁定并开启了USB调试模式,则可以利用adb方式将文件从手机复制至计算机中,其命令格式如下:
Adbpull%源数据位置%%目标位置%
例如,需要将Android手机中download目录下的info.xml文件复制至计算机C盘根目录,可以在命令行中执行图8-5所示命令。图8-5 adbpull命令
需要注意的是,由于Android操作系统中的权限限制,adbpull命令在访问包括应用程序数据、系统数据时,需要具备root权限,此时需要对手机提前进行root操作,或者选择采用备份应用程序数据包的方式进行提取。
从Android4.0版本开始,Android增加了通过adb方式进行备份的功能,通过该功能可以将Android操作系统中原本需要root权限才能访问的应用程序数据使用打包备份的方式进行提取。该命令的主要参数如下:
adbbackup[-f备份文件名][-apk|-noapk][-shared|-noshared][-all][-system|-nosystem][应用包名]
其中,“-f”参数用于指定备份文件的存储位置,如无特殊指定,则默认为adb目录;“-apk|-noapk”参数分别代表备份或不备份应用程序安装包apk;“-shared|-noshared”参数代表是否备份共享存储或存储卡存储;“-all”参数表示备份所有可备份的应用程序数据;“-system|-nosystem”参数代表备份是否包含系统应用程序;“应用包名”可以单独制定某个应用包名,实现对单个应用的独立备份,如图8-6所示。图8-6 adbbackup命令
在计算机端执行adbbackup命令后,Android手机端会弹出备份窗口,此时需要点击界面右下方“备份我的数据”按钮执行备份,如图8-7所示。图8-7手机端adbbackup响应
备份完成后,在计算机端可以找到backup.ab文件(如adbbackup命令执行时未另行指定文件名),对该备份数据包的解析需要将其转换为可解压格式,AndroidBackupExtractor(/projects/adbextractor)可以将 .ab格式的备份包转换为可解压的 .tar包。
8.2 Android操作系统常见逻辑数据提取分析
8.2.1短信息/彩信的提取和分析Android操作系统对短信息和彩信采用SQLite数据库方式进行存储,默认的存储位置为/data/data/viders.telephony/databases/mmssms.db。SQLite数据库的查看工具有多种,如SQLiteExpert、SQLiteBrowser、SQLiteStudio等,本节将对SQLiteExpert进行介绍和演示。
使用SQLiteExpert打开该目录下的mmssms.db数据库,可以看到该数据库中包含多个数据表,如图8-8所示。
图8-8 mmssms.db数据库
图8-8中,sms表用于存储短信息及彩信,主要字段释义如表8-3所示。
根据上述字段,可以对sms表中的短信息记录进行逐项解释,其中多数字段采用整型数与文本格式存储。其中,“person”字段编号与存储联系人信息的contacts2.db中的联系人编号对应(详见8.2.3节);“date”与“date_sent”字段的时间均采用UNIX毫秒计数,需要进行转换变为标准日历时间,转换时可以使用ClockSmith等工具进行。如图8-9所示,若转换后所得时间为UTC(CoordinatedUniversalTime,协调世界时),则还应根据所在时区调整时差。图8-9短信息时间转换
8.2.2通话记录的提取和分析
Android操作系统中的通话记录与联系人存储于同一SQLite数据库中,其路径为/data/data/viders.contacts/databases/contacts2.db。使用SQLiteExpert打开该数据库,其中calls数据表用于存储通话记录项目。
需要注意的是,在部分品牌手机定制的Android操作系统中,contacts2.db数据库并不直接使用calls数据表存储通话记录,而是将该数据单独存储为其他的数据库,如华为EMUI的Calls.db数据库用于存储通话记录,取证人员需要根据实际情况寻找对应的数据来源。
calls数据表中记录了通话记录的相关信息,其主要字段释义如表8-4所示。
在部分品牌手机定制的系统中,除了标准通话记录的字段外,还会增加诸如黄页标记、来电识别归属地等个性化功能,这些数据也会一并存储在其对应的数据库中,如图8-10所示。图8-10通话记录的其他字段
8.2.3联系人信息的提取和分析
联系人信息与通话记录信息一样,也存储在contacts2.db数据库中,其中与联系人相关的几个主要数据表如下:
(1) groups表:联系人分组信息。
(2) contacts表:联系人信息。
(3) raw_contacts表:存储更多关于联系人的字段数据。
(4) data表:按行存储的联系人详细信息。
(5) mimetypes表:定义联系人信息中的mime类型。
下面逐一对上述几个表进行分析。
1. groups表
groups表中存储了用户针对联系人进行的分组信息,其中“title”字段是群组名称,“notes”字段是群组描述,如图8-11所示。图8-11 groups表
2. contacts表
contacts表中保存了联系人的联系次数和信息更新时间等信息,如表8-5所示。
3. raw_contacts表
与contacts表类似,raw_contacts表中储存了关于联系人的更多属性信息,如联系人的显示名称、自定义手机铃声等,如表8-6所示。
4. data表
data表用于存储联系人详细的信息。随着Android手机版本不断更新,其所支持的联系人字段较之以往非智能手机简单的电话号码、姓名、电子邮件等字段更为丰富,如联系人的即时通信账号、头像照片以及个人网站等信息。这些信息通过data表与mimetypes表的关联存储在数据库中,分别如图8-12和表8-7所示。图8-12 data表
通过图8-12和表8-7可以看到,data表中保存的数据看起来并不规律,既有电子邮件,又有姓名或者电话号码,其实这些信息与其他数据表均有关联。其中,“raw_contact_id”代表联系人唯一的id号码,同一个id号码的联系人后方的data1~data15存储的数据属于同一联系人;而“mimetype_id”的数值决定了后续data1~data15为哪种数据提供存储,其详细定义由mimetypes表存储。
5. mimetypes表
mimetypes表中按照id分别指定了该类型存储的数据项目。图8-13是一个典型的mimetypes表,可以看到,字段“_id”为1的数据项代表vnd.android.cursor.item/email_v2,从字面即可判断为电子邮件数据;“_id”为5的数据项代表电话号码;“_id”为7的数据项代表姓名。
根据这样的定义,结合data表中的内容来分析便清晰很多,如图8-14中画框部分,相同的“raw_contact_id”值25表示这些信息属于同一联系人,分别是该联系人的电话号码(mimetypes_id为5)、姓名(mimetypes_id为7)和他所属的联系人分组信息(mimetypes_id为12)。图8-13 mimetypes表图8-14同一联系人的多项mimetypes记录
8.2.4浏览器历史记录的提取和分析
在对Android手机的取证工作中,调查与浏览器相关的浏览记录是一项较为重要的工作。与计算机浏览器类似,Android平台也有多种不同类型的浏览器,常见的有GoogleChrome、FirefoxMobile、Opera以及国内的UC浏览器、QQ浏览器和360浏览器等。本节主要以Android操作系统自带浏览器为例,介绍如何分析浏览器的相关记录。
Android自带浏览器的数据包路径位于/data/data/com.android.browser/browser2.db。通过adb方式或其他方式将该文件提取至分析计算机,使用SQLite数据库查看器打开该数据库,与浏览器用户痕迹相关的主要为该数据库中的history表和bookmarks表。
1. history表
数据库中的history表保存了浏览器的所有浏览历史记录,如图8-15所示。图8-15 history表
2. bookmarks表
数据库的bookmarks表保存了浏览器中所有的书签记录,如图8-16所示。图8-16 bookmarks表
8.2.5邮件客户端信息的提取和分析
Android操作系统中自带的电子邮件客户端允许用户直接配置账户信息后进行邮件的收发,相对于iOS操作系统中邮件的高安全级别,分析Android平台的电子邮件数据则较为简单。
Android操作系统自带电子邮件客户端数据包的路径位于/data/data/com.google.android.email/databases/EmailProvider.db。使用SQLite数据库查看器打开该数据库,发现其主要数据表结构如下:
(1) Account表:记录邮件账户信息。
(2) Attachment表:记录邮件附件信息。
(3) HostAuth表:记录电子邮件收发服务器地址及邮箱账户密码信息。
(4) Mailbox表:邮箱文件夹信息。
(5) Message表:电子邮件摘要数据。
表8-8所示为电子邮件字段释义,选择了一封邮件并节选了其部分字段,用以解释电子邮件在上述两个数据库中的存储方式,展示其关联关系。
随后,根据该邮件字段“id”的值32,在EmailProviderBody.db数据库中找到该邮件的完整内容,如图8-17所示。图8-17EmailProviderBody数据库中的完整内容
8.2.6微信数据的提取和分析
如前文所述,Android智能手机的逻辑数据提取除了包括短信息、通话记录、联系人这些系统数据外,还包括手机中安装的各类App数据。在当前的手机取证工作中,对App数据的提取和分析已经成为手机取证的重要工作内容。与此同时,对于各类手机App的取证也给调查人员带来了更多的挑战。例如,面对日益增加的应用程序安全机制,如何才能有效提取数据?手机App快速更新导致数据存储方式变化该如何进行分析?
在Android操作系统中,微信官方版本的数据包存储路径(图8-18)为/data/data/com.Tencent.mm/。该路径下的MicroMsg目录用于存储微信聊天记录。
需要额外注意的是,由于Android微信App6.0以上版本不再允许用户使用adbbackup方式备份自身数据,因此提取微信数据一般需要在手机端取得root权限,或制作手机物理镜像后方可进行分析。
在MicroMsg目录下,根据所使用微信账号数量的不同,存在一个或多个对应的以MD5值命名的目录,用于保存不同账号对应的微信数据。该MD5值来源md5(mm,UIN),代表不同微信账号对应的数据,如图8-19所示。图8-18com.Tencent.mm目录图8-19多个微信账号对应的目录
对应微信账号下的EnMicroMsg.db数据库用于存储微信聊天记录(图8-20),和前面介绍的多数系统信息采用SQLite数据库不加密明文存储不同,微信对其数据库进行了加密,加密方式为SQLcipher,此时需要计算出对应的密码来进行解密。图8-20 EnMicroMsg.db数据库
计算数据库密码需要掌握两个要素。首先,通过直接查看手机中的“关于”信息或在拨号界面输入“*#06#”获取手机的IMEI/MEID信息;然后,在微信数据包路径com.tencent.mm\shared_prefs\auth_info_key_prefs.xml中找到明文存储的微信UIN值,如图8-21所示;最后,将两者按照表8-9所示形式组合计算MD5散列,并取其散列值的前7位,即为对应的EnMicroMsg.db的加密密码。图8-21 微信UIN值
使用支持SQLCipher的数据库查看器打开EnMicroMsg.db数据库,输入上述7位密码后即可打开加密的微信数据库,如图8-22所示。图8-22解密后的微信数据库
EnMicroMsg.db数据库中部分数据表的释义如表8-10所示。
对解密后的微信数据库进行分析,便可以较为完整地提取出微信App中的各类数据。
本节选择微信App为例介绍了对Android操作系统中App程序的手工分析方法,目的在于使读者对AndroidApp的数据存储方式和分析思路形成系统性的理解。在实际取证工作中,多数App程序的数据库并未加密存储,且通过手机取证软件均可直接进行提取和分析。
8.3 Android密码绕过与物理取证
8.3.1获取root权限在进行Android手机取证工作时,获取Android手机的root权限是很多数据提取的先决条件。本章开头已介绍过,Android是基于Linux内核开发的移动设备操作系统,而在类UNIX操作系统中,root用户具有最高级别权限。所以,基于安全方面的考虑,绝大多数版本的Android手机在默认状态下都不提供root权限。
因此,对于取证调查人员来说,了解和熟悉获取root权限的原理、掌握常用的获取手机root权限的方法,以及清楚理解root一部手机可能产生的影响与风险便显得尤为重要。
1. root的本质
root的本质是对系统进行修改,通常情况下是利用了厂商在软件或硬件上的安全缺陷或漏洞,将特定的程序(su)附加进去并加以执行来进行权限提升。
由于该过程是未经厂商许可进行的修改,因此存在导致手机软件与硬件故障且无法还原的风险,这将会直接导致电子证据的灭失。在任何情况下,取证人员都应清楚意识到这一风险,在具备条件的情况下首先进行测试验证,并在取证过程中翔实记录全部操作。
2.通过第三方root工具获得root权限
互联网上有许多第三方工具可以根据手机型号和系统版本提供对应的开机root权限获取功能,常见工具包括Kingroot、360一键root、root精灵等。一般情况下,对Android操作系统版本较早的手机(一般为Android4.4及之前的版本)更容易获取root权限,而对Android版本较高、安全更新日期较新的手机使用此类工具获取root权限的成功率较低。
3.通过刷入第三方Recovery获取root权限
Android操作系统的Recovery分区用于对系统更新和系统恢复,在早期版本的Android中,常用的第三方Recovery程序是CWM(Clock Work Mod) Recovery;而适用于较新版本Android的第三方Recovery主要是TWRP(Team Wim Recovery Project) Recovery,如图8-23所示。
在Android手机中刷入修改后的第三方Recovery,重启进入Recovery模式,第三方Recovery将直接提供adb及root权限进行数据获取。图8-23 TWRPRecovery界面
4.部分厂商定制系统提供获取root权限功能
除了以上方式以外,还有一些品牌Android手机采用厂商定制ROM提供或部分提供临时性的root权限,如部分魅族品牌手机,在登录用户账号后可以临时开启root权限。
在目前主流的Android操作系统取证工作中,使用最多且适用范围最广的是采用刷入第三方Recovery的方式获取root权限,下面进一步介绍其具体方法。与Android刷机相关的几个概念如表8-11所示。
8.3.2绕过Android设备密码
在很多实际取证操作中,由于Android手机设置了密码或者调查对象特殊等原因,而无法获知设备密码。在这种情况下,取证分析人员必须通过技术手段绕过密码环节或者恢复手机密码才可以开展进一步的取证工作。
1. Android操作系统的密码类型
通常情况下,Android操作系统允许用户设置3种类型的屏幕锁定,分别如下:
(1)图案密码:俗称九宫格密码,使用9点连线形成的组合图形作为密码。
(2)数字密码:采用纯数字形式的密码,一般要求至少由4位数字组成。
(3)混合密码:也称为文本密码,允许用户使用任意文本字符作为密码(包括数字、大小写字母和符号等)。
2.图案密码的加密原理(Android2.2~Android5.x)
图案密码的加密方式主要分为图案输入、明文转换、计算散列3个步骤。
(1)用户设置图案密码“Z”字母图形,如图8-24所示。
(2)系统按照点位排列将上述图案依序转换为00-01-02-04-06-07-08。
(3)对该顺序字符串00010204060708进行SHA1散列计算,得到散列值6a062b9b3452e366407181a1bf92ea73e9ed4c48。
(4)将该散列值存储为gesture.key文件。
图8-24设置图案密码
3.数字密码与混合密码加密原理(Android2.2~Android5.x)。
(1)用户输入文字密码“hello123”。
(2)系统在字符串中混入Salt值。
(3)将整合后的字符串分别计算SHA1和MD5散列值,并将散列值合并。
(4)合并后的散列值存储为password.key文件。
在Android6.0以及之后的版本中,一些厂商针对设备屏幕锁密码的安全机制做了进一步加强,在原有基础上引入了Gatekeeper机制,用于校验和加密原来的设备密码,用于存储密码的文件名称也做了变更,如表8-12所示。
4.清除key文件实现密码绕过
了解了3种密码的加密原理后,便可以通过删除对应加密方式的密码文件实现对系统密码的绕过操作。如果该设备已经通过不同方式获取了root权限,则可以直接使用adb命令对gesture.key、password.key等文件进行重命名或删除来实现清除设备锁密码。
例如,使用如下命令删除图案密码的key文件:
adbshell
cd/data/systemrmgesture.key
删除后可以直接绕过图案密码进入系统。
5. Android4.4.2版本adb密码绕过
据安全研究机构的报告(/advisories/android-4-4-2-secure-usb-debugging-bypass),Android4.4.2版本在屏幕密码锁定的情况下,可以通过重启adb指令来实现无密码授权adb连接。其具体操作方式如下:
(1)将密码锁定的Android4.4.2手机连接至计算机。
(2)将屏幕滑动至“紧急拨号”或“相机”界面。
(3)执行如下命令:
adbkill-server
adbshell
(4)此时,将弹出授权USB调试连接的对话框,无须输入密码即可点击允许USB调试连接。
绕过Android手机密码的目的主要是进入用户界面,从而可以与系统交互进行多次逻辑取证工作。而如果Android手机版本较高,无有效获取root权限的方式,则需要考虑通过对设备制作物理镜像的方式来提取所需数据。
8.3.3 Android物理镜像提取
针对Android手机进行物理镜像的提取通常可以采用以下几种方法,下面分别进行介绍与演示。
1.已root设备制作镜像
在已获取root权限的情况下,可以直接使用dd命令对Android手机指定分区制作物理镜像。
连接手机并开启调试模式,在命令行中输入“adbshell,su”,使用mount枚举手机中所有分区信息,如图8-25所示。图8-25 shell下枚举分区
从图8-25的输出结果中可以看到,该手机对应的分区挂载信息包括system系统分区、userdata用户分区以及cache缓存分区。其中用户数据分区挂载点为/dev/block/platform/msm_sdcc.1/by-name/userdata,使用dd命令可以对userdata分区数据进行物理镜像操作。dd命令如下:
ddif=/dev/block/platform/msm_sdcc.1/by-name/userdataof=/sdcard/data.img
执行上述命令后,userdata分区将会被转为镜像文件,保存至手机SD存储卡中。
2.联发科处理器手机提取物理镜像
联发科(Media Tek,MTK)是中国台湾地区的芯片制造商,其芯片主要面向无线通信以及数字多媒体产品。在Android智能手机得到普及前,其低端手机芯片解决方案占据了国内市场份额的大半。
以采用联发科MT6797的某款国内品牌手机为例,首先在取证计算机端安装SPFlashTool工具并运行,然后在其中选择对应的处理器型号,指定对应的分散加载文件(ScatterFile)。分散加载文件用于描述该型号处理器存储中各个block的范围,取证人员可以在其他同样使用MT6797处理器的手机中将其导出,如图8-26所示。图8-26使用MTKSPFlashTool下载MTK手机分区镜像
加载完毕后,下方列表展示了该手机存储中对应的分区信息,首先选择用于保存用户数据的userdata分区,然后点击“Download”按钮,将需要制作镜像的手机关机后使用数据线连接,即可开始镜像下载。
3.高通处理器手机提取物理镜像
高通(Qualcomm)公司是全球移动通信行业的领军企业,其面向移动终端的骁龙(SnapDragon)系列处理器被广泛用于中高端Android智能手机。与联发科类似,针对部分型号的高通手机,也可以使用厂商的底层刷机工具提取手机的物理镜像。
高通面向手机维修与售后人员提供了QualcommProductSupportTool(QPST)支持工具包,其中包含的QualcommFlashImageLoader(QFIL)工具可以直接下载采用高通处理器手机的物理镜像。
使用高通镜像下载工具下载镜像,需要使手机进入高通9008模式。根据手机的不同,可分别采用adbrebootedl方式、Fastboot方式或使用专门的9008数据线进入该模式。
手机进入9008模式后,可以在设备管理器中识别出该设备名称为QualcommHS-USBQDLoader9008,如图8-27所示。图8-27高通9008模式设备识别
随后打开QFIL镜像下载工具(图8-28),使用该工具下载镜像前还需要选择手机对应的*.mbn文件,通过下载该手机官方提供的线刷刷机包,可以直接提取出对应的文件。图8-28QFIL镜像下载工具
如提供的 *.mbn无误,接下来直接使用QFIL中的分区查看器浏览手机存储中的分区情况,如图8-29所示。图8-29 用QFIL工具查看手机分区
向下拖动滚动条,找到主要用于保存用户数据的userdata分区,选择读取该分区数据,如图8-30所示。图8-30 QFIL下载userdata分区
8.3.4获取Android外置存储设备镜像
在部分Android手机上,除了使用内置的存储外,还允许用户插入额外的扩展存储卡来存储数据。目前较为常用的是MicroSD存储卡(也称TF存储卡),用户不仅可以将Android手机拍摄的图片、视频等多媒体文件存储在扩展存储卡中,还可以将App自身数据存储在扩展存储卡中。在进行Android手机取证时,如手机使用了外置扩展存储卡,取证人员也应对其制作物理镜像,便于后续进行删除恢复和数据分析工作,同时避免遗漏数据。
Android操作系统中的外置扩展存储卡一般采用FAT32/exFAT文件系统,这样有助于在手机与计算机之间进行数据传输共享。所以,对外置存储卡可以使用WinHex/FTKimage等进行镜像。
8.3.5 Android物理镜像分析
通过前面内容可知,当完成了Android手机物理镜像的提取后,取证人员可以不受限制地对镜像文件进行分析。以主要保存用户数据的userdata分区为例,该分区使用了Linux操作系统中常见的Ext4文件系统,这就意味着使用绝大多数计算机取证软件、手机取证软件甚至使用普通磁盘工具都可以对其进行分析。
1.使用磁盘编辑工具WinHex分析Android物理镜像
WinHex是电子数据取证与数据恢复工作中常用的一款磁盘编辑工具,支持多种常见的文件系统解析。利用WinHex的镜像文件转换功能(图8-31),取证人员可以在转换后的文件结构中提取需要分析的文件。图8-31使用WinHex将镜像文件转换为磁盘
在WinHex中打开Android手机物理镜像,此处以通过高通9008模式下载的userdata镜像为例,打开后,选择“Specialist”→“InterpretImageFileAsDisk”命令,将镜像文件转换为磁盘,结果如图8-32所示。图8-32 WinHex解析后的磁盘结构
2.使用开源取证工具Autopsy分析Android物理镜像
Autopsy是一款开源的免费图形界面取证工具,具备案例管理、证据解析和分析等一系列完整的取证功能,该软件最新版本可以从中下载。
完成Autopsy安装后,打开并新建案例,如图8-33所示。图8-33在Autopsy中新建案例
随后,添加提取过的Android物理镜像文件并选择分析模块,分别如图8-34和图8-35所示。图8-34添加镜像文件图8-35选择分析模块
Autopsy处理完成后,展开软件左侧树形视图,可以展示出该Android物理镜像的存储结构,可以进一步选择导出文件并对其进行分析,也可以利用Autopsy自带的搜索功能搜索指定的关键词或手机号码、邮箱地址等信息,如图8-36所示。图8-36 Autopsy解析结果
3.使用计算机取证软件分析Android物理镜像
无论是Android操作系统还是iOS操作系统,移动终端操作系统与桌面操作系统具有诸多相似之处,尤其在文件系统方面,Android操作系统使用的文件系统主要包括Linux文件系统Ext以及Windows文件系统格式FAT32,这就意味着即便不是来源于计算机硬盘,也一样可以使用计算机取证软件对Android物理镜像进行解析和分析。
值得一提的是,近年来随着移动终端的普及,主流的计算机取证软件也逐渐增加了对手机等智能移动终端的数据分析功能。下面以EnCase为例来演示使用计算机取证软件分析Android物理镜像的过程。
首先在EnCase中新建案例,在添加Android物理镜像时需要注意,在EnCase7及以后的版本中添加包括DD、Bin、Img等扩展名在内的各类非E01证据镜像,需要使用“AddRawImage”(添加原始镜像)功能加载,如图8-37所示。图8-37 在EnCase中加载Android物理镜像
4.使用手机取证软件分析Android物理镜像
“工欲善其事,必先利其器”,除了使用通用型的工具辅助对Android物理镜像进行解析和分析之外,还可以直接使用专用的手机取证软件对Android物理镜像进行分析。目前市面上主流的商业版手机取证软件产品
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省信阳市浉河区市级名校2026届中考英语试题命题比赛模拟试卷(7)含解析
- 云南省昭通市昭阳区2025-2026学年初三下学期中考仿真考试生物试题含解析
- 江苏省苏州市、常熟市市级名校2025-2026学年七校联考中考语文试题一模试卷含解析
- 江苏省苏州市名校2025-2026学年初三下学期第二次统一考试英语试题含解析
- 郑州市重点中学2025-2026学年初三第三次适应性测试英语试题试卷含解析
- DB46-T 732-2025南海海-气二氧化碳通量遥感估算技术规范
- Unit 1 Back to school Period 4 教学设计(高中英语)
- 2026年旅游应急救援体系建设规划
- 九年级中考数学专项复习课件-函数压轴题专项突破2 平面直角坐标系中三角形面积的计算
- 抗焦虑药物应用指南培训
- 汛期安全行车教育培训课件
- GB/T 16997-2025胶粘剂主要破坏类型的表示法
- 2025年全国工程测量员中级理论考试真题与模拟试题(附答案)
- 3.3细胞核的结构和功能 课件(内嵌视频) 高一生物(人教版)必修1
- 大型藻类栽培工专业技能考核试卷及答案
- 医院RCA分析实施指南
- 呼吸道核酸检测课件
- 北斗卫星导航系统科普应用
- 2025年全国高考二卷英语真题【含答案解析】
- 旋挖钻孔灌注桩全护筒跟进施工工艺主要施工方法及技术措施
- 配电第一种工作票(10kV线路投运停电填写样本)
评论
0/150
提交评论