martes, 1 de marzo de 2016

Búsquedas avanzadas en Google y Google Dorks

Hoy voy a describiros algún fundamento básico de búsqueda avanzada en Google mediante filtros básicos y avanzados, terminando en los llamados Google Dorks.

Google se ha convertido actualmente en una de las multinacionales que más tráfico generan dentro de la red, ofreciendo una cantidad desorbitada de servicios, recientemente realizando intentos de centralizar todos ellos mediante herramientas como las cuentas de Google o Google+. Sin embargo, todos podemos identificar Google con su uso más "clásico": un motor de búsqueda.

Pese a ser el más utilizado, el motor tiene una serie de herramientas y filtros que no suelen utilizarse pese a ser bastante sencillos de utilizar. Intentaré hacer un breve recorrido por ellos a modo de introducción. Intentad practicar un poco y quedaos con un par de ellos, ya que realmente agilizan mucho la búsqueda de información.

Podemos empezar por un par de operadores básicos para hacer las búsquedas más concretas:

  • Comillas (""): Sirven para buscar exactamente las palabras que se indican dentro, en ese mismo orden tal cual. Es decir, la frase exacta. Por ejemplo, buscar páginas que contengan exactamente la frase "Hola mundo" (¡Entre comillas de verdad!).

Búsqueda literal de una frase en Google usando comillas
  • Símbolo menos (-): Se utiliza para excluir una palabra de una búsqueda. Por ejemplo, buscar páginas que NO contengan la palabra "hola". 
  • Asterisco (*): Se puede utilizar como palabra comodín, en caso de que no se conozca o no se recuerde una palabra dentro de una frase. Por ejemplo, "Más vale * en mano" debería arrojar resultados donde * es "pájaro". 
  • Símbolos monetarios ($, €...): Se utilizan para indicar búsquedas de cantidades de dinero. Tiene mucha utilidad junto al siguiente. 
  • Dos puntos seguidos (..): Utilizados para separar cifras, sirve para indicar un rango numérico. Por ejemplo, la búsqueda "toshiba laptop $300..400" debería darnos como resultado portátiles marca Toshiba de entre 300 y 400 dólares.
  • OR: El uso de esta palabra clave indica que buscamos páginas que puedan contener una u otra palabra que indicamos. Por ejemplo, "maratón OR triatlón" buscará páginas que contentan una o las dos palabras. 
Esos son los filtros más sencillos de utilizar. Acercándonos un poco más a los filtros avanzados tenemos una nueva sintaxis; se debe indicar el nombre del filtro (por ejemplo, intitle) seguido de dos puntos y las palabras a filtrar, separadas por una coma si pueden ser varias. ¡Cuidado con los espacios, ya que "rompen" el filtro!


Estos son algunos de los operadores avanzados para Google Dorks más interesantes:
  • intitle: Busca palabras en el título de la página. Por ejemplo, "intitle:google,plus" arrojaría páginas cuyo título contenga las palabras "google" o "plus". 
  • related: Busca páginas relacionadas con aquella que se le proporciona. Por ejemplo, "related:google.com" buscaría páginas relacionadas con el motor de búsqueda. 

Búsqueda de páginas relacionadas con google.com... ¡Otros motores de búsqueda!
  • info: Información acerca de la página indicada, como páginas que la enlazan, páginas similares o versiones almacenadas de la página (caché). Por ejemplo, "info:thesecuritysentinel.es" arroja información acerca de dicha página. 
Búsqueda de información de una página
  • cache: Muestra la página tal y como la observó Google la última vez que la visitó. Tiene una gran utilidad cuando se necesita consultar una página pero no está disponible en ese momento. Por ejemplo, podríamos acceder a una versión en caché de esta página mediante "cache:hazardproject.blogspot.com". 

Moviéndonos a un uso un poco más avanzado, los Google Dorks, también llamados Google Hacking, son una serie de parámetros de búsqueda que podemos introducir de forma manual en la clásica página de búsqueda de Google. De esta forma, podemos filtrar muchísimo nuestra búsqueda. ¿Qué clase de filtros podremos introducir? Más abajo describiré unos cuantos, pero como introducción, podremos buscar palabras en el título de la página, tipos de fichero, excluir palabras...

La utilidad de los Google Dorks dentro del proceso de pentesting está sobre todo dentro de la fase de recolección de información del objetivo; cuentas de correo electrónico, datos personales de un empleado, posibles fallos de seguridad en una página... El abanico de posibilidades es muy amplio.

La fase de recolección de información es aquella en la que intentamos descubrir la mayor cantidad posible de información acerca del objetivo del ataque, ya sea una empresa, un empleado en concreto, un usuario en una web, un servidor de correo... Toda información es buena y útil, pudiendo darnos datos que faciliten otro tipo de ataques, como la suplantación de identidad o la fuerza bruta.

La información que nos brinda Google es toda aquella que aparece de forma pública relacionada con nuestra búsqueda, que ha sido indexada por dicho buscador. Aquí es donde radica la importancia de proteger y ocultar la información por parte de los propietarios de dichas páginas. Si no, podemos encontrarnos con dorks bastante simples que nos arrojan un gran número de ficheros de texto que contienen usuarios y contraseñas.

Veamos algunos de estos filtros más avanzados, sin entrar de momento en mayores detalles:

  • inurl: Sirve para realizar búsquedas cuyos resultados tengan ciertas palabras en su URL. Por ejemplo, "inur:security,sentinel" podría dar como resultado páginas de dicha empresa. 
  • filetype: Busca tipos de fichero en concreto, como puede ser un documento PDF, documentos de Microsoft Word, ficheros de texto plano... En la recolección de información cobra gran importancia junto al siguiente. 
  • site: Busca resultados dentro de una sitio web en concreto. Por ejemplo, el dork "filetype:doc OR filetype:pdf site:uva.es" arroja resultados que contengan ficheros .pdf o .doc dentro de la página de la Universidad de Valladolid. 
Búsqueda de ficheros en una página mediante un dork
  • link: Busca páginas que contengan links a la página indicada. Por ejemplo, "link:uva.es" busca páginas que enlacen a la Universidad de Valladolid. 

Terminaremos aquí, de momento, el recorrido de las búsquedas avanzadas y los dorks. Es un tema muy amplio y aún me he dejado en el tintero bastantes palabras claves y filtros que dejaré para una entrada algo más avanzada junto a ejemplos de recolección de información. 

Un saludo hackers!
hartek