hacktricks/network-services-pentesting/pentesting-rdp.md

9.7 KiB

3389 - Testowanie penetracyjne RDP

Nauka hakowania AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Natychmiastowe dostępne narzędzie do oceny podatności i testowania penetracyjnego. Uruchom pełne testowanie penetracyjne z dowolnego miejsca za pomocą 20+ narzędzi i funkcji, które obejmują od rozpoznania po raportowanie. Nie zastępujemy testerów penetracyjnych - rozwijamy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby umożliwić im zagłębienie się głębiej, otwieranie powłok i dobrą zabawę.

{% embed url="https://pentest-tools.com/" %}

Podstawowe informacje

Rozwijany przez firmę Microsoft, Protokół Pulpitu Zdalnego (RDP) jest zaprojektowany do umożliwienia połączenia interfejsu graficznego między komputerami w sieci. Aby nawiązać takie połączenie, użytkownik korzysta z oprogramowania klienta RDP, a jednocześnie zdalny komputer musi działać na oprogramowaniu serwera RDP. Taka konfiguracja pozwala na płynną kontrolę i dostęp do środowiska pulpitu zdalnego komputera, co w zasadzie przynosi jego interfejs na urządzenie lokalne użytkownika.

Domyślny port: 3389

PORT     STATE SERVICE
3389/tcp open  ms-wbt-server

Wyliczanie

Automatyczne

{% code overflow="wrap" %}

nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>

{% endcode %}

Sprawdza dostępne szyfrowanie i podatność na ataki typu DoS (bez wywoływania DoS na usłudze) oraz uzyskuje informacje na temat systemu Windows NTLM (wersje).

Atak siłowy

Bądź ostrożny, możesz zablokować konta

Password Spraying

Bądź ostrożny, możesz zablokować konta

# https://github.com/galkan/crowbar
crowbar -b rdp -s 192.168.220.142/32 -U users.txt -c 'password123'
# hydra
hydra -L usernames.txt -p 'password123' 192.168.2.143 rdp

Połączenie za pomocą znanych poświadczeń/hasła-hashującego

rdesktop -u <username> <IP>
rdesktop -d <domain> -u <username> -p <password> <IP>
xfreerdp [/d:domain] /u:<username> /p:<password> /v:<IP>
xfreerdp [/d:domain] /u:<username> /pth:<hash> /v:<IP> #Pass the hash

Sprawdź znane dane uwierzytelniające w usługach RDP

rdp_check.py z impacket pozwala sprawdzić, czy określone dane uwierzytelniające są poprawne dla usługi RDP:

rdp_check <domain>/<name>:<password>@<IP>

Natychmiastowe dostępne ustawienie do oceny podatności i testów penetracyjnych. Uruchom pełne testy penetracyjne z dowolnego miejsca za pomocą ponad 20 narzędzi i funkcji, które obejmują rozpoznanie i raportowanie. Nie zastępujemy testerów penetracyjnych - tworzymy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby umożliwić im zagłębienie się głębiej, przejęcie kontroli i dobrą zabawę.

{% embed url="https://pentest-tools.com/" %}

Ataki

Kradzież sesji

Z uprawnieniami SYSTEM możesz uzyskać dostęp do otwartej sesji RDP dowolnego użytkownika bez konieczności znajomości hasła właściciela.

Pobierz otwarte sesje:

query user

Dostęp do wybranej sesji

tscon <ID> /dest:<SESSIONNAME>

Teraz będziesz wewnątrz wybranej sesji RDP i będziesz musiał podać się za użytkownika, korzystając tylko z narzędzi i funkcji systemu Windows.

Ważne: Gdy uzyskasz dostęp do aktywnej sesji RDP, wylogujesz użytkownika, który jej używał.

Możesz uzyskać hasła, dumpując proces, ale ta metoda jest znacznie szybsza i pozwala na interakcję z wirtualnymi pulpitami użytkownika (hasła w notatniku bez zapisywania ich na dysku, inne sesje RDP otwarte na innych maszynach...)

Mimikatz

Możesz również użyć Mimikatz do tego:

ts::sessions        #Get sessions
ts::remote /id:2    #Connect to the session

Sticky-keys & Utilman

Kombinując tę technikę z stickykeys lub utilman, będziesz mógł uzyskać dostęp do wiersza poleceń administratora i dowolnej sesji RDP w dowolnym momencie

Możesz wyszukać sesje RDP, które zostały już zainfekowane jedną z tych technik za pomocą: https://github.com/linuz/Sticky-Keys-Slayer

Wstrzykiwanie Procesu RDP

Jeśli ktoś z innej domeny lub z lepszymi uprawnieniami zaloguje się przez RDP do komputera, na którym jesteś administratorem, możesz wstrzyknąć swój znacznik w jego proces sesji RDP i działać jak on:

{% content-ref url="../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md" %} rdp-sessions-abuse.md {% endcontent-ref %}

Dodawanie Użytkownika do Grupy RDP

net localgroup "Remote Desktop Users" UserLoginName /add

Narzędzia automatyczne

AutoRDPwn to framework post-eksploatacyjny stworzony w Powershell, zaprojektowany głównie do automatyzacji ataku Shadow na komputery z systemem Microsoft Windows. Ta podatność (wymieniona jako funkcja przez Microsoft) pozwala zdalnemu atakującemu obejrzeć pulpit swojej ofiary bez jej zgody, a nawet kontrolować go na żądanie, korzystając z narzędzi wbudowanych w sam system operacyjny.

  • EvilRDP
  • Kontroluj myszkę i klawiaturę w zautomatyzowany sposób z wiersza poleceń
  • Kontroluj schowek w zautomatyzowany sposób z wiersza poleceń
  • Uruchom proxy SOCKS z klienta, które kieruje komunikację sieciową do celu za pośrednictwem RDP
  • Wykonuj dowolne polecenia SHELL i PowerShell na celu bez wgrywania plików
  • Wgraj i pobierz pliki z/do celu nawet wtedy, gdy transfery plików są wyłączone na celu

HackTricks Automatyczne Polecenia

Protocol_Name: RDP    #Protocol Abbreviation if there is one.
Port_Number:  3389     #Comma separated if there is more than one.
Protocol_Description: Remote Desktop Protocol         #Protocol Abbreviation Spelled out

Entry_1:
Name: Notes
Description: Notes for RDP
Note: |
Developed by Microsoft, the Remote Desktop Protocol (RDP) is designed to enable a graphical interface connection between computers over a network. To establish such a connection, RDP client software is utilized by the user, and concurrently, the remote computer is required to operate RDP server software. This setup allows for the seamless control and access of a distant computer's desktop environment, essentially bringing its interface to the user's local device.

https://book.hacktricks.xyz/pentesting/pentesting-rdp

Entry_2:
Name: Nmap
Description: Nmap with RDP Scripts
Command: nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 {IP}

Natychmiastowe dostępne narzędzia do oceny podatności i testów penetracyjnych. Uruchom pełny test penetracyjny z dowolnego miejsca za pomocą ponad 20 narzędzi i funkcji, które obejmują rozpoznanie, aż po raportowanie. Nie zastępujemy testerów penetracyjnych - rozwijamy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby umożliwić im zagłębienie się głębiej, zdobycie powłok i dobrą zabawę.

{% embed url="https://pentest-tools.com/" %}

Dowiedz się, jak hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks: