viernes, 21 de agosto de 2009

Google Hacking

Google hacking hace referencia a la utilización de operadores avanzados en el motor de búsqueda de Google para localizar cadenas de texto específicas en los resultados de las búsquedas. Algunos de los ejemplos más populares incluyen la búsqueda de versiones vulnerables de determinadas aplicaciones Web.

Otra técnica habitual es la búsqueda de prácticas de codificación inseguras en el código público indexado por Google Code Search.

Podemos incluso recibir una lista de los nombres de usuario y contraseña desde servidores Microsoft FrontPage tecleando la siguiente búsqueda en el campo de búsquedas de Google

"#-Frontpage-" inurl:administrators.pwd 

También podemos encontrar dispositivos conectados a internet, por ejemplo una cadena de búsqueda como "ViewerFrame?Mode=" encontrará cámaras web públicas.

De lo dicho se supone, por tanto, que se puede emplear google hacking para:

1.- Realizar búsquedas de objetivos al azar, basándonos en vulnerabilidades previamente conocidas, o incluso búsqueda de información sobre un objetivo en concreto empleando los operadores proporcionados por google. .

2.- También podremos, buscar exploits que se aprovechen de esas vulnerabilidades para acceder a los anteriores sistemas.

3.- Buscar dispositivos "desprotegidos" o de fácil acceso conectados a Internet.

Sea como fuere y para realizar cualquiera de esas "actividades" podemos emplear varios métodos para conseguirlos dependiendo de qué es exactamente lo que buscamos. Por ordenarlos de algún modo podríamos:



1.- Acceder a páginas web con enlaces a las búsquedas que nos interesan
2.- Emplear el programa Google Hacks que nos permite de modo muy sencillo realizar algunas búsquedas de modo muy sencillo en google, tal y cómo podéis ver en la siguiente imagen:


3.- Emplear textos o servicios específicos para los que deseamos buscar:
  • Para buscar código: code.google.com
  • Buscar código con codesearch (google.com/codesearch), p.e: lang:java
  • Buscar exploits empleando, por ejemplo, las siguientes cadenas: remote exploit, vulnerable exploit, inurl:0day exploit, filetype:c exploit...
  • buscar sistemas de autenticación basados en flash, por ejemplo, buscar inurl:"acceso.swf"
4.- En cualquier caso para búsquedas más completas o avanzadas es necesario conocer cuáles son los operadores que podemos emplear con google, para ello os copio de la página galinus el siguiente tutorial -tras el cuadro en el que puedes ver todos los operadores ordenados por servicio de búsqueda:



Servicio de Búsqueda
Operadores de búsqueda
Búsqueda Web
allinanchor:, allintext:, allintitle:, allinurl:, cache:, define:, filetype:, id:, inanchor:, info:, intext:, intitle:, inurl:, phonebook:, related:, site:
Búsqueda en imágenes
allintitle:, allinurl:, filetype:, inurl:, intitle:, site:
Grupos allintext:, allintitle:, author:, group:, insubject:, intext:, intitle:
Directorio
allintext:, allintitle:, allinurl:, ext:, filetype:, intext:, intitle:, inurl:
News allintext:, allintitle:, allinurl:, intext:, intitle:, inurl:, location:, source:
Búsqueda de productos
allintext:, allintitle:

Operadores booleanos

Google hace uso de los operadores booleanos para realizar búsquedas combinadas de varios términos. Esos operadores son una serie de símbolos que Google reconoce y modifican la búsqueda realizada:

  • " ": Para buscar una expresión literal.
  • "tienda de deportes" (compara con tienda de deportes).

  • -: Para excluír páginas que incluyan cierto término.
  • corte -ingles (compara con corte).

  • OR (ó |): Busca páginas que contengan un término u otro.
  • patatas OR zanahorias (compara con patatas zanahorias).

  • +: Para incluír palabras que Google por defecto no tiene en cuenta al ser muy comunes (en español: "de", "el", "la".....).
  • +la real (compara con la real).

    También se usa para que Google distinga acentos, diéresis y la letra ñ, que normalmente son elementos que no distingue.

  • *: Comodín. Utilizado para sustituir una palabra. Suele combinarse con el operador de literalidad (" ").
  • "tienda * deportes" (compara con "tienda deportes").

Comandos

