Cyber Division, in collaborazione con l’Università di Perugia e Digi One, ha preparato e tenuto il secondo corso di sicurezza informatica in modalità CTF. Come dettagliatamente spiegato nel precedente articolo “The Necromancer!”, un Capture the Flag (CTF) è un gioco di hacking dove team o singoli individui ricercano vulnerabilità in sistemi e software, al fine di sfruttarle per collezionare le varie flag (bandiere) nascoste sul sistema bersaglio. La sfida consiste quindi in una risoluzione di puzzle logici finalizzati a capire come funzionano le varie vulnerabilità e come abusare di un sistema.

Nello specifico caso della lezione tenuta presso la Facoltà di Informatica dell’università di Perugia, la scelta è ricaduta sulla CTF “NoName” per intraprendere un viaggio nell’ambito della crittografia.
In particolare, per arrivare a recuperare l’ultima flag sono stati necessari cinque achievements, ognuno dei quali racchiude preziose chiavi di conoscenza che hanno avvicinato alla risoluzione della sfida.

1. Cifrario di Cesare e ROT13

Per incominciare, è stato spiegato il funzionamento e l’utilizzo del Cifrario di Cesare. Si tratta di un algoritmo crittografico, nello specifico un cifrario a sostituzione monoalfabetica, in cui ogni lettera del testo in chiaro viene sostituita, nel testo cifrato, dalla lettera che si trova un certo numero di posizioni dopo nell’alfabeto. Il ROT13 è una variante del Cifrario di Cesare, con chiave 13. Questo significa che ogni lettera in chiaro viene cifrata sostituendola con quella posta 13 posizioni più avanti nell’alfabeto.
Questi tipi di cifrari sono detti anche cifrari a sostituzione/a scorrimento a causa del loro modo di operare: la sostituzione avviene lettera per lettera, scorrendo il testo dall’inizio alla fine.

2. Sea – Codice Morse

Un altro elemento analizzato durante la lezione, è stato il Codice Morse. Questo passaggio è stato essenziale per ricordare l’importanza di ogni singolo indizio (“sea“) e la necessità di pensare in modo trasversale per riuscire a penetrare nei sistemi, analizzando soluzioni alternative.

3. XOR

La disgiunzione esclusiva “o” (XOR) è un connettivo/operatore logico che restituisce in uscita VERO (V) solo se gli ingressi sono diversi tra di loro. Se gli ingressi sono uguali restituisce FALSO (F). L’OR esclusivo tra due proposizioni A e B solitamente si scrive A xor B, dove “XOR” sta per la traduzione inglese di “OR esclusivo”, “eXclusive OR“. Si tratta di un operatore di disgiunzione esclusiva. Questo achievement ci insegna uno dei fondamentali principi dei crittosistemi: l’importante non è tenere nascosto l’algoritmo, ma la chiave utilizzata.

4. Cifrario di Vigenere

Vigenere ci ha introdotto ad uno schema di coordinate per cifrare l’informazione.
Questo metodo è una generalizzazione del cifrario di Cesare. In questo caso, la lettera da cifrare non si sposta sempre dello stesso numero di posti, ma di un numero di posti variabile e ripetuto. Il numero si determina in base ad una parola chiave (da concordarsi tra mittente e destinatario), da scrivere ripetutamente sotto il messaggio, carattere per carattere.

5. Block Cipher, Rijndael e AES – ECB

Infine il Block Cipher ci ha condotti tra gli algoritmi di cifratura a blocchi. Questi operano su un gruppo di bit di lunghezza finita organizzati in un blocco. Procedendo tra gli standard di AES, passando dal metodo conosciuto come Rijndael, siamo infine giunti alle vulnerabilità di un suo più vecchio (deprecato) precursore ECB.

 

L’analisi di queste cinque fasi e la loro applicazione è risultata fondamentale per giungere alla conclusione della sfida. Ognuno dei concetti racchiude preziose chiavi di conoscenza che permettono di analizzare e comprendere i vari step dell’hacking, attivando una modalità di pensiero trasversale. Questo tipo di approccio aiuta ad essere maggiormente flessibili e a risolvere le criticità adottando soluzioni alternative, elemento essenziale nell’ambito della sicurezza informatica.

Di seguito, potrete trovare alcuni Link utili relativi alle CTF:

  1. CTF Site “Palestra”: https://riceteacatpanda.wtf/
  2. BlackArch_Tools: https://blackarch.org/crypto.html
  3. Link ufficiale della CTF NoName: https://ctftime.org/event/933