Un libro in regalo per te, fino al 27 giugno

Acquista un titolo in edizione cartacea e ricevi gratis il libro per ragazzi Loren Ipsum.

Scegli un libro
Home
Partiamo dal Google dorking per trovare vulnerabilità nel web

20 Aprile 2023

Partiamo dal Google dorking per trovare vulnerabilità nel web

di

Una delle armi fondamentali per dare la caccia ai bug è il Google dorking: aprirsi la strada verso il bersaglio a forza di ricerche precise e raffinate.

I parametri di ricerca che permettono di eseguire un Google dorking da manuale

Il primo passo per attaccare qualsiasi obiettivo è condurre una ricognizione o, semplicemente, raccogliere informazioni su di esso. La ricognizione è importante perché è il modo in cui si scopre la superficie d’attacco di un’applicazione. Per cercare i bug nel modo più efficiente, è necessario scoprire tutti i modi possibili per attaccare il target prima di decidere l’approccio più efficace.

Per esempio, se un’applicazione non utilizza PHP, non c’è motivo di sottoporla a test per vulnerabilità PHP; se l’azienda non utilizza AWS (Amazon Web Services), non dovresti perdere tempo a cercare di violare i suoi bucket. Scoprendo come funziona un target, potrai creare una solida base per trovarne le vulnerabilità. Le capacità di ricognizione sono ciò che distingue un buon hacker.

Leggi anche: Basterebbe così poco

Prima ancora di procedere, verifica di l’autorizzazione per eseguire ricognizioni intrusive sul tuo target prima di provare qualsiasi tecnica che lo impegni attivamente. In particolare, attività come la scansione delle porte, lo spidering e gli attacchi a forza bruta delle directory possono generare molto traffico indesiderato su un sito e potrebbero non essere gradite dal committente.

Procedere manualmente attraverso il target

Prima di immergerci in qualsiasi altra cosa, sarà utile esaminare manualmente l’applicazione per conoscerla meglio. Prova a scoprire tutte le funzionalità dell’applicazione cui gli utenti possono accedere, sfogliando ogni pagina e facendo clic su ogni link. Fai accesso anche alle funzionalità meno comuni.

Per esempio, se stai sottoponendo ad hacking Facebook, prova a creare un evento, a giocare e a utilizzare la funzionalità di pagamento, se non l’hai mai fatto prima. Registrati con account per ogni livello di privilegio, per rivelare tutte le funzionalità dell’applicazione. Per esempio, su Slack puoi creare proprietari, amministratori e membri di un’area di lavoro. Crea anche utenti che sono membri di diversi canali della stessa area di lavoro. In questo modo, potrai vedere l’aspetto dell’applicazione per i diversi tipi di utenti.

Questo dovrebbe darti un’idea approssimativa dell’aspetto della superficie d’attacco (tutti i punti in cui un hacker può tentare di violare l’applicazione), dove si trovano i punti di input dei dati e come i diversi tipi di utenti interagiscono tra loro. Poi potrai avviare un processo di ricognizione più approfondito, per scoprire la tecnologia e la struttura di un’applicazione.

Google dorking

Durante la ricerca di bug, spesso è necessario ricercare i dettagli di una vulnerabilità. Se stai sfruttando una potenziale vulnerabilità XSS (Cross-Site Scripting), potresti voler trovare un particolare payload che avete visto su GitHub. Competenze avanzate del motore di ricerca ti aiuteranno a trovare le risorse di cui hai bisogno nel modo più rapido e preciso.

In effetti, le ricerche avanzate su Google sono una tecnica potente, che gli hacker utilizzano spesso per eseguire ricognizioni. Gli hacker chiamano questa attività Google dorking. Per l’utente medio, Google è solo uno strumento di ricerca testuale per la ricerca di immagini, video e pagine web. Ma per l’hacker, Google può essere un mezzo per scoprire informazioni utili, come portali di amministrazione nascosti, file di password sbloccati e chiavi di autenticazione trapelate.

Il motore di ricerca di Google usa un proprio linguaggio per le query, che aiuta a filtrare le ricerche. Ecco alcuni degli operatori più utili che puoi utilizzare in qualsiasi ricerca su Google.

site

Chiede a Google di mostrarti i risultati solo di un determinato sito. Questo ti aiuterà a trovare rapidamente la fonte più attendibile sull’argomento che stai cercando. Per esempio, se desideri cercare la sintassi della funzione print() di Python, puoi limitare i risultati alla documentazione ufficiale di Python con questa ricerca: print site:python.org.

inurl

Cerca le pagine con un URL che corrisponde alla stringa di ricerca. È un modo potente per cercare pagine vulnerabili su un particolare sito web. Supponiamo di avere letto su un blog un post su come l’esistenza di una pagina chiamata /course/jumpto.php su un sito web potrebbe indicare che è vulnerabile all’esecuzione di codice remoto. Puoi verificare se la vulnerabilità esiste sul tuo target effettuando una ricerca inurl:"/course/jumpto.php" site:example.com.

intitle

Trova specifiche stringhe nel titolo di una pagina. Questo comando è utile perché ti permette di trovare pagine che contengono un determinato tipo di contenuto. Per esempio, spesso le pagine di elenchi di file sui server web hanno index of nei loro titoli. Puoi utilizzare la seguente query per cercare pagine di directory su un sito web: intitle:"index of" site:example.com.

link

