移动取证实战(三)

原文:zh.annas-archive.org/md5/6EFD6E14F5596709CDC9A37A8F4A6218

译者:飞龙

协议:CC BY-NC-SA 4.0

第十一章:Android 应用程序分析、恶意软件和逆向工程

智能手机用户通常使用第三方应用程序。Android 用户从 Google Play 等应用商店下载并安装了多个应用程序。在取证调查中,对这些应用程序进行分析以检索有价值的数据并检测恶意软件通常是有帮助的。例如,照片保险库应用程序可能锁定设备上存在的敏感图像。因此,了解如何识别照片保险库应用程序的密码非常重要。

此外,如今广泛使用的应用程序,如 Facebook、WhatsApp、Skype 等,通常是有价值数据的来源。因此,了解这些应用程序存储的数据类型和数据的位置非常重要。虽然我们在之前的章节中讨论的数据提取和数据恢复技术提供了对有价值数据的访问,但应用程序分析帮助我们获取有关应用程序具体信息的信息,如偏好和权限。

在本章中,我们将涵盖以下主题:

  • 分析广泛使用的 Android 应用程序以检索有价值的数据

  • 逆向工程 Android 应用程序的技术

  • Android 恶意软件

分析广泛使用的 Android 应用程序以检索有价值的数据

在 Android 上,用户与之交互的一切都是应用程序。虽然一些应用是由设备制造商预装的,但其他应用是由用户下载和安装的。例如,即使是常规功能,如联系人、通话、短信等,也是通过各自的应用程序执行的。因此,在调查过程中进行 Android 应用程序分析至关重要。一些第三方应用程序,如 WhatsApp、Facebook、Skype、Chrome 浏览器等,被广泛使用,并处理大量有价值的信息。根据应用程序的类型,这些应用程序中的大多数存储敏感信息在设备的内部存储器或 SD 卡上。分析它们可能提供有关用户位置细节、与他人的通信等信息。使用我们之前描述的取证技术,可以访问这些应用程序存储的数据。然而,作为取证人员,您需要发展必要的技能,将可用数据转换为有用的数据。当您全面了解应用程序如何处理数据时,就可以实现这一点。

正如我们在之前的章节中讨论的那样,所有应用程序默认将其数据存储在/data/data文件夹中。应用程序还可以在 SD 卡上存储某些其他数据,如果它们在安装时请求权限的话。可以通过检查/data/data文件夹的内容来收集设备上存在的应用程序的信息,但这并不直接,因为它需要分析该路径下的每个单独的应用程序文件夹。作为替代方案,您可以检查/data/system下的packages.list文件。该文件包含有关所有应用程序的信息,以及它们的包名称和数据路径。

可以使用以下命令执行此操作:

# cat packages.list

以下是前述命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

packages.list 文件的内容

现在,让我们具体看一些广泛使用并处理有价值数据的第三方应用程序。

以下应用程序仅被覆盖,以使您熟悉可以提取的数据类型以及可能获取数据的位置。在对设备执行这些任务之前,您需要获得适当的权限,并应遵守法律规定。正如我们在第八章中所解释的那样,Android 取证设置和数据提取前技术,以下技术仅在设备被 root 后才能使用。

Facebook Android 应用程序分析

Facebook 安卓应用是最广泛使用的社交网络应用之一。它将信息存储在/data/data文件夹中,位于com.facebook.katana包内。以下细节提供了可以从各种文件中收集的信息类型的概述:

  • Facebook 联系人:可以通过分析contacts_db2数据库检索用户的 Facebook 联系人信息,该数据库位于以下路径下:

  • 路径/data/data/com.facebook.katana/databases/contacts_db2

  • contacts_db2数据库(SQLite 文件)包含一个名为 contacts 的表,其中包含大部分用户信息,如他们的名字、姓氏、显示名称和显示图片的 URL。

  • Facebook 通知:可以通过分析notification_db数据库收集有关用户通知的信息,该数据库位于以下路径下:

  • 路径/data/data/com.facebook.katana/databases/notifications_db

  • 在上述路径下的gql_notifications表保存了用户的信息。seen_state列确认了通知是否已被查看。updated列指向通知更新的时间。gql_payload列包含通知和发送者信息。

  • Facebook 消息:分析threads_db2数据库可以查看 Facebook 消息对话在一些情况下可能非常重要:

  • 路径/data/data/com.facebook.katana/databases/threads_db2

  • 动态消息中的视频/video-cache文件夹包含从用户的动态消息中下载的视频。请注意,这些不是用户发布的视频,而是出现在他们的动态消息中的视频:

  • 路径/data/data/com.facebook.katana/files/video-cache

  • 动态消息中的图片/images文件夹包含出现在用户个人资料中的各种图片,例如来自他们的动态消息和联系人个人资料图片的图片。此文件夹中存在多个目录,图片可能以.jpg以外的格式存储,如.cnt

  • 路径/data/data/com.facebook.katana/cache/images

  • 动态消息数据newfeed_db数据库包含用户在其动态消息中看到的数据。如下截图所示,分析此数据库将提供有价值的信息,比如设备何时加载了特定的故事(fetched_at列),用户是否看到了特定的故事(seen_state列),以及故事的相应文件在设备上的存储位置(cache_file_path列):

  • 路径/data/data/com.facebook.katana/databases/newsfeed_db

在 SQLite 浏览器中分析的 Facebook newsfeed.db 文件

在上述截图中,fetched_at指定了获取此信息的日期和时间。请注意,该应用程序使用 Linux 纪元时间,也称为 Unix 时间或 Posix 时间,来存储此信息。这种格式通常被多个应用程序使用,因此值得一看。Linux 纪元时间存储为自 1970 年 1 月 1 日午夜以来的秒数(或毫秒数)。有几个在线网站,如www.epochconverter.com/,可以方便地将 Linux 纪元时间转换为普通格式。例如,以下截图显示了 Linux 纪元时间 1,577,881,839 转换为普通格式:

时间格式示例

现在我们已经对 Facebook 应用进行了分析,让我们对我们的下一个应用 WhatsApp 进行类似的分析。

WhatsApp 安卓应用分析

WhatsApp 是最受欢迎的聊天(音频和视频)消息服务,全球有超过十亿人使用。它将其信息存储在/data/data文件夹下,包名为com.whatsapp。以下是从法医角度感兴趣的重要文件的概述:

  • 用户个人资料图片:用户的个人资料图片以me.jpg文件名保存,并位于以下路径下:

  • 路径/data/data/com.whatsapp/me.jpg

  • 用户的电话号码(与 WhatsApp 关联):主文件夹下的me文件包含与用户 WhatsApp 帐户关联的电话号码。请注意,这可能与与 SIM 卡关联的电话号码相同,也可能不同:

  • 路径/data/data/com.whatsapp/me

  • 联系人个人资料图片/avatars目录包含用户联系人(使用 WhatsApp 的)的个人资料图片的缩略图:

  • 路径/data/data/com.whatsapp/files/Avatars

  • 聊天消息:所有与消息相关的信息,包括聊天和发件人详细信息,都存储在msgstore.db文件中,该文件位于以下位置:

  • 路径/data/data/com.whatsapp/databases/msgstore.db

  • WhatsApp 文件:大多数与 WhatsApp 共享的文件,如图像、视频和音频消息,都存储在 SD 卡的以下位置:

  • 路径/sdcard/WhatsApp/Media

发送和接收的文件分别存储在各自的文件夹中。

接下来,我们将看一下另一个用于电信的应用程序,专门提供视频聊天和语音通话:Skype。

Skype Android 应用程序分析

Skype 是一款提供视频聊天和语音通话服务的应用程序。该应用程序的数据存储在/data/data文件夹下,包名为com.skype.raider。以下是通过分析 Skype 应用程序可以提取的一些重要物件:

  • 用户名和 IP 地址:位于以下路径下的shared.xml文件包含有关用户名和上次连接到 Skype 的 IP 地址的信息:

  • 路径/data/data/com.skype.raider/files/shared.xml

  • 个人资料图片:用户的个人资料图片位于/thumbnails目录中,路径如下:

  • 路径/data/data/com.skype.raider/files/<username>/thumbnails/

  • 通话记录:有关从 Skype 拨出的通话记录的信息存储在main.db文件中。分析此文件可以为我们提供大量信息:

  • 路径/data/data/com.skype.raider/files/<username>/main.db/

  • 例如,duration表提供了通话持续时间的信息,start_timestamp字段给出了通话的开始时间,creation_timestamp字段指示通话何时被发起(这包括未接听的电话)。type列指示通话是呼入的(值=1)还是呼出的(值=2)。

  • 聊天消息main.db文件中的messages表包含所有聊天消息。authorfrom_dispname列提供了写消息的人的信息。timestamp列显示消息的日期/时间。body_xml列包含消息的内容:

  • 路径/data/data/com.skype.raider/files/<username>/main.db/

  • 传输的文件Transfers表包含有关传输文件的信息,如文件名、文件大小和它们在设备上的位置:

  • 路径/data/data/com.skype.raider/files/<username>/main.db/

  • 实际接收到的图像或文件将存储在 SD 卡上。如果文件被下载,它将位于 SD 卡根目录下的Downloads文件夹中。

  • 群聊ChatMembers表显示特定聊天中存在的用户列表。adder列显示启动对话的用户:

  • 路径/data/data/com.skype.raider/files/<username>/main.db/

现在,我们将对 Gmail 应用程序进行分析。

Gmail Android 应用程序分析

