SOC Prime Bias: Critico

22 May 2026 07:08 UTC

RDP Esposto: La Configurazione Errata Che Ancora Ripaga Gli Attaccanti

Author Photo
SOC Prime Team linkedin icon Segui
RDP Esposto: La Configurazione Errata Che Ancora Ripaga Gli Attaccanti
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Sommario

L’articolo spiega che i servizi esposti di Remote Desktop Protocol continuano a servire come un comune vettore d’accesso iniziale per gli attaccanti. Molte organizzazioni lasciano ancora le porte RDP raggiungibili da internet pubblico, rendendole facili bersagli per la scansione automatizzata e tentativi di intrusione opportunistica. Il post evidenzia incidenti reali in cui gli attaccanti hanno abusato dell’accesso RDP aperto o di portali RDWeb esposti per entrare negli ambienti e poi espandere il loro accesso attraverso movimenti laterali.

Indagine

I casi descritti includono un’organizzazione sanitaria con una porta RDP esposta su internet, un incidente che coinvolge la compromissione tramite un portale RDWeb e un’intrusione in cui gli attaccanti hanno cambiato le impostazioni del firewall e del registro per abilitare RDP dopo aver sfruttato un dispositivo SonicWall VPN vulnerabile. In questi scenari, gli attaccanti si sono affidati a semplici comandi Windows, utilità di tunneling inverso e script di raccolta credenziali per mantenere l’accesso e muoversi più a fondo nella rete.

Mitigazione

Le difese raccomandate si concentrano sull’eliminazione dell’esposizione non necessaria di RDP, nel posizionare l’accesso RDP richiesto dietro firewall configurati correttamente, nel ruotare le credenziali dopo qualsiasi sospetta esposizione, e nell’inserire i log dei firewall e delle VPN in un SIEM per una rilevazione più rapida. L’articolo consiglia anche di implementare la copertura EDR e il monitoraggio per i cambiamenti di registro che consentono o riabilitano i servizi RDP.

Risposta

Se viene rilevata un’attività sospetta legata a RDP, i responder dovrebbero bloccare l’indirizzo IP offensivo, disabilitare il servizio RDP, annullare eventuali modifiche malevole del registro, confermare che le regole del firewall non siano state alterate e reimpostare le credenziali compromesse. Il monitoraggio continuo per tentativi ripetuti di accesso e la convalida di tutte le modifiche di configurazione sono anche essenziali.

<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>Tecnica</b> – <b>T1595.001</b><br/><b>Nome</b>: Scansione attiva: Scansione di blocchi IP<br/><b>Descrizione</b>: L’avversario sonda intervalli di indirizzi IP per individuare host vulnerabili.”] class tech_scanning_ip technique tech_scanning_vuln[“<b>Tecnica</b> – <b>T1595.002</b><br/><b>Nome</b>: Scansione attiva: Scansione delle vulnerabilità<br/><b>Descrizione</b>: Utilizza strumenti automatici per trovare vulnerabilità note nei sistemi remoti.”] class tech_scanning_vuln technique tech_valid_accounts[“<b>Tecnica</b> – <b>T1078</b><br/><b>Nome</b>: Account validi<br/><b>Descrizione</b>: Utilizzo di credenziali rubate o comunque compromesse per ottenere accesso.”] class tech_valid_accounts technique tech_disable_firewall[“<b>Tecnica</b> – <b>T1562.004</b><br/><b>Nome</b>: Disabilitare o modificare il firewall di sistema<br/><b>Descrizione</b>: Alterare la configurazione del firewall per consentire traffico in entrata come RDP.”] class tech_disable_firewall technique tech_create_modify_process[“<b>Tecnica</b> – <b>T1543</b><br/><b>Nome</b>: Creare o modificare un processo di sistema<br/><b>Descrizione</b>: Crea o modifica processi di sistema tramite configurazione del registro o del servizio.”] class tech_create_modify_process technique tech_system_services[“<b>Tecnica</b> – <b>T1569</b><br/><b>Nome</b>: Servizi di sistema<br/><b>Descrizione</b>: Manipola i servizi per eseguire codice malevolo o mantenere la persistenza.”] class tech_system_services technique tech_discovery_network[“<b>Tecnica</b> – <b>T1049</b><br/><b>Nome</b>: Scoperta delle connessioni di rete di sistema<br/><b>Descrizione</b>: Enumera le connessioni di rete attive sull’host compromesso.”] class tech_discovery_network technique %% Nodes – Tools / Commands tool_shodan[“<b>Strumento</b> – <b>Nome</b>: Shodan<br/><b>Descrizione</b>: Servizio di scansione a livello Internet utilizzato per scoprire servizi esposti come RDP.”] class tool_shodan tool tool_rdp[“<b>Strumento</b> – <b>Nome</b>: Remote Desktop Protocol (RDP)<br/><b>Descrizione</b>: Servizio di accesso remoto Windows utilizzato dopo il furto di credenziali.”] class tool_rdp tool tool_netsh[“<b>Strumento</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>Strumento</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>Strumento</b> – <b>Nome</b>: net start<br/><b>Comando</b>: net start TermService”] class tool_netstart tool tool_adv_ip_scanner[“<b>Strumento</b> – <b>Nome</b>: Advanced IP Scanner<br/><b>Descrizione</b>: Utilità GUI utilizzata per enumerare dispositivi e connessioni di rete.”] 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