Cerca le pagine web che contengono link a un determinato URL. Puoi usarlo per trovare documentazione su tecnologie o vulnerabilità oscure. Per esempio, supponiamo di cercando la non comune vulnerabilità ReDoS (Regular expression Denial-of-Service). Troverai facilmente la sua definizione online, ma potresti avere difficoltà a trovare esempi. L’operatore link può scoprire pagine che fanno riferimento alla pagina di Wikipedia dedicata alla vulnerabilità, per individuare discussioni sullo stesso argomento: link:"https://en.wikipedia.org/wiki/ReDoS".

filetype

Cerca le pagine con una determinata estensione di file. Questo è uno strumento incredibile per l’hacking; gli hacker lo usano per individuare i file sensibili sui loro siti target, come i file log e i file delle password. Per esempio, la seguente query cerca nel sito target i file log, che spesso hanno l’estensione .log: filetype:log site:example.com.

Carattere jolly (*)

Puoi utilizzare l’operatore jolly (*) all’interno delle ricerche per indicare qualsiasi carattere o serie di caratteri. Per esempio, la seguente query restituirà ogni stringa che inizia con how to hack e termina con using Google: "how to hack * using Google". Troverà stringhe come how to hack websites using Google, how to hack applications using Google e così via.

Apici (” “)

L’aggiunta di virgolette intorno ai termini di ricerca forza una corrispondenza esatta. Per esempio, la seguente query cercherà le pagine che contengono la frase how to hack: "how to hack". La seguente query, invece, cercherà le pagine che usano i termini how, to e hack, ma non necessariamente insieme: how to hack.

Or (|)

L’operatore or è rappresentato dalla barra verticale (|) e può essere utilizzato per cercare un termine di ricerca oppure un altro, oppure entrambi contemporaneamente. Il carattere barra verticale deve essere circondato da spazi. Per esempio, la seguente query cercherà how to hack su Reddit oppure su Stack Overflow: "how to hack" site:(reddit.com | stackoverflow.com). E la seguente query cercherà pagine web che menzionano SQL Injection oppure SQLi: (SQL Injection | SQLi). SQLi è un acronimo spesso usato per far riferimento agli attacchi SQL Injection.

Meno (-)

L’operatore meno (-) esclude dalla ricerca determinati risultati. Per esempio, supponiamo di avere interesse nel conoscere i siti web che discutono di hacking, ma voler escludere quelli che trattano lo hacking PHP. La seguente query cercherà le pagine che contengono how to hack websites ma non php: "how to hack websites" -php.

Puoi utilizzare le opzioni avanzate del motore di ricerca in molti altri modi per rendere più efficiente il tuo lavoro. Puoi perfino cercare il termine Google search operators per saperne di più. Questi operatori possono essere più utili di quanto puoi immaginarti. Per esempio, puoi trovare tutti i sottodomini di un’azienda effettuando una ricerca come la seguente:

site:*.example.com

Puoi anche cercare particolari endpoint che possono portare a vulnerabilità. Kibana è uno strumento di visualizzazione dei dati che mostra i dati operativi del server, come i log del server, i messaggi di debug e lo stato del server. Un’istanza violata di Kibana può consentire a un hacker di raccogliere ampie informazioni sul funzionamento di un sito. Molte dashboard Kibana si trovano nel percorso app/kibana, quindi la seguente query rivelerà se il target ha una dashboard Kibana. Così potrai provare ad accedere alla dashboard per vedere se non è protetta:

site:example.com inurl:app/kibana

Google può anche trovare risorse aziendali ospitate da terze parti online, come i bucket Amazon S3:

site:s3.amazonaws.com NOME_AZIENDA

Cerca quelle estensioni che potrebbero indicare un file sensibile. Oltre a .log, che spesso indica i file log, cerca .php, .cfm, .asp, .jsp e .pl, le estensioni più utilizzate per i file script:

site:example.com ext:php
site:example.com ext:log

Infine, puoi anche combinare i termini di ricerca per svolgere una ricerca più accurata. Per esempio, la seguente query cerca nel sito example.com i file di testo che contengono la parola password:

site:example.com ext:txt password

Oltre a creare le tue query, prova a consultare il Google Hacking Database, un sito web utilizzato dagli hacker e dai professionisti della sicurezza per condividere le query di ricerca di Google per trovare informazioni relative alla sicurezza. Contiene molte query di ricerca che potrebbero esservi utili durante il processo di ricognizione. Per esempio, puoi trovarvi query che cercano file contenenti password, gli URL più comuni dei portali di amministrazione o pagine create utilizzando software vulnerabile.

Mentre esegui la ricognizione utilizzando ricerche Google, tieni presente che se invii molte query di ricerca, Google inizierà a richiedere test CAPTCHA a chi accede dalla tua rete, per eseguire altre ricerche. Questo potrebbe essere fastidioso per gli altri utenti che operano sulla tua stessa rete, quindi non ti consiglio di fare Google dorking su una rete aziendale o condivisa.

Immagine di apertura di Teslariu Mihai su Unsplash.

L'autore

  • Vickie Li
    Vickie Li è una sviluppatrice e ricercatrice in materia di sicurezza informatica. Ha segnalato vulnerabilità web a organizzazioni come Facebook, Yelp e Starbucks. Contribuisce a numerosi programmi di formazione e blog di settore.

Iscriviti alla newsletter

Novità, promozioni e approfondimenti per imparare sempre qualcosa di nuovo

Gli argomenti che mi interessano:
Iscrivendomi dichiaro di aver preso visione dell’Informativa fornita ai sensi dell'art. 13 e 14 del Regolamento Europeo EU 679/2016.

Libri che potrebbero interessarti

Tutti i libri

Cacciatori di bug

Guida per imparare a trovare e riportare vulnerabilità web

47,00

67,99€ -31%

38,00

40,00€ -5%

27,99

di Vickie Li