Gmail 是谷歌提供的广泛使用的电子邮件服务。 应用程序数据保存在/data/data文件夹下,包名称为com.google.android.gm。 以下是通过分析 Gmail 应用程序可以提取的重要工件:

  • 帐户详细信息/shared_prefs下的 XML 文件确认了电子邮件帐户的详细信息。 可以从Gmail.xml文件中识别出与当前电子邮件相关联的其他帐户的详细信息:

  • 路径/data/data/com.google.android.gm/cache/<username>@gmail.com

  • 附件:最近在发送和接收电子邮件中使用的附件保存在/cache目录中。 这很有价值,因为它使我们能够访问已从电子邮件服务中删除的项目。 每行还包含一个messages_conversation值。 此值可以与电子邮件附件的conversations表进行比较。 filename列标识了文件在设备上的路径。 以下是此文件夹的确切路径:

  • 路径/data/data/com.google.android.gm/cache/<username>@gmail.com

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Gmail 缓存目录下的附件列表

  • 电子邮件主题:通过分析mailstore.<username>@gmail.com.db文件中的conversations表可以恢复此电子邮件的主题:

  • 路径/data/data/com.google.android.gm/databases/mailstore.<username>@gmail.com.db

  • 搜索历史:在应用程序中进行的任何文本搜索都存储在/data/data/com.android.chrome/app_chrome/Default/History位置下的suggestions.db文件中。

  • 路径/data/data/com.google.android.gm/databases/suggestions.db

让我们通过对谷歌 Chrome 应用程序进行最终分析来结束本节。

谷歌 Chrome Android 应用程序分析

谷歌 Chrome 是谷歌 Pixel 和许多其他设备上的默认网络浏览器,并且被广泛用于浏览互联网。 应用程序数据位于/data/data文件夹下,包名称为com.android.chrome。 以下是通过分析 Gmail 应用程序可以提取的重要工件:

  • 个人资料图片:用户的个人资料图片存储在以下位置的Google Profile Picture.png文件中:

  • 路径/data/data/com.android.chrome/app_chrome/Default/ Google Profile Picture.png

  • 书签Bookmarks文件包含与帐户同步的所有书签的信息。 通过分析此文件可以收集诸如站点名称、URL 以及收藏时间等详细信息:

  • 路径/data/data/com.android.chrome/app_chrome/Default/Bookmarks

  • 浏览历史History.db文件包含用户的网络历史记录,存储在各种表中。 例如,如下截图所示,keyword_search_terms表包含了使用 Chrome 浏览器进行的搜索的信息:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

谷歌 Chrome 浏览历史

    • segments表包含用户访问的站点列表(但不是所有站点)。 有趣的是,Chrome 存储的数据不仅属于设备,而且一般属于帐户。 换句话说,使用相同帐户从其他设备访问的站点的信息也存储在设备上; 例如,URLs表包含了跨多个设备的 Google 帐户的浏览历史。
  • 路径/data/data/com.android.chrome/app_chrome/Default/History

  • 登录数据Login Data数据库包含了浏览器中保存的不同站点的登录信息。 站点 URL 以及用户名和密码存储在相应的表中:

  • 路径/data/data/com.android.chrome/app_chrome/Default/Login Data

  • 经常访问的站点Top Sites数据库包含经常访问的站点列表:

  • 路径/data/data/com.android.chrome/app_chrome/Default/Top Sites

  • 其他数据:用户在不同网站的表单填写中输入的电话号码或电子邮件地址等其他信息存储在Web Data数据库中。此数据库中存在的任何表都包含自动填充数据:

  • 路径/data/data/com.android.chrome/app_chrome/Default/Web Data

现在我们已经分析了不同的第三方应用程序,我们将看看我们可以使用哪些技术来逆向工程 Android 应用程序。

逆向工程 Android 应用程序的技术

您可能需要处理阻止访问所需信息的应用程序。例如,手机上的相册被AppLock应用程序锁定。在这种情况下,为了访问相册中存储的照片和视频,您首先需要输入AppLock的密码。因此,了解AppLock应用程序如何在设备上存储密码将是有趣的。您可以查看 SQLite 数据库文件。但是,如果它们被加密,那么甚至很难确定它是密码。在这种情况下,逆向工程应用程序将是有帮助的,因为您想更好地了解应用程序以及应用程序如何存储数据。

简而言之,逆向工程是从可执行文件中检索源代码的过程。逆向工程 Android 应用程序是为了了解应用程序的功能、数据存储、安全机制等。在我们继续学习如何逆向工程 Android 应用程序之前,让我们快速回顾一下 Android 应用程序:

  • 安装在 Android 设备上的所有应用程序都是用 Java 编程语言编写的。

  • 当 Java 程序编译时,我们得到字节码。这将发送给 dex 编译器,将其转换为 Dalvik 字节码。

  • 因此,使用 dx 工具将类文件转换为 dex 文件。Android 使用称为Dalvik 虚拟机DVM)来运行其应用程序。

  • JVM 的字节码由一个或多个类文件组成,取决于应用程序中存在的 Java 文件数量。无论如何,Dalvik 字节码由一个 dex 文件组成。

因此,dex 文件、XML 文件和运行应用程序所需的其他资源被打包到一个 Android 包文件(APK 文件)中。这些 APK 文件只是 ZIP 文件中的项目集合。因此,如果您将 APK 扩展文件重命名为.zip文件,那么您将能够看到文件的内容。但是,在您这样做之前,您需要访问手机上安装的应用程序的 APK 文件。以下是如何访问与应用程序对应的 APK 文件。

从 Android 设备中提取 APK 文件

预装在手机上的应用程序存储在/system/app目录中。用户下载的第三方应用程序存储在/data/app文件夹中。以下方法可以帮助您访问设备上的 APK 文件;它适用于已 root 和未 root 的设备:

  1. 通过发出# adb.exe shell pm list packages命令来识别应用程序的包名称。

以下是前面命令的输出:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

设备上存在的包名称列表

如前面的命令行输出所示,显示了包名称列表。尝试在问题中找到应用程序和包名称之间的匹配。通常,包名称与应用程序名称密切相关。或者,您可以使用 Android 市场或 Google Play 轻松识别包名称。Google Play 中应用程序的 URL 包含包名称,如下面的屏幕截图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Google Play 商店中的 Facebook 应用程序

  1. 通过发出adb shell pm path命令来识别所需包的 APK 文件的完整路径,如下所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

识别 APK 的完整路径名

  1. 使用adb pull命令将 APK 文件从 Android 设备拉到取证工作站:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

adp pull 命令

现在,让我们分析 APK 文件的内容。Android 包是 Android 应用程序资源和可执行文件的容器。它是一个压缩文件,包含以下文件:

  • AndroidManifest.xml:这包含有关权限等的信息。

  • classes.dex:这是通过 dex 编译器转换为 dex 文件的类文件。

  • Res:应用程序的资源,如图像文件、声音文件等,都在这个目录中。

  • Lib:这包含应用程序可能使用的本地库。

  • META-INF:这包含应用程序签名的信息以及包中所有其他文件的签名校验和。

一旦获得 APK 文件,就可以开始反向工程 Android 应用程序。

反向工程 Android 应用的步骤

可以通过不同的方式对 APK 文件进行反向工程,以获取原始代码。以下是一种使用dex2jar和 JD-GUI 工具访问应用程序代码的方法。在我们的示例中,我们将检查com.twitter.android-1.apk文件。以下是成功反向工程 APK 文件的步骤:

  1. 将 APK 扩展名重命名为 ZIP 以查看文件内容。将com.twitter.android-1.apk文件重命名为twitter.android-1.zip,并使用任何文件解压应用程序提取此文件的内容。以下截图显示了从原始文件twitter.android-1.zip中提取的文件。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

APK 文件的提取文件

  1. 我们之前讨论过的classes.dex文件可以在提取 APK 文件内容后访问。这个 dex 文件需要使用dex2jar工具转换为 Java 类文件。

  2. github.com/pxb1988/dex2jar下载dex2jar工具,将classes.dex文件放入dex2jar工具目录,并发出以下命令:

C:\Users\Rohit\Desktop\Training\Android\dex2jar-0.0.9.15>d2j- dex2jar.bat classes.dex dex2jar classes.dex -> classes-dex2jar.jar
  1. 当上述命令成功运行时,它会在同一目录下创建一个新的classes-dex2jar.jar文件,如下截图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

由 dex2jar 工具创建的 classes-dex2jar.jar 文件

  1. 要查看此 JAR 文件的内容,可以使用 JD-GUI 等工具。如下截图所示,可以看到 Android 应用程序中的文件和相应的代码:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

JD-GUI 工具

一旦获得代码访问权限,就可以轻松分析应用程序存储值、权限和其他可能有助于绕过某些限制的信息。当在设备上发现恶意软件时,这种反编译和分析应用程序的方法可能会很有用,因为它将显示恶意软件正在访问的内容,并提供数据发送的线索。以下各节将详细介绍 Android 恶意软件。

Android 恶意软件

随着安卓市场份额的不断增加,针对安卓用户的攻击或恶意软件也在增加。移动恶意软件是一个广义术语,指执行意外操作的软件,包括木马、间谍软件、广告软件、勒索软件等。根据 pandasecurity 的数据,与 iOS 设备相比,安卓设备感染恶意软件的几率要高 50 倍(www.pandasecurity.com/mediacenter/mobile-security/android-more-infected-than-ios/)。2019 年,仅 Agent Smith 恶意软件就感染了近 2500 万台安卓设备,根据 Cybersecurity Hub 的一篇新闻报道(www.cshub.com/malware/articles/incident-of-the-week-malware-infects-25m-android-phones)。

这种情况的一个主要原因是,与苹果的 App Store 严格受公司控制不同,谷歌的 Play Store 是一个没有详细的前期安全审查的开放生态系统。恶意软件开发者可以轻松地将他们的应用移至 Play Store,并通过此方式分发他们的应用。谷歌现在有一个名为 Google Bouncer 的恶意软件检测软件,它将自动扫描上传的应用程序以查找恶意软件,但攻击者已经找到了几种保持不被发现的方法。此外,安卓正式允许我们加载从互联网下载的应用程序(侧载),而 iOS 不允许未签名的应用程序。

例如,如下截图所示,当在安卓设备上选择未知来源选项时,允许用户安装从互联网上任何网站下载的应用程序:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

安卓中的侧载选项

托管安卓应用程序的第三方应用商店被认为是恶意软件的聚集地。这促使谷歌从安卓 4.2 开始推出了验证应用程序功能,该功能在安卓设备上本地扫描应用程序,以查找恶意活动,如短信滥用。如下截图所示,验证应用程序功能可能会警告用户,或在某些情况下甚至可能阻止安装。然而,这是一个选择性服务,因此用户可以在希望的情况下禁用此功能:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

