Manomissione Firewall: Disable or Modify System Firewall (T1686)
La tecnica T1686 — Disable or Modify System Firewall descrive l'insieme di azioni con cui un attaccante altera firewall host-based o network per abbattere le barriere che ostacolano comunicazioni C2, movimento laterale o esfiltrazione. Non si tratta solo di spegnere il servizio: molto più spesso l'operatore modifica selettivamente le policy, apre porte non tradizionali per protocolli noti (come RDP su porte alte) o inietta regole che creano canali covert difficilmente distinguibili dal traffico legittimo.
La tecnica è ricondotta alla tattica TA0112 (Defense Impairment), categoria che raccoglie le manipolazioni dirette dei controlli difensivi. Nella kill chain si colloca tipicamente dopo l'ottenimento di privilegi amministrativi e prima della fase di command and control persistente o del lateral movement, funzionando da abilitatore per attività successive.
L'impatto operativo è significativo: 13 gruppi APT documentati, 15 famiglie malware, 2 campagne tracciate e 4 mitigazioni ufficiali. La superficie coperta è multipiattaforma — Windows con netsh e chiavi di registro, Linux con iptables/nftables, macOS con pfctl e socketfilterfw, ESXi con esxcli network firewall, oltre a dispositivi di rete manipolati via CLI. Attori come APT38, FIN7, ToddyCat e UNC3886 dimostrano quanto la manomissione firewall sia trasversale, dal crimine finanziario allo spionaggio state-sponsored, fino agli operatori ransomware come BlackByte e Medusa Group.
In un red team engagement la manipolazione firewall è un passaggio quasi obbligato dopo l'escalation a SYSTEM o root. Su Windows il vettore canonico resta netsh advfirewall, con sintassi allineata a quanto documentato per ToddyCat:
netsh advfirewall firewall add rule name="SGAccessInboundRule" dir=in protocol=udp action=allow localport=49683
Per profili interi è disponibile netsh advfirewall set allprofiles state off, mentre da PowerShell moderno l'equivalente pulito è Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False e New-NetFirewallRule per aggiunte granulari. Entrambi lasciano tracce nette in Event Log, quindi in scenari OPSEC-sensitive è preferibile agire sulle chiavi di registro sotto HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy, come fa ZxShell.
Su Linux il pattern di TeamTNT e BPFDoor insegna due approcci complementari: disabilitazione totale con iptables -F seguita da iptables -P INPUT ACCEPT, oppure redirezione mirata via iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 42391 per dirottare traffico verso una shell locale. Sui sistemi moderni nftables e firewalld richiedono comandi diversi (nft flush ruleset, firewall-cmd --add-port=9999/tcp --permanent), da testare in lab.
Su ESXi, seguendo la traccia di UNC3886, l'operatore usa esxcli network firewall set --enabled false oppure esxcli network firewall ruleset set --ruleset-id sshServer --enabled true per aprire canali di gestione. Su macOS il precedente di CookieMiner suggerisce enumerazione preventiva di Little Snitch (a pagamento) prima di procedere; per la disabilitazione nativa si agisce con sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate off e sudo pfctl -d.
Per emulazione controllata i tool di riferimento sono Atomic Red Team (open source), che include test dedicati a T1562.004 (predecessore diretto di T1686), Caldera (open source) di MITRE per orchestrare catene multi-step, e Sliver (open source) come C2 per validare la copertura EDR dopo l'apertura di porte non standard. Una catena realistica combina: escalation a SYSTEM, apertura di una regola inbound su porta alta, deploy di un implant che ascolta su quella porta, verifica end-to-end con un client esterno. Documentare timestamp esatti facilita al blue team la ricostruzione post-esercitazione.
Vuoi diventare un Ethical Hacker ma non sai da dove iniziare?
Accedi alle lezioni gratuite e segui il percorso corretto fin dal primo passo