破解双重加密的路由器密码?

信息安全 加密 密码 密码破解
2021-08-27 06:04:36

我在路由器的 html 中注意到了这个参数:

form.addParameter('Password', base64encode(SHA256(Password.value)));

因此,当我输入密码时,passw我会通过以下方式获得sslstrip

2018-09-25 21:13:31,605 POST Data (192.168.1.1):
Username=acc&Password=ZTQ1ZDkwOTU3ZWVjNzM4NzcyNmM2YTFiMTc0ZGE3YjU2NmEyNGZmNGNiMDYwZGNiY2RmZWJiOTMxYTkzZmZlMw%3D%3D

这个散列容易通过暴力/字典破解吗?我仍然是初学者,但这对我来说看起来像是双重加密。另外,有没有比破解密码更快的方法?

4个回答

我通过URL 对其进行解码,然后从 base64 对其进行解码,然后将其传递给在线哈希数据库

结果是:

Hash                                                                Type    Result
e45d90957eec7387726c6a1b174da7b566a24ff4cb060dcbcdfebb931a93ffe3    sha256  passw

这是一个未加盐的哈希,这一事实使得查找起来很容易。所有的编码都是为了方便登录服务,而不是安全控制。

使用盐,您不能只查找它,因此您需要蛮力。如果您知道盐,成功取决于您使用的密码和单词表。有一些方法可以使单词表更有效地进行暴力破解,但它最终是时间的函数。

这是一个 base64 无盐 sha256 哈希。这不是双重加密,而仅仅是一种不需要的编码。

未加盐的散列意味着只需在 Google 上搜索散列很简单,并且可能会找到结果。

由于以下原因,这是微不足道的:

  1. Base64 根本不是加密,它是一种编码方案。解码 Base64 很简单。

  2. SHA256 是一种为验证数据而设计的加密算法,因此设计速度很快。这意味着具有多个 GPU 的专用计算机可以以惊人的速度检查使用 SHA256 散列的密码。在撰写本文时,密码破解 SHA256 的记录是 25 个 GPU 创造的 21.4 GH/s(每秒 210 亿次哈希)。对于安全地散列密码的意图,SHA256 是一个糟糕的选择。密钥派生函数是要走的路。SHA256 对密码散列很弱,但对数据/消息验证很有用。

每个人都同意使用未加盐的哈希是非常糟糕的,并且 sha256 不是一个理想的哈希函数。然而,这种智慧与密码的存储有关,而不是与它们的传输有关

我们不知道如何在目标设备上验证密码。

据我们所知,数据随后通过密码拉伸函数传递,在目标设备上加盐和散列(这将是安全的),或者只是与存储的文字值进行比较(不安全)。

如果与路由器的通信始终通过问题中所示的 HTTPS 进行,那么这不会增加对传输中数据的保护并且是多余的。如果通信是通过 HTTP 进行的,则可以说它可以防止一些非常琐碎的攻击(但不能防止简单的重放攻击)。