安卓中的验证应用程序功能

从安卓奥利奥开始,谷歌推出了一个名为 Play Protect 的新功能,这是验证应用程序功能的更好版本。Play Protect 的主要工作是阻止或警告已安装在安卓设备上的恶意或有害应用程序。例如,如下截图所示,Play Protect 功能可能在应用程序安装过程中显示警告消息:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Play Protect 功能

接下来,让我们看看恶意软件的类型。

安卓恶意软件类型

有不同类型的恶意软件可以感染安卓设备。以下是一些最常见的类型:

  • 银行恶意软件:它可以伪装成银行应用程序,窃取用户输入的银行凭据,或者从用户账户中窃取任何其他敏感个人信息。银行木马可以拦截或修改银行交易,并执行危险操作,如发送、删除和拦截短信,以及记录按键。

  • 间谍软件:间谍软件监视、记录并将重要信息从目标设备发送到攻击者的服务器。这些信息可能包括短信、录音电话、截屏、按键记录、电子邮件或其他可能对攻击者感兴趣的应用程序数据。BusyGasper 是卡巴斯基实验室专家在 2018 年初发现的一种间谍软件,它不仅具有收集来自 WhatsApp、Viber 和 Facebook 等流行消息应用程序的信息的常见间谍软件功能,还具有设备传感器监听器,包括运动检测器。

  • 广告软件:广告软件是另一种在安卓设备上非常常见的恶意或不需要的应用程序类型。它相对容易检测,因为受害者会在设备屏幕上不断收到弹出窗口和广告。这些不需要的程序并不总是无害的,因为弹出窗口可能导致下载另一种恶意软件,包括已经提到的间谍软件和银行木马。

  • 勒索软件:勒索软件的主要目标是基于 Windows 的台式电脑和服务器,但它也存在于移动平台上,尤其是在安卓上。通常,它只会用勒索通知锁定设备屏幕,但有时也会加密用户的数据。

  • 加密货币挖矿恶意软件:加密货币现在非常流行,因此这种类型的恶意程序甚至适用于安卓等移动平台。这类应用程序的目标是利用受害者的设备计算能力来挖掘加密货币。偶尔,这种类型的恶意软件甚至可能使智能手机硬件处于风险之中。

高级恶意软件还能够对设备进行 root 并安装新应用程序。例如,安卓 Mazar 恶意软件于 2016 年 2 月被发现,通过短信传播,并能够在手机上获得管理员权限,从而可以擦除手机、打电话或阅读短信。

可在forensics.spreitzenbarth.de/android-malware/找到安卓恶意软件家族及其功能的完整列表。

一旦恶意软件进入设备,它可以执行危险的操作,其中一些如下:

  • 发送和阅读您的短信

  • 窃取敏感数据,如图片、视频和信用卡号码

  • 操纵设备上的文件或数据

  • 向高费率号码发送短信

  • 感染您的浏览器并窃取键入的任何数据更改设备设置

  • 擦除设备上的所有数据

  • 锁定设备直到支付赎金

  • 不断显示广告

现在我们已经了解了不同类型的恶意软件,我们将看看恶意软件如何在您的设备中传播。

安卓恶意软件是如何传播的?

安卓设备可能以几种不同的方式感染恶意软件。以下是一些可能的方式:

  • 重新打包合法应用程序:这是攻击者使用的最常见方法。首先,攻击者下载一个合法的应用程序并对其进行反汇编。然后,他们添加恶意代码并重新组装应用程序。新的恶意应用程序现在的功能与合法应用程序完全相同,但它也在后台执行恶意活动。这种应用程序通常在第三方安卓应用商店中找到,并被许多人下载。

  • 利用安卓漏洞:在这种情况下,攻击者利用在安卓平台上发现的漏洞或漏洞来安装他们的恶意应用程序或执行任何不需要的操作。例如,安装程序劫持在 2015 年被发现,攻击者利用它来在安装过程中用恶意软件替换安卓应用程序。

  • 蓝牙和 MMS 传播:恶意软件也通过蓝牙和 MMS 传播。当设备处于可发现模式时,受害者会在设备上收到恶意软件,例如,当它可以被其他蓝牙设备看到时。在 MMS 的情况下,恶意软件附加在消息中,就像计算机病毒通过电子邮件附件发送一样。然而,在这两种方法中,用户至少必须同意运行文件一次。

  • 应用程序下载恶意更新:在这种情况下,最初安装的应用程序不包含任何恶意代码,但代码中存在的一个功能将在运行时下载恶意命令。这可以通过隐秘更新或用户更新来完成。例如,Plankton 恶意软件使用隐秘更新直接从远程服务器下载 JAR 文件,不需要任何用户权限。在用户更新的情况下,用户必须允许应用程序下载应用的新版本。

  • 远程安装:攻击者可能会破坏用户设备上的账户凭据,从而远程安装应用程序。这通常发生在有针对性的场景中,与我们刚刚描述的前两种方法相比,发生频率较低。

现在我们已经看过 Android 恶意软件可能传播的方式,让我们试着识别您的设备中是否存在恶意软件。

识别 Android 恶意软件

从取证的角度来看,重要的是在进行任何分析之前识别设备上是否存在恶意软件。这是因为恶意软件可能会改变设备的状态或设备上的内容,从而使分析或结果不一致。市场上有一些工具可以分析物理提取以识别恶意软件。例如,Cellebrite UFED 物理分析仪具有 BitDefender 的反恶意软件技术,可以扫描恶意软件。如下面的截图所示,一旦物理镜像被加载到工具中,文件就可以被扫描以查找恶意软件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在 UFED 物理分析仪中扫描恶意软件

一旦扫描开始,BitDefender 软件会尝试解压.apk文件并查找感染或恶意文件。这个过程是自动的,工具会指出恶意应用程序,如下面的截图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

UFED 物理分析仪中的恶意软件扫描结果

该工具只是指出设备上存在恶意内容。然后,取证调查员必须通过分析相应的应用程序手动确认这是否是一个有效的问题。这就是我们在前面部分讨论的逆向工程技能需要发挥作用的地方。一旦应用程序被逆向工程并且代码被获取,建议您查看AndroidManifest.xml文件以了解应用程序权限。这对于了解应用程序存储数据的位置、它试图访问的资源等是有帮助的。例如,手电筒应用程序不需要读/写访问您的 SD 卡数据,也不需要打电话:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

AndroidManifest.xml 文件中的权限

或者,您也可以将.apk文件上传到 VirusTotal,这是一个可以用来分析可疑文件中是否有恶意软件的免费服务。VirusTotal 将使用 55 个杀毒引擎扫描您的文件。重要的是要注意,如果.apk文件中的细节被混淆,该工具可能无法识别有效的情况。因此,作为取证调查员,重要的是要发展必要的技能来逆向工程任何可疑的应用程序并分析代码以识别恶意行为。

在一些调查中,设备上存在的恶意软件的性质也可能导致得出某些关键的结论,这可能会影响案件的结果。例如,考虑一个涉及向其他员工发送滥用信息的公司内部调查。识别发送信息的设备上的恶意软件将有助于解决案件。

总结

Android 应用程序分析有助于法证调查人员在设备的相关位置寻找有价值的数据。反向工程 Android 应用程序是从 APK 文件中检索源代码的过程。使用某些工具,如dex2jar,可以对 Android 应用程序进行反向工程,以了解其功能和数据存储,识别恶意软件等。在本章中,我们对不同的 Android 应用程序进行了分析,现在能够从中检索数据。我们还学习了不同类型的 Android 恶意软件以及如何识别它们。诸如 UFED Physical Analyzer 之类的工具配备了 BitDefender 软件,可以自动扫描恶意软件。

下一章将介绍在 Windows Phone 设备上进行取证。

第三部分:Windows 取证和第三方应用程序

本节将涵盖对 Windows 手机的取证 - 从了解 Windows Phone 操作系统到从设备中提取数据。最后一章将介绍如何对一些最广泛使用的第三方应用程序进行取证,例如 Facebook、WhatsApp 等。我们将看看这些应用程序内部的数据组织方式以及一些可以立即应用于提取其中数据的技术。

本节包括以下章节:

  • 第十二章,Windows 手机取证

  • 第十三章,解析第三方应用程序文件

第十二章:Windows 手机取证

尽管 Windows 手机如今并不被广泛使用,但在取证调查中仍然可能会遇到。这些设备是市场上最实惠的,因此了解如何获取、分析和解码 Windows 手机中的数据非常重要。定位和解释这些设备上存在的数字证据需要对 Windows 手机操作系统有专门的了解,而且并不总是可能的。商业取证和开源工具对从 Windows 设备获取用户数据提供了有限的支持。由于 Windows 手机在移动市场上所占份额不大,大多数取证从业者对设备上使用的数据格式、嵌入式数据库以及其他存在的工件并不熟悉。本章概述了 Windows 手机取证,描述了在 Windows 移动设备上获取和检查数据的各种方法。

在本章中,我们将涵盖以下主题:

  • Windows 手机操作系统

  • Windows 10 Mobile 安全模型

  • Windows 手机文件系统

  • 数据获取

  • 商业取证工具获取方法

  • 在不使用商业工具的情况下提取数据

  • 检查的关键工件

Windows 手机操作系统

Windows 手机是由微软开发的专有移动操作系统。它是作为 Windows Mobile 的后继者推出的,但不提供与之前平台的向后兼容性。Windows 手机于 2010 年 10 月推出,首次推出的是 Windows Phone 7。然后 Windows 手机操作系统的版本历史继续延续,发布了 Windows Phone 7.5、Windows Phone 7.8、Windows Phone 8.1 和 Windows Phone 10。

尽管微软声称他们已停止开发这个移动操作系统,但除了安全补丁,你可能会在移动取证调查中遇到它。

接下来的章节将提供关于 Windows 手机、其功能和底层安全模型的更多细节。

与 Android 和 iOS 设备不同,Windows 手机配备了一个新的界面,使用所谓的“磁贴”来代替图标,如下图所示。这些磁贴可以由用户设计和更新:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Windows 手机主屏幕

