我有一个用 LUKS + Ext4 加密的 U 盘。我忘记密码了...
但是,我知道密码中将包含哪些单词,并列出了这些单词的所有排列。大约 10,000 个排列。
不是我手动逐个尝试每个排列(这将是一个漫长、缓慢且令人痛苦的乏味过程),是否有可能使这个过程自动化?我知道这听起来像是某种恶意的蛮力攻击,但事实并非如此。如果我想要这样的东西,我可以很容易地从互联网上下载一些不可靠的软件。
相反,我想使用在我的计算机上安全的东西,一个专门为我定制的脚本(或任何安全的解决方案)。
这可能吗?
我有一个用 LUKS + Ext4 加密的 U 盘。我忘记密码了...
但是,我知道密码中将包含哪些单词,并列出了这些单词的所有排列。大约 10,000 个排列。
不是我手动逐个尝试每个排列(这将是一个漫长、缓慢且令人痛苦的乏味过程),是否有可能使这个过程自动化?我知道这听起来像是某种恶意的蛮力攻击,但事实并非如此。如果我想要这样的东西,我可以很容易地从互联网上下载一些不可靠的软件。
相反,我想使用在我的计算机上安全的东西,一个专门为我定制的脚本(或任何安全的解决方案)。
这可能吗?
执行此攻击的最有效方法是使用 John the Ripper 的luks2john提取哈希,然后使用 John('LUKS' 哈希格式)或 hashcat(哈希模式 14600)对其进行攻击。
这样做的好处是可以扩展到您拥有的核心数量(支持 John CPU 或 hashcat OpenCL CPU)或 GPU 数量(支持 hashcat OpenCL GPU)。
它还利用了比使用本机接口更快的任何攻击端加密效率。这些效率有时可能比简单地一遍又一遍地尝试正常解锁要快得多。
这也为您提供了这些工具支持的全套攻击模式(词表、规则、掩码、混合等)。
好吧,在最幼稚的情况下,您可以大致做类似的事情
它按顺序遍历所有拼图... foobarbz foobarbaz foobarbazz ... 等等。(如果您有可选的部分,请添加 '' 空字符串。如果您的部分是随机顺序的,那么您自己考虑一下)。
要优化性能,您可以:
cryptsetup
(github 上的 lukscrackplus 就是一个这样的例子,但它已经过时了)split
将其放入单独的文件中,并运行多个这样的循环(每个核心一个,甚至可能跨多台机器)但是,如果您的可能性太少(可以在一天内完成而无需优化)或太多的可能性(再多的优化都不会成功),那么优化可能毫无意义。
同时,检查:
(使用 LUKS1 没有办法确定,但如果你
hexdump -C
有它并且没有随机数据应该在哪里,那就没必要浪费时间了)这里也有类似的问题:https ://security.stackexchange.com/q/128539
但是,如果您真的能够将范围缩小很多,那么天真的方法也可以。
是的。我几乎遇到了这个确切的问题。我写了一个脚本,它遍历所有的可能性,直到一个工作。我的
truecrypt
虽然是一卷。唯一的问题是如果有一些速率限制,但只有当您将支票传递给网站等时才会出现这种情况。有了你拥有的音量,这样做相对容易。但这也是非常蛮力的。您刚刚将选择范围缩小到一小部分,所以这并不难。
是的,正如之前的答案,这
hashcat
是最好的选择之一。由于 LUKS 不存储任何哈希值,我们需要从您的 USB 驱动器中获取加密的数据样本(标题)。我们只处理那个样本。Hashcat
有许多破解密码的选项,从直接暴力破解到字典攻击、基于规则的攻击和掩码攻击。在这种情况下,我们有 password_candidates.txt:这应该会在几秒钟内为您提供密码。总帐