Chiudere le porte inutili
Il server del Magazzino Verdi «ha sempre funzionato così». Più servizi ascoltano, più porte può bussare qualcuno. Scopri cosa è aperto su questa macchina, confrontalo con l'inventario dei servizi autorizzati e vai a sentire cosa dice il servizio che non dovrebbe esserci.
Laboratorio 5 di 6 del percorso Blue Team / Difesa. Se ti blocchi hai 3 aiuti, dal più vago al più preciso: costano 0, 40 e 100 XP.
Cosa impari
Gli obiettivi si completano da soli mentre lavori nel terminale; ognuno vale punti esperienza:
- Scansionare le porte aperte con nmap (80 XP)
- Leggere l'inventario dei servizi autorizzati (80 XP)
- Trovare dove è configurato il servizio in chiaro (grep -r) (100 XP)
- Leggere il banner del servizio dimenticato (nc) (140 XP)
Argomenti: defense, hardening, nmap, superficie.
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.nmap: scopre gli host attivi di una rete e le porte aperte di una macchina, con servizi e versioni. Chi difende lo usa per confrontare la rete vera con l'inventario.grep: cerca le righe che contengono una parola, anche in intere cartelle con -r. È lo strumento principale per analizzare testo e registri.nc: netcat apre una connessione grezza verso una porta e mostra cosa risponde il servizio, compreso il suo messaggio di benvenuto (banner).
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.
Sulla macchina girano anche servizi locali:
- FTP: il vecchio trasferimento di file che manda credenziali e dati in chiaro; oggi si sostituisce con SFTP.
- SSH: l'accesso remoto cifrato alla riga di comando; si protegge con le chiavi al posto delle password e senza login diretto come root.
- Web (HTTP): un server web con pagine, API o pannelli di gestione: la parte più esposta di quasi ogni organizzazione.
- Telnet: l'accesso remoto senza cifratura: password e comandi viaggiano in chiaro e chiunque sulla rete può leggerli.
- Database: un database (MySQL, MariaDB o PostgreSQL), che dovrebbe rispondere solo ai servizi che lo usano e mai a tutta la rete.
La lezione di difesa
A laboratorio risolto, il writeup spiega cosa è andato storto e come ci si protegge:
Ogni servizio in ascolto è superficie d'attacco: va giustificato o spento. Un inventario dei servizi autorizzati (e un nmap periodico per confrontarlo con la realtà) fa emergere le dimenticanze: un vecchio telnet su una porta insolita, un FTP superato da SFTP, un database aperto a tutta la rete invece che a 127.0.0.1. Telnet e FTP mandano le password in chiaro: le legge chiunque sia sulla rete. Difesa: spegnere ciò che non serve, far ascoltare i servizi interni solo su localhost, filtrare le porte con un firewall e togliere i banner che raccontano troppo.
Prima e dopo questo laboratorio
Per aprirlo devi aver risolto:
- Banner dei servizi (Recon & Scanning, facile)
- Hardening di SSH (Blue Team / Difesa, medio)
Dopo questo laboratorio puoi passare a:
- Risposta a un incidente (Blue Team / Difesa, difficile)
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.