与其他移动平台类似,Windows 手机允许安装第三方应用。这些应用可以从由微软管理的 Windows 手机应用商店下载。与 iOS 和 Android 设备可用的应用数量相比,Windows 手机的应用数量相形见绌。但是,应用是可用的,你应该期望在 Windows 手机设备上看到它们。

Windows 手机引入了新功能,使其与 Windows Mobile 相比更类似于其他智能手机:

  • Cortana:这是设备的个人助手。它在 Windows 8.1 中被引入,并且仍然存在于 Windows 10 设备上。Cortana 通过使用必应回答问题、设置提醒、发送短信等方式来帮助用户,从而为用户提供更好、更便捷的体验。Cortana 所做的一切都会在设备上留下痕迹。

  • 钱包:这里存储着信用卡账户、登机牌、门票、优惠券等等。

  • 地理围栏和高级位置设置:这为用户提供了额外的保护,因为手机可以检测到它是否离开了受信任的区域,并可能自动锁定。

  • 附加功能:这些功能包括动态磁贴、增强颜色和静音时间。

与 Windows 手机相关的其他常见应用包括 OneDrive(原名 SkyDrive)、OneNote 和 Office 365 同步。OneDrive 为用户提供了从任何设备访问其所有文档和文件的权限。OneNote 本质上是一样的,但它充当笔记本或日记。Office 365 为用户提供了跨多个设备持续访问其电子邮件、日历、联系人等的权限。

跨多个设备进行数据同步的引入使我们作为取证检查员的工作变得困难。我们的工作是确定证据是如何放置在设备上的。是否可能明确说明一个物件是如何放置在设备上的?老实说,这取决于很多因素。这是没有人想听到的回答,但必须考虑很多因素。这是一个应用程序?设备上运行的是什么操作系统?这是一个物件?例如,让我们考虑 OneDrive。如果设备包含来自 OneDrive 的文档,原始作者应该包含在元数据中。这个,再加上检查内容是否与设备共享,可能会提供一个关于物件是如何创建的一瞥。然而,当检查一个日历条目时,当 Office 365 在使用时,可能无法确定用户是在手机、PC 还是笔记本电脑上创建的条目。同步是即时的,状态标志说明物件是在哪里创建的并不总是存在。如果这个物件确实是调查的“关键证据”,你需要运用你的技能来发现其他支持你的发现的物件。需要深入挖掘数据。现在我们已经了解了 Windows Phone 及其功能的细节,让我们来看看它的安全模型,以及它如何保护数据安全。

Windows 10 Mobile 安全模型

Windows Phone 的安全模型旨在确保设备上的用户数据安全可靠。以下部分简要解释了 Windows Phone 安全建立在哪些概念上。

房间

Windows Phone 在最低特权和隔离原则上建立了重要基础。这一点自 Windows Phone 7 诞生以来就一直如此。为了实现这一点,Windows Phone 引入了“房间”的概念。每个房间都有一个隔离边界,进程可以在其中运行。根据特定房间的安全策略,运行在该房间中的进程具有访问操作系统资源和功能的特权。有四种类型的安全房间。以下是对每种房间的简要描述:

  • 受信任的计算基础(TCB):这里的进程可以无限制地访问大多数 Windows Phone 资源。这个房间有权限修改策略并执行安全模型。内核在这个房间中运行。

  • 提升权限房间(ERC):这个房间比 TCB 房间特权较低。它有权限访问除安全策略以外的所有资源。这个房间主要用于为手机上的其他应用程序提供功能的服务和用户模式驱动程序。

  • 标准权限房间(SRC):这是预装应用程序的默认房间,例如 Microsoft Outlook Mobile 2010。

  • 最低特权房间(LPC):这是通过 Marketplace Hub(也称为 Windows Phone Marketplace)下载和安装的所有应用程序的默认房间。

接下来,我们将看看加密。

加密

Windows Phone 8 引入了 BitLocker 技术,通过 AES 128 位加密对存储在设备上的所有用户数据进行加密。用户可以简单地切换开关以启用此功能,设备内部存储的所有数据都将被加密。此外,用户可以加密他们的 SD 卡(假设设备有 SD 卡),并在设备上设置密码或 PIN 码。如果启用了所有这些锁定和加密,除非密码被恢复,否则可能无法访问此设备上的数据。

基于能力的模型

功能被定义为与安全、隐私和成本相关的手机资源(相机、位置信息、麦克风等)。LPC 默认具有最小的访问权限。但是,在安装过程中可以通过请求更多功能来扩展这一点。功能在应用程序安装期间授予,并且在运行时无法修改或提升。因此,很难侧加载应用程序或强制自定义引导代码到设备以获得法医访问,因为通常在启动之前会被拒绝。

要在 Windows Phone 上安装应用程序,您需要使用 Windows Live ID 登录 Marketplace。在安装过程中,应用程序需要在使用某些功能之前征得用户的许可,下面的截图显示了一个例子:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Windows 应用程序请求用户权限(https://i-msdn.sec.s-msft.com/dynimg/IC752370.png)

这与 Android 中的权限模型类似。这使用户在安装应用程序之前有机会了解应用程序的所有功能。所有功能的列表都包含在WMAppManifest.xml应用程序清单文件中,可以通过 Visual Studio 或其他方法访问,这些方法在docs.microsoft.com/en-us/previous-versions/windows/apps/ff769509(v=vs.105)中定义。

应用程序沙盒

Windows Phone 上的应用程序在一个沙盒环境中运行。这意味着 Windows Phone 上的每个应用程序都在自己的隔间中运行。应用程序彼此隔离,不能访问其他应用程序的数据。如果任何应用程序需要保存信息到设备上,它可以使用隔离存储,其他应用程序无法访问。此外,安装在 Windows Phone 上的第三方应用程序不能在后台运行;也就是说,当用户切换到不同的应用程序时,先前使用的应用程序会关闭(尽管应用程序状态会被保留)。这确保了应用程序在用户不使用应用程序时无法执行诸如通过互联网进行通信等活动。这些限制也使 Windows Phone 更不容易受到恶意软件的影响,但您永远不应该假设任何设备是安全的。恶意软件在这些设备上运行更具挑战性。

到目前为止,我们已经了解了四种安全隔间类型,现在我们知道 Windows Phone 8 使用 BitLocker 技术进行加密。我们已经了解了在安装应用程序期间授予的不同功能,并看到每个应用程序是如何相互隔离的。接下来,我们将看一下 Windows Phone 的一个重要方面,即其文件系统。

Windows Phone 文件系统

Windows Phone 文件系统与 Windows 7、Windows 8 和 Windows 10 中使用的文件系统更多或少相似。从根目录,您可以访问此设备上可用的不同文件和文件夹。从法医学的角度来看,以下是一些可能产生有价值数据的文件夹。所有列出的目录都位于根目录中:

  • 应用程序数据:这个目录包含手机上应用程序的数据,比如 Outlook、地图和 Internet Explorer。

  • 应用程序:这个目录包含用户安装的应用程序。每个应用程序分配或使用的隔离存储也位于这个文件夹中。

  • 我的文件:这个目录包含不同的办公文档,比如 Word、Excel 或 PowerPoint 文件。该目录还包括配置文件和多媒体文件,比如音乐或视频。

  • Windows:这个目录包含与 Windows Phone 操作系统相关的文件。

此处使用的获取方法将确定您对设备的文件系统访问权限。例如,物理镜像可能提供对可以从数据转储中恢复的多个分区的访问权限。在下面的屏幕截图中可以看到包含 27 个分区的 Windows Phone 10 设备。分区 26(MainOS)和 27(Data)包含相关数据:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Windows Phone 10 分区

尽管大多数证据都存在于数据分区中,但最好的做法是在可能的情况下同时捕获和分析两者。

在前面的屏幕截图中,分区 26 的 MainOS 分区包含了来自 Windows Phone 的系统数据。与所有 Windows 调查一样,系统数据包含了与调查相关的证据。

在此示例中,分区 27 包含用户或数据分区。根据设备的不同,分区号可能会有所不同。在我们的示例中,数据分区显示为分区 27 的屏幕截图如下所示。在这里,使用移动取证工具恢复了短信、电子邮件、应用程序数据、联系人、通话记录和互联网历史记录。这些方法将在本章后面讨论:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Windows Phone 10 数据分区

Windows Phone 还维护Windows 注册表,这是一个存储操作系统环境变量的数据库。Windows 注册表基本上是一个存储 Microsoft 操作系统设置和选项的目录。Windows Phone 也不例外。在检查 Windows Phone 时,您将期望看到NTUSER.datSAMSYSTEMSOFTWARESECURITYDEFAULT注册表项。虽然这些注册表项可能是手机特有的,但它们可以像传统的 Windows 注册表项一样进行检查。

Cynthia Murphy 的一篇论文中包括了一项详细的案例调查。这涉及一起家庭入侵和性侵案件,详细介绍了取证界伟大人才在揭示协助解决调查的证据方面所做的努力。有时,移动设备是与案件相关的最重要的证据。有关更多信息,请参阅www.sans.org/reading-room/whitepapers/forensics/windows-phone-8-forensic-artifacts-35787。现在我们已经了解了文件和文件夹结构,让我们学习如何利用这些知识获取数据。

数据获取

对于取证检查员来说,从 Windows Phone 获取数据是具有挑战性的,因为在之前的章节中定义的物理、文件系统和逻辑方法得不到很好的支持。除此之外,商业工具可能需要设备处于特定的电池充电状态(%)才能识别和获取设备。这通常是获取 Windows Phone 中最困难的步骤之一。

商业工具尝试数据获取的最常见技术之一是在设备上安装应用程序或代理,这使得可以进行双向通信,以便发送命令以提取数据。这可能会导致设备上的某些更改;然而,如果检查员遵循标准协议并测试所使用工具的有效性,这仍然是法庭上可靠的。这些协议包括适当的测试以确保用户数据未被更改(如果更改了,记录发生了什么),在测试设备上验证方法,并记录获取过程中所采取的所有步骤。为了使此获取方法有效,应用程序需要以 SRC 的权限安装。这可能需要您将制造商的 DLL 复制到用户应用程序中,这些 DLL 具有更高的权限。这允许应用程序访问通常仅限于本机应用程序的方法和资源。除此之外,设备必须解锁,否则这些方法可能无法使用。

大多数取证人员依赖取证工具和方法来获取移动设备。再次强调,这些做法对 Windows 手机的支持并不如此。请记住,要在 Windows 手机上部署和运行应用程序,设备和开发人员都必须经过 Microsoft 注册和解锁。可以通过使用 Windows Phone 8 到 10 设备的公共越狱来绕过此限制。

相当长一段时间以来,JTAG 和芯片取证是获取大多数 Windows 手机的唯一选择。一切在 2015 年 1 月发生了变化:Cellebrite 实施了一个获取模块,允许移动取证人员从大多数 Lumia 设备上的物理层面提取数据。

后来,Windows Phone Internals 项目提出了一种解锁一些 Lumia 设备(包括 520、521、525、620、625、720、820、920、925、928、1020 和 1320)的方法。这使得这些设备的物理获取成为可能。您可以在www.wpinternals.net/了解更多关于该项目的信息。现在,我们将看一些用于获取方法的商业工具。

商业取证工具获取方法

有一些商业工具可用于支持获取 Windows 手机设备。Cellebrite UFED 提供支持,可以使用物理、文件系统和逻辑方法获取 Windows 手机设备。要确定您正在检查的设备是否受工具支持,您可以下载并使用 UFED Phone Detective 移动应用程序,该应用程序可以免费在 App Store 和 Google Play 上下载:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

搜索支持的 Lumia 设备

其中一些获取方法更为强大,可以获取数据的完整物理转储,并且可以绕过特定设备上的一些锁定代码。然而,一些设备支持仅包括从设备中提取联系人和图片。取证人员必须意识到必须按照工具指示采取特定步骤。获取这些设备并不容易,而且通常情况下,你会发现工具无法成功。

当工具似乎失败时,尝试使用 UFED 中提供的智能手机/PDA 选项获取设备。要做到这一点,请按照以下步骤进行:

  1. 启动 UFED4PC 并选择移动设备。

  2. 选择手动浏览。

  3. 选择智能手机。

  4. 选择您要获取的 Windows 设备。

  5. 尝试所有提供的方法,从物理、文件系统到逻辑(如果可能的话按照这个顺序):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

提取方法

  1. 按照所有剩余的步骤并尝试所有提供的获取方法,直到成功。

Cellebrite 可能会提醒您,由于多种原因,获取未成功。当发生这种情况时,尝试每个选项以确保您已经尽力使用了商业可用的选项。在 UFED4PC 中进行获取尝试的一个示例如下:

  1. 启动 UFED4PC。

  2. 选择您的设备的制造商和型号。

  3. 选择物理、文件系统或逻辑获取方法(根据设备型号提供的内容会有所不同)。

在这个例子中,只支持逻辑获取。有两种方法可用。第一种选项使用电缆,而第二种选项使用蓝牙。在这个例子中,需要一个特殊的 UFED 电缆。我首先选择了 UFED 电缆,因为在配对过程中需要对手机进行额外的更改:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

UFED4PC 逻辑提取选项

尝试使用 USB 电缆 100 获取设备时,只能访问多媒体文件。

然后,尝试相同的获取,但选择蓝牙。按照给定的说明将设备与取证工作站配对:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

UFED4PC 提取选项(蓝牙)

通过这种获取方法,我们能够获取联系人。请注意,没有提供获取短信、彩信、电子邮件、即时消息、日历、通话记录、应用程序数据等的方法。建议您重复上一张屏幕截图中列出的通用方法,使用 UFED4PC 中的智能手机选项。到目前为止,我们已经看过一些使用商业工具的获取方法。现在,让我们学习如何在没有这些工具的情况下提取数据。

在不使用商业工具的情况下提取数据

在某些情况下,只有使用 JTAG 和芯片脱落等先进方法才能对 Windows 手机设备进行物理获取。但由于名为 Heathcliff 的安全研究人员的贡献,使用他的名为WPinternalswww.wpinternals.net)的工具,可以在有限的手机型号和操作系统版本上执行物理获取。

