与 Windows 服务关联的帐户的密码存储在何处以及如何存储?

Adi*_*ban 10 security windows windows-registry

在 HKLM\SYSTEM\CurrentControlSet\Services\MY-SERVICE-NAME 中有Object Name包含用户名的密钥,但我找不到密码。

我试图了解 DP API 如何与 Windows 服务管理和服务进程本身进行交互。

谢谢!

Rya*_*ies 13

Windows 服务的密码存储在以下注册表中:

HKEY_LOCAL_MACHINE\SECURITY\Policy\Secrets\_SC_<ServiceName>

当您将 Windows 服务配置为以不同帐户运行时,服务控制管理器使用该LsaStorePrivateData函数来存储密码,并使用相应的LsaRetrievePrivateData函数来检索密码。

所以它是某种可逆加密,但抱歉,确切的加密算法和技术没有公开记录。帮助你进一步逆向工程会很有趣,但对我来说不是一个好主意。

  • 谢谢!请注意:默认的注册表权限不允许您列出 `HKEY_LOCAL_MACHINE\SECURITY` 的内容,它看起来是空的。出于教育目的,您可以更新权限并授予管理员完全权限。根据您的信息,我还找到了这个页面 http://www.passcape.com/index.php?section=docsys&amp;cmd=details&amp;id=23 (3认同)
  • 我还发现了这篇文章 http://moyix.blogspot.ro/2008/02/decrypting-lsa-secrets.html (2认同)