打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
WhatsApp取证相关问题详解

背景介绍

WhatsApp是全球最流行的即时通讯软件之一。根据2017年7月的统计数据,其月活跃用户数量达到了13亿。

用户使用其交换的数据可能包含潜在的重要电子证据,因此WhatsApp是世界取证行业中重点关注的应用之一但是在针对WhatsApp取证的过程中,取证人员可能会遭遇一系列的障碍,例如数据库加密,系统的安全机制,数据被删除破坏等

Part1:如何解密被加密的WhatsApp数据库

WhatsApp与很多其他App类似,使用SQLite数据库来存储它的数据。对于电子取证行业来说,其中最重要的是msgstore.db和wa.db这两个数据库文件。

msgstore.db中存储了聊天记录,wa.db中存储了联系人清单

这些数据库文件很容易获取,因为WhatsApp自带备份功能,可以将数据库文件备份到SD卡中,取证人员不需要获取root权限就可以获得数据库文件。

有一个问题是最新版本的WhatsApp中,所有备份出来的数据库都是加密的,无法直接进行分析。数据库使用AES-256加密,媒体文件不加密

怎样解密加密的WhatsApp数据库?

关键的是获取到key文件。key文件是和备份同时生成的密钥文件,并且key文件因手机设备而异。所以要想解密数据库,必须首先生成备份的手机上获取到key文件,其存储路径为:userdata/data/com.whatsapp/files/key

根据我们效率源工程师的逆向工程和分析结果,我们开发出了一个WhatsApp数据库解密算法,并且我们将尽快将其集成到我们的手机取证系统中。帮助取证人员在不具备编程知识的情况下也能应对数据库加密的问题。

Part2:如何绕过WhatsApp加密保护?

解密数据库就需要获取key文件,但是key文件的存储路径需要root权限才能访问,所以在没有root权限的情况下key文件是很难获取到的。

那怎样可以绕过WhatsApp数据库加密的保护机制来提取数据呢?通过WhatsApp自带的备份功能备份的数据库文件是加密的,但是本身的文件夹中存储的数据库文件并没有加密,常见的提取方法有下面两种:

1.使用系统的备份功能

一些定制的安卓操作系统自带App数据备份功能(如小米、华为、OPPO)。系统备份可以将App的数据文件备份到SD卡中,让取证人员可以轻松获取。

下图展示的是以小米手机为例的备份操作过程:找到并打开备份功能,创建一个新的备份,确保勾选备份WhatsApp且不要设置备份密码。

接下来就可以在SD卡中找到WhatsApp的备份文件了,这样创建的备份将会是未加密的且包含了所有的数据库以及key等文件,取证人员仅需使用相应的数据库解析工具加载即可。

2.降级备份

另一种方法是将WhatsApp应用降级到还没有备份加密的版本。WhatsApp 2.11.431版本是其最后一个不进行强制备份加密的版本,所以我们方法就是在不删除数据的前提下,把应用降级到2.11.431以下然后进行备份提取

但是,降级的操作要求取证人员具备一定的专业技能,若操作不当降级过程存在风险可能导致重要数据丢失。因此我们强烈建议使用专业的取证工具协助进行降级,不要手动操作。

现在我们知道了怎样提取WhatsApp的数据库文件,那么怎样利用数据库文件恢复删除的WhatsApp消息呢?

首先我们需要了解,删除WhatsApp消息的方式有两种。一种是长按一条或多条消息并点击删除以逐条删除,另一种是在设置中一键清除/删除所有聊天消息。

而这两种方式删除的消息理论上都可以通过下面介绍的方法来恢复。

正如上文提到的,WhatsApp使用SQLite数据库存储其数据,而与安卓不同,苹果手机将所有WhatsApp的数据存储在ChatStorage.sqlite文件中。SQLite数据库文件往往都伴随着以“-wal”结尾的缓存文件,绝大数时候该文件的大小是0,但也有例外,若该文件不为0的时候,里面就存放了部分未来得及存放到该数据库中的信息。

如果对该缓存文件不进行处理,而直接打开该数据库,则会导致缓存文件被覆盖,那么里面的信息也就全部丢失了。

Whatsapp的正常聊天记录是存放在msgstore.db中,而通过分析之后发现删除记录是存放在msgstore.db-wal中的,该文件是msgstore.db的缓存文件。Whatsapp在存放聊天记录的时候都会先存放在该缓存文件,所以我们可以看到数据库的文件还没有缓存文件大。这是因为同一条消息在数据库中只会存放一条,但是在缓存文件中就可能出现很多次,这也为删除记录的恢复提供了可能。但在处理该缓存文件之前是不能直接打开数据库文件的,所以在此之前需要进行特征匹配处理,将缓存文件中的记录数据保存下来,再对数据进行处理。

例如消息“This is a test message”,在消息被删除后,很多时候其对应的在msgstore.db数据库中的记录也可能被清除掉了。

但是,即使这样,这条消息仍有可能在缓存文件msgstore.db-wal中留有记录。下图展示了这条消息被删除后缓存文件发生的变化,可以看到消息的记录数据并未丢失,且其偏移位置都没有发生变化。

因此,通过对缓存文件msgstore.db-wal进行分析提取,我们可以提供一种恢复删除或丢失的WhatsApp消息记录的方法,这种方法能够快速高效恢复删除记录,而且针对单条删除、整条删除、清除所有对话以及删除所有对话都能够有效的恢复出删除聊天记录。

借助我们效率源取证专家的研发成果,我们可以对未root的安卓手机解密加密的WhatsApp数据库,对安卓、苹果手机恢复删除、丢失的WhatsApp数据。我们希望这篇文章能够帮助到电子取证行业的客户们获取到尽可能多的电子证据。

针对WhatsApp取证,我们专门开发了一款取证小工具,这个小工具将集成到SPF9139智能手机数据恢复取证系统中,以帮助客户获取更多的电子证据。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
秘密安装手机木马窃取情报案件侦破纪实
攻击者是如何一步步拿下你的WhatsApp数据库 | 渗透测试研究中心
【327期】手机取证中的一些小思考
首届执法办案电子数据取证大比武复盘解析
程序员进化之路 Mysql数据库自动备份 自动压缩存储方案
织梦DedeCms5.6 网站搬家详细教程【图解】 | 织梦(Dedecms)管理员之家
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服