Ege*_*e F 3 encryption wireless-networking passphrase windows-10
Windows 10 中使用什么加密算法和什么密钥来加密 WiFi 密码存储。我正在尝试了解这一点。
我查看了 XML 文件,C:\ProgramData\Microsoft\Wlansvc\Profiles\Interfaces\{INTERFACE UUID}
其中存储的密码似乎受到某种加密的保护。
它不可能是用户的密码,因为所有用户都可以访问它。我想不出其他什么了。
小智 5
\n\n\nWindows 10 Wifi 位置存储:
\n
对于 Windows 10(如之前版本的 Windows Vista、7 和 8),不再使用注册表来存储“无线配置管理器”的信息。现在存储了您在以下文件中提到的所有信息,
\n\nC:\\ProgramData\\Microsoft\\Wlansvc\\Profiles\\Interfaces\\{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}\\{Random-GUID}.xml\nRun Code Online (Sandbox Code Playgroud)\n\n您会发现每个无线设备都由其 GUID {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} 表示,其设置存储在具有随机 GUID 名称的 XML 文件中。
\n\n\n\n\n了解 Windows 10 加密/解密
\n
它使用“Windows 加密”功能 - (请参阅此处)。
\n\n每个加密密码开头的签名是01000000D08C9DDF0115D1118C7A00C0。所以我们可以理解“无线配置管理器”使用CryptProtectData函数来加密无线密钥和密码。
幸运的是,解密就像使用 CryptUnprotectData 一样简单,但问题是您需要将其作为系统运行。我知道可以做到这一点的方法是:
\n\npsexec64.exe -i -s cmd.exe-请参阅此处了解更多详细信息。或者以管理员身份运行 powershell,然后导航到 exe 并运行
\n\nPsExec64.exe -i -s powershell.exe \xe2\x80\x93ExecutionPolicy Bypass
(有风险但常见)通过系统进程中的远程线程注入代码 - LSASS.EXE
//\n// Wireless Key/Password Decryption Algorithm for Vista/Windows 7/Windows 8/Windows 10\n//\nvoid DecryptWiFiPassword(BYTE *buffer, DWORD dwSizeBuffer)\n{\n DATA_BLOB DataIn;\n DATA_BLOB DataOut;\n\n DataIn.pbData = buffer;\n DataIn.cbData = dwSizeBuffer;\n\n if(CryptUnprotectData(&DataIn, 0, NULL, NULL,NULL,0,&DataOut))\n {\n printf("\\n Wireless Key Password : %s", (char *) DataOut.pbData);\n\n }\n }\nRun Code Online (Sandbox Code Playgroud)\n\nCryptProtectData 和 CryptUnprotectData 函数基于什么?
\n\n数据保护应用程序编程接口解释
\n\n以下是摘自 2001 年 10 月的一篇 Microsoft 文章的简要摘要,其中包含有关 CryptProtectData 和 DPAPI 的更多信息,因为 Windows 2000 是数据保护应用程序编程接口 (API) 的开始。
\n\n此数据保护 API (DPAPI) 是一对函数调用,为用户和系统进程提供操作系统级数据保护服务。它们在系统级运行,不需要任何额外的库。数据保护是通过加密的方式进行的。因此,从那时起,任何程序都能够加密数据,除了对 DPAPI 的必要函数调用之外,不需要任何特定的加密代码。这些调用是两个简单的函数,具有修改 DPAPI 行为的各种选项。
\n\nDPAPI需要密码来保护信息,因此它是一种基于密码的数据保护服务。这种方法的缺点是它仅依赖于密码,因此 DPAPI 使用经过验证的加密例程,特别是强大的 Triple-DES 算法和强大的密钥来确保保护。
\n\nDPAPI 最初生成一个称为 MasterKey 的强密钥,该密钥受用户密码的保护。DPAPI 使用称为“基于密码的密钥派生”的标准加密过程,如 PKCS #5(基于密码的加密标准 2.1)(请参阅此处的 PKCS wiki)中所述,从密码生成密钥。然后将此密码派生密钥与 Triple-DES 一起使用(请参阅此处的 wiki)一起使用来加密 MasterKey,最后将其存储在用户的配置文件目录中。
\n\n要熟悉 DPAPI,请阅读此处的全文,并在此处查看有关 DPAPI 故障排除的文章。
\n\n这篇文章适用于旧版本的 Windows,但据我所知,基本原理是相同的。
\n\nNirsoft.net制作了一个可在 Windows 10 中运行的免费解密程序,该公司表示 DPAPI 解密的数据始终以以下字节序列开头,因此您可以轻松检测到它:
\n\n01 00 00 00 D0 8C 9D DF 01 15 D1 11 8C 7A 00 C0 4F C2 97 EB \nRun Code Online (Sandbox Code Playgroud)\n\nNirsoft.net列出了使用 DPAPI 加密的密码和其他数据的一些示例:
\n\nC:\\Users\\[User Profile]\\AppData\\Roaming\\Microsoft\\Credentials)HKEY_CURRENT_USER\\Software\\Microsoft\\Internet Explorer\\IntelliForms\\Storage2即使他们承认,如果解密失败,“尝试通过在 lsass.exe 进程内执行代码来解密数据(需要提升)”,因此对于系统密码来说,这可能是一件困难的事情。
\n\n文章来源:
\n\n免费工具
\n\nDPAPI 和加密函数资源
\n\n例子
\n\n进一步阅读
\n\n\n\n关于如何简单编译 C 和 C++ 的想法
\n\n| 归档时间: |
|
| 查看次数: |
2213 次 |
| 最近记录: |