domingo, 18 de septiembre de 2016

Hacking con buscadores : Google y sus malignas pero divertidas funciones.


Google Hacking es una técnica en informática que utiliza operadores para filtrar información en el buscador de Google. Además podemos encontrar otras aplicaciones de agujeros de seguridad en la configuración y el código informático que se utilizan en las páginas web. (Agrego) En realidad la definición es un poco más extensa, también mediante Google Hacking podemos hacernos del uso de cámaras mal configuradas, conseguir acceso a servidores, contraseñas y usuarios de redes sociales u otras plataformas, tarjetas de crédito, información personal sobre personas que no deberían ser filtradas y también la famosa vulnerabilidad de SQL INJECTION y como no, mucho más ...

Introducción a las búsquedas: 

Todas las palabras son importantes. Por lo general, se utilizan todas las palabras que incluyas en la consulta. La búsqueda no diferencia entre mayúsculas y minúsculas. Si buscas : 

[google hacking ]

 obtendrás el mismo resultado que si introduces :

[ Google Hacking ]

 Por lo general, se ignora la puntuación, incluidos los símbolos @#$%^&*()=+[]\ y otros caracteres especiales. Para asegurarte de que las búsquedas de Google devuelvan los resultados más relevantes, se indican algunas excepciones a las reglas anteriores.

Cómo realizar mejores búsquedas : 

Introduce consultas sencillas. Si estás buscando una empresa determinada, introduce solo su nombre o todo lo que puedas recordar del nombre. Si estás buscando un concepto, un lugar o un producto determinados, empieza introduciendo su nombre. Si estás buscando una pizzería, escribe :

 "pizza" 

y el nombre de tu ciudad o tu código postal. Para la mayoría de las consultas, no es necesario utilizar operadores avanzados ni sintaxis poco habitual. Es recomendado que utilices términos sencillos.

Pensar como está escrita la página : 

Los motores de búsqueda no son humanos, sino programas que buscan coincidencias entre las palabras que proporcionas y las páginas de la web. Utiliza las palabras con mayor probabilidad de aparición en la página. Por ejemplo, en lugar de escribir :

 [ me duele la cabeza ]

 escribe : 

[ dolor de cabeza ]

 ya que es el término que se utilizará en una página médica. La consulta [ ¿en qué países los murciélagos se consideran un augurio de mala suerte? ] resulta muy clara para una persona, pero es posible que el documento que contenga la respuesta no incluya esas palabras. En su lugar, introduce la consulta [ los murciélagos dan mala suerte en ] o simplemente [ murciélagos mala suerte ], ya que es probable que ese sea el resultado que aparezca en la página correcta.


Escribir la búsqueda con pocas palabras : 


El objetivo de cada una de las palabras de una consulta es restringir la búsqueda lo máximo posible. Todas las palabras se tienen en cuenta, por lo que cada palabra adicional que se añada limitará los resultados. Si limitas demasiado la búsqueda, perderás una gran cantidad de información útil. La principal ventaja de empezar con pocas palabras clave es que, si no encuentras lo que necesitas, los resultados probablemente te indicarán cuáles son las palabras adicionales necesarias para definir mejor los resultados en la próxima búsqueda. Por ejemplo : 

[ tiempo buenos aires ]

 es una forma sencilla de encontrar información meteorológica y es posible que ofrezca mejores resultados que una consulta más larga, como

[ previsión meteorológica para buenos aires argentina ].


Seleccionar palabras descriptivas :

Cuanto más específica sea la palabra, mayor será la probabilidad de que encuentres resultados relevantes. Las palabras que no son muy descriptivas, como : 

"Documento", "Sitio web", "Empresa" O "Información"

 no suelen ser necesarias. Sin embargo, debes tener en cuenta que, aunque la palabra tenga el significado correcto, sí no es el termino más utilizado, es posible que no encuentres la página que necesitas. Por ejemplo : 

[ tonos famosos ] es una consulta más descriptiva y más específica que [ sonidos famosos].

Introducción a los operadores :

Los operadores son una especie de opciones adicionales que podemos agregar a las búsquedas para obtener resultados más específicos. Sí bien es muy fácil utilizarlos, tienen ciertas reglas que deben ser respetadas para que funcionen correctamente. La sintaxis básica de los mismos es : "operador:término-a-buscar" (Sin las comillas). Al utilizar operadores, debemos tener en cuenta lo siguiente :

  • No debe haber espacios entre el operador, los dos puntos y el término a buscar
  • Violar la sintaxis puede producir resultados diferentes a los deseados
  • Si el término a buscar va a ser una frase, debemos encerrarla entre comillas
  • No todos los operadores pueden combinarse con otros  

Búsqueda de frases ("") :

Al escribir un conjunto de palabras entre comillas, estás indicando a Google que tenga en cuenta esas palabras exactas en ese mismo orden sin realizar ninguna modificación. Google ya tiene en cuenta el orden de las palabras y el hecho de que aparezcan juntas se interpreta como una clara señal que solo se ignorará por motivos justificados, por lo que normalmente no será necesario utilizar comillas. Si insistes en utilizar esta función, es posible que se omitan resultados relevantes de forma accidental. Por ejemplo, si se utilizan comillas para buscar : 

[ "Alexander Bell" ]

se omitirán las páginas que hagan referencia a Alexander G. Bell.

Búsqueda de palabras ("") :

Google utiliza sinónimos de forma automática, por lo que encuentra páginas que incluyen términos relacionados con la consulta (por ejemplo, puede encontrar "antivirus" para la consulta [ anti-virus] (con guión) o "historia de estados unidos" para la consulta [ historia de Estados unidos]). Sin embargo, en ocasiones, Google devuelve demasiados resultados y muestra sinónimos que no deseas que aparezcan. Al poner dobles comillas en una palabra, Google
buscará resultados para esa palabra tal y como la escribiste.

Buscar dentro de un sitio web (site:) :

Google te permite especificar que los resultados de búsqueda procedan de un sitio web determinado. Por ejemplo, la consulta : 

[ iraq site:elpais.com ] 

solo devolverá páginas relacionadas con Iraq cuya fuente sea elpais.com. Consultas más sencillas, como [ iraq elpais.com ] o [ iraq El País ], suelen ser igual de correctas, aunque también pueden devolver resultados de otros sitios que mencionan El País. También puedes especificar una clase entera de sitios (por ejemplo, [ iraq site:.gov ] solo devolverá resultados de un dominio .gov y [ iraq site:.iq ] solo devolverá resultados de sitios iraquíes).

Buscar dentro de una URL (inurl:) :

Utilizando el operador “inurl” podremos limitar los resultados a las url que contengan cierto texto. Por ejemplo, la búsqueda:  

default password inurl:'login.php' 

Mostrará las url que contengan un archivo PHP con el nombre “login.php”, que estén relacionados con el término “default password”.

Buscar por otro tipo de archivo (filetype:) :

