有没有办法使用Windows API或其他方式来复制“802.1x设置”菜单中“保存凭据”按钮的功能?或者有其他方法可以永久保存PEAP凭据以供无线配置文件使用。
我尝试过使用WlanSetProfileEapXmlUserData函数来设置MsChapV2:Username和MsChapV2:Password。它会缓存凭据,但不会永久保存它们。
更新:成功找到存储在HKLM\SOFTWARE\Microsoft\Wlansvc\UserData\Profiles\{GUID}中的用户数据,但是它已经被加密了。我猜测CryptProtectData被用来加密它。如果我知道使用的盐是什么就好了。
我尝试过使用WlanSetProfileEapXmlUserData函数来设置MsChapV2:Username和MsChapV2:Password。它会缓存凭据,但不会永久保存它们。
更新:成功找到存储在HKLM\SOFTWARE\Microsoft\Wlansvc\UserData\Profiles\{GUID}中的用户数据,但是它已经被加密了。我猜测CryptProtectData被用来加密它。如果我知道使用的盐是什么就好了。
netsh wlan
子命令。嗯,想了想,抱歉。这是我会做的事情。即启动IDA,然后检查我知道实现我想要查看的内容的东西,看它是如何工作的。 - 0xC0000022Lnetshell.dll
。查看一下Wlanapi.dll
中的函数(在 W7 中引入)。它们可能会帮助你入门。 - 0xC0000022LCryptProtectData
并不是直接从Wlanapi.dll
调用的,而是通过某些其他函数通过 RPC 调用的。我们需要深入了解。 - pupkinsenwlansvc.dll
中找到了CryptProtectData
调用。看起来这就是我需要的。没有盐,也没有LOCAL_MACHINE
标志。因此,只有本地系统用户才能解码加密数据。我已经成功解码了Windows创建的一些配置文件数据,它们以某种二进制格式存在。我怀疑EapHostPeerCredentialsXml2Blob
在这里起了作用。 - pupkinsen