Onde e como a senha é armazenada para a conta associada a um serviço do Windows?


10

Em HKLM \ SYSTEM \ CurrentControlSet \ Services \ MY-SERVICE-NAME, existe a Object Namechave que contém o nome do usuário, mas não consigo encontrar a senha.

Estou tentando entender como a API DP interage com o gerenciamento de serviços do Windows e com o próprio processo de serviço.

Obrigado!

Respostas:


12

As senhas para serviços do Windows são armazenadas no registro em:

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

Quando você configura um serviço do Windows para ser executado como uma conta diferente, o Service Control Manager usa a LsaStorePrivateDatafunção para armazenar a senha e a LsaRetrievePrivateDatafunção correspondente para recuperá-la.

Portanto, é algum tipo de criptografia reversível, mas desculpe, o algoritmo e a técnica de criptografia exata não estão documentados publicamente. E ajudá-lo a fazer engenharia reversa adicional seria divertido, mas não é uma boa ideia para mim.


2
Obrigado! Apenas uma observação: a permissão de registro padrão não permitirá que você liste o conteúdo HKEY_LOCAL_MACHINE\SECURITYe ela ficará vazia. Para fins educacionais, você pode atualizar a permissão e conceder direito total aos administradores. Com base em sua informação que eu também encontrou esta página passcape.com/index.php?section=docsys&cmd=details&id=23
Adi Roiban


ps. se alguém ainda usa o Windows 2000 (ainda temos um sistema legado!) e deseja executar um processo na conta do sistema, a versão atual do psexec parece não funcionar. No entanto, o agendador do Windows ( atcomando) pode ser usado: verbalprocessor.com/2007/12/05/…
JohnLBevan

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.