该工具支持以下型号的 Lumia 手机:520、521、525、620、625、720、820、920、925、928、1020 和 1320。

至于操作系统版本,支持以下版本:

  • 8.10.12393.890

  • 8.10.12397.895

  • 8.10.14219.341

  • 8.10.14226.359

  • 8.10.14234.375

  • 8.10.15116.125

  • 8.10.15148.160

  • 10.0.10512.1000

  • 10.0.10536.1004

  • 10.0.10549.4

  • 10.0.10581.0

  • 10.0.10586.11

  • 10.0.10586.36

这种方法是实验性的,可能导致设备变砖!尽管变砖设备的百分比相对较低,我们建议您将其作为最后的选择。

获取过程的第一步将是下载与您正在使用的手机型号的 Windows 完整闪存更新FFU)文件和紧急文件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

下载 FFU 文件

如果下载的 FFU 包含不受支持的操作系统版本,那么 WPinternals 将下载另一个 FFU 以获取额外的文件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

获取额外的文件

在解锁过程中,手机可能会重新启动几次,但这是正常行为:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

扫描闪烁配置文件

一旦找到配置文件,工具就会闪烁解锁的引导加载程序:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

刷入解锁的引导加载程序

如果设备已成功刷入,它将进入大容量存储模式:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

大容量存储模式

现在,设备可以很容易地进行成像,例如使用 FTK Imager:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

FTK Imager 中的 Windows Phone

现在,我们将学习如何从 SD 卡中提取数据。

SD 卡数据提取方法

Windows 手机可能包含可移动的 SD 卡。这些卡可能受到防止 SD 卡被移除和使用,或者通过其他设备(手机、相机、计算机等)访问的密钥的保护。这与用户加密 SD 卡时创建的密钥不同。可以对用户加密的 SD 卡进行暴力破解和字典攻击,以尝试访问数据。在检查 Windows 手机时,最好研究设备,看看在从设备中获取数据时 SD 卡安全是否会成为一个因素。如果是这样,请简单地按照前面的步骤,并通过手机在法庭提取期间获取 SD 卡数据。请参考以下图表。

对于可以移除 SD 卡的设备,您有两种情况要考虑。如果设备开启,您应该如何获取手机和 SD 卡?如果设备关闭,您应该移除 SD 卡并使用 FTK Imager 获取设备?答案是,这取决于情况。在取证中,我们经常使用这个声明,但它仍然是正确的。如果您让设备保持开启,必须将其与网络隔离,以确保它不会被远程访问并立即获取,否则电池将耗尽,最终设备可能会关机。如果设备关闭并且您移除了 SD 卡,必须确保 SD 卡仍然与设备本身绑定,并且在外部和内部都获取,以确保捕获所有数据。在正常情况下,以下图表建议处理 Windows 手机中发现的 SD 卡的推荐步骤:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

大多数商业取证工具都会提供从 SD 卡中提取数据的选项。通常,手机提取过程只会提取存储在 SD 卡上的数据。当不支持特定 Windows 手机时,通常会出现这种情况。如果工具无法识别 SD 卡并提取数据,则用户可能已对 SD 卡进行加密,并且设备的密码与 SD 卡的密码不同。发生这种情况时,请尝试破解密码并重新获取设备。请注意,破解 SD 卡上的密码可能并不总是可能的,但是尝试暴力破解和字典攻击是值得一试的,就像在标准硬盘或外部设备上一样。

在获取从 Windows 手机中移除的 SD 卡时,FTK Imager 是一个免费且可靠的选项,可以创建一个经过法庭认可的镜像,可以在各种工具中进行检查。要创建 SD 卡镜像,请按照以下步骤操作:

  1. 从设备中取出 SD 卡,并确保记录卡和手机上的所有标识符,以确保它们不会永久分离。

  2. 将 SD 卡插入写入阻断器,然后将其插入取证工作站。

  3. 启动 FTK Imager。

  4. 选择文件,然后创建磁盘映像。

  5. 选择物理驱动器:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

FTK Imager - 创建磁盘镜像

  1. 使用下拉列表选择正确的设备。

查看制造商和大小,以确保您正在获取正确的设备。

  1. 选择完成。

  2. 点击添加,然后选择图像类型。在本例中,将使用 Raw (dd),因为大多数商业和开源分析方法都支持它:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

FTK Imager - 选择图像类型

  1. 输入相关案件信息,然后选择下一步。这一步可以跳过。

  2. 选择图像目的地:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

FTK Imager - 保存您的镜像文件

  1. 选择完成,然后选择开始。建议在创建镜像后验证图像。

完成后,您的结果将显示出来。我们将在接下来的章节中介绍如何分析 SD 卡数据。

检查的关键物件

在本节中,我们将向您介绍一些最常见的 Windows 手机取证物件的位置,包括联系人、短信、通话和互联网历史记录。

提取联系人和短信

Windows 手机 7-10 中的所有联系人和收发的短信都存储在名为store.vol的文件中,该文件位于\Application Data\Microsoft\Outlook\Stores\DeviceStore(Windows 7)和Users\WPCOMMSERVICES\APPDATA\Local\Unistore(Windows 8-10)目录下。下面是 Windows 10 中store.vol文件的示例截图:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Windows 手机中的 store.vol 文件

现在,让我们学习如何提取通话记录。

提取通话记录

通话历史数据目前可以从Phone文件中提取。需要注意的是,该文件没有扩展名,位于\Users\WPCOMMSERVICES\APPDATA\ Local\UserData\。以下是 Windows 10Phone文件的示例:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Windows Phone 中的 Phone 文件

类似地,我们将在下一节中提取 Internet 历史记录。

提取互联网历史记录

Internet history 可以从位于\Users\DefApps\APPDATA\Local\Microsoft\Windows\WebCache\WebCacheV01.dat文件中提取。以下是 Windows 10WebCacheV01.dat文件的示例:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Windows Phone 中的 WebCacheV01.dat 文件

这些文件可以通过十六进制查看器手动检查,也可以使用移动取证工具自动解析。以下是使用 Magnet AXIOM 解析的WebCacheV01.dat文件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用 Magnet AXIOM 解析的 WebCacheV01.dat 文件