Google también nos permite realizar búsquedas por tipo de archivo (recordemos que no solamente indexa contenido html, si no que también indexa los archivos descargables, como pdf, doc, xls, etc. Utilizando el operador “filetype” podremos llegar a encontrar archivos confidenciales, configuraciones y otros cuantos datos a los cuales no debería ser posible acceder.

 NOTA: 

El operador “ext” cumple exactamente la misma función que el operador “filetype”.
Podemos ver una lista de algunos de los archivos soportados por Google:

  • Adobe Flash (.swf)
  •  Adobe Portable Document Format (.pdf)
  • Adobe PostScript (.ps)
  • Autodesk Design Web Format (.dwf)
  •  Google Earth (.kml, .kmz)
  • GPS eXchange Format (.gpx)
  • Hancom Hanword (.hwp)
  •  HTML (.htm, .html, other file extensions)
  • Microsoft Excel (.xls, .xlsx)
  •  Microsoft PowerPoint (.ppt, .pptx)
  • Microsoft Word (.doc, .docx) >
  •  OpenOffice presentation (.odp)
  • OpenOffice spreadsheet (.ods)
  • OpenOffice text (.odt)
  • Rich Text Format (.rtf, .wri)
  •  Scalable Vector Graphics (.svg)
  • TeX/LaTeX (.tex)
  • Text (.txt, .text, other file extensions), including source code in common programming languages:
  • Basic source code (.bas)
  • C/C++ source code (.c, .cc, .cpp, .cxx, .h, .hpp)
  • C# source code (.cs)
  • Java source code (.java)
  •  Perl source code (.pl)
  •  Python source code (.py)
  • Wireless Markup Language (.wml, .wap)
  • XML (.xml)

Buscar por título (intitle:) :

Busca en el título de una página web, es útil para buscar directorios predefinidos en los servidores. (Se ampliará más adelante)

inurl: ".com" intitle: "mp3"

Esto nos va a devolver todos los sitios que contengan : ".com" En su URL y : "MP3" En el titulo de su página.

Búsqueda de enlaces (link:) :

El operador “link” nos permite buscar sitios que tengan enlaces al sitio que nosotros especifiquemos. Va a tomar como argumento una URL o un nombre de servidor. Por ejemplo, la siguiente búsqueda:

 link:ibm.com

Mostrará los sitios web que tengan enlaces apuntando a “ibm.com”.
NOTA: El operador “link” no puede utilizarse en conjunto con otros operadores.

Búsqueda dentro de la caché (cache:) :

Cache: Show the Cached Version of a Page

Google mantiene copias de las páginas a las que ha tenido acceso a través de su motor de búsqueda, las cuáles son almacenadas en su caché. Un enlace a la versión almacenada en la caché de los sitios web se muestra al lado de cada resultado de búsqueda. Si queremos acceder directamente a la versión de la caché de los resultados, podemos utilizar el operador “cache”, de la siguiente manera:

cache:www.portantier.com

De esta forma, accederíamos a la versión de caché del sitio web http://www.portantier.com Debemos considerar que el operador caché va a producir que seamos llevados directamente al resultado que Google considere más adecuado, por lo que podríamos terminar visualizando un sitio web que no nos interesa. Para evitar esto, debemos proporcionar direcciones URL o nombres de dominio exactos.
Podemos buscar números de teléfono a través de Google, básicamente, de dos formas. La primera sería obtener el nombre de la entidad o la persona a través del número telefónico, por ejemplo, la siguiente búsqueda:

0800-222-8112

Nos llevará al número de teléfono de Telefónica de Argentina. Por otro lado, si buscamos:
telefono arcor Vamos a tener acceso a resultados que nos mostrarán los detalles de los distintos números telefónicos de la empresa
“Arcor”.

Términos que deseamos excluir (-) :

Si incluyes un signo menos delante de una palabra, estarás indicando que no quieres que aparezcan páginas que contengan ese término en los resultados. El signo menos debe incluirse delante de la palabra y debe ir precedido de un espacio. Por ejemplo, en la consulta : 

[ software anti-virus ]

el signo menos se utiliza como un guión y no se interpretará como un símbolo de exclusión, mientras que en la consulta 

[ anti-virus -software ] 

se buscarán las palabras "anti-virus", pero se excluirán las referencias al término "software". Puedes excluir todas las palabras que desees incluyendo el signo - delante de ellas 

(Por ejemplo, [ jaguar -coches -natación -sincronizada ]). 

El signo - no sólo se utiliza para excluir palabras. Por ejemplo, puedes incluir un guión delante del operador "site:" (sin espacio) para excluir un sitio específico de los resultados de búsqueda.

Rellenar espacios en blanco (*) :

El símbolo * o asterisco, es una función poco conocida que puede resultar muy útil. Si incluyes un asterisco * en una consulta, estarás indicando a Google que intente considerar ese símbolo como un marcador de posición de términos desconocidos y que, a continuación, busque los mejores resultados. Por ejemplo, la búsqueda : 

[ Google * ] 

devolverá resultados de muchos productos de Google (puedes consultar páginas y páginas de productos). La consulta 

[ Obama votó * el proyecto de ley * ] 

devolverá resultados sobre diferentes votos relacionados con distintos proyectos de ley. Ten en cuenta que el operador * solo funciona con palabras completas, no con términos incompletos.

El operador OR : 

De forma predeterminada, Google tiene en cuenta todas las palabras de una búsqueda. Si quieres especificar una o varias palabras en los resultados de búsqueda, puedes utilizar el operador OR (ten en cuenta que debes escribir "OR" con mayúsculas). Por ejemplo, la consulta [ Real Madrid 2004 OR 2005 ] devolverá resultados de uno de esos dos años, mientras que la consulta [ Real Madrid 2004 2005 ] (sin el operador OR) mostrará páginas en las que se incluyan ambas fechas. El operador OR se puede sustituir por el símbolo |. (AND es el operador predeterminado, por lo que no es necesario incluirlo).

Excepciones :

No es muy común que una búsqueda sea absoluta. Los motores de búsqueda utilizan una serie de técnicas que permiten imitar el pensamiento de los usuarios y aproximarse a su comportamiento. De esta forma, la mayoría de las reglas tienen excepciones. Por ejemplo, Google no interpretará

 [ hotel or blanc ]

 como una consulta con un operador OR, sino como una frase que coincide con el nombre de un hotel.  Para la consulta  :

[ 34 * 87 ]

 Google mostrará resultados matemáticos en lugar de utilizar el operador de asterisco. En ambos ejemplos, los resultados obtenidos cumplen el objetivo de la consulta. A continuación se indica una lista de excepciones a algunas reglas y directrices incluidas en este documento y en el artículo de ayuda básica para las búsquedas.


Todas las palabras importan :

Las palabras comunes, también denominadas "palabras vacías", como artículos y preposiciones, se suelen ignorar. Sin embargo, esta excepción también tiene sus propias excepciones. Es probable que la búsqueda : 

[ el mundo ]

 haga referencia al periódico, mientras que la consulta : 

[ mundo ] 

puede referirse simplemente al planeta Tierra, por lo que Google no ignorará el artículo "el" de la primera consulta. Los sinónimos pueden sustituir a algunas palabras de la consulta original. Es posible que una palabra específica no aparezca en una de las páginas de resultados si existen suficientes referencias que demuestran que esa página es relevante. Estas referencias pueden proceder del análisis lingüístico realizado por Google o de otras muchas fuentes. Por ejemplo, la consulta :

[ vista satélite de salta ]

 devolverá imágenes de satélite de páginas que no incluyen la palabra "vista".

Signos de puntuación no ignorados :

No se ignoran términos populares, en cuyo nombre se incluye algún signo de puntuación, que tienen un significado específico (por ejemplo, [ C++ ] o [ C# ] son los nombres de dos lenguajes de programación). El signo del dólar ($) se utiliza para indicar precios (por ejemplo, las consultas [ nikon 400 ] y [ nikon $400 ] devolverán resultados diferentes). En ocasiones, el guión - indica que dos palabras están muy relacionadas entre sí, a menos que haya un espacio delante y detrás de este símbolo, en cuyo caso se considera un signo menos. El guión bajo _ no se ignora cuando conecta dos palabras (por ejemplo, [ página_web ]).


Buscar archivos confidenciales :

Todos sabemos que en Google se pueden encontrar cosas muy interesantes. Google dispone de una serie de "arañas" que van rastreando todo internet y van listando todas las páginas que existen, y todas las páginas dentro de las páginas. Es un proceso rápido, y, como no podía ser de otra manera, está completamente automatizado. En los casos presentados a continuación se muestra por qué una combinación entre robot de Google que hace demasiado bien su trabajo, y administrador web, que no lo hace tan bien, puede dar como resultado la penetración de la seguridad y la privacidad de, en ocasiones, hasta cientos de miles de personas, incluso de entidades estatales y militares. Probar poner lo siguiente en google:

site:*.com ext:sql 

Donde "site" se refiere a sitio web, en este caso le hemos pedido que nos busque entre todos los sitios que sean .com, pero también le podríamos pedir que nos busque en uno concreto "puzz******.com" [lo he censurado] por ejemplo les resultará interesante. Este campo lo podríamos no poner, o buscar directamente por otros parámetros. Y "ext:sql" para pedirle que nos busque una extensión de archivo determinada. Con SQL lo que hacemos es buscar únicamente bases de datos, o copias de estas. Si pusiéramos : 

"ext:pdf"

encontraríamos solo pdf. Como puedes ver, los resultados que arroja la búsqueda son nada más y nada menos que de bases de datos (dumps) que, por alguna razón, están donde no deberían. Para servir una página al público desde un ordenador, se instala un programa. Hay muchos, dos ejemplos muy populares serían "Xampp" y "Apache". Para poder servir de toda la complejidad que una página web necesita, esos servidores tienen en sí muchas carpetas, no obstante, hay algunas públicas, y otras no. Las públicas se suelen llamar httpdocs, como se ve en la foto, o, en otros casos public_html, entre otros. En nuestro caso, esos dumps, no son otra cosa que copias de seguridad de las bases de datos de una web, se encuentran en la carpeta pública. Estas bases de datos pueden contener desde información trivial, hasta información de contacto, o incluso los usuarios, mails y contraseñas del administrador y todos los usuarios. Esto por sí solo, representa una vulnerabilidad en cuanto a la seguridad de la web y los datos que han sido proporcionados a esta, pero se puede agravar si el administrador del sitio no ha encriptado toda la base de datos.
Piensa en cuantas personas utilizan comúnmente la misma contraseña para todo. Tenemos el mail, y tenemos la contraseña que seguramente utilizará para el mail. Y seguramente tendremos cuentas de todo tipo asociadas a ese mail, desde la cuenta de la universidad, hasta la cuenta del banco.
Si comienzas a buscar en detalle puedes encontrar datos relevantes. Si buscas por  :

".mil"

 puedes encontrar unas cuantas cuentas de militares, y si buscas por "admin@" puedes encontrar un par de cuentas de administradores que han utilizado sus cuentas de correo de administrador para registrarse. Si quieres puedes utilizar esa base de datos para buscar la frecuencia de algunas contraseñas, prueba buscar (123456) y te sorprenderás. Bases de datos sin encriptar y de manera pública podríamos decir que es una de las peores cosas que le podemos hacer a nuestros usuarios. No obstante, en algunas ocasiones, hay webs que encriptan las contraseñas dentro de las bases de datos, y por error las mantienen públicas. En ese caso, no tendremos la contraseña de manera directa, sino
que tendremos el hash (contraseña encriptada), seguramente con algoritmos como md5 o sha1. Para buscar un ejemplo de estas bases de datos podemos probar suerte buscando por los parámetros que fueron mostrados anteriormente, o calcular un hash de una contraseña suficientemente frecuente, como para que aparezca en la mayoría de las bases de datos. Aquí tienes un calculador:

 http://www.fileformat.info/tool/hash.htm

 Puedes introducir en el recuadro "Target text" la contraseña a calcular, y hacer click en el botón hash. Para la contraseña "123456" que según algunos estudios, es una de las más frecuentes, el hash md5 (que es el más utilizado, aunque sha1 sea más seguro y se esté implementando) para esa contraseña es 

"e10adc3949ba59abbe56e057f20f883e"

 Vamos a buscar ese hash en Google de la siguiente manera: 

e10adc3949ba59abbe56e057f20f883e ext:sql 

A continuación se nos mostrarán todas las bases de datos que han sido puestas donde no deberían con una contraseña que corresponde a ese hash. Animate a calcular los hashes de las contraseñas que sueles utilizar y junto a tu username (o mail), puedes ver si algún sitio tiene tus datos de forma pública. Por ejemplo : 

Marcelo e10adc3949ba59abbe56e057f20f883e ext:sql

Sin entrar mucho en password cracking comentaré que una contraseña con números y letras de 7 caracteres en md5 se puede calcular en unos minutos. Para hacer esto no hay otra manera que no sea lanzar todas las passwords posibles, con todas las combinaciones posibles. Es por esta razón por la que las passwords han de ser largas. Sha1 es algo más fuerte que MD5. Pero, aún una password larga, puede ser vulnerada muy fácilmente, si esta corresponde a una serie muy común, como por ejemplo : 

123456789

 o si la contraseña es una palabra que se puede encontrar en el diccionario. ¿Por qué? Cuando la gente empezó a encriptar las contraseñas con algoritmos que no permitían ser revertidos, y que no tenían una contraseña, lo primero que se hizo fue tomar el diccionario de lengua inglesa y una base de datos con las contraseñas más frecuentes y calcular los hashes de cada palabra y cada contraseña. Por lo tanto, tenemos en internet grandes bases de datos con contraseñas ya calculadas (Bien por ser demasiado frecuentes, por aparecer en el diccionario, o porque alguien las ha metido). Hay cientos de bases de datos, esta es una bastante decente: 

http://md5.rednoize.com/ 

Vamos a utilizar nuestro anterior calculador de hashes, y vamos a calcular el hash de "University". Obtenemos el hash :

50c60ac437e4d4ef19c77bdca5bbcf3b

 Si procedemos a buscarlo en rednoize, vemos como, efectivamente, nos devuelve la palabra 

"University"

 Vamos a hacer lo mismo con una contraseña más dura, por ejemplo 

()hululu=5432"

 cuyo hash es :

"3015d599c9e98fa5ea94947908db5061"

 Si procedemos a comprobar si está en la base de datos obtenemos que ?hash not found?. Esto significa que la contraseña es, al menos, un poco segura. Estas vulneraciones de seguridad, y esas contraseñas no seguras, suelen serlo menos en países asiáticos. ¿Por qué? La mayoría del software solo está preparado para procesar caracteres puramente occidentales. ¿Puedes imaginarte recordando una contraseña en chino cuando, seguramente, ni tienes instalada esa opción? Es por eso por lo que las páginas web chinas, generalmente, utilizan solo números en sus contraseñas. Por lo tanto, cuando lo que tienes son hashes de usuarios chinos, sabes casi con total seguridad, que la mayoría de las contraseñas van a ser numéricas, con todo lo que ello implica. En vez de probar todas las combinaciones posibles para contraseñas con todos los números y todas las letras (y todos los caracteres), tener que hacer combinaciones solo con los números,
se convierte en algo mucho más fácil y rápido. Por supuesto, puedes recurrir a otros buscadores como Bing o Yahoo para encontrar resultados diferentes, pero
igual de interesantes.
Share:

3 comentarios:

  1. buena informacion me ha servido de mucho

    ResponderBorrar
  2. gracias por ayudarnos a evitar los hackeos de cuentas bancarias, en la pagina tramitesbancarios10.com ya nos habian advertido de eso

    ResponderBorrar
  3. https://gacetafrontal.com/que-fue-la-guerra-de-reforma/
    En primer lugar dentro de esta guerra civil estaban los liberales. Este grupo estaba interesado en poder mostrar lo que sería la constitución de 1857.

    ResponderBorrar

¡Total de visitas!

El rincon del hacking

¡Curso introducción a la programación con javascript!

¡Curso Google Hacking e Ingenieria Social!