Okazuje się, że Windows przechowuje hasła użytkowników zalogowanych podczas sesji terminalowej w postaci zwykłego tekstu, „odszyfrowane” we wszystkich wersjach Windows, aż do w pełni zaktualizowanego Windows’a 2019!
W celu ich pobrania (poznania) nie trzeba stosować żadnej dodatkowej biblioteki, wstrzykiwać kodu do pamięci oraz niepotrzebnie alokować kod w pamięci. Wystarczy pobrać i uruchomić najnowszą wersję narzędzia Mimikatz, która pojawiła się dziś w nocy oraz posiadać lokalne uprawnienia administracyjne do serwera lub uprawnienie SeDebugPrivilege.
Jak twierdzi autor programu Benjamin Delpy kod działa na Windows 2012R2/2016/2019 + Windows 10. Niestety podczas naszych testów na Windows 10 oraz Windows 2016 nie udało nam się pobrać haseł, użytkownika zalogowanego poprzez sesję terminalową.
Wynik najnowszego polecenia „ts::logonpasswords” uruchomionego w Mimikatz na naszym Windows 2016:
Być może problem był spowodowany błędem, o którym wspomina autor na swoim blogu „bad segmentation assumption”:
Czekamy na fix i będziemy dalej testować.
Jak widać Windows nadal posiada i przechowuje niezabezpieczone poświadczenia użytkowników. Wystarczy je tylko „odpowiednio” odkopać 😉
Narzędzie w rękach atakującego może popsuć życie niejednej organizacji – sprawdźcie u siebie jak wiele osób loguje się poprzez sesje terminalowe na Windows używając poświadczeń lokalnego admina?
Więcej na temat poznania haseł użytkowników Windows dowiesz się z artykułów pod linkiem.