Il Pesa-Nervi

«Lei parla a vanvera, giovanotto!
No, penso a dei critici con la barba».

I siti universitari visti da Google

Alcuni consigli utili per difendere i siti universitari (e non solo) da attacchi di malintenzionati, favoriti da tecniche di hacking per mezzo di Google.

Introduzione

Google è un motore di ricerca dalle enormi potenzialità. Tali potenzialità possono però anche essere sfruttate da malintenzionati, per avere accesso a dati sensibili o directory riservate, al fine di preparare un attacco contro il sito interessato dalla ricerca. Scopo del presente articolo è quello di fornire una panoramica sulle tecniche di hacking attraverso Google più comuni, al fine di prevenire qualunque tipo di fuga di informazioni o di accesso illecito a dati riservati. L'articolo si focalizzerà sul rapporto fra Google ed i domini universitari italiani, evidenziando le più efficaci contromisure da adottare per impedire che Google, da strumento di ricerca, si trasformi in strumento di offesa ai danni di tali domini. Il testo è strutturato in domande (D) e risposte (R), al fine di migliorarne la leggibilità.

D: Google è un pericolo?

R: Dipende dall'uso che se ne fa. Può essere un pericolo, se il suo uso è finalizzato a raccogliere informazioni su un sito al fine di pianificare un attacco. L'hacking attraverso Google è un tipo di hacking estremamente facile da apprendere, e questo lo rende particolarmente insidioso, poiché non sono richieste particolari conoscenze tecniche per metterlo in pratica. È sufficiente la conoscenza degli operatori di ricerca avanzati di Google (che troviamo all'indirizzo http://www.google.com/help/operators.html), unita alla pazienza nel cercare le combinazioni giuste con determinate parole chiave. Se a ciò aggiungiamo che sul Web esistono siti come http://johnny.ihackstuff.com/, dove è possibile reperire stringhe di ricerca già pronte (oltre a strumenti di scansione automatica), capiremo come quest'uso di Google possa essere particolarmente pericoloso. Google è un motore di ricerca. Il suo unico compito è quello di indicizzare pagine. Se non poniamo limiti a Google, esso indicizzerà il nostro sito dalla prima all'ultima directory, inclusi tutti i file al loro interno. Spesso è sufficiente inserire la query giusta per vedere immediatamente richiamati i link alle directory e ai file di un intero sito. Compito degli amministratori di server è quello di guidare Google nella sua opera di indicizzazione attraverso un uso accorto del file robots.txt, ricordando al contempo che è sempre buona norma evitare di lasciare informazioni sensibili sui server web.

D: I siti universitari sono insicuri?

R: La sicurezza di un sito dipende da molti fattori, compresa la capacità di prevenire possibili attacchi. I siti universitari possono diventari insicuri, come ogni altro sito, se i loro amministratori non sono in grado di prevenire eventuali attacchi mirati. I siti universitari italiani (come i loro corrispettivi anglosassoni dei domini "edu") sono particolarmente sensibili ad alcune tecniche di hacking con Google, per mezzo delle quali si riescono ad ottenere non di rado informazioni che dovrebbero rimanere riservate. Un sito dovrebbe fornire al visitatore solo l'accesso alle informazioni raggiungibili tramite i collegamenti deliberatamente inseriti nelle sue pagine web, impedendogli al contempo di avere accesso a directory riservate, come quelle amministrative. A tal fine è di solito sufficiente un uso razionale del file robots.txt. Occorre ricordare che per un buon posizionamento nei risultati forniti da Google, non è necessario che sia indicizzato tutto il sito: spesso è più che sufficiente lasciar memorizzare a Google solo i contenuti principali.

D: Qual è la tecnica di hacking con Google più diffusa?

R: Direi quella che riguarda la ricerca di listati di directory. I listati di directory sono pagine che mostrano un elenco di file e directory in tutto e per tutto simile a quello che potremo avere visualizzando le risorse del nostro computer. I listati di directory possono avere due origini: intenzionale e non intenzionale. La prima riguarda la possibilità offerta agli utenti abituali del sito (come studenti, ricercatori e professori) e agli amministratori di navigare fra le directory senza passare dalla modalità grafica; la seconda invece nasce da un'errata configurazione del server, che genera una pagina di riferimento (un index), dove questa è mancante. Come abbiamo detto, Google, a meno che non gli venga esplicitamente proibito, indicizza tutte le directory di un dominio e tutti i documenti in esse contenuti. Cercare un listato di directory è estremamente facile: ogni listato ha infatti degli elementi automaticamente aggiunti dal web server, come ad esempio l'espressione index of nel titolo della pagina. Quindi una query di ricerca su un ipotetico dominio http://www.unixx.it/ potrebbe essere:

site:unixx.it intitle:index.of

Con l'operatore site: istruisco Google a cercare in uno specifico dominio o sito; con l'operatore intitle: gli dico di cercare solo fra le pagine che abbiano come titolo "index of". Questa query può essere perfezionata aggiungendo altre parole chiave dopo index.of, come ad esempio temp, backup, src, files, _vti_cnf, images, eccetera. C'è di più: spesso queste pagine-elenco riportano alla fine la versione del web server in uso e addirittura il sistema operativo. Quindi un hacker di Google può facilmente modificare la query di base nel modo seguente:

site:unixx.it intitle:index.of server.at

L'espressione server at è quella che ricorre più di frequente, in simili pagine, come identificativo del web server in uso. Dunque è particolarmente utile, se si vuole stabilire la versione del web server senza procedere ad una scansione completa del sito. Consente insomma a un hacker di risparmiarsi tutta una serie di analisi preparatorie e di passare direttamente alla fase di verifica delle vulnerabilità e all'attacco vero e proprio.

Didascalia:
Fig.1 - L'immagine mostra l'elenco di file e directory che si ottiene dal sito di un'università italiana, dopo aver interrogato Google per mezzo degli operatori sopra descritti. Da notare, nella pagina index sopra riportata, oltre alla presenza di directory riservate accessibili, anche il nome e la versione del web server usato.

D: Come ci si difende da questa tecnica?

R: Ci sono due modi per difendersi: se alcune directory contengono materiale riservato, allora sarà bene utilizzare una password; se invece contengono sia materiale riservato che pubblico, allorà si potrà operare sul file robots.txt nel modo seguente:

User-Agent: Googlebot
Disallow: /backup
Disallow: /temp
Disallow: /src
Disallow: /files

Il file robots.txt serve al robot [1] di Google per sapere quali parti del sito indicizzare e quali saltare. Se il robot non trova nulla nella voce "Disallow", indicizzerà tutto il sito, dalla prima all'ultima directory. Il file robots.txt è un file di testo che troviamo spesso localizzato nella directory principale, o radice, di un sito. Quando un robot arriva su un sito, cerca se esiste un file robots.txt e, se esiste, ne legge il contenuto e procede nell'indicizzazione seguendo le direttive in esso specificate. Nell'esempio precedente, abbiamo detto al robot di Google di non indicizzare le directory /backup, /temp, /src e /files. Utili informazioni sul file robots.txt si trovano all'indirizzo http://www.robotstxt.org/wc/robots.html oppure sul sito italiano http://www.motoricerca.info/.

D: Hai detto che Google indicizza anche i file. Puoi fare qualche esempio?

R: Google può leggere il contenuto di un gran numero di tipi di file, non solo quelli tradizionalmente legati al Web, come .html, .php, .asp, ma anche file come .pdf, .doc, .rtf, oltre agli altri a contenuto prettamente testuale (come .txt o .log). Una tecnica di ricerca particolarmente efficace è quella consentita dall'uso dell'operatore filetype:, che cerca appunto fra i file aventi una determinata estensione. Un esempio:

site:unixx.it filetype:pdf pdf

Tale tecnica si basa sul presupposto che Google cerchi il termine inserito (in questo caso "pdf") in tutta la stringa che rappresenta l'indirizzo di una risorsa indicizzata, la cui parte terminale è costituita dall'estensione del file. La stringa di ricerca sopra indicata farà sì che Google riporti l'elenco di tutti i file PDF visibili direttamente sul sito specificato dalla clausola site:. Viene impiegata quando si ha l'intenzione di "mappare" un determinato tipo di dato sensibile non conoscendone il nome specifico.

D: Come ci si difende da questa tecnica?

R: Se vi sono dei file riservati, è bene raggrupparli in un'unica directory e poi proteggerla con una password o attraverso il file robots.txt. Nel caso in cui si volesse impedire l'indicizzazione di una particolare estensione di file, si può procedere nel modo seguente:

User-Agent: Googlebot
Disallow: /*.pdf

D: Hai parlato di accesso a pagine amministrative. Qualche esempio?

R: Un malintenzionato che voglia mappare un sito ed esplorarlo al di là dei collegamenti presenti nella sua interfaccia, può servirsi dell'operatore inurl:, abbinato ad alcune parole chiave ricorrenti, quali ad esempio:

site:unixx.it inurl:cgi-bin
site:unixx.it inurl:admin

Simili interrogazioni possono produrre come risultato la visualizzazione di pagine amministrative o di login dell'amministratore. Un malintenzionato avrà così un quadro chiaro del posizionamento di tali pagine all'interno del sito che gli interessa attaccare e potrà sfruttare questa sua conoscenza per verificare se tali accessi sono vulnerabili oppure no.

Didascalia:
Fig.2 - La pagina di accesso alla sezione di amministrazione del sito di un'università italiana, resa pericolosamente visibile a malintenzionati dall'indicizzazione non controllata di Google.

D: Come ci si difende da questa tecnica?

R: Può essere neutralizzata impedendo a Google di indicizzare le directory amministrative tramite opportune esclusioni inserite nel file robots.txt, come spiegato in precedenza.

D: Qual è la tecnica che ritieni più interessante?

R: Quella che permette l'individuazione precisa di un obiettivo potenzialmente vulnerabile, come ad esempio un forum. In molte università gli studenti dispongono di forum dove potersi confrontare e scambiare opinioni. Tali forum sono sviluppati spesso in phpBB, una piattaforma che ha avuto noti problemi di sicurezza. Un malintenzionato che voglia accertarsi della presenza di forum in phpbBB potrebbe digitare semplicemente:

site:unixx.it "powered by phpbb"

I forum sviluppati con questa tecnologia riportano infatti nelle loro pagine la dicitura powered by phpbb. Usando le virgolette ho istruito Google a cercare la frase esatta in un preciso dominio o sito, includendo anche una parola comune come "by", che normalmente sarebbe stata esclusa a meno di non usare l'operatore di inclusione "+". Considerando che i forum in phpBB sono quelli più appetibili da un hacker, per via dei citati problemi di sicurezza, è consigliabile evitare che vengano indicizzati. L'utente vi può arrivare ugualmente attraverso la pagina principale del sito a cui afferiscono e può effettuarvi ricerche usando l'apposito modulo integrato. Con questo non voglio dire che tutti i forum dovrebbero rimanere non indicizzati, ma solo quelli che hanno problemi accertati di sicurezza. In linea generale, se la piattaforma di sviluppo è aggiornata, non si corrono rischi.

D: Considerazioni finali?

R: Si, una: non dimenticate mai su un server web qualcosa che non dovrebbe essere resa pubblica. Anche la cosa che a voi può sembrare più insignificante può rivelarsi una preziosa fonte di informazioni per un malintenzionato, che si appresti a compiere azioni illegali ai vostri danni. Spesso le informazioni lasciate in giro su un server web possono sembrare solo spazzatura, ma pensiamo che dalla spazzatura gettata via da una casa è possibile ricavare informazioni decisive sui suoi abitanti.

Riferimenti bibliografici

Johnny Long, Google Hacking for Penetration Testers, Syngress editore. Per informazioni dettagliate, si veda http://libri.html.it/recensioni/libro/182.html.

[1] O spider. Lo strumento automatico usato per fare la scansione di un sito.

Articolo di Gabriele Romanato pubblicato il  1/1/2006 alle ore 20,24.

Indice del Pesa-Nervi | Diodati.org

Inizio pagina.