Hack This Site – Livello base 6: decifrare per avanzare

Avviso importante: tutte le tecniche descritte servono solo per ambienti di test come Hack This Site (HTS). Qualsiasi applicazione in contesti reali senza autorizzazione è illegale.

Dopo aver manipolato form e script nei livelli 4 e 5, il Livello 6 cambia completamente approccio: per superarlo, dovrai decifrare un messaggio protetto da un semplice algoritmo di cifratura.

Questa volta, non basta leggere la sorgente o modificare un campo hidden: devi capire la logica di trasformazione del testo e costruirne l’inverso. In pratica, fare reverse engineering.

L’algoritmo svelato

Descrizione ufficiale:

Sam che si occupa di sicurezza di rete ha criptato la sua password. Il sistema di criptaggio ha un accesso pubblico e ci si può connettere usando il format qui sotto. Per cortesia inserisci una stringa per ottenere il messaggio criptato.

Il sito ti fornisce una black box: inserisci un input, ricevi una versione trasformata. Lo scopo è dedurre che tipo di trasformazione applica per poi invertire il processo e risalire alla password cifrata.

Cos’è la cifratura?

In parole semplici:

  • Cifratura: trasformare un messaggio leggibile in una forma non leggibile
  • Decifratura: riportare quel messaggio cifrato al suo stato originale
  • Il meccanismo che realizza questa trasformazione è detto algoritmo di cifratura (o cypher)

Nel nostro caso, il sito usa una cifratura molto semplice e deterministica, che applica una trasformazione incrementale ai caratteri.

Analisi dell’algoritmo

Osservando vari test fatti da utenti (e giocando con input controllati), è possibile dedurre la logica:

  1. Ogni carattere della stringa viene convertito nel suo valore ASCII
  2. A ogni carattere viene sommato un valore crescente:
    • il primo carattere +0
    • il secondo +1
    • il terzo +2
    • e così via
  3. I valori ottenuti vengono riconvertiti in caratteri
Esempio

Input: "aaaa"

Valori ASCII: [97, 97, 97, 97]

Incrementi: [0, 1, 2, 3]

Somma: [97, 98, 99, 100]"abcd"

Quindi: "aaaa""abcd"

Come risolvere: metodo e script

Qualcuno potrebbe perdersi, anche per questo l’esercizio ci richiede di persistere. L’hacking è anche questo: avere la pazienza di comprendere e provare più volte nella ricerca della soluzione, è un trial by error.

Quindi, cosa possiamo fare? L’idea più semplice è quella di tentare di inserire, nello strumento a nostra disposizione, un codice ordinato di cifre, che sia il più semplice possibile e della stessa lunghezza del codice da decifrare.

Abbiamo 8 cifre: prendiamoci un bel foglietto a parte, scriviamoci la password. Pensiamo a che codice possa essere stato usato, per esempio inseriamo nello strumento dei numeri da 0 a 7, oppure le prime sette lettere dell’alfabeto.

A questo punto, vedendo la risposta dello strumento usato, comprendiamo che il sistema applica a ogni carattere un incremento pari alla sua posizione: il primo carattere +0, il secondo +1, il terzo +2, e così via.

Passaggi logici:

  1. Prendi ciascun carattere della stringa cifrata
  2. Converti in ASCII
  3. Sottrai la posizione dell’indice (0, 1, 2…)
  4. Riconverti il risultato in carattere

🐍 Script Python per decifrare

cipher = "a7e34:l="  # esempio qualsiasi
plaintext = "".join(
    chr(ord(c) - i)
    for i, c in enumerate(cipher)
)
print("Password:", plaintext)

🔎 Nota: "a7e34:l=" è solo un esempio fittizio. La stringa da decifrare ti verrà mostrata quando accedi al livello.

Cosa insegna questo livello

  • Pensiero critico: dare turni matematici per decifrare un’algoritmo.
  • Reverse engineering base: anche senza vedere il codice, un pattern può essere decodificato con input mirati.
  • Script come estensione della mente: un paio di righe di Python fanno luce sui meccanismi nascosti.

Riflessione personale

Ricordo quando ho affrontato questo livello: ero convinta servisse solo un trucco da “smanettone”, finché non ho capito che serviva analisi, non forza bruta. È stato uno di quei momenti “Aha!” in cui ti rendi conto che la sicurezza — anche in un contesto di gioco — è soprattutto logica e chiarezza concettuale.

APPROFONDIMENTO – Crittografia simmetrica vs asimmetrica

Anche se il livello 6 usa un algoritmo di cifratura artigianale e semplificato, è utile conoscere i due principali approcci utilizzati nella sicurezza informatica reale:

🔁 Crittografia simmetrica

  • Usa la stessa chiave per cifrare e decifrare.
  • È rapida ed efficiente, adatta a grandi volumi di dati.
  • Esempi: AES, DES, ChaCha20.
  • Sfida principale: condividere la chiave in modo sicuro.

🔐 Crittografia asimmetrica

  • Usa una coppia di chiavi: una pubblica (per cifrare) e una privata (per decifrare).
  • È più lenta, ma risolve il problema dello scambio sicuro delle chiavi.
  • Esempi: RSA, ECC (Elliptic Curve Cryptography).
  • Fondamentale in protocolli come HTTPS, firmature digitali e scambio sicuro di dati.

Nel nostro caso, anche se non usiamo un algoritmo “ufficiale”, siamo più vicini a una cifratura simmetrica: chi cifra e chi decifra devono conoscere la stessa logica di trasformazione.

Questo esercizio, pur semplice, è un ottimo trampolino per capire i meccanismi base che stanno dietro la vera crittografia moderna.

Q&A veloce

DomandaRisposta
Posso usare solo input noti?No, serve testare e trascrivere vari input per capire il pattern.
Serve sapere Python o Bash?No, ma aiuta davvero per automatizzare il calcolo.
E se l’algoritmo fosse più complesso o variabile?Allora serve un approccio analitico ancora più strutturato.
È un algoritmo reale?No, è una semplificazione pensata per esercitarsi nel ragionamento logico

In sintesi

Il Livello 6 di Hack This Site è un perfetto esercizio di logica e decodifica, che ti insegna a:

  • riconoscere un pattern da un output cifrato
  • ragionare in termini di trasformazioni reversibili
  • usare strumenti semplici (come Python) per decifrare rapidamente

Non serve “hackerare” un sistema, serve capirlo.
Ed è questo che rende l’hacking etico così affascinante.

Questo nodo della rete è alimentato da conoscenza libera e caffeina.
Se hai trovato qualcosa di utile, puoi supportarci con un caffè digitale.
👉 Offrimi un caffè

Powered by Buttondown

Lascia un commento