9.3 KiB
3389 - Pentesting RDP
Aprenda hacking no AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!
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!
- Adquira o material oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção de NFTs exclusivos
- Junte-se ao grupo 💬 Discord ou ao grupo telegram ou siga-me no Twitter 🐦 @carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para os repositórios github do HackTricks e HackTricks Cloud.
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).
Porta padrão: 3389
PORT STATE SERVICE
3389/tcp open ms-wbt-server
Enumeração
Automática
{% code overflow="wrap" %}
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
Tenha cuidado, você pode bloquear contas
Spray de Senhas
Tenha cuidado, você pode bloquear contas
# 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
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:
rdp_check <domain>/<name>:<password>@<IP>
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
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:
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
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 {% endcontent-ref %}
Adicionando Usuário ao grupo RDP
net localgroup "Remote Desktop Users" UserLoginName /add
Ferramentas Automáticas
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
- 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}
<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>