Questo sito contribuisce alla audience di Il Messaggero

Come hackerare un sito

di

Sei finalmente pronto a rendere pubblico il tuo primo sito Web, frutto di una progettazione e di uno sviluppo durati molti mesi. Prima di farlo, però, vorresti chiarire un punto fondamentale che riguarda la sicurezza dello stesso: come è possibile far sì che il portale non venga attaccato da qualcuno che, armato delle peggiori intenzioni, potrebbe vanificare il tuo duro lavoro? Quali sono le tecniche usate dai criminali informatici per violare la stabilità e la sicurezza delle pagine Internet?

Se hai bisogno di trovare urgente risposta a questi interrogativi, sappi che ti trovi nel posto giusto, in un momento che non poteva essere migliore. In questo approfondimento, infatti, ti spiegherò a grandi linee come hackerare un sito: nel dettaglio, ti illustrerò quelli che sono i sistemi più comuni che i criminali informatici usano per violare portali Web di vario tipo, in modo che tu possa metterti al sicuro prima ancora di trovarti in situazioni sgradevoli.

Dunque, senza esitare oltre, ritaglia un po’ del tuo tempo libero da dedicare alla lettura di questa guida: sono certo che, al termine della stessa, sarai ben consapevole degli accorgimenti da prendere per evitare che qualcuno annulli il risultato che, con tanto impegno, sei riuscito a raggiungere. Buona lettura e in bocca al lupo per tutto!

Indice

Termini da conoscere

Come hackerare un sito

Prima ancora di analizzare la questione nel dettaglio e di illustrarti alcune tecniche usate dai criminali informatici per hackerare un sito Web, è bene che tu conosca il significato di alcuni termini che userò nel corso di questa guida, strettamente collegati all’argomento che mi accingo a trattare.

  • Backdoor – è un canale d’accesso che i criminali informatici lasciano aperto di proposito, in modo da poter rientrare nel server Web anche dopo l’attacco, con semplicità. Backdoor significa, letteralmente, “porta sul retro”.
  • Botnet – è il termine tecnico per definire un insieme di computer controllati da un “server di controllo”, il quale li induce a compiere una serie di operazioni per proprio conto, senza che il legittimo proprietario di ciascuna macchina ne sia a conoscenza.
  • Bug – è il termine tecnico usato per definire un errore di programmazione di un software che, in qualche modo, conduce a conseguenze sul suo funzionamento. Non sempre i bug sono strettamente collegati alla sicurezza ma, ahimè, non è raro ritrovarsi con problemi di questo tipo. Generalmente, i bug vengono risolti dagli aggiornamenti.
  • CMS – acronimo di “Content Management System”, questo termine si riferisce a un insieme di programmi e tecnologie in grado di semplificare notevolmente la realizzazione di contenuti dinamici, come, appunto, i siti Web. Un esempio tra i più famosi è WordPress.
  • Deface – è il nome di una particolare pratica attuata dai criminali informatici, che consiste nel violare un sito e stravolgerne del tutto la home page o, peggio ancora, l’intero contenuto.
  • Exploit – è il termine tecnico usato per denotare un programma progettato con lo scopo di sfruttare un bug, a pieno vantaggio del criminale informatico che lo sviluppa (o che lo utilizza).
  • Firewall – si tratta del sistema di sicurezza che protegge i dati in transito da e verso gli apparecchi informatici (server, computer, router, smartphone, tablet e così via). Può essere di tipo software, oppure hardware.
  • Patch – con questo termine si identificano le soluzioni rilasciate dai programmatori mirate alla risoluzione dei bug. In genere, le patch vengono rilasciate sotto forma di aggiornamento ma, in alcuni casi, vengono applicate manualmente.
  • 0-day – si definiscono con questa parola gli exploit di “primo pelo”, quelli non ancora noti alle software house che lavorano nell’ambito della sicurezza, né ai progettisti dei software coinvolti. In alcuni casi, gli 0-day possono rivelarsi estremamente più dannosi degli exploit comunemente conosciuti.

Come hackerare un sito

Come hackerare un sito

Fatto questo dovuto preambolo, è arrivato il momento di analizzare le tecniche usate dai criminali informatici per attaccare portali Web di vario tipo. I sistemi possono essere molteplici ma hanno quasi sempre un punto in comune: richiedono un profondo studio e un’attenta analisi del “bersaglio” dell’attacco.

