Où et comment le mot de passe est-il stocké pour le compte associé à un service Windows?

10

Dans HKLM \ SYSTEM \ CurrentControlSet \ Services \ MY-SERVICE-NAME, il y a la Object Nameclé qui contient le nom de l'utilisateur, mais je ne trouve pas le mot de passe.

J'essaie de comprendre comment l'API DP interagit avec la gestion des services Windows et avec le processus de service lui-même.

Merci!

Adi Roiban
la source

Réponses:

12

Les mots de passe des services Windows sont stockés dans le registre sous:

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

Lorsque vous configurez un service Windows pour qu'il s'exécute sous un autre compte, le Gestionnaire de contrôle des services utilise la LsaStorePrivateDatafonction pour stocker le mot de passe et la LsaRetrievePrivateDatafonction correspondante pour le récupérer.

Il s'agit donc d'un cryptage réversible, mais désolé, l'algorithme et la technique de cryptage exacts ne sont pas publiquement documentés. Et vous aider à faire de l'ingénierie inverse serait amusant, mais ce n'est pas une bonne idée pour moi.

Ryan Ries
la source
2
Merci! Juste une note: l'autorisation de registre par défaut ne vous permettra pas de lister le contenu de HKEY_LOCAL_MACHINE\SECURITYet il semblera vide. À des fins éducatives, vous pouvez mettre à jour l'autorisation et accorder un droit complet aux administrateurs. Sur la base de vos informations, j'ai également trouvé cette page passcape.com/index.php?section=docsys&cmd=details&id=23
Adi Roiban
2
J'ai également trouvé ce post moyix.blogspot.ro/2008/02/decrypting-lsa-secrets.html
Adi Roiban
ps. si quelqu'un utilise toujours Windows 2000 (nous avons un système hérité qui le fait toujours!) et veut exécuter un processus sous le compte système, la version actuelle de psexec ne semble pas fonctionner. Cependant, le planificateur Windows ( atcommande) peut être utilisé: verbalprocessor.com/2007/12/05/…
JohnLBevan
2

Bien que la méthode de cryptage réelle ne soit pas claire, accéder aux données et demander au système d'exploitation de les décrypter en votre nom est un processus bien défini - à l'aide de PowerShell ou de l' outil NirSoft LSASecretsView .

Royce Williams
la source