12 KiB
3389 - Pentesting RDP
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju reklamiranu na HackTricks-u ili preuzmete HackTricks u PDF formatu Proverite SUBSCRIPTION PLANS!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.
Trenutno dostupna postavka za procenu ranjivosti i testiranje penetracije. Pokrenite puni pentest sa bilo kog mesta sa preko 20 alata i funkcija koje idu od rekonstrukcije do izveštavanja. Mi ne zamenjujemo pentestere - mi razvijamo prilagođene alate, module za detekciju i eksploataciju kako bismo im vratili neko vreme da dublje kopaju, otvaraju ljuske i zabavljaju se.
{% embed url="https://pentest-tools.com/" %}
Osnovne informacije
Razvijen od strane Microsoft-a, Remote Desktop Protocol (RDP) je dizajniran da omogući grafičko povezivanje između računara preko mreže. Da bi se uspostavila takva veza, korisnik koristi RDP klijentski softver, a istovremeno, udaljeni računar mora da koristi RDP serverski softver. Ova postavka omogućava besprekidnu kontrolu i pristup desktop okruženju udaljenog računara, suštinski donoseći njegov interfejs na lokalni uređaj korisnika.
Podrazumevani port: 3389
PORT STATE SERVICE
3389/tcp open ms-wbt-server
Enumeracija
Automatska
{% code overflow="wrap" %}
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
{% endcode %}
Proverava dostupno šifrovanje i ranjivost DoS-a (bez izazivanja DoS-a na usluzi) i dobija NTLM Windows informacije (verzije).
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
Povezivanje sa poznatim pristupnim podacima/hashom
Kada pokušavate da se povežete sa RDP (Remote Desktop Protocol) serverom, možete koristiti poznate pristupne podatke ili hash vrednosti za autentifikaciju. Ovo može biti korisno ako imate pristupnim podacima ili hash vrednostima koje su ranije procurele ili su vam dostupne iz drugih izvora.
Da biste se povezali sa RDP serverom koristeći poznate pristupne podatke, možete koristiti RDP klijent aplikaciju i uneti korisničko ime i lozinku. Ako su pristupni podaci ispravni, bićete uspešno povezani sa serverom.
Alternativno, možete koristiti hash vrednosti pristupnih podataka umesto samih podataka. Ovo je korisno kada imate hash vrednosti pristupnih podataka koje su ranije procurele ili su vam dostupne iz drugih izvora. Da biste se povezali sa RDP serverom koristeći hash vrednosti, možete koristiti alate kao što su rdp-sec-check
ili rdp-sec-check2
koji podržavaju autentifikaciju putem hash vrednosti.
Važno je napomenuti da je korišćenje poznatih pristupnih podataka ili hash vrednosti za povezivanje sa RDP serverom ilegalno, osim ako imate izričitu dozvolu vlasnika sistema. Ove tehnike se koriste samo u okviru legalnih aktivnosti testiranja penetracije.
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 pristupnih podataka za RDP servise
rdp_check.py iz impacket-a vam omogućava da proverite da li su neki pristupni podaci validni za RDP servis:
rdp_check <domain>/<name>:<password>@<IP>
Odmah dostupno podešavanje za procenu ranjivosti i testiranje prodiranja. Pokrenite potpuni test prodiranja sa bilo kog mesta sa više od 20 alata i funkcija koje idu od prikupljanja informacija do izveštavanja. Mi ne zamenjujemo testere prodiranja - mi razvijamo prilagođene alate, module za otkrivanje i eksploataciju kako bismo im vratili neko vreme da dublje istražuju, otvaraju ljuske i zabavljaju se.
{% embed url="https://pentest-tools.com/" %}
Napadi
Krađa sesije
Sa SYSTEM dozvolama možete pristupiti bilo kojoj otvorenoj RDP sesiji od strane bilo kog korisnika bez potrebe da znate lozinku vlasnika.
Dobijanje otvorenih sesija:
query user
Pristup odabranoj sesiji
Da biste dobili pristup odabranoj sesiji, možete koristiti nekoliko različitih metoda. Evo nekoliko tehnika koje možete primijeniti:
-
Brute force napad: Ova tehnika uključuje pokušaj pronalaženja ispravnih korisničkih imena i lozinki metodom pokušaja i pogreške. Možete koristiti alate poput Hydra ili Medusa za automatizaciju ovog procesa.
-
Sniffing: Sniffing je proces presretanja i analiziranja mrežnog prometa kako biste pronašli korisnička imena i lozinke. Možete koristiti alate poput Wiresharka za ovu svrhu.
-
Krađa sesije: Ova tehnika uključuje krađu aktivne sesije od drugog korisnika. Možete koristiti alate poput SessionGopher ili RDPY za izvođenje ovog napada.
-
Exploiting vulnerabilities: Ako postoje poznate ranjivosti u RDP protokolu ili aplikaciji koju koristite, možete ih iskoristiti kako biste dobili pristup sesiji. Ovdje je važno redovito pratiti sigurnosne zakrpe i ažuriranja.
-
Social engineering: Ova tehnika uključuje manipulaciju ljudima kako biste dobili pristup njihovim korisničkim imenima i lozinkama. Možete koristiti razne tehnike poput phishinga ili prevarnih telefonskih poziva.
Važno je napomenuti da je neovlašten pristup tuđoj sesiji ilegalan i može imati ozbiljne pravne posljedice. Ove tehnike treba primjenjivati samo u okviru zakona i etičkih smjernica.
tscon <ID> /dest:<SESSIONNAME>
Sada ćete biti unutar odabrane RDP sesije i moraćete se predstaviti kao korisnik koristeći samo Windows alate i funkcije.
Važno: Kada pristupite aktivnoj RDP sesiji, izbacićete korisnika koji je koristio tu sesiju.
Možete dobiti lozinke iz procesa tako što ćete ih izvući, ali ovaj metod je mnogo brži i omogućava vam interakciju sa virtuelnim desktopom 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
Lepkavi tasteri i Utilman
Kombinovanjem ove tehnike sa lepkavim tasterima ili utilmanom, moći ćete da pristupite administrativnom CMD-u i bilo kojoj RDP sesiji u bilo koje vreme
Možete pretražiti RDP-ove koji su već zaraženi jednom od ovih tehnika sa: https://github.com/linuz/Sticky-Keys-Slayer
Injekcija procesa RDP-a
Ako se neko iz druge domene ili sa boljim privilegijama prijavi putem RDP-a na računar gde vi imate administratorske privilegije, možete ubaciti svoj beacon u njegov proces RDP sesije i delovati kao on:
{% content-ref url="../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md" %} rdp-sessions-abuse.md {% endcontent-ref %}
Dodavanje korisnika u RDP grupu
net localgroup "Remote Desktop Users" UserLoginName /add
Automatski alati
AutoRDPwn je post-eksploatacijski okvir kreiran u Powershell-u, dizajniran prvenstveno za automatizaciju Shadow napada na računare sa Microsoft Windows operativnim sistemom. Ova ranjivost (koju je Microsoft navela kao funkcionalnost) omogućava udaljenom napadaču da pregleda desktop žrtve bez njenog pristanka, čak i da ga kontroliše po potrebi, koristeći alate koji su inherentni samom operativnom sistemu.
- EvilRDP
- Kontrola miša i tastature na automatizovan način putem komandne linije
- Kontrola clipboard-a na automatizovan način putem komandne linije
- Pokretanje SOCKS proxy-ja sa klijenta koji usmerava mrežnu komunikaciju ka cilju putem RDP-a
- Izvršavanje proizvoljnih SHELL i PowerShell komandi na cilju bez otpremanja fajlova
- Preuzimanje i otpremanje fajlova sa/na cilj čak i kada su transferi 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.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}
Odmah dostupno podešavanje za procenu ranjivosti i testiranje prodiranja. Pokrenite potpuni test prodiranja sa bilo kog mesta sa preko 20 alata i funkcija koje idu od istraživanja do izveštavanja. Mi ne zamenjujemo testere prodiranja - mi razvijamo prilagođene alate, module za otkrivanje i iskorišćavanje kako bismo im vratili neko vreme da dublje istražuju, otvaraju ljuske i zabavljaju se.
{% embed url="https://pentest-tools.com/" %}
Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!
Drugi načini podrške HackTricks-u:
- Ako želite da vidite vašu kompaniju oglašenu na HackTricks-u ili preuzmete HackTricks u PDF formatu Pogledajte PLANOVE ZA PRETPLATU!
- Nabavite zvanični PEASS & HackTricks swag
- Otkrijte The PEASS Family, našu kolekciju ekskluzivnih NFT-ova
- Pridružite se 💬 Discord grupi ili telegram grupi ili nas pratite na Twitter-u 🐦 @carlospolopm.
- Podelite svoje hakovanje trikove slanjem PR-ova na HackTricks i HackTricks Cloud github repozitorijume.