加密的ZIP文件可以有两个正确的密码-这就是原因

在线wifi跑包 金刚包跑包 cap跑包 hccapx ewsa在线 就来 握手包跑包

各位好 又见面了 我是曹操 今天给大家带来一篇新的教程

希望各位细心学习 低调用网

hashcat不确定密码长度

加密的ZIP存档是一种常见的压缩和共享文件集的方法,用于包含敏感文档、恶意软件样本甚至是网络钓鱼电子邮件中的恶意文件(如“发票”)。然而,您是否知道加密的ZIP文件可能有两个正确的密码,并且在提取ZIP时都会产生相同的结果?网络安全研究员Arseniy Sharoglazov在周末分享了一个简单的实验,他创建了一个名为x.zip的受密码保护的ZIP文件。Sharoglazov选择了一个双关语密码,该密码是1987年一首热门歌曲的歌词,这首歌曲已经成为了技术界的流行梗。然而,研究人员证明,当使用完全不同的密码提取x.zip时,并没有收到任何错误消息。事实上,使用不同的密码也可以成功提取ZIP文件,而原始内容完好无损。

这是因为在启用AES-256加密模式生成受密码保护的ZIP存档时,如果密码太长,ZIP格式会使用PBKDF2算法对用户提供的密码进行哈希处理。研究人员解释说,密码太长是指超过64个字节(字符)。这个新计算的哈希值不是用户选择的密码,而是文件的实际密码。当用户尝试提取文件并输入超过64字节的密码时,用户的输入将再次被ZIP应用程序散列并与正确的密码进行比较(现在它本身就是一个哈希)。如果匹配成功,文件将被成功提取。

这个实验的替代密码实际上是较长密码的SHA-1哈希的ASCII表示。在加密或解密文件时,只有当密码长度大于64个字符时才会进行哈希处理。换句话说,较短的密码在压缩或解压缩ZIP的任何阶段都不会被散列。因此,在加密阶段选择长密码时,ZIP程序实际上会设置该密码的SHA-1哈希值作为实际密码。在解密阶段,如果输入的密码与存储的密码(即SHA-1哈希)匹配,文件将成功解密。但是,如果输入较短的密码,应用程序将直接将其与存储的密码进行比较。

需要注意的是,每个SHA-1哈希的ASCII表示不一定是字母数字字符。因此,研究人员使用了开源密码恢复工具hashcat的略微修改版本,通过生成字母数字字符的变体,直到找到一个完美的密码,该密码大致读作“Never Gonna Give You Up…”,但其SHA-1哈希的ASCII表示是一个简洁的字母数字字符串。

对于大多数用户来说,创建一个受密码保护的ZIP文件并选择一个密码就足够了。然而,如果您对此感兴趣,这个实验可以让您了解加密ZIP的一些谜团,例如使用两个密码来保护您的机密文件。

赞(0)