Vai al contenuto
Home » Blog » Come ho hackerato il Politecnico di Torino

Come ho hackerato il Politecnico di Torino

Ero indeciso tra studiare e trovare qualche falla di sicurezza all’interno del sistema informatico del Politecnico di Torino. Beh, ho optato per la seconda.
A parte il titolo volutamente clickbait, cercherò di utilizzare un linguaggio più o meno tecnico: non troppo banale per evitare di utilizzare frasi simili al titolo, ma neanche troppo tecnico per permettere di capire a chiunque cosa ho fatto (e cosa avrei potuto fare).
Iniziamo dalle cose interessanti…

Cosa avrei potuto fare

Avrei potuto ottenere i dati sensibili di tutti gli studenti del Politecnico di Torino. Per dati sensibili intendo nome, cognome, data di nascita, luogo di nascita, anno di iscrizione, corso frequentato, materie sostenute e da sostenere e voti delle relative materie. Per “tutti” intendo: studenti che stanno frequentando i corsi, studenti laureati, studenti che hanno abbandonato, studenti che hanno fatto qualche mese in Erasmus… insomma, proprio tutti coloro che hanno avuto a che fare con il Poli!

In un mondo in cui i dati valgono quasi più dei soldi, i dati personali di centinaia di migliaia di persone sarebbero stati un’ottimo metodo per guadagnare un bel po’ di soldi (ma anche un ottimo metodo per essere messo in carcere): avrei potuto vendere i dati nel mercato dei dati rubati del Dark Web.

Avrei potuto pubblicare i dati online e vedere cosa sarebbe successo. Magari, trattandosi di un’università, avrebbe avuto lo stesso interesse mediatico di Cambridge Analytica (o magari no).

Ah, con una marca da bollo di €16,00 per documento avrei anche potuto stampare certificazioni ufficiali firmate digitalmente dal Politecnico di Torino (certificazioni che in teoria dovrebbero poter richiedere soltanto gli studenti stessi).

Cosa ho fatto in realtà

Dopo aver scoperto la falla di sicurezza, ho immediatamente avvisato chi gestisce il sito web del Portale della Didattica. Come dovrebbe essere fatto da chiunque trovi un problema relativo alla sicurezza, non ho detto a nessuno di questa vulnerabilità finché non mi è stata comunicata la risoluzione del problema, per evitare che qualcuno sfruttasse la situazione per fini poco etici.

Come ho scoperto la vulnerabilità

Due anni fa sono stato selezionato per seguire un corso di sicurezza informatica, Cyberchallenge.IT, che mi ha permesso di imparare moltissimo in questo campo e mi ha fornito la curiosità necessaria a cercare delle vulnerabilità dove chiunque pensa che non siano presenti.

Il Politecnico permette di ottenere in formato PDF, direttamente dal sito web (Portale della Didattica), dei documenti ufficiali con informazioni riguardo la propria carriera universitaria. In pratica io, studente del Poli, dopo aver eseguito l’accesso al mio account, posso andare in questa sezione e scaricare questo documento contenente tutte le mie informazioni personali. Ovviamente, posso farlo solo io e nessun altro. O almeno, in teoria.

Stavo controllando quali fossero le informazioni che era possibile aggiungere a questo documento per poi stamparlo. Ero in una pagina contenente un modulo dove è possibile selezionare le proprie preferenze. Dopo aver impostato le preferenze, è necessario premere “Invio” per scaricare un’anteprima del documento generato. Premendo invio, si apre una nuova pagina alla quale vengono passati diversi parametri, tra cui il numero di matricola dello studente che ha effettuato il login. Spinto dalla curiosità, ho provato a cambiare questo numero di matricola e…

Tutorial: come (si poteva) hackerare il Politecnico di Torino

Andiamo nella sezione “Segreteria online” del Portale della Didattica e clicchiamo su “Stampa autocertificazioni”. Volendo, potete generare delle certificazioni ufficiali firmate dal Politecnico ma, come dicevo prima, si devono sganciare un po’ di soldi.

La pagina del portale dalla quale si accede alla sezione che permette di stampare le autocertificazioni

In questa pagina è possibile decidere cosa inserire nel documento. Vogliamo inserire la data di immatricolazione? Clicchiamo su “Data immatricolazione” e questa verrà aggiunta al documento. Vogliamo il Piano di Studi con voti? La Durata del Corso? Lo Storico della Carriera?
Per vedere quali dati sarebbe stato possibile rubare, selezioniamo tutto.

La pagina dalla quale è possibile impostare (sulla sinistra) cosa mostrare nel documento che verrà generato

Quindi clicchiamo “Preview” per visualizzare l’anteprima del documento. Viene effettuata una richiesta alla pagina “pdf.html”. Vengono passati diversi parametri, ma quelli che ci interessano particolarmente sono “matricola” e “username”. In realtà l’username è il numero di matricola, quindi questi due campi hanno lo stesso valore.

La richiesta alla pagina “pdf.html”

Fino a qui nulla di strano. Vediamo le risposte.

La risposta alla prima richiesta

La risposta alla seconda richiesta

Ok, la seconda risposta è un file (Content-Type: application/pdf). È il nostro file. O meglio, il mio documento contenente i miei dati sensibili. Ma fin qui tutto bene.

Proviamo a ripetere la procedura richiamando quella pagina direttamente da shell? Why not? Copiamo la richiesta ed incolliamola sulla nostra amatissima PowerShell, impostando un file come output.

Copia…
…e incolla

Inviamo e… funziona! Siamo riusciti a scaricare il nostro documento. Ok, fino a qui ancora nulla di strano: avevamo incluso i nostri cookies contenenti un token che (in teoria) permette di non consentire ad altri di accedere a risorse personali.

Bene. Ma… giusto per curiosità… cosa succederebbe se cambiassimo il numero di matricola? Sicuramente otterremmo un messaggio di errore. O magari un PDF vuoto. Ma certo!

La nuova richiesta

Ok, siamo riusciti a scaricare il file.
Dai, magari è vuoto…
Ok, il file pesa 126KB.
Dai, magari c’è scritto “ACCESSO NEGATO”…

Il documento

E invece no! Semplicemente cambiando il numero di matricola, possiamo accedere alle informazioni che vedete in foto.
Cambiamo matricola e…

Un altro documento

Boom! Ecco un altro studente, questa volta un Erasmus.

Bene ma non benissimo

La vulnerabilità, di tipo Insecure Direct Object Reference, appariva al quarto posto tra le vulnerabilità più critiche nella OWASP Top 10 2013. Nel 2017, la nuova classifica OWASP ha unito le due vulnerabilità Insecure Direct Object Reference e Missing Function Level Access Control in Broken Access Control, posizionando quest’ultima al quinto posto [OWASP Top 10 2017].

Fortunatamente, la risoluzione della vulnerabilità non si è fatta attendere. Il 23 gennaio mattina ho segnalato la grave vulnerabilità e ho ricevuto la seguente risposta il 24 gennaio pomeriggio:

Gentile studente,

la ringraziamo della segnalazione, abbiamo implementato gli opportuni controlli.

Cordiali saluti

Purtroppo, i data breach succedono a chiunque. Anche a grandi aziende come Facebook, Google, Apple o Microsoft, che dovrebbero avere la possibilità di investire maggiori somme per la sicurezza informatica. E con il continuo aumentare dei dati che le singole aziende (o enti pubblici) hanno a disposizione, diventa sempre più difficile gestirli in modo sicuro. Ciò che spero io (come chiunque tenga un minimo alla privacy) è che la scoperta di questa vulnerabilità abbia fatto capire che quello che sarebbe stato possibile ottenere non sia assolutamente da sottovalutare. Rendere pubbliche scoperte del genere ritengo sia essenziale per spingere gli enti a prestare maggiore attenzione alla sicurezza, ma anche per spingere noi stessi a stare più attenti a chi stiamo fornendo i nostri dati personali, le nostre foto o i nostri referti medici.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *