¿Dónde y cómo se almacena la contraseña para la cuenta asociada con un servicio de Windows?


10

En HKLM \ SYSTEM \ CurrentControlSet \ Services \ MY-SERVICE-NAME hay una Object Nameclave que contiene el nombre del usuario, pero no puedo encontrar la contraseña.

Estoy tratando de entender cómo interactúa DP API con la administración de servicios de Windows y con el proceso de servicio en sí.

¡Gracias!

Respuestas:


12

Las contraseñas para los servicios de Windows se almacenan en el registro en:

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

Cuando configura un servicio de Windows para que se ejecute como una cuenta diferente, el Administrador de control de servicios utiliza la LsaStorePrivateDatafunción para almacenar la contraseña y la LsaRetrievePrivateDatafunción correspondiente para recuperarla.

Por lo tanto, es un tipo de cifrado reversible, pero lo siento, el algoritmo y la técnica de cifrado exactos no están documentados públicamente. Y ayudarlo a realizar ingeniería inversa adicional sería divertido, pero no es una buena idea para mí.


2
¡Gracias! Solo una nota: el permiso de registro predeterminado no le permitirá enumerar el contenido HKEY_LOCAL_MACHINE\SECURITYy se verá vacío. Con fines educativos, puede actualizar el permiso y permitir el pleno derecho a los administradores. Basado en su información, también encontré esta página passcape.com/index.php?section=docsys&cmd=details&id=23
Adi Roiban

2
También encontré esta publicación moyix.blogspot.ro/2008/02/decrypting-lsa-secrets.html
Adi Roiban

PD. Si alguien sigue usando Windows 2000 (¡tenemos un sistema heredado que todavía lo hace!) y quiere ejecutar un proceso en la cuenta del sistema, la versión actual de psexec no parece funcionar. Sin embargo, el programador de Windows ( atcomando) se puede utilizar: verbalprocessor.com/2007/12/05/…
JohnLBevan

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.