SOC Prime Bias: Crítico

22 May 2026 07:08 UTC

RDP Exposto: A Configuração Incorreta Que Ainda Compensa para Atacantes

Author Photo
SOC Prime Team linkedin icon Seguir
RDP Exposto: A Configuração Incorreta Que Ainda Compensa para Atacantes
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumo

O artigo explica que serviços expostos do Remote Desktop Protocol continuam a servir como um vetor comum de acesso inicial para atacantes. Muitas organizações ainda deixam portas RDP acessíveis pela internet pública, tornando-as alvos fáceis para varreduras automatizadas e tentativas oportunistas de intrusão. O post destaca incidentes do mundo real em que atacantes abusaram do acesso RDP aberto ou portais RDWeb expostos para entrar em ambientes e depois expandir seu acesso por meio de movimento lateral.

Investigação

Os casos descritos incluem uma organização de saúde com uma porta RDP exposta na internet, um incidente envolvendo comprometimento por meio de um portal RDWeb, e uma intrusão em que os atacantes alteraram as configurações de firewall e do registro para ativar o RDP após explorar um dispositivo SonicWall VPN vulnerável. Nesses cenários, os atacantes confiaram em comandos simples do Windows, utilitários de tunelamento reverso e scripts de coleta de credenciais para manter o acesso e se mover mais profundamente na rede.

Mitigação

As defesas recomendadas se concentram na eliminação da exposição desnecessária de RDP, colocando o acesso RDP necessário por trás de firewalls devidamente configurados, rotacionando credenciais após qualquer suspeita de exposição, e alimentando logs de firewall e VPN em um SIEM para uma detecção mais rápida. O artigo também recomenda implantar cobertura EDR e monitorar mudanças no registro que habilitem ou reabilitem serviços RDP.

Resposta

Se atividade suspeita relacionada ao RDP for detectada, os respondedores devem bloquear o endereço IP ofensivo, desativar o serviço RDP, reverter quaisquer alterações maliciosas do registro, confirmar que as regras do firewall não foram alteradas, e redefinir as credenciais afetadas. O monitoramento contínuo para tentativas de acesso repetidas e a validação de todas as mudanças de configuração são também essenciais.

<div class="wp-block-socprime-category-attack-flow attack-flow-class" data-title="Attack Flow" data-attack-flow="graph TB %% Class Definitions classDef technique fill:#ffcc99 classDef action fill:#99ccff classDef tool fill:#cccccc classDef operator fill:#ff9900 %% Nodes – Techniques tech_scanning_ip["<b>Technique</b> – <b>T1595.001</b><br/><b>Name</b>: Active Scanning: Scanning IP Blocks<br/><b>Description</b>: Adversary probes ranges of IP addresses to locate vulnerable hosts."] class tech_scanning_ip technique tech_scanning_vuln["<b>Technique</b> – <b>T1595.002</b><br/><b>Name</b>: Active Scanning: Vulnerability Scanning<br/><b>Description</b>: Uses automated tools to find known vulnerabilities in remote systems."] class tech_scanning_vuln technique tech_valid_accounts["<b>Technique</b> – <b>T1078</b><br/><b>Name</b>: Valid Accounts<br/><b>Description</b>: Use of stolen or otherwise compromised credentials to gain access."] class tech_valid_accounts technique tech_disable_firewall["<b>Technique</b> – <b>T1562.004</b><br/><b>Name</b>: Disable or Modify System Firewall<br/><b>Description</b>: Alters firewall configuration to allow inbound traffic such as RDP."] class tech_disable_firewall technique tech_create_modify_process["<b>Technique</b> – <b>T1543</b><br/><b>Name</b>: Create or Modify System Process<br/><b>Description</b>: Creates or changes system processes via registry or service configuration."] class tech_create_modify_process technique tech_system_services["<b>Technique</b> – <b>T1569</b><br/><b>Name</b>: System Services<br/><b>Description</b>: Manipulates services to execute malicious code or maintain persistence."] class tech_system_services technique tech_discovery_network["<b>Technique</b> – <b>T1049</b><br/><b>Name</b>: System Network Connections Discovery<br/><b>Description</b>: Enumerates active network connections on the compromised host."] class tech_discovery_network technique %% Nodes – Tools / Commands tool_shodan["<b>Tool</b> – <b>Name</b>: Shodan<br/><b>Description</b>: Internet‑wide scanning service used to discover exposed services such as RDP."] class tool_shodan tool tool_rdp["<b>Tool</b> – <b>Name</b>: Remote Desktop Protocol (RDP)<br/><b>Description</b>: Windows remote login service leveraged after credential theft."] class tool_rdp tool tool_netsh["<b>Tool</b> – <b>Name</b>: netsh<br/><b>Command</b>: netsh advfirewall add rule name='RDP-Open' dir=in protocol=TCP localport=3389 action=allow enable=yes"] class tool_netsh tool tool_reg["<b>Tool</b> – <b>Name</b>: reg.exe<br/><b>Command</b>: reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f"] class tool_reg tool tool_netstart["<b>Tool</b> – <b>Name</b>: net start<br/><b>Command</b>: net start TermService"] class tool_netstart tool tool_adv_ip_scanner["<b>Tool</b> – <b>Name</b>: Advanced IP Scanner<br/><b>Description

