viernes, 29 de mayo de 2015

Google Hacking

Introduccion
Buenas, en esta entrada trataré de explicar acerca de Google Hacking para usarlo en nuestras pruebas de penetracion o recoleccion de informacion en cualquier cosa que nos sirva, ya que con Google es solo saber utilizar de manera adecuada los operadores/directivas.

Tambien les puede interesar las siguientes entradas:
http://arthusu.blogspot.mx/2013/03/como-obtener-mejores-resultados-al.html
http://arthusu.blogspot.mx/2015/04/arthusu-mi-metodologia-pruebas-de.html

Informacion que nos interesa

En el caso de estar recolectando informacion sobre una pagina puede haber demasiadas cosas que nos interesarian 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 mayoria de la informacion 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/ 

Busquedas especificas

Para realizar busquedas especificas de lo que queramos encontrar en google utilizaremos los famosos "operadores" que incluye para referirse a cierto tipo de cosas. Comentare de manera rapida los usos de cada uno:

- Con este signo menos excluimos algunos resultados.
+ Con este operador + podemos incluir varias busquedas en los resultados.
~ Con esta tilde se buscan sinonimos de la palabra que le asignes.
* Se utiliza el asterisco como comodin de palabras extra.
" Podemos usar las comillas dobles para buscar una palabra exacta que este entre ellas.

OR (|) Puedes buscar almenos una de varias palabras


site: Obtiene resultados de sitios o dominios que le asignes.
link: Busca paginas externas que contienen enlaces del sitio que le asignes.
related: Busca sitios web relacionados al que le asignes.
info: Obtiene informacion sobre el sitio o dominio que le asignes.
cache: Comprueba como era la pagina o direccion que le asignes la ultima vez que google lo visito.
intitle: Con este operador buscamos en el titulo de la pagina entre las etiquetas  <title>
inurl: Con este operador buscamos que la url incluya lo que le asigamos en la busqueda.
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 extension o tipo de archivo.
intext: Incluye terminos que esten en el <body> de la pagina.
insubject: Incluye terminos que esten en el las etiquetas de titulo de la pagina.
inanchor: Incluye terminos que tengan la etiqueta <a> dentro del <body> de la pagina web.


Google ignora algunas palabras

Google ignora varias palabras como son "a", "el", "de" ... que muchas veces solo harian la busqueda mas pesada por lo que es recomendable no utilizarlas cuando intentemos encontrar informacion. Y podemos hacer busquedas inteligentes en lugar de escribir "me duele la cabeza" podriamos escribir "dolor cabeza" con lo cual encontrariamos mejores resultados.

Buscar lo mas comun o mas afectado

Lo mejor para encontrar cosas es irnos a buscar lo mas comun o mas afectado en cualquier tipo de aplicacion 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, etc.
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 mas completa aqui: http://en.wikipedia.org/wiki/List_of_HTTP_status_codes
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 mas completa aqui: http://en.wikipedia.org/wiki/Comparison_of_web_server_software
CMS: Wordpress,joomla, drupal, prestashop, tynicms, etc. 


Busquedas 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 creditos", "contraseñas de usuarios", "paginas phishing", etc.

Vamos a ver algunas de las tecnicas que yo utilizo muy comunmente para encontrar algunas cosas en algun sitio web:

Crawling:

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

site:tudominio.com

Pagina de administracion:

Podemos encontrar paginas de administracion 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"

Errores: Los errores son muy comunes en cualquier sitio web o servidor:



Crea tu propio DORK

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

Anteriormente puse algunos dorks que no vi en ningun lugar solo se me ocurrio utilizar los operadores por que podrian ser utiles para encontrar informacion, por ejemplo... una manera de encontrar un poco mas rapido la informacion seria utilizar el tip recomendado en la entrada que les recomende al inicio:

^inurl:"e-vendo.php?shop="


Otras formas de Google Hacking:

Google Hacking Imagenes:

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

O tambien intentar buscar la imagen deseada utilizando el mismo buscador de imagenes, ya sea subiendo la imagen o pegando la URL, podriamos 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 facil encontrar informacion sobre donde se encuentra la empresa o persona relacionada con la pagina web.

Bueno y hasta aqui este "tutorial" si se le puede llamar asi, no es nada de otro mundo, pueden ver muchos ejemplos en la pagina exploit-db la cual contiene muchos ejemplos para usar estos operadores, espero que a mas de uno le sea de utilidad y si encontrado lo que buscaban genial!

No hay comentarios:

Publicar un comentario en la entrada