从 HEX 密钥和 SSID 获取 WPA 密码?

信息安全 wpa2-psk
2021-08-16 18:52:54

以此为例进行 WPA 密钥计算(链接):

Network SSID:   linksys54gh
WPA passphrase: radiustest
Hexadecimal key:    9e9988bde2cba74395c0289ffda07bc41ffa889a3309237a2240c934bcdc7ddb

我得到一个十六进制密钥。

我想知道是否有可能通过仅知道十六进制密钥和 SSID 来获取 WPA 密码。

所以让我们假设我有这个:

Network SSID:tomato
Hexadecimal key:    e3c60cdcb07f9b73c5998f02746510b9065be13765a24ca66b5b0f379aba2b08

如何通过知道十六进制密钥/SSID 来获取 WPA 密码?甚至可能吗?

1个回答

您提到的链接中描述了获取密钥的计算细节:

对于 WPA-PSK 加密,二进制密钥根据以下公式从密码中派生:

Key = PBKDF2(passphrase, ssid, 4096, 256) 函数 PBKDF2 是从密码短语派生密钥的标准化方法。它在 RFC2898 中指定,并清楚地说明了如何计算它。该函数需要一个底层的伪随机函数。在 WPA 的情况下,底层函数是 HMAC-SHA1。

PBKDF2 是一个密钥派生函数,它使用一种哈希算法来服务于两个目的。一是使获取函数输入的过程变得非常困难,二是使暴力破解过程变慢。

据我所知,没有任何已发表的研究可以在合理的时间内从 PBKDF2 输出中恢复密码。您唯一的选择是暴力破解它,这意味着尝试所有可能的密码并应用您提到的过程并查看输出是否与您的密钥匹配。有特殊的硬件、软件甚至服务可以使这个过程更快。

oclHashcatPyrit将暴力破解 WPA 并将使用 GPU 来加快处理速度。

CloudCracker服务将在 20 分钟内以 17 美元的价格在您的密钥上尝试 3 亿字。