Dunque, al contrario di quanto si potrebbe pensare, hackerare un sito Web HTML non è un’operazione immediata, tanto meno semplice. Oltretutto, come capirai tra breve, il successo dei criminali informatici è, nella maggior parte dei casi, riconducibile a qualche disattenzione di chi si occupa dei server su cui i siti vengono ospitati, o su chi gestisce questi ultimi.

Nelle righe successive di questo approfondimento, sarà mia cura esporti alcune delle più conosciute tecniche di hacking messe in pratica in modalità remota, cioè senza avere accesso fisico al server “vittima” (cosa che, praticamente, non capita quasi mai).

Sfruttare le vulnerabilità dei server

Come hackerare un sito

I siti Web sono delle entità informatiche e, in quanto tali, sono composti da file, che vengono generati e gestiti da appositi programmi in esecuzione su un computer (in questo caso, si parla di server Web).

Il lavoro di tali macchine non si limita alla mera esecuzione del server Web, anzi: per un corretto funzionamento dell’intero sistema è necessario tenere in esecuzione decine di software contemporaneamente, scambiando di continuo dati con il mondo esterno.

Purtroppo, è sufficiente anche un singolo bug su uno degli applicativi eseguiti per mettere in pericolo l’integrità dei dati ospitati sul server, oltre che del server stesso: le vulnerabilità più sfruttate riguardano in genere il sistema operativo in uso sul server, i suoi componenti fondamentali o, meno spesso, i driver di periferica dell’hardware.

A dispetto di ciò, progettare l’attacco ai danni di un server non è semplice: bisogna analizzare il comportamento dei programmi in esecuzione, insieme con gli eventuali bug presenti negli stessi e, per riuscirci con successo, è indispensabile bypassare le restrizioni di sicurezza imposte dai meccanismi di protezione in uso, tra cui il firewall.

Laddove il server dovesse cadere effettivamente vittima di un attacco, attraverso uno 0-day o un exploit noto, i criminali riescono in genere a forzare l’esecuzione di codice arbitrario sullo stesso, che potrebbe dar luogo a diverse conseguenze non gradevoli: lo stravolgimento dei dati sul server Web, la creazione di una backdoor per l’accesso futuro, l’aggiunta a una botnet già esistente o altre cose di questo tipo. Nel peggiore dei casi, i malintenzionati potrebbero dar luogo a una vera e propria fuga di dati.

Per difendersi, l’imperativo è quello di aggiornare sempre il sistema operativo all’ultima versione disponibile o, se possibile, applicare in tempo le patch di sicurezza distribuite dagli sviluppatori.

Sfortunatamente, i bug legati agli stessi sono abbastanza frequenti e, sebbene gli sviluppatori si impegnino per rilasciare aggiornamenti costanti, il pericolo è sempre dietro l’angolo.

Un sistema operativo non aggiornato (e quindi esposto ad exploit ben noti) potrebbe facilitare drammaticamente l’impresa dei criminali informatici, che riuscirebbero, in questo modo, ad hackerare un sito con Kali Linux o con altri metodi facilmente accessibili (ma che, fortunatamente, richiedono una buona dose di conoscenze tecniche per dare esito positivo).

Sfruttare le vulnerabilità dei componenti installati

Come hackerare un sito

Come puoi facilmente immaginare, lo stesso discorso visto nei paragrafi precedenti non è valido soltanto per il sistema operativo in esecuzione su di un server Web, ma anche per l’intero parco di programmi installati nello stesso!

Una singola vulnerabilità in un qualsiasi software (anche nel gestore del database o nel sistema di compressione delle immagini, per intenderci) potrebbe essere sufficiente per spianare la strada a un criminale informatico, consentendogli di prendere il controllo del programma, di accedere ai file e alle cartelle collegate al sito o, peggio ancora, di stravolgere il comportamento dell’intero server Web.

Anche in questo caso, la miglior strategia di difesa consiste nell’aggiornare costantemente il parco software del server e di applicare, quanto più rapidamente possibile, le eventuali patch di sicurezza rilasciate dagli sviluppatori. Tieni sempre a mente che, con una buona dose di esperienza e l’exploit/0-day giusto, un criminale potrebbe riuscire ad hackerare un sito con cmd, cioè il “semplice” Prompt dei comandi di Windows!

Sfruttare le vulnerabilità dei sistemi di autenticazione

Come hackerare un sito

Un altro usato vettore d’attacco usato dai criminali informatici più abili consiste nello sfruttare le vulnerabilità dei sistemi di autenticazione in uso per i vari siti Web.