Flusso d’attacco

Esecuzione della simulazione

Prerequisito: Il controllo preliminare della telemetria e del basale deve essere passato.

Ragione: Questa sezione dettaglia l’esatta esecuzione della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevazione. I comandi e la narrazione DEVONO riflettere direttamente le TTP identificate e mirano a generare l’esatta telemetria prevista dalla logica di rilevazione.

  • Narrazione dell’attacco e Comandi:

    1. Ricognizione (T1016.001): L’avversario esegue una rapida scansione della sottorete di destinazione per identificare host con la porta 3389 aperta, usando Test-NetConnection in un ciclo.
    2. Escalation dei privilegi / Manipolazione del firewall (T1021.001): Dopo aver ottenuto diritti di amministratore locale, l’attaccante utilizza netsh.exe per aggiungere una regola del firewall permissiva in entrata per RDP, esponendo così il servizio a internet.
    3. Verifica post-creazione: L’attaccante elenca le regole del firewall per confermare l’esistenza della nuova voce, quindi avvia una sessione RDP (fuori dall’ambito di questo test).
  • Script di test di regressione:

    #---------------------------------------------------------
    # Attività simulata dell'avversario – Esposizione RDP tramite netsh
    #---------------------------------------------------------
    # 1. Scansiona la sottorete locale /24 per porte RDP aperte (ricognizione benigna)
    $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 aperto su $ip"
        }
    }
    
    # 2. Aggiungi una regola del firewall che consenta RDP in entrata da qualsiasi indirizzo
    $ruleName = "TempAllowRDP_$(Get-Random -Maximum 10000)"
    $netshCmd = "advfirewall firewall add rule name=`"$ruleName`" dir=in action=allow protocol=TCP localport=3389"
    Write-Host "`n[+] Creazione della regola del firewall tramite netsh..."
    Start-Process -FilePath "$env:SystemRootSystem32netsh.exe" -ArgumentList $netshCmd -Wait -NoNewWindow
    
    # 3. Verifica l'esistenza della regola (opzionale, aiuta a confermare la telemetria)
    netsh advfirewall firewall show rule name=$ruleName
    
    # Fine dell'attacco simulato
  • Comandi di pulizia:

    #---------------------------------------------------------
    # Rimuovere la regola temporanea del firewall creata durante il test
    #---------------------------------------------------------
    $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 "[*] Eliminazione regola $r"
        netsh advfirewall firewall delete rule name=$r
    }