Cos'è una CTF e come iniziare
Una CTF (Capture The Flag, «cattura la bandiera») è una gara di sicurezza informatica in cui si risolvono sfide per trovare una stringa segreta, il flag, e guadagnare punti. È il modo più divertente e legale di allenarsi: i bersagli sono costruiti apposta per essere attaccati, e ogni sfida insegna una tecnica reale.
I formati principali
- Jeopardy: una griglia di sfide indipendenti divise per categoria e punteggio, da risolvere nell'ordine che preferisci. È il formato giusto per cominciare.
- Attacco-difesa: ogni squadra gestisce un proprio server con alcuni servizi vulnerabili, deve correggerli e allo stesso tempo sfruttare quelli degli avversari. Qui si impara davvero a difendere.
- King of the Hill e altri formati misti: una macchina da conquistare e mantenere.
Le categorie di sfide
- Web: trovare errori in un sito (cookie, pagine dimenticate, input non controllati).
- Crittografia e codifiche: decifrare messaggi, riconoscere codifiche come Base64 o esadecimale.
- Forensics: analizzare file, registri di sistema e catture di rete per ricostruire cosa è successo.
- Reverse engineering: capire come funziona un programma senza averne il codice.
- Pwn: sfruttare errori di memoria nei programmi (la categoria più tecnica).
- OSINT e miscellanea: raccogliere informazioni da fonti pubbliche, enigmi e sfide di logica.
Un esempio concreto: la tua prima sfida
Immagina una sfida da 10 punti: «Il flag è nascosto da qualche parte nella cartella di lavoro». Con la shell Linux, che è la base di quasi tutte le CTF, potresti procedere così:
$ ls
nota.txt documenti
$ ls -a
. .. .nascosto nota.txt documenti
$ cat .nascosto
CTF{questo_e_un_esempio}
Il trucco era un file il cui nome comincia con il punto: ls semplice non lo mostra, ls -a sì. Quando trovi il flag lo invii alla piattaforma, che verifica che sia giusto e ti assegna i punti. Il formato cambia da gara a gara (CTF{...}, flag{...}, il nome della competizione), e le regole dicono sempre qual è.
Come iniziare, passo dopo passo
- Impara la shell Linux.
ls,cd,cat,grep,find, le pipe: leggi la guida ai comandi Linux per la sicurezza. - Studia le codifiche e le basi del web: cos'è una richiesta HTTP, cos'è un cookie, perché Base64 non è crittografia.
- Scegli una piattaforma per principianti: picoCTF, OverTheWire (giochi come «Bandit») e TryHackMe offrono percorsi guidati dal livello zero.
- Leggi i writeup delle sfide che non riesci a risolvere: è il metodo di studio più efficace, e subito dopo riprova da solo.
- Entra in una squadra e in una gara vera. Il sito CTFtime elenca le competizioni in arrivo; in Italia ci sono OliCyber.IT per le scuole superiori e CyberChallenge.IT per i giovani fino ai 24 anni.
Dall’attacco alla difesa: perché le CTF servono a chi difende
Chi sa come si trova un file dimenticato, come si legge un'intestazione che rivela troppo o come si decodifica un segreto mal protetto sa anche dove cercare i propri errori. Ogni sfida risolta è una lezione su cosa non lasciare in giro: file nascosti con segreti, cookie modificabili, messaggi d'errore chiacchieroni, password di fabbrica. Le gare di attacco-difesa e i laboratori con il writeup finale trasformano questa conoscenza in abitudini di difesa.
Le regole d'oro: gioca solo sui bersagli messi a disposizione dalla gara, rispetta il regolamento e non condividere i flag durante la competizione. Gli stessi strumenti usati su sistemi che non sono tuoi sono illegali.