Gdzie i jak przechowywane jest hasło do konta powiązanego z usługą Windows?

10

W HKLM \ SYSTEM \ CurrentControlSet \ Services \ MY-SERVICE-NAME znajduje się Object Nameklucz zawierający nazwę użytkownika, ale nie mogę znaleźć hasła.

Próbuję zrozumieć, w jaki sposób DP API współdziała z zarządzaniem usługami Windows i samym procesem usługi.

Dzięki!

Adi Roiban
źródło

Odpowiedzi:

12

Hasła do usług Windows są przechowywane w rejestrze pod:

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

Podczas konfigurowania usługi Windows do działania jako inne konto Menedżer kontroli usług używa LsaStorePrivateDatafunkcji do przechowywania hasła i odpowiedniej LsaRetrievePrivateDatafunkcji do jego odzyskania.

Jest to więc pewnego rodzaju odwracalne szyfrowanie, ale przykro mi, dokładny algorytm i technika szyfrowania nie są publicznie udokumentowane. Pomaganie w dalszym inżynierii wstecznej byłoby fajne, ale nie byłby to dla mnie dobry pomysł.

Ryan Ries
źródło
2
Dzięki! Tylko uwaga: domyślne pozwolenie na rejestr nie pozwoli na wyświetlenie zawartości HKEY_LOCAL_MACHINE\SECURITYi będzie wyglądać na puste. W celach edukacyjnych możesz zaktualizować uprawnienia i zezwolić administratorom na pełne prawo. Na podstawie twoich informacji znalazłem również tę stronę passcape.com/index.php?section=docsys&cmd=details&id=23
Adi Roiban
2
Znalazłem również ten post moyix.blogspot.ro/2008/02/decrypting-lsa-secrets.html
Adi Roiban
ps. jeśli ktoś nadal korzysta z systemu Windows 2000 (mamy jeden starszy system, który nadal działa!) i chce uruchomić proces na koncie systemowym, obecna wersja psexec nie działa. atMożna jednak użyć harmonogramu ( komendy) systemu Windows : verbalprocessor.com/2007/12/05/…
JohnLBevan
2

Chociaż faktyczna metoda szyfrowania może nie być jasna, dostęp do danych i żądanie od systemu operacyjnego odszyfrowania ich w Twoim imieniu jest dobrze zdefiniowanym procesem - przy użyciu programu PowerShell lub narzędzia LSASecretsView NirSoft .

Royce Williams
źródło