2

有没有办法使用 Windows API 复制“802.1x 设置”菜单中“保存凭据”按钮的功能?或以其他方式永久保存无线配置文件的 PEAP 凭据。

我已经尝试过WlanSetProfileEapXmlUserData设置MsChapV2:Username和的功能MsChapV2:Password。它缓存凭据,但不会永久保存它们。

UPD:设法找到存储在其中的用户数据,HKLM\SOFTWARE\Microsoft\Wlansvc\UserData\Profiles\{GUID}但它是加密的。我猜 CryptProtectData 是用来加密它的。要是我知道用的是什么盐就好了。

4

2 回答 2

3

HKLM\SOFTWARE\Microsoft\Wlansvc\UserData\Profiles\{GUID}\MSMUserData包含与 PEAP 凭据相关的数据。它是用 加密的CryptProtectData。解密给了我们一个二进制blob,幸运的是它很容易理解。它包含纯文本的用户名和可能的登录域。密码信息再次使用CryptProtectData函数加密并放置在 blob 的末尾。

加密是在没有LOCAL_MACHINE标志的情况下完成的,因此只有本地系统用户可以生成新的凭据数据。将其放入注册表项后,Windows 会认为您保存了一组凭据,并且即使在身份验证失败的情况下也不会要求提供它们。

于 2013-03-22T07:34:46.253 回答
0

您可以在我的回答https://superuser.com/a/1259271/780533中找到有关 MSMUserData 的 WPA2-Enterprise 凭据加密方案的更多信息“如何找到存储在 Windows 7 上的无线网络的受保护 EAP 凭据?” 问题。特别是,解密后的 MSMUserData 中的用户名后面的“不可读字符”(注意它们以 01 00 00 00 d0 8c 9d df ...开头)是加密密码,因此您需要使用 CryptProtectData 再次解密。

于 2017-10-22T11:17:50.200 回答