Además de los operadores booleanos, existen otra serie de palabras clave que se pueden utilizar para realizar "búsquedas diferentes" con Google. A continuación, presentamos las que nos parecen más útiles:

  • define:término : Se muestran definiciones procedentes de páginas web para el término buscado.
  • define:usabilidad : presenta las definiciones de usabilidad que Google encuentra en la web.

  • filetype:término: Las búsquedas se restringen a páginas cuyos nombres acaben en el término especificado. Sobretodo se utiliza para determinar la extensión de los ficheros requeridos.
  • filetype:pdf usabilidad : muestra aquellos resultados para el término usabilidad con extensión pdf.

    Nota: el comando ext se usa de manera equivalente.

  • site:sitio/dominio : Los resultados se restringen a los contenidos en el sitio o dominio especificado. Muy útil para realizar búsquedas en sitios que no tienen buscadores internos propios.
  • site:www.galinus.com usabilidad : muestra los páginas del sitio www.galinus.com donde aparece el término usabilidad.

  • link:url : Muestra páginas que apuntan a la definida por dicha url. La cantidad (y calidad) de los enlaces a una página determina su relevancia para los buscadores. Nota: sólo presenta aquellas páginas con pagerank 5 o más.
  • link:www.nosolousabilidad.com : presenta las páginas (con Page Rank igual o mayor a 5) que enlazan con la web www.nosolousabilidad.com.

  • cache:url : Se mostrará la versión de la página definida por url que Google tiene en su memoria, es decir, la copia que hizo el robot de Google la última vez que pasó por dicha página.
  • cache:www.galinus.com : presenta la versión de Galinus que Google guarda en su memoria.

    Introduciendo un término (o varios) después de la url, Google mostrará la copia en memoria de la página con el (o los) términos destacados.

  • info:url : Google presentará información sobre la página web que corresponde con la url.
  • info:"tecnoloxiaxa.blogspot.com" : muestra información sobre la web tecnoloxiaxa.blogspot.com.

  • related:url : Google mostrará páginas similares a la que especifica la url.
  • related:www.nosolousabilidad.com

    Nota: Es difícil entender que tipo de relación tiene en cuenta Google para mostrar dichas páginas. Muchas veces carece de utilidad.

Para restringir las búsquedas a partes concretas de las webs

  • allinanchor:términos : Google restringe las búsquedas a aquellas páginas apuntadas por enlaces donde el texto contiene los términos buscados.
  • allinanchor:estudios usabilidad : presenta las páginas apuntadas por enlaces cuyo texto contiene estudios usabilidad.

  • inanchor:término : Las búsquedas se restringen a aquellas apuntadas por enlaces donde el texto contiene el término especificado.
  • A diferencia de allinanchor se puede combinar con la búsqueda habitual.

  • allintext:términos : Se restringen las búsquedas a los resultados que contienen los términos en el texto de la página.
  • allintext:estudios usabilidad : presenta las páginas que contienen en el texto estudios usabilidad.

  • intext:término : Restringe los resultados a aquellos textos que contienen término en el texto.
  • A diferencia de allintext se puede combinar con la búsqueda habitual de términos.

  • allinurl:términos : Sólo se presentan los resultados que contienen los términos buscados en la url.
  • allinurl:estudios usabilidad : presenta los resultados en donde estudios usabilidad aparece en la url.

  • inurl:término : Los resultados se restringen a aquellos que contienen término en la url.
  • A diferencia de allinurl se puede combinar con la búsqueda habitual de términos.

  • allintitle:términos : Restringe los resultados a aquellos que contienen los términos en el título.
  • allintitle:estudios usabilidad : presenta los resultados en donde estudios usabilidad aparece en el título.

  • intitle:término : Restringe los resultados a aquellos documentos que contienen término en el título.
  • A diferencia de allintitle se puede combinar con la búsqueda habitual de términos.

Sólo para Google Grupos

  • author:nombre/correo : Busca en los grupos artículos escritos por el nombre o la dirección de correo indicada.
  • author:billgates@hotmail.com : presenta los artículos (en Google Grupos) firmados por el correo billgates@hotmail.com.

  • insubject:término : Busca mensajes (en Google Grupos) cuyos asuntos contengan dicho término.
  • insubject:usabilidad : muestra los resultados donde usabilidad aparece en el asunto.

Sólo para Google Noticias

  • location:país : Al incluirlo en una búsqueda en Google Noticias, sólo se muestran resultados procedentes del país especificado.
  • location:France : presenta las noticias que provienen de medios de Francia.

Si te ha interesado este artículo tal vez te interesen el resto de los manuales de Apuntes de seguridad

Enlaces:

Todo sobre Google: Página de Google en donde los creadores del propio buscador informan de sus características.

Googlemania: Sitio en castellano dedicado íntegramente a este buscador.


No hay comentarios: