解密WhatsApp备份的新方法

lucywang Web安全 2019年1月14日发布
Favorite收藏

导语:虽然经历过几次信息安全事件,但WhatsApp目前仍然是最受欢迎的即时通讯工具之一。

虽然经历过几次信息安全事件,但WhatsApp目前仍然是最受欢迎的即时通讯工具之一。WhatsApp拥有超过15亿用户和大约5亿的日活跃用户,每天发送超过1000亿条消息。WhatsApp的安全得益于端到端加密,使得被截获的消息无法解密。虽然这对消费者和隐私维权人士来说是个好消息,但对执法部门来说也是个坏消息,除非公司同意提供后门,让他们访问嫌疑人的WhatsApp通讯记录,否则执法人员将面临加密问题。

那除了使用后门和密码外,是否还有其他选项可以访问WhatsApp会话?目前,我们至少知道两个。第一种选择是从任何一方的设备直接捕获消息数据库,另一种选择是通过云端。WhatsApp并不像Telegram那样,有专属于自己的本地云服务,它只有一个消息传递中继服务,它存储消息的时间不会超过传递消息所需的时间。换句话说,任何通过WhatsApp服务器传递的消息一经发送就会立即被删除(由于端到端加密的原因)。需要注意的是,WhatsApp账户不能在多个设备上使用。

让我们来回顾一下Android和iOS的WhatApp恢复或解密选项,看看Elcomsoft eXplorer for WhatsApp  (EXWA)有什么新功能。

在Android环境中运行WhatsApp

在安卓智能手机上,WhatsApp会将聊天数据库保存在沙箱中。ADB备份中不包含该数据库,并且只有在设备具有root权限时才能访问该数据库。要想在非root权限的设备上访问WhatsApp数据库,唯一的方法就是在sideload模式(安卓的一种刷机模式)下对WhatsApp进行操作,并强制它将原始的未加密数据库返回给主机。我们可以用EXWA来实现,但注意,目前只能在安卓4.0到6.0.1的老版本上实现。如果是在Android 7.0及更新版本上使用此方法,则无效,其原因就是过程比较复杂,不过我们仍然在努力,期待在最新的Android版本中实现类似的方法。换句话说,如果你购买的是一款最新的Android手机,你不太可能使用此方法。

WhatsApp还可以为Android共享存储或SD卡创建独立备份,但这些备份通常是加密的。加密后的WhatsApp备份文件名称以.cryptNN结尾,其中NN代表一组数字。要解密该数据库,你需要存储在WhatsApp沙箱中的加密密钥,这样我们就可以返回root或非root的情况,因为只有在你拥有超级用户权限时,才可能访问沙箱。如果你按着以上的方法这么做了,那我建议你最好还是把WhatsApp的原始数据库从应用程序的沙盒中取出来,除非你需要那个特定备份中的数据。.cryptNN中的那组数字表示用于保护备份的加密算法的修订版本。这些是加密算法中的微小变化,实际上并不影响安全性。虽然开源代码可以解密这些文件(参考1参考2),但是你仍然需要加密密钥。

那是否可以只计算或生成加密密钥而不提取呢?在尝试之前,首先我们得看看Google云端硬盘上的WhatsApp备份。

在应用程序内创建WhatsApp备份时,是具有可选项的,你可以选择每日、每周或每月备份,这样在按下“备份”按钮时,程序就会按照你的选项设置进行备份。不过你还可以完全禁用备份,需要注意的是,备份将始终包含有关的聊天信息和图片(视频是可选的)信息,但不包括联系人信息。对于Android版本的WhatsApp(以及Google云端硬盘上的备份),聊天记录始终是加密的,而媒体文件则不是。

1.png

很长一段时间,EXWA已经能够从Google云端硬盘下载WhatsApp备份,不过前提是,你得拥有用户的Google登录凭证,详细过程请阅读《从Google帐户中提取和解密Android 环境中的WhatsApp备份》

提取和解密Android 环境中的WhatsApp备份时,我们要使用与WhatsApp信息生成相同的方法,比如用户需要通过短信获得一个安全代码(你需要访问手机号码才能收到它)。唯一的问题是,一旦代码在服务器上生成,WhatsApp就会在用户的设备上停用。当然,用户可以再次激活它,但是我们生成的加密密钥只能用于以前保存的备份,而不能用于任何将来的备份。

iOS 环境中的WhatsApp

对于iOS设备来说,访问WhatsApp会话最简单的方式就是分析具有本地iTunes属性的备份。虽然iOS设备备份中的WhatsApp数据没有额外的加密,但是,如果设置了备份密码,那你必须输入密码、恢复密码或在iPhone上重置密码。

那么iCloud备份呢?它们本质上是相同的,因为WhatsApp聊天和媒体文件也保存在那里,没有任何额外的加密。取证人员需要拥有用户的iCloud凭证(密码加上第二个验证因素,或身份验证令牌)才能下载设备备份。一旦WhatsApp的备份被下载了,对它的解密就是水到渠成的事情了。

就像安卓环境一样,iOS环境下的WhatsApp也可以进行独立备份,它们都存储在iCloud驱动器中。

iCloud驱动器中的WhatsApp独立备份也是加密的,这种保护类似于Google云端硬盘中的备份。EXWA也支持这些备份,详情请参阅《从iCloud提取和解密WhatsApp备份》

2.png

使用Elcomsoft eXplorer工具解密WhatsApp备份

以上我们学习了如何直接从iPhone获取加密密钥,现在我们可以在不需要安全代码的情况下解密独立的WhatsApp iCloud驱动器备份。此时,用户的WhatsApp安装将处于运行状态。

从技术上讲,加密密钥存储在钥匙串中。使用Elcomsoft Phone Breaker可以很容易地访问大部分的钥匙串项,由于WhatsApp加密密钥针对更高的安全级别,因此只能通过带有物理钥匙串提取的iOS Forensic Toolkit 4.0获得。

一旦获得加密密钥并打开从iCloud驱动器下载的WhatsApp备份,系统就会提示你进行解密。但是,你现在无需使用WhatsApp服务器进行身份验证(获取安全代码),而是可以指定使用iOS Forensic Toolkit(默认情况下为keychaindump.xml)提取的钥匙串文件的路径。

通过WhatsApp请求激活密钥:

3.png

以上说的是旧方法,在此我会介绍一种新方法:你只需要对iPhone越狱,即可获取钥匙串文件。

4.png

这种方法虽然粗暴但有许多优点,首先,你将不再需要通过短信或手机获取安全代码,WhatsApp就会在用户的iPhone上保持运行状态。如果你无法访问用户的SIM卡,这可能是唯一可用的提取方法。此外,解密密钥将用于所有过去和将来的备份。

如果设备可用,备份可能包含已在设备上删除的聊天记录,此时你就没有必要使用iCloud驱动器备份。虽然有时可以从SQLite数据库中恢复删除的记录,但这只会在特殊情况下进行。

总结

Elcomsoft eXplorer是市场上最强大的WhatsApp恢复和解密工具,同时支持iOS和Android版本的WhatsApp,并解密所有类型的备份。

本文翻译自:https://blog.elcomsoft.com/2018/12/a-new-method-for-decrypting-whatsapp-backups/如若转载,请注明原文地址: https://www.4hou.com/web/15712.html?replytocom=13877
点赞 4
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论

    嘶吼用户66890 2019-01-14 16:03

    有收获