Comments
Description
Transcript
Google pericoloso
Google pericoloso – la ricerca di informazioni confidenziali Michał Piotrowski Articolo pubblicato nel numero 3/2005 della rivista hakin9 Tutti i diritti riservati. È vietato copiare e divulgare l'articolo in forma modificata. Rivista hakin9, Casa editrice Software-Wydawnictwo, via Lewartowskiego 6, 00-190 Varsavia, Polonia; [email protected] Google pericoloso – la ricerca di informazioni confidenziali Michał Piotrowski Le informazioni che dovrebbero essere protette, molto spesso sono pubblicamente accessibili. Sono rivelate – per trascuratezza o per ignoranza – dagli utenti stessi. L'effetto è tale che i dati confidenziali si trovano a portata di mano, sul Web. Basta utilizzare Google. Basi G 2 oogle risponde all'incirca all'80 per cento di tutte le query in Rete e con questo è il motore di ricerca utilizzato più spesso e volentieri. Questo si deve non soltanto al meccanismo straordinariamente efficace della generazione dei risultati, ma anche alle complesse possibilità di creazione delle query. Bisogna però ricordare che Internet è un media molto dinamico e per questo i risultati presentati da Google non sempre sono attuali. Capita che alcune pagine trovate siano scadute da tempo, e contemporaneamente molte altre simili non siano ancora state visitate da Googlebot (lo script-automa che setaccia e indicizza le risorse Web). Gli operatori di ricerca, i più importanti e più utili, assieme alla loro descrizione e l'effetto del funzionamento, sono stati presentati nella Tabella 1, invece le sezioni di documento a cui gli operatori si riferiscono durante l'esplorazione delle risorse di Rete (sull'esempio della pagina della rivista hakin9), sono presentati nella Fig. 1. Sono soltanto esempi – fare una query in Google in modo abile permette di ottenere delle informazioni molto più interessanti. www.hakin9.org Dall'articolo imparerai... • • • come trovare con l'uso di Google i database personali ed altre informazioni confidenziali, come trovare le informazioni sui sistemi e servizi di rete suscettibili ad attacchi, come trovare in Google i dispositivi di rete pubblicamente accessibili. Cosa dovresti sapere... • • dovresti saper utilizzare un browser internet, dovresti avere una conoscenza di base sul protocollo HTTP. Cenni sull'autore Michał Piotrowski è laureato in informatica. Ha un'esperienza pluriennale lavorativa come amministratore di rete e sistemista. Da oltre tre anni lavora come ispettore per la sicurezza. Attualmente è uno specialista per la sicurezza delle reti telematiche in una delle più grandi istituzioni finanziarie in Polonia. Nel tempo libero programma e si occupa di crittografia, la sua passione è il Software Libero. hakin9 N o 3/2005 Google hacking Tabella 1. Operatori di ricerca in Google Operatore Destinazione Esempio d'utilizzo site limita i risultati alle pagine che si trovano in uno specifico dominio site:google.com fox limita i risultati ai documenti contenenti una determinata frase nel titolo intitle:fox fire limita i risultati ai documenti contenenti nel titolo tutte le frasi indicate allintitle:fox fire intitle allintitle troverà tutte le pagine che si trovano nel dominio *.google.com contenenti nel testo la parola fox troverà le pagine contenenti nel titolo la parola fox e nel testo la parola fire troverà tutte le pagine contenenti nel titolo le parole fox e fire; funziona similmente ad intitle:fox intitle:fire inurl allinurl filetype, ext numrange link limita i risultati alle pagine contenenti inurl:fox fire troverà le pagine contenenti nel testo la una determinata frase nell'indirizzo parola fire e nell'indirizzo URL la parola fox URL limita i risultati alle pagine contenenti nell'indirizzo URL tutte le frasi indicate allinurl:fox fire troverà le pagine contenenti nell'indirizzo URL le parole fox e fire; funziona similmente ad limita i risultati ad un determinato tipo di documenti filetype:pdf fire limita i risultati ai documenti contenenti una cifra dal campo indicato numrange:1-100 fire inurl:fox inurl:fire restituirà i documenti PDF contenenti la parola fire, invece filetype:xls fox renderà i documenti del foglio di calcolo Excel contenenti la parola fox restituirà le pagine contenenti un numero dal campo da 1 a 100 e la parola fire. L'effetto identico si può ottenere con la query: 1..100 fire limita i risultati alle pagine contenenti link:www.google.it restituirà i documenti contenenti i link ad una determinata localizzaalmeno un link alla pagina www.google.it zione limita i risultati alle pagine con i link contenenti nella descrizione una determinata frase inanchor:fire limita i risultati ai documenti contenenti una determinata frase in testo e contemporaneamente non contenenti questa nel titolo, nei link e negli indirizzi URL allintext:"fire fox" restituirà mostra i risultati partendo da quelli in cui compare più volte la parola cercata +fire - mostra solo i risultati che non contengono una determinata parola -fire "" permette di cercare intere frasi, non soltanto parole "fire fox" restituirà viene sostituito da un singolo carattere fire.fox viene sostituito da una singola parola fire * fox OR logico "fire fox" | firefox inanchor allintext + . * | hakin9 N o 3/2005 restituirà i documenti contenenti i link che hanno la parola fire nella descrizione (non nell'indirizzo URL, a cui puntano, ma nella parte sottolineata del testo) i documenti, che hanno la frase fire fox soltanto nel testo ordina i risultati secondo la maggiore frequenza di apparizione della parola fire restituirà i documenti non contenenti la parola fire i documenti contenenti la frase fire fox restituirà i documenti contenenti le frasi fire fox, fireAfox, fire1fox, fire-fox ecc. restituirà i documenti contenenti le frasi fire the fox, fire in fox, fire or fox ecc restituirà i documenti contenenti la frase fire fox o la parola firefox www.hakin9.org 3 Fig. 1: L'utilizzo degli operatori nella ricerca sull'esempio della pagina della rivista hakin9 Fig. 2: Rilevamento del server IIS 5.0 con l'uso dell'operatore intitle Basi Cerchiamo una vittima 4 Grazie al motore di ricerca Google possiamo arrivare non soltanto alle risorse Internet comunemente accessibili, ma anche a quelle che non dovrebbero essere mai svelate. Lanciando un'adeguata query spesso otterremo dei risultati veramente sorprendenti. Cominciamo da qualcosa di semplice. Immaginiamo che in un certo programma comunemente utilizzato venga trovata una falla. Supponiamo che riguardi il server Microsoft IIS nella versione 5.0 e che un ipotetico aggressore voglia trovare alcune macchine con questo software, per attaccarle. Ovviamente potrebbe utilizzare a questo scopo qualche scanner, però preferisce www.hakin9.org utilizzare Google – lancia allora la seguente query: "Microsoft-IIS/ 5.0 Server at" intitle:index.of e, come effetto, ottiene i link ai server cercati e, più precisamente, al contenuto listato delle directory che si trovano su questi server. Succede questo perché nella configurazione standard il software IIS (e molti altri) aggiunge ad alcune pagine generate dinamicamente dei banner contenenti il proprio nome e versione (si vede questo nella Fig. 2). È un esempio d'informazione che per se stessa è innocua; per questo motivo molto spesso è ignorata e lasciata nella configurazione standard. Purtroppo è anche un'informazione che, in certe circostanze, può essere d'importanza fondamentale per un aggressore. Ulteriori esempi delle query a Google su altri tipi di server sono contenuti nella Tabella 2. Un altro modo per trovare delle versioni specifiche di server Web è la ricerca delle pagine standard che vengono fornite con essi e rese accessibili, dopo una corretta installazione. Può sembrare strano, però in Rete si trovano una moltitudine di server, il cui contenuto di default non è stato cambiato dopo l'installazione. Molto spesso sono macchine poco protette, dimenticate, e quindi un facile bersaglio per i malintenzionati. Esse si possono trovare utilizzando le query presentate nella Tabella 3. Questo metodo è molto semplice e contemporaneamente utile. Con il suo aiuto si può ottenere l'accesso ad un'immenso numero di server di rete o di sistemi operativi che adoperano delle applicazioni, in cui sono stati trovati errori, non eliminati da amministratori pigri o ignoranti. Come esempio ci serviremo di due programmi popolari: WebJeff Filemanager e Advanced Guestbook. Il primo di questi è un file manager Web che rende possibile trasmettere dei file al server e di creare, esplorare, eliminare e modificare i file che si trovano sul server. Purtroppo, WebJeff Filemanager nella versione 1.6 ha un errore che permette di leggere il contenuto di hakin9 N o 3/2005 Google hacking Tabella 2. Google – le query su vari tipi di server Web Query Server "Apache/1.3.28 Server at" intitle:index.of Apache 1.3.28 "Apache/2.0 Server at" intitle:index.of Apache 2.0 "Apache/* Server at" intitle:index.of qualsiasi versione di Apache "Microsoft-IIS/4.0 Server at" intitle:index.of Microsoft Internet Information Services 4.0 "Microsoft-IIS/5.0 Server at" intitle:index.of Microsoft Internet Information Services 5.0 "Microsoft-IIS/6.0 Server at" intitle:index.of Microsoft Internet Information Services 6.0 "Microsoft-IIS/* Server at" intitle:index.of qualsiasi versione di Microsoft Internet Information Services "Oracle HTTP Server/* Server at" intitle:index.of qualsiasi versione del server Oracle "IBM _ HTTP _ Server/* * Server at" intitle:index.of qualsiasi versione del server IBM "Netscape/* Server at" intitle:index.of qualsiasi versione del server Netscape "Red Hat Secure/*" intitle:index.of qualsiasi versione del server Red Hat Secure "HP Apache-based Web Server/*" intitle:index.of qualsiasi versione del server HP Tabella 3. Le query sulle pagine standard di postinstallazione dei server Web Query Server intitle:"Test Page for Apache Installation" "You are free" intitle:"Test Page for Apache Installation" "It worked!" "this Web site!" intitle:"Test Page for Apache Installation" "Seeing this instead" intitle:"Test Page for the SSL/TLS-aware Apache Installation" "Hey, it worked!" intitle:"Test Page for the Apache Web Server on Red Hat Linux" intitle:"Test Page for the Apache Http Server on Fedora Core" Apache 1.2.6 Apache 1.3.0–1.3.9 Apache 1.3.11–1.3.33, 2.0 Apache SSL/TLS Apache nel sistema Red Hat Apache nel sistema Fedora intitle:"Welcome to Your New Home Page!" Debian Apache nel sistema Debian intitle:"Welcome to IIS 4.0!" IIS 4.0 intitle:"Welcome to Windows 2000 Internet Services" IIS 5.0 intitle:"Welcome to Windows XP Server Internet Services" hakin9 N o 3/2005 IIS 6.0 www.hakin9.org 5 Fig. 3: La versione vulnerabile del programma WebJeff Filemanager Fig. 4: Advanced Guestbook – la pagina d'accesso un qualsiasi file che si trovi sul server, al quale possiede l'accesso un utente avviante un demone Web. Basta allora che un intruso immetta in un sistema vulnerabile l'indirizzo /index.php3?action=telecharger& fichier=/etc/passwd, e otterrà il contenuto del file /etc/passwd (vedere Fig. 3). Ovviamente per trovare dei server vulnerabili un aggressore utilizzerà Google effettuando la query: "WebJeff-Filemanager 1.6" Login. La seconda applicazione – Advanced Guestbook – è un programma scritto nel linguaggio PHP che utilizza il database SQL e che rende possibile aggiungere dei guestbook ai portali Web. Nell'aprile 2004 è stata pubblicata l'informazione su una falla riguardante la versione 2.2 di questo programma che permette (tramite iniezione del codice SQL – vedere l'Articolo Attacchi SQL Injection su PHP/MySQL in hakin9 2 /2005) di ottenere l'accesso al menu di amministrazione. Basta trovare la pagina di accesso al menu (vedere Fig. 4) e fare il login lasciando il campo username vuoto, invece nel campo password inserire ') OR ('a' = 'a, o all'inverso – il campo password lasciando vuoto, e nel campo username inserire ? or 1=1--. Il nostro aggressore d'esempio, per trovare in rete delle pagine vulnerabili, può effettuare con Google una delle seguenti query: intitle: Guestbook "Advanced Guestbook 2.2 Powered" oppure "Advanced 2.2" Username inurl:admin. Guestbook Basi Per prevenire la perdita di dati nel modo descritto, l'amministratore deve, all'occorrenza, tenere traccia di tutti i programmi che utilizza nei portali da lui mantenuti ed eseguire degli aggiornamenti nel caso appaia un errore in uno di essi. La seconda cosa di cui vale la pena prendersi cura è l'eliminazione dei banner, nomi e numeri delle versioni dei programmi da tutte le pagine o file nei quali appaiono. Informazioni sulle reti e sistemi Quasi ogni attacco ad un sistema di computer è preceduto dall’identifica- Fig. 5: Le statistiche phpSystem 6 www.hakin9.org hakin9 N o 3/2005 Google hacking zione dell'obiettivo. Questo di solito consiste nella scansione dei computer – nel tentativo di determinare i servizi in funzione, il tipo di sistema operativo e la versione del software utilizzato. Per questo scopo più frequentemente si utilizzano degli scanner tipo Nmap o amap, però esiste un'ulteriore scelta. Molti amministratori installano applicazioni Web che continuamente generano delle statistiche dal lavoro di sistema, informano sullo spazio occupato sui dischi rigidi, contengono le liste dei processi avviati o persino i log di sistema. Per uno malintenzionato sono informazioni molto preziose. Basta che interroghi Google sulle statistiche del programma phpSystem: "Generated by phpSystem", e otterrà pagine simili a quella presentata nella Fig. 5. Può anche interro- Fig. 6: Le statistiche Sysinfo Tabella 4. I programmi che creano le statistiche del lavoro di sistema Query Tipo d'informazione "Generated by phpSystem" il tipo e la versione del sistema operativo, la configurazione di hardware, gli utenti loggati, le connessioni aperte, l'occupazione della memoria e dei dischi rigidi, i punti di mount "This summary was generated by wwwstat" le statistiche del lavoro del server Web, la disposizione dei file system "These statistics were produced by getstats" le statistiche del lavoro del server Web, la disposizione dei file system "This report was generated by WebLog" le statistiche del lavoro del server Web, la disposizione dei file system intext:"Tobias Oetiker" "traffic analysis" le statistiche del lavoro del sistema nella forma del diagramma MRTG, la configurazione di rete intitle:"Apache::Status" (inurl:server-status | inurl:status.html | inurl:apache.html) la versione del server, il tipo del sistema operativo, l'elenco dei processi futuri e le connessioni attuali intitle:"ASP Stats Generator *.*" "ASP Stats l'attività del server Web, molte informazioni sui visitatori Generator" "2003-2004 weppos" intitle:"Multimon UPS status page" le statistiche del lavoro dei dispositivi UPS intitle:"statistics of" "advanced web stati- le statistiche del lavoro del server Web, le informazioni sui visitatori stics" intitle:"System Statistics" +"System and Network Information Center" intitle:"Usage Statistics for" "Generated by le statistiche del lavoro del sistema nella forma del diagramma MRTG, la configurazione di hardware, i servizi in funzione Webalizer" le statistiche del lavoro del server Web, le informazioni sui visitatori, la disposizione dei file system intitle:"Web Server Statistics for ****" le statistiche del lavoro del server Web, le informazioni sui visitatori inurl:"/axs/ax-admin.pl" -script le statistiche del lavoro del server Web, le informazioni sui visitatori inurl:"/cricket/grapher.cgi" i diagrammi MRTG del lavoro delle interfacce di rete inurl:server-info "Apache Server Informa- la versione e la configurazione del server Web, il tipo del sistema operativo, la disposizione dei file system tion" "Output produced by SysWatch *" hakin9 N o 3/2005 il tipo e la versione del sistema operativo, gli utenti loggati, l'occupazione della memoria e dei dischi rigidi, i punti di mount, i processi avviati, i log di sistema www.hakin9.org 7 così: "A syntax error has occurred" filetype:ihtml intext:LOGIN . Fig. 7: Lo sfruttamento degli errori del database Informix Fig. 8: L'errore del database MySQL gare sulle pagine generate dallo script Sysinfo: intitle:"Sysinfo * " intext:"Generated by Sysinfo * Basi written by The Gamblers.", 8 che contengono molte più informazioni sul sistema (Fig. 6). Le possibilità sono tante (le query d'esempio sulle statistiche ed informazioni create dai programmi più popolari sono contenute nella Tabella 4). Entrare in possesso di questo tipo di informazioni può incoraggiare un intruso ad eseguire un attacco al sistema trovato ed aiutarlo nella scelta degli strumenti adeguati o degli exploit. Per questo, se utilizziamo i programmi che rendono possibile il monitoring delle risorse dei nostri computer, dobbiamo assicurarci che l'accesso ad esse sia protetto e richieda di fornire una password. Cerchiamo errori I messaggi di errore HTTP possono avere per un malintenzionato una valenza straordinaria – proprio da queste informazioni si possono ottenere una moltitudine di dati sul sistema e sulla configurazione e struttura dei database. Per esempio, per trovare degli errori generati dal database Informix basta fare nel motore di ricerca la query seguente: "A syntax error has occurred" filetype:ihtml. In fin dei conti chi ha scopi malevoli troverà dei messaggi contenenti le informazioni sulla configurazione del database, sulla disposizione dei file system e a volte anche delle password (vedere Fig. 7). Per restringere i risultati soltanto alle pagine contenenti delle password, si può un po' modificare la query www.hakin9.org Informazioni ugualmente interessanti si possono ottenere dagli errori del database MySQL. Questo si vede anche sull'esempio della query "Access denied for user" "Using password" – la Fig. 8 presenta una delle pagine trovate in questo modo. Altre query d'esempio, che sfruttano tali errori, si trovano nella Tabella 5. L'unico metodo per proteggere i nostri sistemi dalla divulgazione di informazioni sugli errori consiste soprattutto, in una veloce eliminazione delle irregolarità e, se abbiamo tale possibilità nella configurazione del software in maniera tale che le informazioni sugli errori siano registrate in file appositamente destinati a uesto scopo e non inviate su pagine accessibili agli utenti. Bisogna ricordare inoltre che, anche se riusciremo in breve tempo ad eliminare gli errori (rendendo obsolete le pagine indicate da Google), un intruso può vedere una copia della pagina conservata nella cache del motore di ricerca Google. Basta che sull'elenco dei risultati clicchi sul collegamento alla copia della pagina. Per fortuna a causa dell'immensa quantità delle risorse in Internet, le copie sono mantenute nella cache per un breve periodo. Cerchiamo le password In rete si possono trovare una moltitudine di password per ogni genere di risorse – account di posta, server FTP o persino per shell di account. Questo è causato principalmente dall'ignoranza di utenti che collocano inconsapevolmente le password in luoghi pubblicamente accessibili, ma anche dalla negligenza dei produttori di software che proteggono inadeguatamente i dati degli utenti oppure non li informano della necessità di modificare la configurazione standard dei loro prodotti. Consideriamo l'esempio di WS_ FTP, un client FTP ben conosciuto e comunemente usato, che similmente alla maggioranza del software d'utilità permette di memo- hakin9 N o 3/2005 Google hacking rizzare le password per gli account. WS_FTP registra la sua configurazione e le informazioni sugli account utente nel file WS_FTP.ini. Purtroppo non tutti ci rendiamo conto del fatto che chiunque otterrà l'accesso alla configurazione del client FTP avrà nello stesso momento l'accesso alle nostre risorse. Per la verità le password conservate nel file WS_FTP.ini sono codificate, però non è una protezione sufficiente – avendo il file di configurazione, un malintenzionato può utilizzare gli strumenti che permettono di decifrare le password o, più semplicemente, installare il programma WS_FTP ed avviarlo con la nostra configurazione. Però in che modo è possibile arrivare a migliaia di file di configurazione del client WS_ FTP? Ovviamente tramite Google. Grazie alle query "Index of/" "Parent Directory" "WS _ FTP.ini" oppure filetype:ini WS _ FTP PWD è possibile ottenere una moltitudine di link ai dati ai quali si è interessati, Fig. 9: Il file di configurazione del programma WS_FTP Tabella 5. I messaggi degli errori Query Risultato "A syntax error has occurred" fi- Gli errori del database Informix – possono contenere i nomi delle funzioni, i nomi dei file, le informazioni sulla disposizione dei file, i frammenti del codice SQL e le password letype:ihtml "Access denied for user" "Using password" "The script whose uid is " "is not allowed to access" "ORA-00921: unexpected end of SQL command" "error found handling the request" cocoon filetype:xml "Invision Power Board Database Error" "Warning: mysql _ query()" "invalid query" "Error Message : Error loading required libraries." "#mysql dump" filetype:sql hakin9 N o 3/2005 gli errori d'autorizzazione – possono contenere i nomi utente, i nomi delle funzioni, le informazioni sulla disposizione dei file ed i frammenti del codice SQL gli errori PHP legati al controllo d'accesso – possono contenere i nomi dei file, i nomi delle funzioni e le informazioni sulla disposizione dei file gli errori del database Oracle – possono contenere i nomi dei file, i nomi delle funzioni e le informazioni sulla disposizione dei file gli errori del programma Cocoon – possono contenere il numero della versione di Cocoon, i nomi dei file, i nomi delle funzioni e le informazioni sulla disposizione dei file gli errori del forum di discussione Invision Power Board – possono contenere i nomi delle funzioni, i nomi dei file, le informazioni sulla disposizione dei file system e i frammenti del codice SQL gli errori del database MySQL – possono contenere i nomi degli utenti, i nomi delle funzioni, i nomi dei file e le informazioni sulla disposizione dei file gli errori degli script CGI – possono contenere le informazioni sul tipo del sistema operativo e sulla versione del software, i nomi degli utenti, i nomi dei file e le informazioni sulla disposizione dei file system gli errori del database MySQL – possono contenere le informazioni sulla struttura e sul contenuto del database www.hakin9.org 9 Tabella 6. Le password – le query d'esempio in Google Query Risultato "http://*:*@www" site le password alla pagina site, memorizzate nella forma "http://username:password@www..." filetype:bak inurl:"htaccess|passwd|shadow|ht users" filetype:mdb inurl:"account|users|admin|admin istrators|passwd|password" le copie di backup dei file, in cui si possono trovare le informazioni sui nomi degli utenti e le password i file di tipo mdb, che possono contenere le informazioni sulle password intitle:"Index of" pwd.db i file pwd.db possono contenere i nomi degli utenti e le password codificate inurl:admin inurl:backup intitle:index.of le directory contenenti nel nome le parole admin e backup "Index of/" "Parent Directory" "WS _ FTP.ini" i file di configurazione del programma WS_FTP che possono contenere le password ai server FTP filetype:ini WS _ FTP PWD ext:pwd inurl:(service|authors|administrators |users) "# -FrontPage-" filetype:sql ("passwd values ****" | "password values ****" | "pass values ****" ) i file contenenti le password del programma Microsoft FrontPage i file contenenti il codice SQL e le password aggiunte al database intitle:index.of trillian.ini i file di configurazione dell'instant messaging Trillian eggdrop filetype:user user i file di configurazione dell'ircbot Eggdrop filetype:conf slapd.conf i file di configurazione dell'applicazione OpenLDAP inurl:"wvdial.conf" intext:"password" i file di configurazione del programma WV Dial ext:ini eudora.ini i file di configurazione del programma di posta Eudora filetype:mdb inurl:users.mdb i file Microsoft Access, che possono contenere le informazioni sugli account intext:"powered by Web Wiz Journal" i siti Web che utilizzano l'applicazione Web Wiz Journal che nella configurazione standard permette di scaricare il file contenente le password; invece dell'indirizzo di default http://<host>/journal/ bisogna immettere http://<host>/journal/journal.mdb "Powered by DUclassified" -site:duware.com "Powered by DUcalendar" -site:duware.com "Powered by DUdirectory" -site:duware.com "Powered by DUclassmate" -site:duware.com "Powered by DUdownload" -site:duware.com "Powered by DUpaypal" -site:duware.com Basi "Powered by DUforum" -site:duware.com intitle:dupics inurl:(add.asp | default.asp | view.asp | voting.asp) -site:duware.com intext:"BiTBOARD v2.0" "BiTSHiFTERS Bulletin Board" 10 i siti Web che utilizzano le applicazioni DUclassified, DUcalendar, DUdirectory, DUclassmate, DUdownload, DUpaypal, DUforum o DUpics che nella configurazione standard permettono di scaricare il file contenente le password; invece dell'indirizzo di default (per DUclassified) http://<host>/duClassified/ bisogna immettere http://<host>/duClassified/_private/duclassified.mdb i siti Web che utilizzano l'applicazione Bitboard2, che nella configurazione standard permette di scaricare il file contenente le password; invece dell'indirizzo di default http://<host>/forum/ forum.php bisogna immettere http://<host>/forum/admin/data_ passwd.dat www.hakin9.org hakin9 N o 3/2005 Google hacking che per nostra ignoranza noi stessi forniamo (Fig. 9). Un altro esempio è l'applicazione Web chiamata DUclassified, che permette di aggiungere e gestire le pubblicità nei portali Internet. Nella configurazione standard di questo programma i nomi degli utenti, le password ed altri dati sono conservati nel file duclassified.mdb che si trova nella sottodirectory _private non protetta dalla lettura. Basta allora trovare un portale che utilizza DUclassifield con l'indirizzo d'esempio http://<host>/duClassified/ e cambiarlo in http://<host>/duClassified/ _private/duclassified.mdb, per ottenere in questo modo il file con le password e l'accesso illimitato alle applicazioni (lo dimostra Fig. 10). Invece per trovare i siti che utilizzano l'applicazione trattata, può aiutare la query seguente fatta in Google: "Powered by Fig. 10: Il programma DUclassified configurato standard Fig. 11: Rubrica di indirizzi violata grazie a Google In Rete • • • http://johnny.ihackstuff.com – il più grande deposito di informazioni su Google hacking, http://insecure.org/nmap/ – lo scanner di rete Nmap, http://thc.org/thc-amap/ – lo scanner amap. hakin9 N o 3/2005 www.hakin9.org DUclassified" -site:duware.com (per evitare i risultati riguardanti i siti del produttore). Una cosa curiosa è che, il produttore di DUclassified – la ditta DUware – ha creato altre applicazioni, anch'esse suscettibili ad abusi simili. In teoria tutti sappiamo che le password non si devono incollare al monitor o nascondere sotto la tastiera. Parecchie persone scrivono password nei file e li collocano nelle loro directory di casa che, contrariamente alle aspettative, sono raggiungibili da Internet. Inoltre molte di queste persone ricoprono le funzioni di amministratori di rete o simili, perciò questi file raggiungono notevoli dimensioni. È difficile fornire un principio concreto per cercare tali dati, però danno buoni risultati le combinazioni delle parole account, users, admin, administrators, passwd, password ecc, con formati di file di tipo .xls, .txt, .doc, .mdb e .pdf. Merita anche rivolgere l'attenzione alle directory che contengono nel nome le parole admin, backup o simili: inurl:admin intitle: index.of. Le query d'esempio sui dati legati alle password si possono trovare nella Tabella 6. Per rendere agli intrusi un più difficile accesso alle nostre password, dobbiamo soprattutto pensare 11 Tabella 7. La ricerca dei dati personali e dei documenti confidenziali Query Risultato filetype:xls inurl:"email.xls" i file email.xls, che possono contenere dei dati telematici "phone * * *" "address *" "e-mail" intitle:"curriculum i documenti CV vitae" "not for distribution" confidential i documenti provvisti della classificazione confidential buddylist.blt gli elenchi dei contatti dell'instant messaging AIM intitle:index.of mystuff.xml gli elenchi dei contatti dell'instant messaging Trillian filetype:ctt "msn" gli elenchi dei contatti MSN filetype:QDF QDF il database del programma finanziario Quicken intitle:index.of finances.xls i file finances.xls, che possono contenere le informazioni sui conti bancari, elenchi finanziari e i numeri delle carte di credito intitle:"Index Of" -inurl:maillog maillog size i file maillog che possono contenere i messaggi email "Network Vulnerability Assessment Report" i rapporti della ricerca sulla sicurezza di rete, dei test di penetrazione ecc. "Host Vulnerability Summary Report" filetype:pdf "Assessment Report" "This file was generated by Nessus" Tabella 8. Le sequenze caratteristiche per i dispositivi di rete Query Dispositivo "Copyright (c) Tektronix, Inc." "printer status" le stampanti PhaserLink inurl:"printer/main.html" intext:"settings" le stampanti Brother HL intitle:"Dell Laser Printer" ews le stampanti Della con la tecnologia EWS intext:centreware inurl:status le stampanti Xerox Phaser 4500/6250/8200/8400 inurl:hp/device/this.LCDispatcher le stampanti HP intitle:liveapplet inurl:LvAppl le telecamere Canon Webview intitle:"EvoCam" inurl:"webcam.html" le telecamere Evocam inurl:"ViewerFrame?Mode=" le telecamere Panasonic Network Camera (intext:"MOBOTIX M1" | intext:"MOBOTIX M10") intext: le telecamere Mobotix Basi "Open Menu" Shift-Reload 12 inurl:indexFrame.shtml Axis le telecamere Axis SNC-RZ30 HOME le telecamere Sony SNC-RZ30 intitle:"my webcamXP server!" inurl:":8080" le telecamere accessibili tramite l'applicazione WebcamXP Server allintitle:Brains, Corp. camera le telecamere accessibili tramite l'applicazione mmEye intitle:"active webcam page" le telecamere con l'interfaccia USB a dove e perché le immettiamo, come vengono conservate e che cosa succede con esse. Se gestiamo un sito Internet, dovremo analizzare la configurazione delle applicazioni utilizzate, trovare i dati poco protetti o vulnerabili e proteggerli adeguatamente. Dati personali e documenti confidenziali Sia in Italia o nell'Unione Europea, sia negli Stati Uniti, esistono delle regolamentazioni giuridiche adeguate, che hanno lo scopo di proteggere la nostra privacy. Pur- www.hakin9.org troppo succede che i documenti confidenziali di ogni genere contenenti i nostri dati vengono collocati in posti pubblicamente accessibili o trasmessi tramite reti senza un'adeguata protezione. Basta che un intruso ottenga l'accesso alla posta elettronica contenente il nostro Cur- hakin9 N o 3/2005 Google hacking Fig. 12: Il documento riservato trovato dal motore di ricerca elenchi, potrà cercare di spacciarsi per nostro amico. Una cosa che incuriosisce è che parecchi dati personali si possono trovare in documenti ufficiali di ogni genere – rapporti di polizia, scritti giudiziari o persino libretti sanitari. In Rete si possono anche trovare dei documenti classificati come segreti e che per questo contengono informazioni riservate. Possono essere piante di un progetto, documentazioni tecniche, diversi questionari, rapporti, presentazioni e una moltitudine di altri documenti interni di una ditta. Si possono distinguare dagli altri tipi di documenti, perché molto spesso contengono la parola confidential, la frase Not for distribution o simili (vedere Fig. 12). La Tabella 7 contiene alcune query d'esempio sui documenti che possono contenere dati personali e informazioni confidenziali. Come nel caso delle password, per evitare di rivelare le nostre informazioni private, possiamo soltanto usare molta prudenza e controllo sui dati da pubblicare. Le ditte e le istituzioni dovrebbero (e in molti casi persino devono) elaborare ed introdurre adeguati regolamenti, procedure e principi di comportamento riguardo la circolazione delle informazioni, la responsabilità e le conseguenze per la loro inosservanza. Dispositivi di rete Fig.13: La pagina di configurazione della stampante HP trovata da Google riculum Vitae inviato durante una ricerca di lavoro, e conoscerà il nostro indirizzo, il numero di telefono, la data di nascita, la carriera scolastica, le conoscenze e l'esperienza. In Internet si possono trovare una moltitudine di documenti di questo tipo. Per trovarli basta eseguire la seguente query: intitle:"curriculum vitae" "phone * * *" "address "e-mail". È facile anche trovare dati telematici in forma di elenchi di cognomi, numeri telefonici ed indirizzi e-mail (Fig. 11). Questo risulta dal fatto che quasi tutti gli utenti Internet *" hakin9 N o 3/2005 creano rubriche di indirizzi di vario tipo – sono di poca importanza per un comune intruso, però un abile sociotecnico riuscirà a sfruttarne i dati contenuti, specialmente se riguardano i contatti nell'ambito di una ditta. Abbastanza bene in questo caso si comporta per esempio la query: filetype:xls inurl:"email.xls", che troverà i fogli di calcolo con il nome email.xls. Una situazione simile si ha con gli instant messaging di rete e le liste dei contatti memorizzate in essi; un intruso, dopo aver conquistato tali www.hakin9.org Molti amministratori non trattano seriamente la sicurezza di tali dispositivi come le stampanti di rete o le telecamere web. Una stampante mal protetta può essere una testa di ponte che un intruso conquista prima di tutto, e poi utilizza per impartire attacchi ad altri sistemi nella rete o al di fuori di essa. Le telecamere Internet ovviamente non sono così pericolose, allora le si può considerare come un divertimento. Però non è difficile immaginare quanto tali dati abbiano importanza (spionaggio industriale, una rapina). Le query su stampanti e telecamere sono contenute nella Tabella 8, invece la Fig. 13 presenta una pagina di configurazione di una stampante trovata in rete. n 13