【技术分享】深入了解Apple钥匙串解密

移动安全 3年前 (2022) admin
1,657 0 0

【技术分享】深入了解Apple钥匙串解密

在对 Apple 设备进行调查取证时,钥匙串分析尤为重要。钥匙串不仅包含来自网站和应用程序的密码,而且还可以为计算机取证提供对同一用户其他 Apple 设备的访问权限。

【技术分享】深入了解Apple钥匙串解密


本篇文章的内容包括:

1. 钥匙串的类型

2. 使用案例

3. 总结


1、钥匙串的类型


钥匙串或钥匙串服务是macOS和iOS中的密码管理系统。它存储帐户名、密码、私钥、证书、敏感应用程序数据、支付数据和安全票据。这些记录与用户的特定登录密码动态链接,因此当他们登录到 Mac 设备时,他们的所有各种帐户和密码都可用于操作系统和选择的应用程序。


钥匙串存储位于:

1. ~/Library/Keychains/(和子文件夹)

2. /Library/Keychains/  

3. /Network/Library/Keychains


Mac钥匙串共有三种类型:登录钥匙串(Login Keychain)、系统钥匙串(System Keychain)和本地项目钥匙串(Local Items (iCloud) Keychain)。


通过名为“钥匙串访问”的应用程序可查看和编辑钥匙串文件。还有一个等效于钥匙串访问的命令行:/usr/bin/security。虽然没有适用于 iOS 的钥匙串访问实用程序,但只要用户启用了 iCloud 钥匙串选项,密码就会在绑定到给定 iCloud 帐户的所有 Apple 设备上同步。启用此选项后,数据会部分同步,因为某些应用程序和服务可能会在钥匙串中设置特殊标志,以防止将相应数据传输到 iCloud。


登录钥匙串

Login Keychain


Login Keychain是默认的钥匙串文件,用于存储大部分密码、安全说明和其他数据。数据存储在/Users/<UserName>/Library/Keychains目录中中名为login.keychain的文件中。

默认情况下,login.keychain的密码与Mac用户密码相同。 

此钥匙串的密码恢复过程非常耗时,但可以使用GPU加速,使用AMD 6900 XT显卡,每秒高达120万个密码。

 【技术分享】深入了解Apple钥匙串解密


系统钥匙串

System Keychain


System Keychain存储操作系统访问的项目,例如Wi-Fi密码,并在用户之间共享。该文件通常位于/Library/Keychains/,如果“主密钥”(“Master Key”)文件可用(通常位于 /private/var/db/SystemKey),则可以瞬时解密。


【技术分享】深入了解Apple钥匙串解密 

 

本地项目钥匙串

Local Items(iCloud)Keychain


本地项目钥匙串用于可与iCloud钥匙串同步的钥匙串项目。它包含加密密钥、应用程序数据、网络表单条目以及与iCloud同步的一些iOS数据。它提供了两个文件:一个密钥包(user.kb文件)和一个带有加密记录的SQLite数据库(keychain-2.db)。如果开启了 iCloud同步,keychain-2.db也可能包含来自其他设备的密码。Passware Kit恢复user.kb文件的密码,然后解密keychain-2.db数据库。默认情况下,user.kb密码与macOS用户密码相同。


要在没有T2芯片的Mac上恢复user.kb密码,Passware Kit需要128位通用唯一标识符 (UUID),它与钥匙串文件夹的名称相同。不幸的是,本地项目钥匙串的密码恢复无法在GPU上加速。成功恢复密码后,Passware Kit会提取所有显示为可读的记录并将其余数据保存在文件中。少于128个符号的字符串被视为密码并保存到Passwords.txt文件中,而json和bplist二进制文件按原样提取。Passware Kit还会创建一个包含完整提取数据的extracted-records.json文件。


*在装有iOS13或更高版本的iPhone、iPad或iPod touch上,或者在装有macOS Catalina或更高版本的Mac上,需要启用双重认证才能打开iCloud钥匙串。如果您还没有设置双重认证,系统会提示您更新到双重认证。

