Il recente attacco al segretario della Lega Nord per l’indipendenza della Padania Matteo Salvini mi ha portato a fare qualche ipotesi sul tipo di attacco che può aver subito.
Per ora abbiamo in chiaro due cose:
- L’attacco alla pagina Facebook
- L’attacco al sito web
Si parla anche di attacco alle chat Telegram di Salvini, ma non c’è ancora alcuna prova, quindi analizzerò i due attacchi palesi.
Il sito
Per prima cosa conviene analizzare il sito.
In di per sè è un normalissimo sito in Bootstrap che non fa uso di un CMS preimpostato.
Tuttavia basta scavare poco per capire che il sito fa uso di numerose procedure ASP. Tutto ciò mi porta a pensare ad una cosa.
Insecure by design
La sicurezza non è un prodotto che si installa ma un processo che va seguito e che costa tempo e soldi. Che qui non credo siano stati spesi.
Infatti il sito è sostanzialmente statico, eppure usa delle procedure ASP dinamiche. Ciò vuol dire avere un appiglio ulteriore per attacchi, che in un sito statico sono fattibili solamente attaccando l’infrastruttura mentre col dinamismo si permette anche un attacco all’applicazione.
Ma ben più preoccupante è la procedura bizantina usata per generare le pagine.
Infatti ogni pagina ha un proprio indirizzo univoco. Probabilmente ASP servirà per inserire tutto il codice grafico.
E invece no!
Preparatevi ad una bella perla.
Infatti ogni pagina viene corredata da un ID passato con una stringa del browser. Per esempio:
http://salvinipremier.it/t_milano24febbraio.asp?l2=1961
l’ID è dopo il punto di domanda
Questo ID in alcune pagine può essere cambiato liberamente. Nella home ciò non causa problemi, nelle altre pagine da errore di pagina non trovata.
E se invece di un numero mettessimo una lettera? Uno zelante filtro ce lo impedisce e dichiarerà SQL injection, ossia un tentativo malevolo di attacco.
Ma c’è un ma. Infatti quel modo di passare parametri prevede che il carattere “&” sia usato come separatore tra parametri, tipo:
www.sito.it?nome=Mario&città=Milano
E se lasciassimo un parametro vuoto? Proviamo con http://salvinipremier.it/t_home.asp?l2=&1800
Dà un errore di vbscript. Ciò vuol dire che quell’ID è effettivamente usato in qualche elaborazione.
E ciò è male, offre una superficie d’attacco importante.
Inoltre c’è un’altra vulnerabilità. Le pagine non esistenti non rimandano ad una pagina del sito ma all’errore standard. Ciò accade anche provando a scaricare nella sezione download.
Cosa possiamo dedurre?
- Il sito è hostato nella cartella/directory sitix
- Il sito usa IIS 7.5, risalente all’epoca di Windows 7. In sostanza Salvini usa un server vecchio di più di 8 anni.
Ci vuole poco a reindirizzare ad una pagina neutra, e ciò, ripeto, indica che il sito è stato progettato senza pensare alla sicurezza.
Ipotesi d’attacco
Sull’attacco ho due ipotesi principali.
Exploit del sito
È possibile che un utente abbia sfruttato le vulnerabilità del server e/o dell’applicazione per ottenere dei privilegi sul sito, come la possibilità di modificarlo o di inserire/modificare file.
Una volta caricato un file è possibile far di tutto sul server. Un esempio tipico sono le Shell.
Comunque per capire il tipo d’attacco andranno visti i file del database. Da essi si può intuire se sono presi direttamente dal server o estratti tramite altri sistemi.
Attacco alle password
L’attacco contemporaneo a Facebook e al sito può far pensare all’ottenimento di una password, debole o presa con un raggiro, usata sia su Facebook sia sul sito.
Tuttavia c’è da dire che il sito non offre un’immediata area login con poteri da admin, che comunque potrebbe essere inclusa nel login classico del sito o in un FTP.
È una forma d’attacco possibile che poi garantisce pieno accesso al sito.
Perché è pericoloso?
Qui ho trattato principalmente il sito, ma la gran parte della propaganda di Salvini si svolge su Facebook.
Anche lui bucato.
Chi basa la propria attività su più servizi Internet deve capire che per lui sono essenziali e che deve accertarsi che siano sicuri.
Pensate se l’hacking fosse avvenuto il 4 marzo e al posto di “sono gay” fosse stato un falso messaggio di lutto e anche il sito fosse stato messo in nero: Avrebbe mandato in crisi molte persone.
E valutando che il server usa un OS di 10 anni fa potrebbe anche succedere.