La sala verde della WPC (the big one) ha ospitato Lunedi pomeriggio me e Massimiliano per la presentazione della nostra doppia sessione Security WarGames.
Nell'avventura ci hanno accompagnato 3 PC tower con sopra 7 OS virtuali (1 Win2K, 4 Win2K3, 2WinXP) e i due nostri fieri portatili. Il tutto condito con un mega video switchbox per proiettare separatamente sui due maxischermi ciacuno di questi PC.
La rete progettata da Massimiliano per l'occasione non era certo quella che si può chiamare di base e composta da due firewall, web server e sql server in dmz per poi avere domain controller e client in lan.
Massimiliano inizia la sessione spiegando che non si trattava di un tutorial su come hackerare un sistema ... e proprio alle sue fatidiche parole io entro in sala attrezzato di bandana sventolando la bandiera pirata.
Si, ci sono stati applausi e risate ma forse quello che si è divertito di più sono stato proprio io .
Gli attacchi che ho portato alla struttura sono stati i più diversi. Ho conquistato dapprima una command shell remota sul sql server grazie a sql injection, poi ho fatto il dump delle password di questa macchina e ho conquistato la remote command shell del web server grazie ad un utente backup con stessa password.
Poi ho eseguito 'live' il tampering di uno smart client dotnet con ildasm e un editor esadecimale, iniettando così del mio codice eseguito da Massimiliano dal domain controller lan. Ottenuta la command remota sul domain controller ho eseguito una port redirection con IPv6 della porta 3389 e ho ottenuto la finestra di terminal server sul lan domain controller ... la disfatta totale della rete.
Tra le tante cose mostrate una bella email che, aperta semplicemente sul client interno, consegna nelle mani del sottoscritto hacker la password dell'"utonto".
Altro scenario alternativo quello del buffer overrun che ho mostrato sotto debugger.
Qui sembra tutto molto semplice ma nella preparazione non sono mancati i colpi di scena dove alcuni tool freeware non funzionavano (nati per NT4) e ho dovuto ad esempio eseguire delle modifiche e ricompilarli. Lo stesso Massimiliano ha fatto uno splendido lavoro con le sette macchine virtuali e tutte le configurazioni di DNS, policy, dns, IPv6, firewall, etc. Bravo a lui!
La descrizione che ho dato degli attacchi è sommaria ma ci sono diverse considerazioni di fondo:
- L'installazione mostrata è sicuramente al di sopra della media dell'installato nelle aziende
- Non è stato necessario usare alcuna vulnerabilità di OS o servizi ... ma questo insegna comunque che senza update continue il rischio è ancora più elevato
- La Sql Injection usata come punto di partenza sullq web application è più che realistica visto che le statistiche parlano chiaramente che questo tipo di attacco è quello più comune (>70%)
- Le "distrazioni" di Massimiliano che amministrava la rete non erano poi così inusuali
- Ci sono molti dettagli raccontati in sessione che non si possono riassumere brevemente in un blog
La morale è che la sicurezza non si può costruire con un decalogo. Ogni singola piccola dimenticanza si può trasformare in un pericoloso punto di attacco.
Infine mi preme un ringraziamento ad Anna, Daniele, Claudio e tutto il resto dello staff di WPC che hanno messo in piedi una organizzazione impeccabile.