graph TB %% Class Definitions classDef technique fill:#ffcc99 classDef action fill:#99ccff classDef tool fill:#cccccc classDef operator fill:#ff9900 %% Nodes – Techniques tech_scanning_ip[“<b>Técnica</b> – <b>T1595.001</b><br/><b>Nome</b>: Varredura Ativa: Varredura de Blocos IP<br/><b>Descrição</b>: O adversário sonda intervalos de endereços IP para localizar hosts vulneráveis.”] class tech_scanning_ip technique tech_scanning_vuln[“<b>Técnica</b> – <b>T1595.002</b><br/><b>Nome</b>: Varredura Ativa: Varredura de Vulnerabilidade<br/><b>Descrição</b>: Usa ferramentas automatizadas para encontrar vulnerabilidades conhecidas em sistemas remotos.”] class tech_scanning_vuln technique tech_valid_accounts[“<b>Técnica</b> – <b>T1078</b><br/><b>Nome</b>: Contas Válidas<br/><b>Descrição</b>: Uso de credenciais roubadas ou de outra forma comprometidas para obter acesso.”] class tech_valid_accounts technique tech_disable_firewall[“<b>Técnica</b> – <b>T1562.004</b><br/><b>Nome</b>: Desativar ou Modificar o Firewall do Sistema<br/><b>Descrição</b>: Altera a configuração do firewall para permitir tráfego de entrada, como RDP.”] class tech_disable_firewall technique tech_create_modify_process[“<b>Técnica</b> – <b>T1543</b><br/><b>Nome</b>: Criar ou Modificar Processos do Sistema<br/><b>Descrição</b>: Cria ou altera processos do sistema via configuração de registro ou serviço.”] class tech_create_modify_process technique tech_system_services[“<b>Técnica</b> – <b>T1569</b><br/><b>Nome</b>: Serviços do Sistema<br/><b>Descrição</b>: Manipula serviços para executar código malicioso ou manter a persistência.”] class tech_system_services technique tech_discovery_network[“<b>Técnica</b> – <b>T1049</b><br/><b>Nome</b>: Descoberta de Conexões de Rede do Sistema<br/><b>Descrição</b>: Enumera conexões de rede ativas no host comprometido.”] class tech_discovery_network technique %% Nodes – Tools / Commands tool_shodan[“<b>Ferramenta</b> – <b>Nome</b>: Shodan<br/><b>Descrição</b>: Serviço de varredura de internet usado para descobrir serviços expostos, como RDP.”] class tool_shodan tool tool_rdp[“<b>Ferramenta</b> – <b>Nome</b>: Remote Desktop Protocol (RDP)<br/><b>Descrição</b>: Serviço de login remoto do Windows utilizado após roubo de credenciais.”] class tool_rdp tool tool_netsh[“<b>Ferramenta</b> – <b>Nome</b>: netsh<br/><b>Comando</b>: netsh advfirewall add rule name=’RDP-Open’ dir=in protocol=TCP localport=3389 action=allow enable=yes”] class tool_netsh tool tool_reg[“<b>Ferramenta</b> – <b>Nome</b>: reg.exe<br/><b>Comando</b>: reg add “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server” /v fDenyTSConnections /t REG_DWORD /d 0 /f”] class tool_reg tool tool_netstart[“<b>Ferramenta</b> – <b>Nome</b>: net start<br/><b>Comando</b>: net start TermService”] class tool_netstart tool tool_adv_ip_scanner[“<b>Ferramenta</b> – <b>Nome</b>: Advanced IP Scanner<br/><b>Descrição</b>: Utilitário de interface gráfica usado para enumerar dispositivos e conexões de rede.”] class tool_adv_ip_scanner tool %% Connections – Attack Flow tech_scanning_ip –>|uses| tool_shodan tech_scanning_ip –>|leads_to| tech_scanning_vuln tech_scanning_vuln –>|leads_to| tech_valid_accounts tech_valid_accounts –>|uses| tool_rdp tool_rdp –>|enables| tech_disable_firewall tech_disable_firewall –>|uses| tool_netsh tech_disable_firewall –>|leads_to| tech_create_modify_process tech_create_modify_process –>|uses| tool_reg tech_create_modify_process –>|leads_to| tech_system_services tech_system_services –>|uses| tool_netstart tech_valid_accounts –>|reused_for| tech_valid_accounts tech_valid_accounts –>|leads_to| tech_discovery_network tech_discovery_network –>|uses| tool_adv_ip_scanner