Tanto per farti qualche esempio, l’uso di un protocollo obsoleto, di un algoritmo di cifratura violato o, peggio ancora, uno scambio di password in modalità non protetta, potrebbero consentire a un criminale di appropriarsi delle credenziali di amministrazione del portare o, peggio ancora, fornirgli pieno accesso ai dati presenti nella cartella del sito Web e/o all’interno database.

Nei casi più comuni, l’impiego di tale strategia d’attacco comporta il deface del sito Web, ossia lo stravolgimento completo dei contenuti della home page o delle altre pagine sul sito.

Laddove sul portale fosse in uso un sistema di salvataggio dei dati più usati in memoria (comunemente denominato sistema di caching), un criminale potrebbe avere accesso anche a questi ultimi, con conseguenze potenzialmente devastanti: la cache di un portale Web, in alcuni casi, potrebbe infatti contenere i dati sensibili relativi agli utenti che vi hanno avuto accesso di recente.

Una delle migliori tecniche di difesa per scongiurare questa eventualità consiste nel controllare che i dati in transito da e per il sito Web siano opportunamente protetti con cifratura SSL, configurando il server per l’utilizzo del protocollo di connessione sicura HTTPS.

Inoltre, se il sito contiene pagine di login, bisogna verificare costantemente che esse funzionino in modo corretto, specie dopo aver agito sulla cache, aver aggiornato il codice di una o più parti del portale/CMS o aver portato a termine altre operazioni di questo tipo.

Naturalmente, bisogna proteggere tutti gli accessi al sito (inclusi eventuali account amministrativi) con delle password sicure e molto complesse da indovinare. Non credo di dovermi dilungare di più su questo aspetto: dovrebbe essere, di fatto, l’abc della vita su Internet!

Sfruttare le vulnerabilità di CMS e plugin

Come hackerare un sito

Come ti ho spiegato nel capitolo iniziale di questa guida, un CMS è un sistema che consente di creare, aggiornare e gestire portali Web di vario tipo, sia semplici che complessi, senza avere particolari conoscenze in termini di programmazione. Tanto per farti un esempio, WordPress è un famosissimo CMS usato per realizzare siti dinamici, blog e altri portali di vario tipo. Anche i CMS sono programmi e, per tale motivo, possono essere soggetti a bug e malfunzionamenti di vario tipo, che possono condurre a conseguenze anche sgradevoli.

Per esempio, i problemi di sicurezza dei CMS open source vengono molto spesso “stanati” e resi noti dalla comunità di utenti: se è vero che ciò, da un lato, consente agli sviluppatori di sviluppare rapidamente patch di sicurezza, è altrettanto vere che, sul frangente opposto, aiuta i criminali informatici a creare exploit e 0-day in grado di sfruttarli. Exploit di questo tipo, purtroppo, vengono spesso usati (con discreto successo) sui siti realizzati tramite CMS non aggiornati, con tutto ciò che ne comporta.

Pertanto, se stavi proprio chiedendoti come hackerare un sito WordPress o qualsiasi altro portale Web creato a partire da un CMS, hai la tua risposta: è sufficiente analizzare la versione del sistema di gestione dei contenuti in uso e fare un po’ di ricerche riguardo le vulnerabilità ancora irrisolti. Pazienza ed esperienza potrebbero completare il lavoro!

Il discorso fatto poc’anzi vale anche per i plugin installati nei vari CMS: basta un bug all’interno di un componente di questo tipo per compromettere la stabilità del sito e del sistema di gestione dei contenuti, anche se quest’ultimo, nativamente, è esente da bug.

Al termine di questo discorso, dovresti aver già intuito che, anche in questo caso, la tecnica di difesa migliore è quella di aggiornare costantemente il CMS di partenza e i plugin installati su di esso, tenendosi costantemente informati sull’integrità di questi componenti: così facendo, è possibile rendersi conto di eventuali vulnerabilità attive, prima ancora che i criminali inizino a sfruttarle, applicando prima possibile le patch e/o gli aggiornamenti necessari.

Salvatore Aranzulla

Autore

Salvatore Aranzulla

Salvatore Aranzulla è il blogger e divulgatore informatico più letto in Italia. Noto per aver scoperto delle vulnerabilità nei siti di Google e Microsoft. Collabora con riviste di informatica e cura la rubrica tecnologica del quotidiano Il Messaggero. È il fondatore di Aranzulla.it, uno dei trenta siti più visitati d'Italia, nel quale risponde con semplicità a migliaia di dubbi di tipo informatico. Ha pubblicato per Mondadori e Mondadori Informatica.