通过这些内容,我们已经介绍了如何从 Windows Phone 中提取短信、联系人、通话和互联网历史记录。

总结

从 Windows Phone 设备获取数据具有挑战性,因为它们是安全的,商业取证工具和开源方法并未为您这样的取证人员提供简单的解决方案。多种工具、芯片脱焊、JTAG 以及本书中定义的方法是一些可以访问 Windows Phone 设备用户数据的方法。通常情况下,您会发现 Windows Phone 设备需要多种提取方法才能获取可访问的数据。最大的挑战是获取设备以获取数据。一旦数据可用,您可以分析所有提取的信息。

在本章中,我们介绍了 Windows Phone 设备的界面、重要功能和安全模型。然后,我们查看了 Windows 文件系统中的不同分区和文件夹结构。Windows Phone 注册表类似于 Microsoft 操作系统中的注册表。我们看到了如何使用商业工具和不使用商业工具提取数据,并查看了一些常见的 Windows Phone 取证物件。有了这些知识,您现在可以使用多种提取方法从 Windows Phone 中提取用户数据。

下一章将指导您解析第三方应用程序文件。

第十三章:解析第三方应用程序文件

第三方应用程序已经席卷了智能手机社区。大多数智能手机所有者在他们的设备上有不止一个应用程序,他们依赖这些应用程序来聊天、游戏、获取方向或分享图片。根据www.statista.com/statistics/276623/number-of-apps-available-in-leading-app-stores/,全球各种智能手机上几乎有 500 万个应用程序。苹果的 App Store 提供大约 180 万个应用程序,Google Play 提供 247 万个,亚马逊提供 60 万个,Windows 提供 67 万个。这个数字预计将在 2020 年大幅增长。

本章的目标是向你介绍在 Android、iOS 设备和 Windows Phone 上看到的各种应用程序。每个应用程序由于版本和设备的不同而有所不同,但它们的基本结构是相似的。我们将看看数据是如何存储的,以及为什么偏好文件对你的调查很重要。

我们将在本章中详细介绍以下主题:

  • 不同的第三方应用程序

  • iOS 设备上应用程序的存储方式

  • 应用程序在 Android 设备上的存储方式

  • Windows Phone 应用程序存储

  • 如何使用商业和开源解决方案解析应用程序数据

第三方应用程序介绍

第三方应用程序是移动设备调查的重要组成部分;通常,关键的证据似乎存在于应用程序中。这需要你了解应用程序数据存储在设备上的位置,应用程序数据如何保存在该平台上,以及哪种工具最有助于揭示证据。在任何智能手机上检查第三方应用程序时,手动解析通常是一个关键因素。虽然一些商业工具,如 Belkasoft Evidence Center 或 Magnet AXIOM,以应用程序解析支持而闻名,但没有工具是完美的,工具几乎不可能跟上为每个应用程序发布的频繁更新。

通常,你会发现市场上最受欢迎的商业工具解析最受欢迎的应用程序。例如,当 Facebook 收购 WhatsApp 时,Belkasoft、Cellebrite、Magnet Forensics 和 Oxygen Forensics 开始支持这个应用程序。Facebook 非常受欢迎,但由于内置的安全功能,数据并不总是被提取或解析出来,这就是所有应用程序的不同之处。我们最好的建议是测试、测试和测试!你可以下载一个应用程序,填充数据,并检查结果,看看你对证据的观点与你的实际证据相比如何。这种做法将使你了解更新如何改变证据,证据位置如何改变,以及如何手动提取你的工具遗漏的证据。此外,逆向工程一个应用程序并分析其代码将帮助你确定数据存储在哪里以及如何存储。

大多数应用程序不需要数据计划即可使用;它们可以通过 Wi-Fi 网络完全运行,这意味着如果一个人前往其设备通常无法工作的地区,应用程序仍然可以正常运行。例如,当我旅行时,我依赖 Skype、Viber 和 WhatsApp 来与家人和朋友通话和发短信。要使用这些应用程序,唯一需要的就是我的智能手机连接到 Wi-Fi。

我们在本书中已经讨论了一些第三方应用程序提取和分析的技巧。除此之外,我们还在第五章 iOS 数据分析和恢复;第十章 Android 数据分析和恢复;第十一章 Android 应用程序分析、恶意软件和逆向工程;以及第十二章 Windows Phone 取证中讨论了需要检查的文件以了解和分析应用程序数据。本章将深入探讨应用程序和相关文件,并为您准备好分析这些证据。每个应用程序都有其用途。大多数工具都支持每个类别中最受欢迎的应用程序。其余的就取决于您了。Oxygen Forensic Detective 工具呈现的应用程序快速概览如下截图所示。如预期的那样,这些并不是设备上所有的应用程序;而只是工具知道如何解析的应用程序:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Oxygen Forensic Detective 在苹果设备上解析的应用程序示例

在下一节中,我们将分析一些广泛使用的聊天应用程序。

聊天应用程序

聊天应用程序是市场上最常见的应用程序之一。这些应用程序为用户提供了在网络服务提供商提供的标准服务之外进行聊天或通话的能力。这些应用程序通常可能比其他应用程序更安全。通过安全,我们指的是这些应用程序可能提供加密、私人资料、私人群聊等功能。此外,这些应用程序使用户能够在无需数据套餐的情况下通过 Wi-Fi 发送消息或拨打电话。Facebook Messenger、WhatsApp、Skype、Tango 和 Snapchat 是一些较受欢迎的应用程序。

解析聊天应用程序的证据并不总是简单的。通常需要多种工具和方法才能提取其中的所有数据。商业工具可能只解析部分数据,迫使您学习如何检查和恢复所有数据,否则就会错过证据。在下面的截图中,Oxygen Forensic Detective 正在用于解析 Android 设备上 Tango 的聊天消息。请注意,消息在表格中没有显示图片。但是,这张图片可以拼接到消息中(请注意截图中箭头指向所属消息的截图),以提供对对话中分享的内容的整体图片。这是一个手动过程,不是由工具执行的:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

拼接应用程序聊天日志的示例

接下来,我们将看一下 GPS 应用程序。

GPS 应用程序

大多数用户都会从他们的标准手机应用程序中分支出来,以获得 GPS 支持。这包括获取到达目的地的指示和获取感兴趣地区的地图。常见的 GPS 应用程序包括 Waze 和谷歌地图。Waze 不仅提供路线指示,还会提醒用户有沿途的道路危险、交通情况和警察:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Waze 应用程序

其他存储位置信息的应用程序包括 Twitter、Instagram、Facebook 和 Foursquare。这些应用程序使用户在发布帖子或分享图片或视频时能够通知朋友和关注者他们的位置。所有这些交易都在应用程序内进行跟踪。了解这一点对于发现您的取证工具未报告的其他证据至关重要。

在检查来自 GPS 应用程序的位置信息时,最好假设您需要手动检查与该应用程序相关的数据库和首选文件。我们建议使用您的取证工具对设备上的数据进行分类,并深入挖掘后面将在本章讨论的证据。在 UFED 物理分析器中解析 Waze 的示例可以在以下截图中找到。在这里,我们可以看到用户有 5 个收藏的位置,74 个映射的位置和 70 个最近的方向。如果这些信息与调查有关,都必须进行手动验证。这是因为工具无法确定用户是否输入了地址,是否是建议的,或者用户是否甚至去过那个地方。您需要适当的技能来将用户与特定位置联系起来,这需要不仅仅是一个取证工具:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

UFED 物理分析器中的 Waze 应用程序

我们现在将分析一些流行的安全消息应用。

安全应用程序

如果数据是安全的并且自毁的,它是否曾经存在过?忽略数据保留的声明,寻找那些数据,因为这些应用经常提出的声明是不真实的。尽管应用程序是以安全性为目标设计的,但更新很快发布,质量保证检查可能不够强大,无法捕捉一切。偶尔,您会发现一个具有加密或不存在数据库的应用程序,但文件包括日志、预写日志或共享内存文件,其中包含本应加密的部分聊天内容。此外,用户可以保存共享的媒体文件,截取对话的屏幕截图,以及做更多的事情。通常,您可能会发现共享的图像、音频和视频文件,这些文件本应该是加密的。

一些流行的安全消息应用包括 Telegram、Wickr 和 Signal。其中一些是加密的,其中没有任何可恢复的内容。然而,这一切取决于设备、智能手机上运行的操作系统和应用程序的版本。这些应用的安全级别是公开宣传的,但同样,要持怀疑态度。您应该始终假设应用程序可能存在漏洞,可能会在法证上为您提供访问。挖掘这些证据!

财务应用程序

利用财务信息的应用程序,如信用卡信息和个人银行业务,必须加密和安全。iOS 设备将不会在没有 Apple ID 和密码的情况下获取这些应用程序。即使您有用户的 Apple ID 和密码,提取的数据仍应该是加密的。一些财务应用程序的例子包括 Google Pay、Microsoft Wallet、PayPal、Apple Pay 和应用内购买。当您检查设备时,您可能会看到该应用程序已安装相关的应用程序元数据,但帐户信息和交易将无法访问。

社交网络应用程序

社交网络应用的商业支持非常强大,因为它们是从应用商店下载的最受欢迎的应用程序。这些应用程序允许用户发布帖子,分享位置,公开和私下聊天,并基本上记录他们的生活。常见的社交网络应用包括 Facebook、Twitter 和 Instagram。通常,用户会启用一个应用,比如 Instagram,以便让其访问 Facebook 和 Twitter,从而实现无缝发布。因此,在检查设备时,用户可能会发现同一文件或对话的多个副本,这是因为应用之间的共享。

在使用商业工具检查这些应用程序时,通常会解析聊天和联系人,这意味着其他数据可能被忽略。同样,这意味着你必须查看数据转储,以确保没有遗漏。举个例子,我们将看一下 Twitter。这个应用程序存储了很多可能需要超过一个工具来解析的信息。此外,用户可能需要手动检查数据库文件,以确保所有证据都已被恢复。