Fluxo de Ataque

Execução de Simulação

Pré-requisito: O Check de Pré-vôo de Telemetria & Baseline deve ter passado.

Justificativa: Esta seção detalha a execução precisa da técnica do adversário (TTP) projetada para acionar a regra de detecção. Os comandos e a narrativa DEVEM refletir diretamente os TTPs identificados e visam gerar a telemetria exata esperada pela lógica de detecção.

  • Narrativa de Ataque & Comandos:

    1. Reconhecimento (T1016.001): O adversário realiza uma varredura rápida do sub-rede alvo para identificar hosts com a porta 3389 aberta, usando Test-NetConnection em um loop.
    2. Escalação de Privilégio / Manipulação de Firewall (T1021.001): Tendo obtido direitos de administrador local, o atacante usa netsh.exe para adicionar uma regra de firewall de entrada permissiva para RDP, expondo assim o serviço à internet.
    3. Verificação Pós-criação: O atacante lista as regras do firewall para confirmar que a nova entrada existe, então inicia uma sessão RDP (fora do escopo deste teste).
  • Script de Teste de Regressão:

    #---------------------------------------------------------
    # Atividade Simulada do Adversário – Exposição RDP via netsh
    #---------------------------------------------------------
    # 1. Escaneie a sub-rede local /24 para portas RDP abertas (recon benigno)
    $subnet = "10.0.0."
    1..254 | ForEach-Object {
        $ip = "$subnet$_"
        $result = Test-NetConnection -ComputerName $ip -Port 3389 -WarningAction SilentlyContinue
        if ($result.TcpTestSucceeded) {
            Write-Host "[+] RDP aberto em $ip"
        }
    }
    
    # 2. Adicione uma regra de firewall que permita RDP de entrada de qualquer endereço
    $ruleName = "TempAllowRDP_$(Get-Random -Maximum 10000)"
    $netshCmd = "advfirewall firewall add rule name=`"$ruleName`" dir=in action=allow protocol=TCP localport=3389"
    Write-Host "`n[+] Criando regra de firewall via netsh..."
    Start-Process -FilePath "$env:SystemRootSystem32netsh.exe" -ArgumentList $netshCmd -Wait -NoNewWindow
    
    # 3. Verifique se a regra existe (opcional, ajuda a confirmar telemetria)
    netsh advfirewall firewall show rule name=$ruleName
    
    # Fim do ataque simulado
  • Comandos de Limpeza:

    #---------------------------------------------------------
    # Remova a regra de firewall temporária criada durante o teste
    #---------------------------------------------------------
    $rulePrefix = "TempAllowRDP_"
    $rules = netsh advfirewall firewall show rule name=all |
             Select-String -Pattern $rulePrefix |
             ForEach-Object { ($_ -split 's+')[0] }
    
    foreach ($r in $rules) {
        Write-Host "[*] Excluindo regra $r"
        netsh advfirewall firewall delete rule name=$r
    }