云提取是获取有价值证据的最常用方法之一,说到Google,与提取物理Android设备相比,Google帐户分析可能返回的数据要多得多。但是,有一个功能通常被忽略:无需登录名和密码即可提取存储在用户Google帐户中的数据的功能。所以,本文将介绍Google身份验证令牌及其为移动取证带来的好处。

Google身份验证令牌

Google身份验证器Google Authenticator是谷歌推出的基于时间的一次性密码(Time-based One-time Password,简称TOTP),只需要在手机上安装该APP,就可以生成一个随着时间变化的一次性密码,用于帐户验证。身份验证令牌背后的原理非常简单,Web浏览器或应用程序将发送一组二进制数据,这个数据就是登录名和密码。获得令牌后,用户可以在一段时间内访问所需的资源,而无需每次都重新输入其登录名和密码。换句话说,用户不必一每次都输入登录名和密码来访问不同的Google服务,而是只需进行一次身份验证,即可获取身份验证令牌,然后将该令牌用于其他Google服务的进一步身份验证。在Google Chrome浏览器中获得的身份验证令牌会自动用于将用户登录到其Google服务(例如在线通讯簿,日历等)中。值得注意的是,令牌不能用于访问某些服务,例如在线密码存储。

不过令牌既不是密码,也不是密码哈希。相反,令牌是字符或二进制数据的随机(或伪随机)序列。用户首次通过身份验证后,令牌是由Google服务器生成的。尽管令牌可以替代密码,但不能用于攻击或恢复密码:数据只是随机的标识字符串,而不是密码本身的哈希函数。身份验证令牌的使用不仅使系统更方便(无需为用户重新身份验证),而且由于密码未保存在任何地方,因此更加安全。

对于Google来说,我们可以使用两种类型的令牌:一种用于Google Chrome浏览器中的令牌通常用于访问Google服务,而另一种则是用于访问存储在Google云端硬盘中的文件的特定令牌类型。如果计算机上安装了第二种令牌,则仅由Google Backup&Sync(以前称为Google云端硬盘)应用使用。

Google还将身份验证令牌存储在移动设备(iOS和Android)上。尽管人们可以提取和使用这些令牌,但是与存储在用户个人计算机中的令牌相比,提取令牌通常更加困难。

Google云端硬盘令牌

该身份验证令牌是由Windows和macOS计算机上的Google云端硬盘(Google备份和同步)应用创建的。令牌已加密存储,在Windows系统中,令牌受DPAPI保护,而在macOS中,应用程序利用系统钥匙串加密令牌。

可以使用Elcomsoft Cloud Explorer提取和解密Google Drive令牌,Google云端硬盘令牌是有限的,它们只能用于访问用户的Google云端硬盘计划中的文件。

为了提取Google云端硬盘令牌,你需要使用用于安装Google备份和同步应用程序登录Google云端硬盘的原始Windows或Mac计算机。另外,你还需要使用Elcomsoft Cloud Explorer来提取和解密令牌。当然,任何随机PC都无法解决此问题。你需要一台专门安装了Google Backup&Sync应用程序的计算机,并且在该计算机被占用时,该用户必须已经登录到该PC上的Google云端硬盘。如果用户注销了自己的Google云端硬盘,则身份验证令牌将被删除或只是失效。

Chrome令牌

当用户登录其Chrome浏览器实例时,将创建此令牌。此令牌可用于通过许多Google服务验证用户身份。在Windows系统中,Chrome令牌受DPAPI和Gcm256的组合保护(Chrome的旧版本仅依赖DPAPI保护),而在macOS中,该应用利用系统钥匙串对令牌进行加密。

为了提取Chrome令牌,你还需要安装Chrome浏览器的用户的原始Windows或Mac计算机。解压缩时,用户必须登录该浏览器。

你将需要Elcomsoft Cloud Explorer提取令牌,如果用户退出Chrome中的Google帐户,则身份验证令牌将被删除。

与受限制的云端硬盘令牌相比,Chrome令牌可以访问更多数据类别。可访问的类别包括Chrome历史记录和其他数据(例如,打开的标签和书签的列表)、Wi-Fi网络、通话记录、日历,Google仪表板数据以及Google Keep笔记的列表。Google Keep 是Google 谷歌官方发布的一款云笔记应用,它允许你方便的创建文章、图片、语音笔记,并及时上传到云端进行保存,随时随地,你只需要登陆你的Google账号便能够查看。下图显示了可通过Chrome身份验证令牌访问的数据类别的完整列表:

提取令牌

我们研究了Chrome和Google Drive令牌在Mac和PC计算机上的存储位置,并发现了一种使用它们通过Elcomsoft Cloud Explorer对Google服务进行无密码身份验证的方法。如果用户的计算机上安装了Google Chrome浏览器,另外,如果用户已经通过浏览器登录到任何Google服务,则可以使用无密码身份验证。

以下就是谷歌在用户的计算机上存储身份验证令牌的位置。

对于Google Chrome令牌来说,位于Chrome Windows:

%appdata%LocalGoogleUser Data\Web Data

Chrome macOS中的位置:

~/Library/Application Support/Google/Chrome//Web Data

对于Google云端硬盘令牌来说,位于Windows(在注册表中):

HKEY_CURRENT_USERSOFTWAREGoogleDrive

The key name starts with “OAuthToken_”

macOS(在钥匙串中):

in the login keychain

Elcomsoft Cloud Explorer带有一个名为GoogleToken Extractor(GTEX)的工具。此命令行工具会自动在用户的计算机(Windows或Mac)上搜索由Google Chrome浏览器或Google云端硬盘应用保存的身份验证令牌。找到身份验证令牌后,GTEX会将其保存到当前(Windows)或用户的默认目录(Mac)中。此时,所有已登录帐户的令牌将被提取、解密和保存。

Google令牌提取器提取令牌后,将根据以下格式命名文件:

.xml

例如:

Google Chrome:

john.smith_test.account@gmail.com_GoogleChrome_05.05.2020_15-05-16_UTC.xml

Google Drive:

john.smith_test.account@gmail.com_GoogleDrive_05.05.2020_15-05-16_UTC.xml

在内部,令牌可能看起来如下所示:

Google Chrome(Windows):

1Windowstest.account@gmail.com1/ukM2X_qTUU-viA-8Yn6LqzLjcGQ-nmHjsh254RYAOF4GoogleChrome77185425430.apps.googleusercontent.comOTJg….03.04.2018 09:12:35

Google Drive(МаcOS):

1macOSother.test.account@gmail.com1/ukM2X_qTUU-viA-8Yn6LqzLjcGQ-nmHjsh254RYAOF4GoogleDrive645529619299.apps.googleusercontent.comnu6p….27.02.2018 16:46:55

提取令牌后,便可以将其与Elcomsoft Cloud Explorer结合使用,以访问存储在用户Google帐户中的信息,而无需重新输入密码或执行二次身份验证步骤。

使用令牌

从Google Backup&Sync提取的Google Drive令牌只能用于从用户的Google Drive帐户提取文件。

但是,Chrome令牌可用于访问许多其他数据类别。要使用令牌登录,请先在Elcomsoft Cloud Explorer中创建一个新快照,然后选择使用令牌进行身份验证。

此时,你将看到可用数据类别的列表(显示为灰色的类别可能包含一些有用的数据,但是使用令牌根本无法获取它们,只能使用登录名和密码登录后,才能来获取)。