hacktricks/network-services-pentesting/pentesting-rdp.md
2024-02-10 13:11:20 +00:00

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:

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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: