如何破解使用SSHA散列的密码?

信息安全 密码 哈希
2021-09-04 05:28:02

如果我知道盐,是否可以破解使用 SSHA 散列的密码?我该怎么做?

3个回答

使用John the Ripper可以轻松破解 SSHA,或更通常称为盐渍 SHA1

SSHA 是 SHA-1 的变体,计算中包含盐。该算法在一些 LDAP 服务器中使用,最初来自 Netscape 内部草案规范。显然有几种变体;有关Oracle 产品使用的描述,请参阅此页面有关声称计算相同函数的一些 PHP 代码,请参阅该页面。它们的不同之处在于盐的大小(64 位与 32 位)。但是,它们具有相同的结构:对密码和盐的串联进行单个SHA-1计算,并对结果值进行一些编码(一些 Base64,带有盐和可识别的标头)。

函数加盐;那挺好的。这对预先计算的表很有效,尤其是广受吹捧的彩虹表

函数没有迭代;那很糟。对于知道哈希的攻击者来说,“尝试”一个潜在的密码是对一个短输入(小于基本内部 SHA-1 块大小的 64 个字节)进行单个 SHA-1 计算的问题,并且可以实际计算快速地。一次 SHA-1 计算大约是一千次 32 位操作。一个基本的 x86 内核(最多)需要 500 个时钟周期;使用SSE2 操作码,在密码破解的情况下,每个 SHA-1 大约需要 200 个时钟周期。因此,一个 2.4 GHz 的四核 Core2 将每秒尝试 4800 万个密码(至少我的代码是这样实现的)。一个好的GPU会更好,因为 GPU 非常擅长 32 位操作;每秒10 亿次密码哈希是一个现实的数字。

没有多少密码可以抵抗每秒可以尝试十亿个密码的破解尝试。即使是生成具有 44 位熵的密码的著名方法,平均也会持续两到三个小时。

你还可以使用Cain 和 Able破解使用该加密算法加密的密码。