让我们看看工具能够提取什么。正如本书中多次提到的,从工具告诉你已安装的内容开始,然后制定关键词和方法深入挖掘文件系统。我们可以在以下截图中看到 Twitter 的用户帐户信息,以及正在提取这些数据的文件路径:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Magnet AXIOM 解析的 Twitter

下一个逻辑步骤是查看工具能告诉你关于应用程序及其使用方式的信息。Magnet AXIOM 为 Twitter 帐户使用提供了以下信息。请注意,公共推文和私人消息(DMs)都已恢复:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Magnet AXIOM 使用的 Twitter

检查工具解析的内容后,应该检查数据库文件,以确保没有遗漏。这并不总是简单的,因为每个帐户和功能可能都有一个独特的数据库。通过功能,我们指的是联系人可能存储在一个数据库中,而聊天和帐户信息存储在另一个数据库中。一旦你对常见的应用程序更加熟悉,你就会知道首先在哪里查找。

在以下截图中,我们可以看到与 Twitter 相关的所有数据库。再次,从你所知道的开始,深入挖掘:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

包含用户活动的 Twitter 数据库

每个数据库可能包含可以解析出额外证据的独特数据。这些应用程序还包含独特的user_id值,可以用作关键词,在调查中搜索具有通信痕迹的其他设备。

可以编写自定义查询来解析感兴趣的 Twitter 数据库。如何做到这一点的一个很好的例子如下所示。这个查询是特定于解析 Twitter 联系人的:

SELECT _id AS "Index", 
user_id AS "User ID", 
username AS "Username", 
name AS "Name", 
datetime (profile_created/1000,'UNIXEPOCH','localtime') AS "Profile Created", 
description AS "Twitter Description", 
web_url AS "Website URL",
location AS "Location",
followers AS "Followers", 
friends AS "Following", 
users.statuses AS "Number of Tweets",
image_url AS "Profile Image URL", 
datetime (updated/1000,'UNIXEPOCH','localtime') AS "Profile Updated" 
FROM users

到目前为止,我们已经看了各种第三方应用程序以及工具如何帮助调查人员提取数据。现在我们将看一些基本概念,这些概念将帮助调查人员分析数据。

编码与加密

在讨论应用程序和智能手机数据时,编码加密这两个术语经常被使用,以至于它们经常被混淆。编码本质上是将消息或信息混淆为原始代码的过程。在某些情况下,编码的目标是使数据对计算机或用户不可识别。实际上,编码的主要目标是使用公开可用的方案将输入转换为不同的格式。换句话说,任何人都可以轻松解码编码值。然而,加密使用密钥来保持数据的内容保密。因此,只有拥有密钥的人才能将加密文本反转。

大多数应用程序声称它们加密数据或数据从不保存到磁盘。虽然对一些应用程序来说是真的,但大多数只是编码。编码选项可以有所不同,但智能手机数据最常见的选项是Base64。消息应用程序通常依赖Base64编码来使数据看起来被隐藏或安全Base64的一个常见特征是在编码字节不能被三整除时,用**=**填充数据。

几年前,Oxygen Forensics 和 Autopsy 是少数几个支持从智能手机派生的应用程序解码Base64有效负载的工具。为了解析数据,这些工具必须支持包含编码的应用程序。目前,MSAB、UFED Physical Analyzer 和 Magnet IEF 提供Base64解码支持。

下面的屏幕截图显示了Base64编码的消息示例。这些数据来自 Tango 聊天应用程序:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Base64 编码的 Tango 消息

加密会更加困难,因为应用程序本身可能甚至不提供对加密数据的访问。例如,您可能会发现数据库目录或包含加密数据的单元格为空。偶尔,您将可以访问数据库中的加密块,但这些数据并非总是可以解密的。同样,当面对加密数据时,要寻找其他地方。您是否已经检查了日志和预写式日志?您是否已经检查了缓存和媒体目录?您是否已经检查了 SD 卡?这些通常是您经常不得不问自己的常见问题,以确保您不会过分依赖您的取证工具,并且您正在尽力确保没有遗漏任何内容。正如我们所解释的,从您所知道的开始。我们知道缓存和数据库目录存储用户数据,因此这是开始手动检查的好地方,正如您在下面的屏幕截图中所看到的:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

应用程序的数据存储位置

在接下来的章节中,我们将介绍应用程序如何在设备内存中存储其数据以及各种存储选项的重要性。

iOS、Android 和 Windows Phone 应用程序数据存储

几乎所有应用程序都依赖 SQLite 进行数据存储。这些数据库可以在设备内部或适用于相关手机的 SD 卡上存储。当使用 SQLite 时,通常会为每个数据库关联临时内存文件,以使 SQLite 更有效。这些文件是回滚日志JOURNAL)、预写式日志WAL)和共享内存SHM)文件。这些文件可能包含 SQLite 数据库中不存在的数据。我们可以在下面的屏幕截图中看到与各种 WhatsApp 数据库文件相关联的几个 WAL 和 SHM 文件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

SHM 文件和 WAL 示例

除了 SQLite 数据库外,其他设备还依赖 Plist、XML、JSON 和 DAT 文件来存储应用程序数据、账户数据、购买信息和用户偏好。这些文件将在本章的 Android、iOS 和 Windows Phone 部分中讨论。

iOS 应用程序

苹果依赖 SQLite 和 Plist 作为应用程序数据存储的常见位置。偶尔,JSON 文件将用于应用程序数据。检查从 iOS 设备中恢复的应用程序可能会让人不知所措。我们建议您从您所知道的和您的工具告诉您的内容开始。检查您选择的工具列出的已安装应用程序。从这里,直接转到应用程序目录,并确保没有遗漏任何内容。当用户删除应用程序时,数据库通常会保留,而已安装应用程序的链接只是断开了。检查 iOS 设备的所有区域将防止您错过数据:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

iPhone 上的已安装应用程序

检查已安装的应用程序后,搜索LibraryDocuments目录,查找可能包含应用程序工件的相关 Plist 文件。最后,检查 iPhone 上的Media目录以及与应用程序相关联的目录,以恢复其他工件,例如共享照片、视频、音频文件和个人资料图片。在下面的屏幕截图中,我们正在检查与 WhatsApp 应用程序相关联的Media目录:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

iPhone 上的应用程序数据

我们现在将看一下安卓应用程序中的数据存储。

安卓应用程序

安卓设备在应用程序存储方面严重依赖 SQLite。每个应用程序的偏好文件通常以 DAT 或 XML 文件格式存在。与 iOS 设备相比,在安卓设备上检查应用程序可能是最繁琐的任务之一。这是因为数据可能存储在各种位置。最好的开始是使用工具列出设备上安装了什么。接下来,转到/Root目录下的子目录。请记住,这些应用程序可能具有独特的名称,可能难以定位。

您可能需要研究应用程序,以更好地理解与每个应用程序相关的文件名。以下截图是安卓设备上应用程序目录的示例:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

安卓设备上的应用程序数据

每个应用程序目录都包含大量要检查的数据。我们建议从DatabasesCache目录开始,然后将分析扩展到设备上的其他位置。接下来要检查的位置包括MediaCache分区。如果数据似乎丢失或被删除,请不要忘记检查设备和 SD 卡上的Downloads目录。

应用程序数据可以存在于Media目录中的多个位置。使用工具,比如提供超出解析项目的关键字搜索功能的 UFED 物理分析仪,将有助于定位与特定应用程序相关的证据。我们将在以下截图中查看存储在安卓设备的Media目录中的大量数据。这些数据与先前讨论的应用程序目录中存储的数据是不同的。需要彻底检查每个位置,以确保没有遗漏任何内容。重要的是,您要利用前几章学到的知识来分析安卓应用程序数据:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

媒体目录中的唯一应用程序数据

我们现在将查看安装在 Windows Phone 上的应用程序及其获取。

Windows Phone 应用程序

在 Windows Phone 上找到的应用程序与 iOS 和安卓设备上找到的应用程序没有什么不同。SQLite 是最常用的数据存储格式。但是,并非所有设备都允许在手机内部存储 SQLite 文件。对于这些设备,所有应用程序数据将存储在 SD 卡上。有些人可能认为这很幸运,因为这样可以避免在设备上检查多个位置,但 SD 卡和应用程序本身可能是加密的。

在可能的情况下,最好是移除 SD 卡并使用取证工具获取它。当这不可能时,下一个最佳方法是尝试通过手机使用取证工具获取 SD 卡。同样,这通常会导致数据丢失。最后的努力是通过挂载设备并使用 Windows 资源管理器查看设备和 SD 卡上存储的应用程序,如第十二章中所讨论的Windows 手机取证

用于提取第三方应用程序数据的取证方法

几乎所有商业工具都会尝试支持第三方应用程序的提取。如果您依赖工具输出进行调查结果,我们建议您经常对工具进行彻底测试,因为应用程序更新非常频繁,工具几乎不可能不漏掉一些东西。您必须了解应用程序的工作原理,以及设备如何为每个应用程序存储数据。我们强烈建议您使用工具对案件进行初步筛选,然后深入数据手动提取工具漏掉的任何内容。确保您的取证报告中只包含事实数据,而不是工具解析的所有内容,因为工具无法区分设备和人类创造的区别。只有经过训练的检验员才能自信地做到这一点。

商业工具

正如您在本书中所看到的,有许多工具可以处理智能手机取证的工作。然而,在解析应用程序数据方面,有一些工具表现得非常出色。Magnet AXIOM、Oxygen Forensic Detective 和 UFED Physical Analyzer 是在本章讨论的应用程序类别中恢复数据的几个工具。我们将快速看一下如何利用这些工具来解析应用程序数据。请记住,这些工具不会找到每个应用程序,也不会解析所有应用程序的所有数据。

Oxygen Forensic Detective

