Risposta a un incidente
Ortofrutta Rossi, stanotte: qualcuno è entrato nel server del gestionale. Non basta capire che cosa è successo, serve un intervento in quattro tempi. Rileva l'attacco nei log, individua chi è entrato davvero e con quale account, trova ciò che l'intruso ha lasciato per tornare e documenta tutto nel rapporto giusto.
Laboratorio 6 di 6 del percorso Blue Team / Difesa. Se ti blocchi hai 3 aiuti, dal più vago al più preciso: costano 0, 60 e 150 XP.
Cosa impari
Gli obiettivi si completano da soli mentre lavori nel terminale; ognuno vale punti esperienza:
- RILEVARE: individuare i tentativi falliti nel log (grep Failed) (150 XP)
- CONTENERE: trovare l'accesso riuscito da fuori (200 XP)
- RIPULIRE: elencare i programmi SUID (find -perm -4000) (200 XP)
- DOCUMENTARE: decodificare il rapporto con i tre dati giusti (150 XP)
Argomenti: defense, incident-response, log, suid.
I comandi che userai
Il terminale è simulato e capisce una quarantina di comandi Linux. In questo laboratorio ti servono soprattutto questi:
cat: stampa il contenuto di un file: il modo più diretto di leggere configurazioni, note e registri.grep: cerca le righe che contengono una parola, anche in intere cartelle con -r. È lo strumento principale per analizzare testo e registri.cut: estrae una colonna da ogni riga scegliendo il separatore, per isolare un campo preciso di un registro.sort: ordina le righe, anche in ordine numerico (-n) o al contrario (-r).uniq: toglie le righe ripetute una dopo l'altra e con -c le conta: insieme a sort crea classifiche, come quella degli indirizzi più insistenti.head: mostra solo le prime righe di un file, utile per capire il formato di un registro senza leggerlo tutto.tail: mostra le ultime righe di un file, cioè gli eventi più recenti di un registro.find: cerca file per nome, tipo o permessi in tutto un albero di cartelle; in un audit scova chiavi, copie dimenticate e programmi con permessi pericolosi.ls: elenca i file di una cartella; con -l mostra permessi e proprietari, con -a anche i file nascosti. È il primo comando su qualunque macchina.base64: codifica e decodifica il Base64, il formato che trasforma byte in testo. Non protegge niente: si annulla senza chiave.|: la barra verticale | collega i comandi: l'uscita del primo diventa l'ingresso del successivo, così piccoli strumenti formano un'analisi completa.
L'ambiente simulato
Lavori su una shell Linux simulata, nella home dell'utente runner: file e cartelle inventati, nessun bersaglio in rete.
Oltre alla home c'è un sistema simulato completo, con file di configurazione, registri, utenti e permessi da esaminare.
La lezione di difesa
A laboratorio risolto, il writeup spiega cosa è andato storto e come ci si protegge:
Un incidente si gestisce in quattro tempi: rilevare (i log mostrano l'attacco), contenere (chi è entrato davvero, con quale account: non sempre è chi insiste di più), ripulire (programmi SUID in più, attività pianificate, chiavi e account nuovi: ciò che permette all'intruso di tornare) e documentare (cosa è successo, cosa è stato toccato, cosa si è fatto). Le cause di fondo sono due: una password debole su un account di servizio e un sudo troppo largo. Difesa: chiavi al posto delle password, privilegi minimi per gli account di servizio, segmentazione della rete (il backup non deve poter arrivare dappertutto), controlli periodici di SUID e cron, log inviati a un server separato.
Prima e dopo questo laboratorio
Per aprirlo devi aver risolto:
- Cronologia di un incidente (Blue Team / Difesa, medio)
- Chiudere le porte inutili (Blue Team / Difesa, medio)
- Eseguibili con il bit SUID (Privilege Escalation, medio)
È uno dei laboratori finali: nessun altro laboratorio lo richiede.
Il percorso Blue Team / Difesa
Blue Team / Difesa è il percorso di chi protegge. Leggi i registri degli accessi, conti i tentativi falliti per scoprire chi sta forzando un login, ricostruisci la cronologia di un incidente, confronti una configurazione SSH con quella consigliata, chiudi i servizi inutili e gestisci una risposta a un incidente in quattro tempi: rilevare, contenere, ripulire, documentare. I comandi sono gli stessi degli altri percorsi, ma usati con gli occhi di chi deve capire cosa è successo e impedire che succeda di nuovo.