web-dev-qa-db-ja.com

Windowsサービスに関連付けられたアカウントのパスワードはどこにどのように保存されますか?

HKLM\SYSTEM\CurrentControlSet\Services\MY-SERVICE-NAMEにはObject Nameキーにはユーザーの名前が含まれていますが、パスワードが見つかりません。

DP APIがWindowsサービス管理およびサービスプロセス自体とどのように相互作用するかを理解しようとしています。

ありがとう!

10
Adi Roiban

Windowsサービスのパスワードは、次のレジストリに保存されます。

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

Windowsサービスを別のアカウントとして実行するように構成すると、サービスコントロールマネージャーはLsaStorePrivateData関数を使用してパスワードを格納し、対応するLsaRetrievePrivateData関数を使用してパスワードを取得します。

したがって、これはある種のリバーシブル暗号化ですが、申し訳ありませんが、正確な暗号化アルゴリズムと技術は公開されていません。そして、リバースエンジニアリングをさらに支援することは楽しいでしょうが、私にとっては良い考えではありません。

12
Ryan Ries

実際の暗号化方法は明確ではないかもしれませんが、データにアクセスしてOSがユーザーに代わってデータを復号化することを要求することは、明確に定義されたプロセスです PowerShell または NirSoft LSASecretsView の使用ツール。

2
Royce Williams