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

9.6 KiB

3389 - Pentesting RDP

Aprenda hacking AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde reconhecimento até relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.

{% embed url="https://pentest-tools.com/" %}

Informações Básicas

Desenvolvido pela Microsoft, o Protocolo de Área de Trabalho Remota (RDP) é projetado para permitir uma conexão de interface gráfica entre computadores em uma rede. Para estabelecer essa 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 do ambiente de área de trabalho de um computador remoto, trazendo essencialmente 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ática

{% code overflow="wrap" %}

nmap --script "rdp-enum-encryption or rdp-vuln-ms12-020 or rdp-ntlm-info" -p 3389 -T4 <IP>

{% endcode %}

Verifica a criptografia disponível e a vulnerabilidade de DoS (sem causar DoS ao serviço) e obtém informações do Windows NTLM (versões).

Força bruta

Cuidado, você pode bloquear contas

Spraying de Senha

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 conhecidas

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 contra serviços RDP

O rdp_check.py do Impacket permite que você verifique se algumas credenciais são válidas para um serviço RDP:

rdp_check <domain>/<name>:<password>@<IP>

Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconhecimento até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.

{% embed url="https://pentest-tools.com/" %}

Ataques

Roubo de sessão

Com permissões do SISTEMA, você pode acessar qualquer sessão RDP aberta por qualquer usuário sem precisar saber 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 terá que se passar por um usuário usando apenas ferramentas e recursos do Windows.

Importante: Ao acessar uma sessão RDP ativa, você encerrará a sessão do usuário que a estava utilizando.

Você poderia obter senhas do processo fazendo dump, mas este método é muito mais rápido e permite interagir com as áreas de trabalho virtuais do usuário (senhas em notepad 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:

ts::sessions        #Get sessions
ts::remote /id:2    #Connect to the session

Sticky-keys & Utilman

Combinando esta técnica com stickykeys ou utilman você será capaz de 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 usando: https://github.com/linuz/Sticky-Keys-Slayer

Injeção de Processo RDP

Se alguém de um domínio diferente ou com privilégios superiores fizer login via RDP no PC onde você é um Administrador, 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 com Windows da Microsoft. Essa vulnerabilidade (listada como um recurso pela Microsoft) permite que um atacante remoto veja a área de trabalho de sua vítima sem seu consentimento, e até mesmo controle-a sob demanda, usando ferramentas nativas do próprio sistema operacional.

  • EvilRDP
  • Controlar o mouse e o 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
  • Iniciar 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/do alvo mesmo quando as transferências de arquivos estão desativadas no alvo
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}

Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.

{% embed url="https://pentest-tools.com/" %}

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks: