Jeśli używasz klienta Remote Desktop Connection (w skrócie RDP) lub innego i łączysz się nim do serwerów musisz wiedzieć, że hasło Twojego użytkownika może być w bardzo łatwy sposób przechwycone!

Autor programu MimikatzBenjamin Delpy zrobił na Dzień Dziecka zespołom RedTeam ciekawy prezent. W nocy 31 maja wydał nową wersję 2.2.0, która oprócz przechwytywania haseł użytkowników z sesji RDP uruchomionych na serwerze/stacji roboczej (link) potrafi przechwycić „hasło z klienta RDP”! Tak, dobrze słyszycie z tego klienta, którym często łączycie się do innych serwerów.
Narzędzie wykorzystuje w tym przypadku bibliotekę „mstscax.dll”.
Wystarczy uruchomić „mimikatz.exe” na komputerze Windows skąd wykonywane jest połączenie RDP do dowolnego serwera i wpisać 2 komendy:

  • privilege::debug – wymaga lokalnego administratora na systemie lub uprawnienia SeDebugPrivilege
  • ts::mstsc – polecenie pozwalające poznać hasło użytkownika łączącego się z lokalnej maszyny sesją RDP do innego serwera

Przykład pobrania hasła użytkownika z klienta RDP

Poniżej przedstawiamy test połączenia RDP nawiązywanego ze stacji klienckiej Microsoft Windows 10 na serwer Windows 2019 (kontroler domeny).
Na komputerze z klientem RDP Windows 10 mamy uruchomione narzędzie Mimikatz.

Po wpisaniu powyższych komend byliśmy w stanie wyciągnąć z systemu hasło użytkownika KapitanHack.pl, którym zdalnie łączyliśmy się do kontrolera domeny (DC).

Co ciekawe, autor programu twierdzi, że w najnowszej wersji Mimikatz jest w stanie pobierać hasła użytkowników wykonujących sesje RDP także z nie Microsoft’owych programów klienckich takich jak freerdp lub rdesktop na Linux.
Poniżej prezentujemy zrzuty z profilu autora na Twitterze pokazujące próby poznania haseł użytkowników logujących się z klientów: xfreerdp oraz rdesktop.
W tym przypadku Mimikatz uruchamiany jest na serwerze, do którego wykonywana jest sesja.


Podsumowanie

Powyższy przypadek stanowi poważne zagrożenie dla firm, w których połączenia RDP są często wykonywane przez zwykłych użytkowników do serwerów terminali (codzienna praca) lub administratorów (administracja serwerami). Już nie tylko możemy wykradać hasła z sesji RDP na serwerze (poprzedni artykuł), ale także z klienta jaki jest na nim uruchamiany. Dobra radą jest na pewno stosowanie mechanizmu 2FA, wdrożenie Credential Guard oraz rozwiązań dobrych rozwiązań PIM/PAM.
Należy również nie zapominać o pilnowaniu i odpowiednim zarządzaniu uprawnieniami, gdyż to głownie one są źródłem ryzyka związanego z atakami na systemy.

Podziel się z innymi tym artykułem!