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

9.7 KiB

3389 - Testowanie penetracyjne RDP

Zacznij od zera i stań się ekspertem od hakowania AWS dzięki 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ą ponad 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, przejęcie kontroli i dobrą zabawę.

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

Podstawowe informacje

Rozwijany przez firmę Microsoft, Protokół Pulpitu Zdalnego (RDP) został zaprojektowany w celu 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, praktycznie przenosząc 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 o systemie 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ściowego

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 pakietu impacket pozwala sprawdzić, czy określone dane uwierzytelniające są poprawne dla usługi RDP:

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

Natychmiastowo 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ą działania od rozpoznania po 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, zdobycie dostępu do powłoki i dobrą zabawę.

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

Ataki

Kradzież sesji

Z uprawnieniami SYSTEMU 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ć RDP, które zostały już zainfekowane jedną z tych technik, korzystając z: 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 do post-eksploatacji stworzony w Powershellu, 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 środowisko 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ą działania od rozpoznania po 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, zdobycie dostępu do systemu 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: