使用 HashCat 提取并破解 MacOS 密码

文摘   2024-12-26 14:14   北京  

本文主要是针对比赛题目进行分析和解题思路分享,只进行知识分享,不具一定的实战能力,后台不解答涉及可能侵害他人权利的问题,切勿用于违法犯罪活动。如果有工作方面的解答需求,请后台联系添加微信私聊。

本文方法的要求(局限性):需要获取到解密后的磁盘镜像,或者获取到相关文件,且密码不能过于复杂,否则会需要大量时间。本文主要参考了这篇文章,主要适用于 MacOS 10.8+ 版本的系统:

https://apple.stackexchange.com/questions/220729/what-type-of-hash-are-a-macs-password-stored-in/220863


提取并生成密码哈希

首先需要明确MacOS系统中有哪些用户,需要破解哪个用户的密码,等确定后,可以定位到:\Macintosh HD\private\var\db\dslocal\nodes\Default\users 目录下,寻找该用户的配置文件。

在这里,我需要破解 aaaa 用户的密码,所以我打开 aaaa.plist 文件:

可以恢复/复制之后在 PListEditor 中打开,也可以加入到 XWF 的自定义查看器中,直接在右键快速查看:

打开后,切换到 List View Tab,找到 ShadowHashData

双击打开后,会弹出一个新的窗口,其中就有我们需要的哈希。

由于hashcat需要形如这样的哈希格式,所以我们参照上面的方法和官方的文档,构造我们要使用的哈希:

$ml$35460$93a94bd24b5de64d79a5e49fa372827e739f4d7b6975c752c9a0ff1e5cf72e05$752351df64dd2ce9dc9c64a72ad91de6581a15c19176266b44d98919dfa81f0f96cbcb20a1ffb400718c20382030f637892f776627d34e021bad4f81b7de8222

继续回去看 ShadowHashData 的组成:

目前,hashcat 支持破解 SALTED-SHA512-PBKDF2 的哈希,所以我们主要对框选部分的数据进行处理。主要需要处理 entropy、salt和iterations,其中前两者需要转为十六进制格式,最后的iterations直接写入就行。

针对前两者,Base64解码后直接转为十六进制即可,我是在CyberChef中完成的:

分别解码之后,按照 $ml$ITERATIONS$SALT$HASH 的格式构造即可,也就得到了形如上面示例的哈希:

$ml$75757$65fd5e2ac480866b8ce853a66ddfffdfbbd36f55dc68fb09e24f22ba8ac465b7$353021b6361cec5483fec86641ceaadc7aa74503d9d480474d19955632f25b1af81e98fe3704389d607fac6ea39269863e8cc97e47f3010e31000afc5ad6653923fb1b06cb89b2f7dc1ab3f9815106bb8ff894c87a914f6d1435066792bd5b6683f36396b01b78303fcf9fbc360828be9a97cf732a98b680f001c8dd4d5cbeec

破解

根据hashcat文档,我们采用 7100 模式进行破解。具体破解方式有很多种,可以字典破解,也可以掩码暴力破解,根据具体情况而定。本哈希的对应的密码是 571,所以为了示例需要,就使用掩码破解:

hashcat -m 7100 macos_hash.txt -a 3 ?d?d?d

破解完成后,此处就是密码:

说明

现在MacOS设备普遍使用了硬件级加密,多数情况下想提取数据,基本就是对已经解开的电脑进行的,所以个人认为实战中此破解意义不大,但是对于个别考察这个考点的赛题来说,还是比较实用的。

由于密码本身算法的原因,此破解的速度非常慢,所以赛中遇到此类题目,一定要尽可能寻找题目的线索和暗示,否则可能会浪费大量时间。

毋庸置疑,直接在Windows中使用hashcat,效果是最好的,但是考虑到性能消耗的缘故,可以考虑在虚拟机中运行,限制软件消耗的资源,将有限的资源匀给别的取证软件。


金星路406取证人
这是位于大兴区黄奕路金星406的取证爱好者,这是一个致力于学习电子数据取证的团体~~
 最新文章