Google Hacking

Hoy vamos a hablar acerca del Google Hacking, un término que escuché en una conferencia de ciberseguridad, al que hacía mención Chema Alonso por su gran utilidad a la hora de hacer pruebas de penetración o simplemente hacer una recolección de información, ya que Google nos facilita todo eso mediante unos operadores que explicaremos a continuación…

Información importante que debes saber

En el caso de estar recolectando información sobre una pagina web,  pueden haber demasiadas cosas que nos interesarían saber, entre las cuales se encuentran:

* El lenguaje que usa la pagina web
* El sitema operativo del servidor web
* El software del sistema operativo del servidor
* La version del software del servidor
* Si el sitio web tiene Plugins
* Si el sitio web tiene CMS popular
* Que tipos de archivos contiene mas que otros
* La base de datos que utiliza
* Los subdominios que tiene

La mayoría de la información que nos puede interesar puede venir de vulnerabilidades, tales como:

* Errores en la web o servidor
* Directorios que sabemos que pueden incluir informacion sensible
* Archivos que incluyen contraseñas
* Firewalls web

Una de las paginas que incluye mucha informacion sobre dorks de google para poder realizar nuestras busquedas es: https://www.exploit-db.com/google-hacking-database/


Búsquedas específicas

Para realizar búsquedas especificas de lo que queramos encontrar en google utilizaremos los famosos “operadores” que incluye para referirse a cierto tipo de cosas. Comentare de manera rápida los usos de cada uno:

    Con este signo menos excluimos algunos resultados.
+    Con este operador podemos incluir varias búsquedas en los resultados.
~    Con esta tilde se buscan sinónimos de la palabra que le asignes.
*     Se utiliza el asterisco como comodín de palabras extra.
     Podemos usar las comillas dobles para buscar una palabra exacta que este entre             ellas.
site: Obtiene resultados de sitios o dominios que le asignes.
link: Busca páginas externas que contienen enlaces del sitio que le asignes.
related: Busca sitios web relacionados al que le asignes.
info: Obtiene información sobre el sitio o dominio que le asignes.
cache: Comprueba como era la página o dirección que le asignes la ultima vez que google lo visito.
intitle: Con este operador buscamos en el título de la página entre las etiquetas  <title>
inurl: Con este operador buscamos que la url incluya lo que le asignamos en la búsqueda.
define: Este operador se utiliza para definir un termino de la palabra que le asignes.
filetype/ext: Con estos operadores buscamos un archivo por su extensión o tipo de archivo.
intext: Incluye términos que estén en el <body> de la pagina.
insubject: Incluye términos que estén en el las etiquetas de titulo de la pagina.
inanchor: Incluye términos que tengan la etiqueta <a> dentro del <body> de la página web.

Google ignora varias palabras como son “a”, “el”, “de” … que muchas veces solo harían la búsqueda mas pesada por lo que es recomendable no utilizarlas cuando intentemos encontrar información. Y podemos hacer búsquedas inteligentes en lugar de escribir “me duele la cabeza” podríamos escribir “dolor de cabeza” con lo cual encontraríamos mejores resultados.


Buscar lo mas común o mas afectado

Lo mejor para encontrar datos es irnos a buscar lo más común o más afectado en cualquier tipo de aplicación web.

Mensajes de error: Failed to open stream, access denied, fatal error, division by zero, warning, error, include, ORA-xxxx, database error, error ocurred, error online, cannot modified header, a syntax error, the page cannot be found, internet information services, error diagnostic information…
Mensajes HTTP: 200 OK, 300 Multiple choices, 301 Moved permanently, 302 Found, 304 Not Modified, 307 Temporary Redirect, 400 Bad Request, 401 Unauthorized, 403 Forbidden, 404 Not Found, 500 Internal server error, 501 Not implemented, 503 Service unavailable, 550 Permission denied, etc.

(Puedes ver una lista más completa aquí) 
Servidores web: ISS, Apache, Apache Tomcat, Nginx, Lighttpd, Jigsaw, Klone, Abys web server, Oracle web tier, x5 web server, zeus web server, IBM HTTP server, LiteSpeed web server, etc.

(Puedes ver una lista más completa aquí) 


Búsquedas comunes para vulnerabilidades

Hay muchos dorks, los dorks son de manera sencilla una simple cadena de caracteres con los operadores anteriores la cual nos arroja un resultado deseado, tal como “tarjetas de créditos”, “contraseñas de usuarios”, “paginas phishing”, etc.

Vamos a ver algunas de las técnicas que yo utilizo a menudo para encontrar algunos datos en sitios web.

Crawling:

Con esto puedes ver todo lo que ha indexado google del sitio web que buscas.

site:tudominio.com

Pagina de administración:

Podemos encontrar paginas de administración utilizando. Algunos de los operadores y palabras comunes.

site:dominio.com intext:admin OR intext:administrator
site:dominio.com inurl:admin OR inurl:administrator

Subdominios:

site:dominioprincipal.com -site:www.dominioprincipal.com
site:dominioprincipal.com -site:www.dominioprincipal.com -site:www.subdominio1.principal.com

Extensiones:

site:dominio.com ext:pdf | ext:log | ext:txt | ext:bak

Algunas extesiones:  pdf, xls, rar, zip , tar.gz, htm, php, bak, sql, csv, txt, log, conf

Archivos phpinfo, robots, o backups:

site:.net intitle:phpinfo() inurl:info.php
inurl:”robots.txt” intext:”disallow:”
intext:config ext:bak intitle:”index of”

Acceso a directorios:

intitle:”index of”
site:tusitio.com intitle:”index of”


Crea tu propio DORK

Para crear un dork solo necesitamos utilizar los operadores ya conocidos anteriormente. Muchos usuarios lo intentan con cosas comunes que ven o simplemente encuentran una vulnerabilidad en un CMS no muy conocido y le pasan operadores para encontrarla.


Otras formas de Google Hacking:

Google Hacking Imágenes:

Bueno esto no es algo nuevo pero podriamos utilizar la busqueda avanzada que nos proporciona google: https://www.google.es/advanced_image_search

O también intentar buscar la imagen deseada utilizando el mismo buscador de imágenes, ya sea subiendo la imagen o pegando la URL, podríamos encontrar cosas interesantes de la empresa o persona relacionada a la pagina web.

Google Hacking Mapas:

Esto tampoco es nuevo pero con los mapas de google: https://www.google.es/advanced_image_search

Nos es muy fácil encontrar información sobre donde se encuentra la empresa o persona relacionada con la pagina web.