如何在Windows 10下查看企业级无线网络的用户名和密码

当你记不起你学校的企业级WiFi的用户名和密码的时候,除了等到下个工作日去管理处问询,还有什么办法?如果你还有一个Windows电脑能连接这个网络,可以试试这个方法来查看存储的用户名和密码。

此方法适用于用WPA PEAP加密方式的网络,在Windows 10 1809版本测试成功。


首先先贴一个Github项目

使用方法:

  1. 下载这个程序并解压到任意目录A。
  2. 下载PSTools用于提权到SYSTEM,解压到任意目录B。
  3. 以管理员权限打开PowerShell或者CMD,进入目录B并运行psexec -s -i cmd,也可将cmd替换成powershell。
  4. 在新弹出的窗口中进入目录A,并运行EnterpriseWifiPasswordRecover.exe
  5. 关闭两个窗口,再以管理员权限打开新的PowerShell或者CMD并进入目录A,再次运行这个程序,你就能看到用户名和密码了。

简要说明一下这个程序的工作原理:

  1. 本机所有连接过的WiFi记录都在这个目录:
    %PROGRAMDATA%Microsoft\Wlansvc\Profiles\Interfaces\ 
    里面每一个文件夹代表一个连接过这台电脑的无线网卡,每个网卡文件夹下都会有一堆xml文件,每一个文件代表你连结果的WiFi网络,里面存有各个网络的SSID、加密方式还有密码。密码不是以明文方式存储的,但可以通过网络设置来解密读取明文
    • WPA2 预共享密钥也在这里,以16进制储存,需要转换到二进制后用这个C#函数来解密:
      ProtectedData.Unprotect(data, null, DataProtectionScope.LocalMachine);
      编译出来的程序需要以最高的系统权限来运行。
  2. PEAP凭据(密码)无法通过这种方式读取,他们存储在注册表里:
    HKEY_CURRENT_USER\Software\Microsoft\Wlansvc\UserData\Profiles\
    里面每一项对应你用过的每一个凭据,也就是说你之前改过密码,新的凭据不会覆盖旧的。这个凭据也是被加密过的,而且需要以最高的系统权限来解密。
  3. 与解密WPA2 预共享密钥一样,以系统权限运行这个程序来解密密钥,得到二进制的明文密码。
  4. 以第一次使用这个网络的用户运行这个程序来将二进制的密码转换成人能看懂的字符串。
  5. 如果这个网络需要CA证书来连接,这个方法可能不管用。
  6. Windows 7未经测试,有很大几率会失败。

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.