详情请见:https://support.apple.com/zh-cn/HT204085


【技术分享】深入了解Apple钥匙串解密 


2、使用案例


尽可能多地分析链接到同一个iCloud帐户的Apple设备非常重要。来自一台设备的解密钥匙串可以进入具有更强加密功能的设备,例如带有T2芯片的Mac。以下是Passware Kit 有助于从锁定设备中提取数据的一些示例。请注意,只有在启用加密时选择iCloud作为备份选项,才能进行瞬时解密。

如果没有其他设备可以从中提取钥匙串,Passware提供了一个T2解密插件来解密受 Apple T2安全芯片保护的Mac计算机的APFS磁盘。


【技术分享】深入了解Apple钥匙串解密 

  • 案例1


具有相同 iCloud 帐户的 T2 芯片的 Macbook Air 2017 和 Mac Pro 2019 

对于没有T2芯片的MacBook Air,Passware Kit使用Full Disk Encryption| FileVault/APFS选项。在获得对钥匙串文件夹的访问权限后,Passware Kit通过 Password Managers | MacOS Keychain | Local Items Keychain选项从user.kb文件中恢复钥匙串密码,然后从Local Items Keychain中提取数据。提取的数据包括一个decrypted-keychain.plist,该文件可通过Full Disk Encryption | APFS/Mac T2选项瞬时解锁带有T2芯片的Mac Pro上的APFS磁盘。



【技术分享】深入了解Apple钥匙串解密


【技术分享】深入了解Apple钥匙串解密


  • 案例2


禁用时间锁定的iPhone 7 Plus和具有相同iCloud帐户的T2芯片的Mac Mini 2018 

Passware Kit Mobile恢复iPhone 7的密码并从设备中提取数据,包括iOS钥匙串,保存decrypted-keychain.plist文件。使用Full Disk Encryption | APFS/Mac T2选项,使用Passware Kit Forensic for Mac以及解密的钥匙串可解锁配备T2芯片的Mac Mini上的APFS磁盘。


  • 案例3


相同iCloud账户下的iPhone 13和Macbook Pro 2017的APFS解密镜像

与本地项目钥匙串密码的恢复不同,登录钥匙串的密码恢复可以在GPU上加速。因此,第一步是使用Password Managers | MacOS Keychain | Keychain选项从APFS镜像中恢复login.keychain文件密码。使用AMD 6900 XT显卡,每秒高达120万个密码。默认情况下,登录钥匙串和本地项目钥匙串的密码相同,因此恢复登录钥匙串密码很有可能还可以访问本地项目 (iCloud) 钥匙串数据库,从而访问iPhone中的记录,例如mobile Safari 密码。


  • 案例4


相同iCloud 帐户下的iPhone 6和没有T2芯片的Macbook Pro 2017

Passware Kit Mobile恢复iPhone 6的密码并提取其数据,包括iOS钥匙串,保存一个decrypted-keychain.plist文件。Passware Kit Forensic使用解密的钥匙串通过Full Disk Encryption | APFS / Mac T2选项可瞬时解密Macbook的APFS镜像。这种方法避免了执行耗时的暴力密码恢复过程。


3、总结


下表总结了不同类型钥匙串的解密和密码恢复选项。


【技术分享】深入了解Apple钥匙串解密 

全面的调查取证涉及多种设备和使用痕迹的分析。应从最不安全的设备(例如:内存镜像、iTunes备份和没有T2/M1芯片的Mac)开始,使用Passware Kit提取和解密一个钥匙串,然后可以用来访问其他设备的数据。


翻译自:https://support.passware.com/hc/en-us/articles/4573379868567-A-Deep-Dive-into-Apple-Keychain-Decryption?_ga=2.178684452.1868922616.1646911180-2010321500.1646911180

【技术分享】深入了解Apple钥匙串解密

原文始发于微信公众号(天鉴科技):【技术分享】深入了解Apple钥匙串解密

版权声明:admin 发表于 2022年3月16日 下午6:00。
转载请注明:【技术分享】深入了解Apple钥匙串解密 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...