Service Line
Tito PetronioIT Security Competence Center LeaderSANS GIAC WAS Certified
Agenda
◘ Cos’è Google◘ Cos’è il Google Hacking ◘ Obiettivi del Google Hacking◘ Modalità di attacco◘ Analisi di un attacco◘ Strumenti◘ La legge italiana◘ Contromisure◘ Conclusioni◘ FAQ
Questo materiale è soggetto alla licenza Creative Common Attribuzione-Non commerciale-Condividi allo stesso modo 2.5 Italia
Cos’è Google
Il nucleo principale del software è rappresentato da PageRank (TM), basato su un sistema che permette di classificare le pagine Web in ordine di importanza
Il sistema è stato sviluppato da Larry Page e Sergey Brinall'Università di Stanford. PageRank continua ad essere l'elemento chiavedegli strumenti di ricerca di Google
Cos’è il Google Hacking
Il Google Hacking nasce nel 2005 da un’idea molto semplice, che mira a sfruttare la potenza del motore di indicizzazione di Google®, unito alla forte flessibilità dei parametri di ricerca che è possibile impostare
L’obiettivo è individuare vulnerabilità, dati riserv ati ed aree “protette” nel WWW
Il GHDB oggi raggruppa migliaia di stringhe migliaia di stringhe di ricerca che identificano vulnerabilitdi ricerca che identificano vulnerabilit àà (in
gergo GoogleDorks ) sul web
Cos’è il Google Hacking
La forte capacità di penetrazione del Google Hacking ha portato l’hacker Johnny Long ad implementare e pubblicare il “Google Hacking DataBase ” (GHDB)
http://johnny.ihackstuff.com
Cos’è il Google Hacking
http://johnny.ihackstuff.com
Elenco delle ricerche effettuabili
Obiettivi del Google Hacking
◙ Informazioni e banner relativi ad una specifica versione
di Web Server o ambiente di deploy◙ Messaggi di errore contenenti eccessive informazioni
◙ Files contenenti password o informazioni riservate
◙ Sensitive directories listing
◙ Pagine nascoste per test, admin login, backdoor, log, credenziali DB, Firewall log, Webcam mal protette, etc...
◙ Dati e documenti riservati in genere
◙ Vulnerabilità di natura applicativa
Il Google Hacking può essere utilizzato per ricercare un numero
infinito di “vulnerabilità”:
Obiettivi del Google Hacking – Esempi
Stringa di ricerca: intitle: Log Files
Web server Google Query
Apache 1.3.0–1.3.9
Intitle:Test.Page.for.Apache It.worked! this.web.site!
Apache 1.3.11–1.3.26
Intitle:Test.Page.for.Apache seeing.this.instead
Apache 2.0 Intitle:"Log Files"
Apache SSL/TLS Intitle:test.page "Hey, it worked !" "SSL/TLS-aware"
IIS servers 4.0 intitle:"Welcome to IIS 4.0!"
IIS 5.0 allintitle:Welcome to Windows 2000 Internet Services
IIS 6.0 allintitle:Welcome to Windows XP Server Internet
◙ Informazioni e banner relativi ad una specifica versione di Web Server o ambiente di deploy
◙ Messaggi di errore contenenti eccessive informazioni◙ Files contenenti password o informazioni riservate◙ Sensitive directories listing◙ Pagine nascoste per test, admin login, bypass login, log, credenziali DB, Firewall log, etc...◙ Dati e documenti riservati in genere
Stringa ricercata: intitle: Log Files
Obiettivi del Google Hacking – Esempi
◙ Informazioni e banner relativi ad una specifica versione di Web Server o ambiente di deploy
◙ Messaggi di errore contenenti eccessive informazioni◙ Files contenenti password o informazioni riservate◙ Sensitive directories listing◙ Pagine nascoste per test, admin login, bypass login, log, credenziali DB, Firewall log, etc...◙ Dati e documenti riservati in genere
Stringa ricercata: intitle:"Welcome to IIS 4.0!"
Obiettivi del Google Hacking – Esempi
◙ Informazioni e banner relativi ad una specifica versione di Web Server o ambiente di deploy
◙ Messaggi di errore contenenti eccessive informazioni◙ Files contenenti password o informazioni riservate◙ Sensitive directories listing◙ Pagine nascoste per test, admin login, bypass login, log, credenziali DB, Firewall log, etc...◙ Dati e documenti riservati in genere
◙ Informazioni e banner relativi ad una specifica versione di Web Server o ambiente di deploy
◙Messaggi di errore contenenti eccessive informazioni
◙ Files contenenti password o informazioni riservate◙ Sensitive directories listing◙ Pagine nascoste per test, admin login, bypass login, log, credenziali DB, Firewall log, etc...◙ Dati e documenti riservati in genere
Obiettivi del Google Hacking – Esempi
Stringa ricercata: "ORA-00921: unexpected end of SQL command"
Pagina di test con PHPInfo()
◙ Informazioni e banner relativi ad una specifica versione di Web Server o ambiente di deploy◙ Messaggi di errore contenenti eccessive informazioni
◙Files contenenti password o informazioni riservate◙ Sensitive directories listing◙ Pagine nascoste per test, admin login, bypass login, log, credenziali DB, Firewall log, etc...◙ Dati e documenti riservati in genere
Stringa di ricerca: intitle: PHP Version…
Obiettivi del Google Hacking – Esempi
Pagina default SAP con elenco Web Services
◙ Informazioni e banner relativi ad una specifica versione di Web Server o ambiente di deploy◙ Messaggi di errore contenenti eccessive informazioni◙ Files contenenti password o informazioni riservate
◙Sensitive directories listing◙ Pagine nascoste per test, admin login, bypass login, log, credenziali DB, Firewall log, etc...◙ Dati e documenti riservati in genere
Stringa di ricerca: inurl:uddiclient…
Elenco dei WSDL disponibili !!!
Obiettivi del Google Hacking – Esempi
Stringa di ricerca: intitle:Index of
Obiettivi del Google Hacking – Esempi
◙ Informazioni e banner relativi ad una specifica versione di Web Server o ambiente di deploy◙ Messaggi di errore contenenti eccessive informazioni◙ Files contenenti password o informazioni riservate
◙Sensitive directories listing◙ Pagine nascoste per test, admin login, bypass login, log, credenziali DB, Firewall log, etc...◙ Dati e documenti riservati in genere
◙ Informazioni e banner relativi ad una specifica versione di Web Server o ambiente di deploy◙ Messaggi di errore contenenti eccessive informazioni◙ Files contenenti password o informazioni riservate◙ Sensitive directories listing
◙Pagine nascoste per test, admin login, bypass login, log, credenziali DB, Firewall log, etc...
◙ Dati e documenti riservati in genere
Obiettivi del Google Hacking – Esempi
◙ Informazioni e banner relativi ad una specifica versione di Web Server o ambiente di deploy◙ Messaggi di errore contenenti eccessive informazioni◙ Files contenenti password o informazioni riservate◙ Sensitive directories listing◙ Pagine nascoste per test, admin login, bypass login, log, credenziali DB, Firewall log, etc...
◙Dati e documenti riservati in genere
Obiettivi del Google Hacking – Esempi
Modalità di attacco
1 - Ricerca dei target affetti da una determinata vulnerabilità
1 - Ricerca dei target affetti da una determinata vulnerabilità
2 - Ricerca delle vulnerabilità relative ad un soggetto noto
2 - Ricerca delle vulnerabilità relative ad un soggetto noto
Principali modalità di attacco :
Modalità di attacco
1 - Ricerca dei target affetti da una determinata vulnerabilità
1 - Ricerca dei target affetti da una determinata vulnerabilità
2 - Ricerca delle vulnerabilità relative ad un soggetto noto2 - Ricerca delle vulnerabilità relative ad un soggetto noto
Tipo di attivitTipo di attivit ààL’hacker effettua una ricerca ad ampio spettro, solitamente alla ricerca di un target che sia affetto da una particolare vulnerabilità a lui nota o comunque facilmente “sfruttabile”
CaratteristicheCaratteristiche◙ Probabile basso profilo tecnico dell’ “hacker”◙ Probabile basso impatto dei possibili attacchi◙ Bassa motivazione
Modalità di attacco
1 - Ricerca dei target affetti da una determinata vulnerabilità1 - Ricerca dei target affetti da una determinata vulnerabilità
2 - Ricerca delle vulnerabilità relative ad un soggetto noto2 - Ricerca delle vulnerabilità relative ad un soggetto noto
Tipo di attivitTipo di attivit ààL’hacker ha un obiettivo (sito WEB) prefissato ed effettua una ricerca mirata a rilevare le “tecnologie” in uso e le possibili potenziali vulnerabilità
CaratteristicheCaratteristiche◙ Probabile alto profilo tecnologico dell’ “hacker”◙ Probabile alto impatto dei possibili attacchi◙ Forte motivazione (spionaggio, furto, ecc..)
Attacco for “dummies”
Obiettivo : cercare file di password in chiaro
Stringa di ricerca: inurl:”password log” o “password.txt”
Attacco for “dummies”
Obiettivo : Accesso alla directory “etc”Stringa di ricerca: intitle:index of etc
Attacco alla “Shell PHP”
Obiettivo : cercare una shell PHP mal configurata
Stringa di ricerca: intitle:"PHP Shell *" "Enable stderr" filetype:php
Port Scan con Google…
Obiettivo : scansione dei servizi VNC attivi
Stringa di ricerca: “VNC Desktop” inurl:5800
Port Scan con Google…
Obiettivo : ricerca di una console di amministrazione
Stringa di ricerca: intext:webadmin inurl:”:10000”
Attacco a PHPNuke
Obiettivo : accedere a PHPNuke come Amministratore !!!Stringa di ricerca: "There are no Administrators Accounts" inurl: admin.php -mysql_fetch_row
Chi, dopo aver installato PHP-Nuke, non ha provvedu to a creare un account di amministratore, potrebbe vedere visualiz zata la pagina "Thereare no Administrators Accounts“…
Alla ricerca di WebCam…
Obiettivo : ricerca di WebCam “nascoste”
Possibili Stringa di ricerca:
•WebcamXP: "my webcamXP server!" Cerca•Panasonic: /ViewerFrame?Mode=Motion Cerca•Toshiba: "TOSHIBA Network Camera - User Login" Cerca•Sony: /home/homeJ.html Cerca•Canon: sample/LvAppl/ Cerca
Analisi di un attacco CGI
ObiettivoUtilizzare Google come CGI Scanner
Cos’è un attacco CGI ?L’attacco CGI mira a ricercare script e programmi ricercare script e programmi eseguibili sul Web server remotoeseguibili sul Web server remoto con l’obiettivo di:◙ Prendere il controllo del server tramite una
shell o creando un buffer overflow◙ Ottenere il directory listing …◙ Causare un Denial of Service (DoS)
Cos’è uno CGI ScannerE’ uno script o un programma che connettendosi alle porte Web standard (8080 e 443443), effettua una ricerca sequenziale dei programmi CGI più o meno noti
Analisi di un attacco CGI
ObiettivoUtilizzare Google come CGI Scanner
Identificazione del “target”: www.miazienda.it
Stringhe di ricerca/cgi-bin/cgiemail/uargg.txt /random_banner/index.cgi
/random_banner/index.cgi /cgi-bin/mailview.cgi /cgi-bin/maillist.cgi /cgi-
bin/userreg.cgi /iissamples/ISSamples/SQLQHit.asp
/iissamples/ISSamples/SQLQHit.asp /SiteServer/admin/findvserver.asp
/scripts/cphost.dll /cgi-bin/finger.cgi
…
AND
site:www.miazienda.it
Esempio: inurl:/random_banner/index.cgi
Analisi di un attacco CGI
Trovato !!! Il programma random_bannerè in grado di mostrare qualunque file presente sul server …
Stringa di ricerca: inurl:/random_banner/index.cgi
Analisi di un attacco
Considerazioni sugli attacchi effettuati:
◙ Un “Google Attack” è tanto più efficace quanto più preciso
◙ Evitare URL troppo lunghi e complessi
◙ Utilizzare gli operatori booleani per raffinare la ricerca
◙ Ricordare che alcune parole sono ignorate da Google
(congiunzioni, preposizioni, etc..)
◙ Le ricerche possono essere “automatizzate” tramite
opportuni programmi che si interfacciano alle API di Google
◙ Utilizzare operatori speciali: cache:, info:, intext:, intitle:,
inurl: ecc..
Strumenti
Wikto (freeware)
Script “custom” basati sulle Google API: http://code.google.com
Acunetix WVS
Goolag Scanner (freeware)
Google Scanner (freeware Linux)
La legge italiana
… ma che (Cr)Hacker e (Cr)Hacker, quella “roba” è lì su Internet, pubblica, io ho fatto solo una semplice ricerca !!!
Sarà proprio così ?… o è un’attività
illecita ?
Scopo di lucro o “semplice” profitto?
La giurisprudenza ha nel tempo ampliato il concetto di profitto rispetto al semplice vantaggio economico,
ricomprendendovi ogni utile, anche non patrimoniale (morale, psicologica etc.)
Quindi il Profitto ricomprende anche il Lucro
La legge italiana
LUCROAcquisizione di uno o più beni (aumento del capitale)
PROFITTOAcquisizione/non riduzione di beni (aumento del capitale o risparmio)
La legge italiana
Art. 615 ter : Accesso abusivo ad un sistema informatico o telematico. Chiunque abusivamente si introduce in un sistema informatico o telematico protetto da misure di sicurezza ovvero vi si mantiene contro la volontà espressa o tacita di chi ha il diritto di escluderlo (da 1 a 5 anni di carcere)
Art. 615 quater : Detenzione e diffusione abusiva di codici di accesso a sistemi informatici o telematici. Chiunque, al fine di procurare a sé o ad altri un profitto o di arrecare ad altri un danno, abusivamente si procura, riproduce, diffonde, comunica o consegna codici, parole chiave o altri mezzi idonei all'accesso ad un sistema informatico o telematico , protetto da misure di sicurezza, o comunque fornisce indicazioni o istruzioni idonee al predetto scopo (da 1 a 2 anni di carcere e da 5.000 a 10.000 Euro di multa)
Codice Penale
Art. 615 quinquies : Diffusione di apparecchiature, dispositivi o programmi informatici diretti a danneggiare o interrompere un sistema informatico o telematico.
Chiunque, allo scopo di danneggiare illecitamente un sistema informatico o telematico , le informazioni, i dati o i programmi in esso contenuti o ad esso pertinenti ovvero di favorire l’interruzione, totale o parziale, o l’alterazione del suo funzionamento, si procura, produce, riproduce, importa, diffonde, comunica, consegna o, comunque, mette a disposizione di altri apparecchiature, dispositivi o programmi informatici , è punito con la reclusione fino a due anni e con la multa sino a Euro 10.329
La legge italiana
Codice Penale
Art. 616 : Violazione, sottrazione e soppressione di corrispondenza.
Chiunque prende cognizione del contenuto di una corrispondenza chiusa, a lui non diretta, ovvero sottrae o distrae, al fine di prenderne o di farne da altri prendere cognizione, una corrispondenza chiusa o aperta , a lui non diretta, ovvero, in tutto o in parte, la distrugge o sopprime. Agli effetti delle disposizioni di questa sezione, per corrispondenza s'intende quella epistolare, telegrafica o telefonica, informatica o telematica ovvero effettuata con ogni altra forma d i comunicazione a distanza (sino ad un anno di carcere con multa da 30 a 500 euro, se viene rivelato il contenuto sino a 3 anni di carcere)
La legge italiana
Codice Penale
NO Trashing !!!
… e da non dimenticare:
Dlg 196/03 Codice in materia di protezione dei dati personali (Privacy)
La legge italiana
Codice PenaleCodice Penale
Contromisure
◙ Non inserire dati sensibili sul sito, neanche temporaneamente◙ Favorire una corretta indicizzazione da parte dei motori di ricerca tramite file Robots.txt◙ Inserire “noarchive” come metadata nell’headerdell’html (no cache..)◙ Hardening del server (minimizzazione di servizi e software installati, corretta configurazione, ecc..)◙ Porre rimedio alle vulnerabilità CGI
Il Google Hacking può essere mitigato con le seguenti contromisure :
Riferimenti
Google Hacking forPenetration Testers
Google Hacks
No Tech Hacking
LibriLibri
WebWeb
Riferimenti
Johnny Long sitehttp://johnny.ihackstuff.com
Google APIhttp://code.google.com
Google …http://www.google.com ☺☺☺☺
Domande e Risposte
Tito PetronioIT Security Competence Center LeaderSANS GIAC WAS Certified