Oxygen Forensic Detective 可以用来检查应用程序数据。在这个例子中,我们假设采集已经完成,我们只是试图分析数据。请注意,Oxygen 能够采集和分析智能手机。在这个例子中,我们使用 Cellebrite UFED 采集了设备,并用 Oxygen 进行了分析。要加载设备的数据转储并检查其应用程序工件,请执行以下步骤:

  1. 启动 Oxygen Forensic Detective。

  2. 选择导入文件选项并选择您的图像。Oxygen 支持多种图像格式进行摄入。

  3. 解析完成后,开始检查解析的应用程序:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Oxygen Forensic Detective 应用程序视图

  1. 接下来,通过单击应用程序并检查所有相关文件来开始检查感兴趣的应用程序。

  2. 选择应用程序后,将呈现解析的数据以及数据提取的完整文件路径。使用此路径手动验证发现。我们在下面的屏幕截图中查看了 Pinterest 应用程序。请注意,工具甚至鼓励您深入挖掘并验证发现:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Oxygen Detective Pinterest 示例

Oxygen Detective 具有内置的关键字搜索、书签和报告功能。此外,SQLite 数据库和 Plist 查看器将为您提供一种检查相关应用程序数据的方法。

  1. 报告所有账户信息、聊天记录、消息、位置和其他感兴趣的数据,因为这可以为您的调查提供相关性。

接下来我们将看一下的工具是 Magnet AXIOM。

Magnet AXIOM

Magnet AXIOM 被认为是数字媒体互联网和应用程序解析的领导者之一。它在移动设备上也同样强大。再次强调,一个工具无法完成所有工作,但 AXIOM 已被证明是最强大的,并且可以解析来自 Android、iOS 和 Windows 手机的大多数应用程序。要使用 AXIOM 来检查应用程序工件,请执行以下步骤:

  1. 启动 AXIOM,创建一个新案例,然后选择 MOBILE(请注意,如果 MOBILE 是灰色的,您需要从 Magnet Forensics 获取提供移动支持的许可证):

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

选择证据来源

  1. 选择加载证据并导航到您的图像文件。可以同时加载和解析多个图像。

  2. 选择转到工件详细信息,并确定您想要解析的内容。我们建议选择所有的应用程序:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Magnet AXIOM 支持的工件

  1. 选择分析证据。

  2. 完成后,您可以使用工件:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Magnet AXIOM 中的应用程序工件

检查 AXIOM 解析的内容是审查的第一步。在前面的屏幕截图中,我们可以看到 Telegram 被解析了。从最相关的位置开始您的审查。例如,如果您正在寻找 Telegram 聊天记录,请直接转到该位置并开始审查工件。请注意,消息和聊天被拉入两个不同的类别。当使用私人消息时,这是很常见的。应该检查所有相关的应用程序容器。此外,AXIOM 提供了数据恢复的完整文件路径。使用另一个工具导航到该文件以进行验证和手动审查。

AXIOM 还提供逻辑关键字搜索(它将搜索它可以解析的内容,而不会搜索其他内容)、书签和报告。确保您只报告事实性的应用程序工件,并将其纳入最终的取证报告中。

UFED 物理分析器

物理分析器是市场上最知名的移动取证工具之一。该工具是手动进行审查的最佳平台之一,同时还可以利用工具解析的数据。对于应用程序分析,物理分析器擅长解析每个受支持应用程序的聊天记录和联系人。对于未解析的数据,物理分析器提供了一个分析平台,使用户能够浏览文件系统以发现其他工件。该工具的关键字搜索功能强大,能够搜索原始十六进制数据以及解析数据。此外,它还包含了 SQLite 查看器。

要在物理分析器中对应用程序数据进行取证审查,请执行以下步骤开始:

  1. 通过双击 UFED 快捷图像文件或双击工具图标来启动物理分析器。

  2. 加载图像文件并等待解析完成。

  3. 检查解析的工件,如下图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

物理分析器解析的数据

我们建议检查已解析的内容,并参考数据提取的超链接。导航到该路径,然后检查整个应用程序目录。

要找到应用程序目录,请利用内置的关键字搜索功能来帮助调查。请记住,如果这不明显,您可能需要进行研究以确定与应用程序相关的文件名。

开源/免费工具

对于预算有限的人来说,可以使用开源解决方案和廉价工具来检查智能手机的应用程序数据。这些解决方案更难使用,通常不适合需要工具在数据提取和分析中提供帮助的取证新手。检查应用程序数据是繁琐的,如果您不知道该去哪里寻找,您可能需要花一些钱来提前了解。Andriller 等工具的价格大约为 500 美元。虽然这不是免费的,但也不是一些其他商业工具的 1 万美元。在接下来的部分中,我们将介绍一些我们喜欢的有用于解析智能手机应用程序数据的工具。

使用 Autopsy

Autopsy 是进行文件系统审查的最佳工具之一。不幸的是,Autopsy 不提供 iOS 解析,但对于文件系统映像仍然可能有用。Autopsy 可以从sleuthkit.org/autopsy/下载。在使用 Autopsy 时,Android 分析器模块将解析设备中的一些应用程序数据。让我们看看如何使用 Autopsy 进行 Android 图像分析。

要使用 Autopsy,请下载软件并在 Windows 机器上安装,并按照以下说明操作。确保始终使用最新版本:

  1. 启动 Autopsy。

  2. 创建一个新案例:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Autopsy 案例创建

  1. 选择下一步,然后点击完成。

  2. 导航到图像文件并选择下一步。

  3. 选择要运行的模块。关键字搜索和 Android 分析器对于 Android 设备将是最有成效的:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Autopsy 模块选择

摄取模块是内置在 Autopsy 中的工具,可以在案件开始时或之后的任何时候运行。Autopsy 此版本中的默认模块如下:

  • 最近活动:提取最近的用户活动,如网页浏览、最近使用的文档和安装的程序。

  • 哈希查找:使用提供的哈希数据库(如标准 NSRL 数据库)识别已知和显著的文件。它还允许导入自定义哈希数据库。

  • 文件类型识别:根据二进制签名匹配文件类型。

  • 存档提取器:提取存档文件(.zip.rar.arj.7z.gzip.bzip2.tar)。它会自动提取这些文件类型,并将其内容放入目录树中。

  • EXIF 解析器:摄取 JPEG 文件并检索其 EXIF 元数据。

  • 关键字搜索:使用关键字和正则表达式在列表中执行文件索引和周期性搜索。它允许加载自定义关键字/列表。

  • 电子邮件解析器:此模块检测和解析mboxpst/ost文件,并在黑板上填充电子邮件工件。

  • 扩展名不匹配检测器:这些是基于文件类型的非标准扩展名的标志文件。

  • E01 验证器:验证 E01 文件的完整性。

  • Android 分析器:提取 Android 系统和第三方应用数据。

  • 有趣文件识别器:根据定义,识别有趣的项目。

此外,您可以为 Autopsy 安装第三方模块。其中一些对 Android 取证非常有用。一个很好的例子是 Mark McKinnon 的 Parse SQLite DB。此模块解析找到的任何 SQLite 数据库,并将其导入提取的内容中。此类模块可以从此 GitHub 下载:github.com/markmckinnon/Autopsy-Plugins

Autopsy 提供对文件系统数据的访问速度比任何商业或开源工具都要快。知道接下来该去哪里才是难点。因此,再次从提取的内容开始,然后深入文件系统,以检查本书中讨论的文件和任何相关应用程序数据,如下图所示:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用 Autopsy 浏览文件系统

一旦确定了感兴趣的应用程序,就从解析的内容开始,然后检查相关的数据库、缓存和首选项文件。Autopsy 包括基本的 SQLite 查看器,可用于三分法目的。如果需要运行查询,我们建议使用 DB Browser for SQLite 或商业产品中包含的浏览器,例如 Belkasoft Evidence Center,特别是如果您想分析来自自由列表和未分配空间的数据。

Android 分析器可以自动解码一些工件,例如联系人、通话和短信。以下截图显示了解码的短信消息的结果:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Autopsy 解码的短信

现在,我们将看一些提取数据的更多方法。

其他提取应用程序数据的方法

解析应用程序数据的最简单方法之一是创建自定义 SQLite 查询和 Python 脚本来解析感兴趣的数据。我们在本书中讨论了几个建议和查询示例以及脚本。Python 是最好的解决方案之一,因为它是免费的,而且我们可以完全访问其库。要记住的一件事是,我们的脚本必须经常更新以跟上应用程序的更新。此外,确保您的编码模式是正确的,以防止应用程序遗留物被遗漏或解释不正确。

除了 Python 脚本之外,已经存在支持应用程序提取的免费解析器。WhatsApp Extract 是一个免费工具,适用于 Android 和 iOS,可以从设备中提取 WhatsApp 应用程序数据。通常,这个免费工具会提取比商业解决方案更多的数据,这取决于用户在安装过程中分配的权限。其他人,比如 Mari DeGrazia(az4n6.blogspot.in/p/downloads.html)、Adrian Leong(github.com/cheeky4n6monkey/4n6-scripts)、Sarah Edwards(github.com/mac4n6)和 Alexis Brignoni(github.com/abrignoni)已经开发了用于解析应用程序、从 SQLite 空闲页中恢复已删除数据、解码Base64等的脚本。我们建议在开发自己的工具之前使用已有的工具。

总结

在本章中,我们学习了如何成功解析和提取流行的第三方应用程序中的数据。许多应用程序并不是它们声称的那样。不要相信您对应用程序的阅读,因为跨应用程序的质量保证测试并不一致,多年来我们已确定了几个漏洞和安全缺陷,这些漏洞和缺陷为我们提供了将应用程序数据拼接在一起的方法。此外,应用程序更新将改变我们查看发现的数据的方式。了解每部智能手机以及它如何存储应用程序数据是成功检查智能手机上的应用程序的第一步。了解更新可能会改变数据位置、编码和加密,以及您的工具功能的方式,是检查员难以掌握的最难的概念之一。您的工作是了解应用程序的功能,以从移动设备中发现最多的数据。

了解应用程序的工作方式已经足够困难,而不必考虑如何提取遗留物。正如您在本书中所读到的,有许多方法可以从智能手机中解析数据。一个工具是不够的,现实情况是移动取证可能会很昂贵。我们希望我们为您提供了一本实用指南,教您如何获取和分析从智能手机中恢复的遗留物。将您所学到的知识立即应用于您进行移动取证的方法,或者用它来使您在下一份工作中更有准备。记住,实践、测试和培训将使您在工作中更加出色,并将帮助您完善移动取证的艺术。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值