Google Dorks: hacking di siti web grazie alla ricerca su Google
Oggi sul numero effettivo di pagine web archiviate da Google esistono statistiche differenti e spesso discordanti, ma quasi sicuramente sono numeri al ribasso rispetto a quelli reali.
In concreto si possono estrarre molti più dati e informazioni rispetto alle pagine effettive all’interno del motore di ricerca. È per questo che, per alcuni aspetti, il lato oscuro di Google è rappresentato dai cosiddetti Google Dorks.
Si tratta di tecniche di ricerca avanzata che si rivelano di grande aiuto per scoprire elementi nascosti e indicizzati dal motore di ricerca.
Con questi meccanismi particolarmente sofisticati si ha accesso a dati utili per smascherare difetti strutturali dei siti web, ma in altri casi si tratta di elementi sensibili dei quali qualcuno potrebbe farne un cattivo uso.
Proviamo a capire in cosa consiste il Google Dork e come può essere utilizzato a fin di bene.
Google Dorks: cosa sono e come agiscono
State cercando qualcosa su Google e non siete soddisfatti dei risultati ottenuti? Con i Google Dorks è possibile affinare notevolmente il lavoro.
Si tratta di stringhe di ricerca che consentono di accedere ai contenuti indicizzati su Google per trovare documenti privati, rilevare problemi di sicurezza dei siti e molto altro ancora.
Si possono quindi eseguire delle indagini accurate e undergroud di ogni tipo, individuando delle falle di cui neanche i proprietari dei portali web sono a conoscenza.
I comandi, definiti operatori di ricerca, servono ad avere risultati molto precisi. Per farlo è sufficiente inserire nella query qualche keywords specifica o simbolo aggiuntivo.
Gli operatori di ricerca permettono di avere, attraverso di essi, risultati esaustivi, corrispondenti al motivo per cui ci si rivolge a Google.
Quest’attività di ricerca è comunemente nota come Google Hacking e si riferisce proprio a questi codici impiegati per rintracciare informazioni personali condivise per errore su Internet e conservate comunque nel database di Google.
D’altra parte, c’è chi sfrutta i Google Dorks semplicemente come sistema di difesa, per comprendere se il proprio sito è esposto a potenziali pericoli.
Operatori Dork popolari
Ecco una lista di query dork per trovare liste di file, recuperare informazioni sui backlink, costruire liste di e-mail e scoprire altre vulnerabilità web.
- Recuperare la versione cache del sito cache: sito
- Cercare un testo specifico all’interno del sito web allintext: parola da cercare
- Cercare un titolo specifico all’interno dei siti we: allintitle: titolo da cercare
- Cercare URL che contengono caratteri specifici: allinurl: url da cercareo inurl per una singola keyword
- Cercare ogni tipo di estensione di file, ad esempio per cercare pdf, filetype: pdf
- Cercare pagine che contengono nel titolo e in pagina più di una parola chiave: intitle
- Cercare testi e link usati negli anchor: inanchor
- Localizzare pagine che contengono alcune parole nel loro testo: intext–
- Recuperare l’elenco di tutti i siti web che rimandano al nostro sito con un collegamento ipertestuale: link
- Mostrare tutti gli url indicizzati di un sito web con un determinato dominio o sottodominio: site
- Cercare pagine che contengano qualsiasi altro elemento prima della parola affiancata all’operatore *:ad esempio “come * un sito web restituirà “come disegnare/creare/hackerare… un sito web”.
Simboli jolly per Google Dorks
Per restringere il campo di ricerca esistono dei caratteri speciali che possono essere integrati all’interno della query. Ciascuno di questi ha un significo differente per il motore di ricerca. Di seguito sono indicati quelli più comuni.
- – : il segno meno permette di eliminare un’intera frase o una parola dalla ricerca.
- “ ”: quello che viene scritto tra le virgolette sarà cercato dal motore di ricerca precisamente nel modo in cui è scritto.
- * : questo carattere equivale ad una parola o frase attinente che sarà scelta dal database di Google e può essere utile nei casi in cui si cercano parole esatte senza però ricordare quello che c’è in mezzo.
- _ : il trattino basso lascia a Google la scelta di completare la parola o la frase.
- |: noto come operatore OR, suggerisce a Google di cercare una parola o l’altra.
Cosa cercare con i Google Dorks?
Con i Google Dorks si possono fare tantissime cose, molte delle quali utili per individuare problemi ed imperfezioni non visibili del proprio sito web. Ecco alcune delle cose da correggere o verificare con questo genere di ricerche.
Trovare gli errori di indicizzazione di un sito
L’indicizzazione è quando i motori di ricerca come Google inseriscono un sito web e le relative pagine all’interno del proprio database. Questo dà la possibilità agli utenti di poter eseguire ricerche più approfondite e ricevere risultati più dettagliati.
In realtà, alcune delle pagine potrebbero non essere tutte indicizzate. Per capire quali lo sono e quali no, basta mettere nella query la stringa “site: il nome del vostro sito”.
Trovare Log files
Error logs, access logs e altri tipi di log delle applicazioni possono essere spesso rintracciati negli spazi HTTP dei siti web. Questo può aiutare gli hacker a trovare la versione PHP che state usando e il system path critico del CMS o del framework.
Gli hacker utilizzano gli operatori allintext e filetype: “allintext:username filetype:log”
Questo tipo di query restituisce risultati che includono lo username contenuto dentro i file di tipo *.log.
Attraverso questo errore SQL, ad esempio, possiamo venire a conoscenza di informazioni critiche.
MyBB SQL Error
SQL Error: 1062 – Duplicate entry ‘XXX’ for key ‘username’
Query:
INSERT
INTO XXX (`username`,`password`,`salt`,`loginkey`,`email`,`postnum`,`avatar`,`avatartype`,`usergroup`,`additionalgroups`,`displaygroup`,`usertitle`,`regdate`,`lastactive`,`lastvisit`,`website`,`icq`,`aim`,`yahoo`,`msn`,`birthday`,`signature`,`allownotices`,`hideemail`,`subscriptionmethod`,`receivepms`,`receivefrombuddy`,`pmnotice`,`pmnotify`,`showsigs`,`showavatars`,`showquickreply`,`showredirect`,`tpp`,`ppp`,`invisible`,`style`,`timezone`,`dstcorrection`,`threadmode`,`daysprune`,`dateformat`,`timeformat`,`regip`,`longregip`,`language`,`showcodebuttons`,`away`,`awaydate`,`returndate`,`awayreason`,`notepad`,`referrer`,`referrals`,`buddylist`,`ignorelist`,`pmfolders`,`warningpoints`,`moderateposts`,`moderationtime`,`suspendposting`,`suspensiontime`,`coppauser`,`classicpostbit`,`usernotes`)
VALUES (‘XXX’,’XXX’,’XXX’,’XXX’,’XXX’,’0′,”,”,’5′,”,’0′,”,’1389074395′,’1389074395′,’1389074395′,”,’0′,”,”,”,”,”,’1′,’1′,’0′,’1′,’0′,’1′,’1′,’1′,’1′,’1′,’1′,’0′,’0′,’0′,’0′,’5.5′,’2′,’linear’,’0′,”,”,’XXX’,’-655077638′,”,’1′,’0′,’0′,’0′,”,”,’0′,’0′,”,”,”,’0′,’0′,’0′,’0′,’0′,’0′,’0′,”)
Dove ho messo le X potreste leggere il nome del database, lo user login, la password e i valori e-mail; questo rende la vostra applicazione o sito vulnerabile.
Web server vulnerabili
I server che consentono l’accesso a “/proc/self/cwd/” possono essere rintracciati in questo modo: inurl:/proc/self/cwd.
Il risultato restituisce tutte le directory.
Server FTP aperti
Google indicizza gli HTTP-based server ma anche gli open FTP server. Digitando la query intitle:”index of” inurl:ftp possiamo trovare facilmente gli spazi FTP.
ENV files
.env files sono usati per lo sviluppo dei webframework quando si dichiarano le variabili generali e di configurazione per gli spazi in locale e in sviluppo. È bene, quindi, spostare i file.env in spazi non pubblicamente accessibili, ma c’è chi ancora non lo fa.
Possono essere restituiti come risultati alla query username non criptati, password e IP e i dettagli dei login del database.
Chiavi private SSH
Le SSH private keys servono a decriptare le informazioni che vengono scambiate nel protocollo SSH.
Questa è la query dork: intitle:index.of id_rsa -id_rsa.pub che può essere usata contro di voi se non avete fatto in modo che le SSH private key rimanessero private e non condivise.
Chi utilizza un sistema operativo Windows con PUTTY SSH client, deve ricordarsi che questo programma logga sempre gli username delle connessioni SSH e che è possibile trovarle così: filetype:log username putty.
Liste e-mail
Per trovare le mailing list basta cercare di matchare file Excel che possono contenere un sacco di indirizzi email con questa query filetype:xls inurl:”email.xls”
Provate a farlo con un dominio .edu e troverete 1800 e-mails di studenti e insegnanti universitari: site:.edu filetype:xls inurl:”email.xls”
Live Camera
Per trovare le pagine web delle live camera che non hanno l’accesso ristretto per IP basta fare: inurl:top.htm inurl:currenttime. Da qui si può prendere il controllo totale sul pannello amministrazione e anche riconfigurarle.
Prevenire i Google Dorks
Queste sono le misure da prendere per non essere indicizzati dai motori di ricerca esponendosi a vulnerabilità ed evitare i Google Dork.
- Proteggere le aree private, i nomi utente e le password di autenticazione e impostare delle restrizioni basate sugli IP.
- Criptare le informazioni sensibili (user, password, credit card, e-mail, indirizzi, indirizzi IP, numeri di telefono, etc).
- Fare uso regolarmente di tool di scan per individuare le vulnerabilità.
- Provare a sottoporre il tuo sito a delle Dork Query utilizzando una Lista delle query Dork popolari.
- Utilizzare lo strumento di richiesta di rimozione di Google se si trovano elementi vulnerabili indicizzati.
- Bloccare i contenuti sensibili inserendo un file robots.txt nella directory del sito, ecco come configurare il file per:
User-agent: *
Disallow: /
- Bloccare cartelle specifiche:
User-agent: *
Disallow: /admin/ - Bloccare file specifici:
User-agent: *
Disallow: /privatearea/file.htm - Bloccare url dinamiche che contengono il simbolo ‘?’:
User-agent: *
Disallow: /*? - Bloccare l’accesso ai file con una determinata estensione:
User-agent: *
Disallow: /*.php$/
Motivi per non usare query Dork a scopo di hacking
Appare evidente come l’hacking offra l’opportunità di rendere più specifiche le ricerche, ma al contempo permette a chiunque di accedere a determinate informazioni poco protette o divulgate per sbaglio.
Questi dati raccolti spesso sono utilizzati da malintenzionati per compiere attività illegali come furto d’identità, spionaggio industriale e cyberstalking.
Come si è visto, i vari operatori a disposizione sono tanti e a volte vengono usati anche in combinazione tra loro per aumentarne l’efficacia.
In ogni caso, Google attua una sorta di controllo sulle sessioni che usano il Dork e quindi è bene non impiegare gli operatori di Google con lo scopo di minare la sicurezza in quanto si viene tracciati tramite IP, anche se si usa un VPN service.
Per prevenire la riuscita di qualsiasi strumento che faccia automaticamente questo tipo di query, Google inizia inoltre a bloccare la vostra connessione se provate a collegarvi da un IP statico e inizia a chiedere di completare captcha.
L’obiettivo è quello di stabilire che le tante richieste provenienti dallo stesso IP non siano frutto di un robot, ma di un essere umano.