Recoleccion de Informacion con Google (PampaSeg 2010 - La Pampa, Argentina)

Post on 12-Jun-2015

16.683 views 0 download

Tags:

description

PampaSeg 2010 3-4 Diciembre @ Auditorio Honorable Concejo Deliberante www.pampaseg.org Jornadas de Software Libre y Seguridad Informática @maxisoler

Transcript of Recoleccion de Informacion con Google (PampaSeg 2010 - La Pampa, Argentina)

Maximiliano Solere-Mail:Twitter: @maxisoler

Recolección de Información

con Google

Recolección de Información con Google

2

Presentación

Recolección de Información con Google

3

Quien soy?

Maximiliano Soler, actualmente trabajando como Sr. Analista de Seguridad en un banco internacional, además realizo consultoría externa con compañías internacionales.

Participo y apoyo diferentes proyectos como OWASP, WASSEC, Security-Database, Zero Science Lab.

Fanático de los estándares abiertos como CVE, CWE, OVAL, CCE.

He descubierto vulnerabilidades en diferentes aplicaciones Web y en productos de Microsoft.

Recolección de Información con Google

4

Objetivo de la Charla

Demostrar la variedad de información a la que es posible acceder sin

utilizar mecanismos sofisticados, al alcance de cualquiera.

Desde el navegador hacia nuestro objetivo, recolectando información

valiosa para concretar el ataque.

Recolección de Información con Google

5

Información General

Recolección de Información con Google

6

Por qué Google?

» Sólo devuelve páginas que contienen los términos que usted

ingresó.

» Considera la ubicación de los términos de búsqueda en la página.

» Ofrece un resumen relevante de cada resultado.

» Guarda páginas Web en su caché.

Recolección de Información con Google

7

Information Ga…qué?

Una gran parte del proceso de hacking o vulnerar sistemas, consiste

en la recolección de información.

Sin la adecuada investigación, sobre qué servicios, puertos,

aplicaciones o servidores Web están siendo ejecutados nos llevaría

muchísimo más tiempo poder concretar el ataque o ganar acceso al

sistema objetivo.

La técnica, es considerada una actividad del tipo pasiva. No

involucra invasión o manipulación del objetivo. Es disimulada.

Recolección de Información con Google

8

Information Ga…qué?

Esta información puede ser obtenida a través de recursos públicos,

ejecutando utilidades como Whois, NSLookup, NetCraft, DNS

Reports o simplemente buscando manualmente a través de la Web.

Recolección de Información con Google

9

Etapas de Information Gathering

01 - Gathering information

02 - Locating the network range

03 - Identifying active machines

04 - Finding open ports and applications

05 - Detecting operating systems

06 - Fingerprinting services

07 - Mapping the network

Fuente: Certified Ethical Hacker, EC Council

Recolección de Información con Google

10

Etapas de Information Gathering

Recolectar información acerca del objetivo.

Identificar vulnerabilidades.

Explotar vulnerabilidades.

got r00t?

Recolección de Información con Google

11

Utilizando Google

Dorks / Operadores de Búsqueda

Recolección de Información con Google

12

Utilizando Google

Dorks / Operadores de Búsqueda

¿Qué son?

Los operadores de búsqueda de Google son términos de consulta o

símbolos que realizan acciones especiales. Estos operadores te

permiten encontrar lo que buscas de forma rápida y precisa,

ofreciendo control adicional más allá de la página Búsqueda

avanzada.

Recolección de Información con Google

13

Dorks / Operadores de Búsqueda

Recolección de Información con Google

14

Dorks / Operadores de Búsqueda

¿Cómo funcionan?

Uso de comillas “”: Puede especificar al motor de Google que desea buscar una expresión compuesta de dos o más palabras literalmente, escribiendo los términos a buscar entre comillas.

Ejemplo: "OWASP Day Argentina", obtendrá los sitios que contengan la expresión a buscar textualmente.

Asterisco "*": Permite sustituir palabras, y ampliar de esta manera las búsquedas.

Ejemplo: "OWASP Day *", obtendrá los sitios que contengan OWASP Day y luego seguido de cualquier país o lo que sea.

Recolección de Información con Google

15

Dorks / Operadores de Búsqueda

AND: De forma predeterminada Google busca resultados uniendo las palabras introducidas por el usuario utilizando este operador. Así el resultado final de una búsqueda sin especificar nada o utilizándolo será igual.

Ejemplo: "OWASP AND Argentina" obtendrá los mismos resultados que sí no se especifica AND. Mostrando resultados que contengan ambas palabras.

Operador "–": Sirve para excluir resultados de la búsqueda. Debe especificarse antes del término a obviar.

Ejemplo: "OWASP -Argentina" obtendrá aquellos sitios que contengan la palabra OWASP, pero no Argentina.

Recolección de Información con Google

16

Dorks / Operadores de Búsqueda

OR o símbolo "|": La condición "ó" indica que podrían no estar simultáneamente las dos palabras en cada resultado de la búsqueda, sino cada una de ellas por separado, deberá especificar el operador OR entre los términos que deban cumplir este criterio.

Ejemplo: "OWASP OR Argentina" obtendrá resultados que contengan una u otra palabra.

Operador “~”: Permite buscar sinónimos de un término.

Ejemplo: "~Security" obtendrá términos similares y Webs que contengan estos.

Recolección de Información con Google

17

Dorks / Operadores de Búsqueda

Rangos "num1..num2": Sí se conoce el comienzo de un rango, será posible buscar hasta un determinado número.

Ejemplo: “72.14.253.104..255" obtendrá términos similares y Webs que contengan estos.

Se pueden utilizar varios operadores de forma lógica, agrupándolos entre paréntesis.

Recolección de Información con Google

18

Dorks / Operadores de Búsqueda

inanchor: allinanchor:

intext: allintext:

intitle: allintitle:

inurl: allinurl:

link: cache:

filetype: define:

phonebook: related:

info: site:

id:

Recolección de Información con Google

19

Dorks / Operadores de Búsqueda

intitle:

site: inurl: filetype:

Recolección de Información con Google

20

Dorks / Operadores de Búsqueda

inanchor: Nos muestra sólo páginas que tienen la keyword o keywords en el texto de los enlaces que apuntan a ella.

Los resultados se listan en base a los backlinks o enlaces externos que apuntan hacia la página.

allinanchor: A diferencia del anterior muestra toda la coincidencia.

intext: Nos muestra sólo páginas que tienen la keyword o keywords en el texto dentro del body de las páginas.

allintext: Nos muestra sólo páginas que tienen la keyword o keywords en el texto de la página. Coincidencia completa.

Recolección de Información con Google

21

Dorks / Operadores de Búsqueda

intitle: Nos muestra sólo páginas que tienen la keyword o keywords en el texto dentro del título de las páginas.

allintitle: Establece una coincidencia completa de los términos buscados.

inurl: Nos muestra sólo páginas que tienen la keyword o keywords en la URL de las páginas.

allinurl: Establece una coincidencia completa de los términos buscados.

Recolección de Información con Google

22

Dorks / Operadores de Búsqueda

link: Nos muestra los enlaces de un dominio o página Web.

cache: Nos muestra la caché de un dominio o página Web.

define: Nos muestra definiciones para una búsqueda.

related: Nos muestra páginas Web similares.

phonebook: Busca en los listados públicos de teléfonos, nombre, dirección, números de teléfono.

info: o id: Mostrará información que Google guarde acerca de un sitio o recurso Web.

Recolección de Información con Google

23

Dorks / Operadores de Búsqueda

filetype: Filtra los resultados por tipos de archivo. (pdf, ppt, doc, txt, etc).

site: Nos muestra las páginas indexadas por Google de un dominio o subdominio. Dependiendo sí se especifica "www", incluirá o no los subdominios.

Recolección de Información con Google

24

Y ahora…

¿Qué podemos encontrar?!

Recolección de Información con Google

25

¿Qué podemos encontrar?!

» Productos vulnerables.» Mensajes de error.» Archivos que contienen información sensible.» Archivos que contienen contraseñas.» Archivos que contienen nombres de usuario.» Foot-holds e información de apoyo al acceso.» Páginas con formularios de acceso.» Páginas que contienen datos relativos a vulnerabilidades.» Directorios sensibles.» Información sensible sobre comercio y banca electrónica.» Dispositivos hardware online.» Archivos vulnerables.» Servidores vulnerables.» Detección de servidores Web.

Recolección de Información con Google

26

¿Qué podemos encontrar?!

Quizás esta sea la cara de ustedes, luego de ver toooodoo lo que podemos encontrar.

Recolección de Información con Google

27

» Productos vulnerables

A través de diferentes publicaciones sobre vulnerabilidades

descubiertas, podemos llegar a identificar servidores vulnerables.

Generalmente relacionado a las versiones.

Recolección de Información con Google

28

» Productos vulnerables

inurl:gov.ar + intext:phpinfo

Recolección de Información con Google

29

» Mensajes de error

Los mensajes de error, muchas veces brindan información valiosa

para entender cómo se ejecutan las aplicaciones/scripts y qué

usuario utilizan al hacerlo.

Recolección de Información con Google

30

» Mensajes de error

intext:"access denied for user" "using password" inurl:gov.ar

Recolección de Información con Google

31

» Archivos que contienen información sensible

Sin usuarios o contraseñas, información interesante y útil.

Recolección de Información con Google

32

» Archivos que contienen información sensible

inurl:gov.ar inurl:robots.txt

Recolección de Información con Google

33

» Archivos que contienen contraseñas

Y si, contraseñas! tan simple como buscar. :-D

Recolección de Información con Google

34

» Archivos que contienen contraseñas

inurl:gov.ar + inurl:config.xml

Recolección de Información con Google

35

» Archivos que contienen nombres de usuario

Archivos que contienen nombres de usuario, sin contraseñas.

Recolección de Información con Google

36

» Archivos que contienen nombres de usuario

inurl:admin inurl:userlist

Recolección de Información con Google

37

» Foot-holds e información de apoyo al acceso

Una manera simple de ganar acceso, buscando archivos sin

protección.

Recolección de Información con Google

38

» Footholds e información de apoyo al acceso

intitle:"PHP Shell *" "Enable stderr" filetype:php

Recolección de Información con Google

39

» Páginas con formularios de acceso

Las típicas páginas de login, a través de portales, blogs, o cualquier

sistema que se administre vía Web.

Recolección de Información con Google

40

» Páginas con formularios de acceso

inurl:gov.ar inurl:wp-login.php

Recolección de Información con Google

41

» Páginas que contienen datos relativos a vulnerabilidades

Interesante información, logs de firewall, reporte de vulnerabilidades,

servicios en ejecución y muuucho más.

Recolección de Información con Google

42

» Páginas que contienen datos relativos a vulnerabilidades

intitle:"Nessus Scan Report" "This file was generated by Nessus"

Recolección de Información con Google

43

» Directorios sensibles

Dependiendo del caso, encontraremos información más o menos

sensible. Generalidad de uso.

Recolección de Información con Google

44

» Directorios sensibles

inurl:backup intitle:index.of inurl:admin

Recolección de Información con Google

45

» Información sensible sobre comercio y banca electrónica

¿Dónde compras y qué compras? información sobre clientes,

vendedores, ordenes de compra, e-commerce al descubierto.

Recolección de Información con Google

46

» Información sensible sobre comercio y banca electrónica

inurl:"shopadmin.asp" "Shop Administrators only"

SecurityTracker Alert ID: 1004384

Recolección de Información con Google

47

» Dispositivos hardware online

La posibilidad de administrar impresoras, cámaras de video, espiar a

otros, etc.

Recolección de Información con Google

48

» Dispositivos hardware online

intitle:"EverFocus EDSR Applet"

Which is the default login?! YES, it works!

Recolección de Información con Google

49

» Ficheros vulnerables

Muuuchos archivos vulnerables, al alcance de un clic.

Recolección de Información con Google

50

» Ficheros vulnerables

intext:"File Upload Manager v1.3" "rename to"

Recolección de Información con Google

51

» Servidores vulnerables

Diferentes formas de acceder a servidores, instalaciones por defecto,

scripts sin configurar.

Recolección de Información con Google

52

» Servidores vulnerables

intitle:"Remote Desktop Web Connection"

Recolección de Información con Google

53

» Detección de servidores Web

Identificar a través de versiones, servidores vulnerables, acceso por

defecto, documentos de ayuda, logins, etc.

Recolección de Información con Google

54

» Detección de servidores Web

intext:"Microsoft-IIS/5.0 server at" inurl:gov.*

Recolección de Información con Google

55

Buscando el Código

Recolección de Información con Google

56

» Buscando el código

Google provee una forma bastante simple de encontrar

vulnerabilidades en software, a través de Google Code Search,

podemos encontrar vulnerabilidades en el código fuente.

http://www.google.com/codesearch

Recolección de Información con Google

57

» Buscando el código

JavaServer Pages (.jsp) Cross Site Scripting

<%=.*getParameter

Recolección de Información con Google

58

» Buscando el código

JavaServer Pages (.jsp) SQL Injection

executeQuery.*getParameter

Recolección de Información con Google

59

» Buscando el código

PHP - Cross Site Scripting

lang:php (print\(|echo)\s\$_(GET|REQUEST)

Recolección de Información con Google

60

Jugando con el API de Google

¿Qué son unas APIs?

API son las siglas en inglés de Application Programming Interface. En otras palabras, son los métodos que el desarrollador de cualquier aplicación ofrece a otros desarrolladores para que puedan interactuar con su aplicación.

¿Con qué lenguajes de programación puedo usar las APIs de Google?

Los desarrolladores pueden hacer peticiones a Google mediante el uso de varios lenguajes, como Java, Perl o Visual Studio .NET, entre otros.

Recolección de Información con Google

61

Jugando con el API de Google

¿Qué aplicaciones puedo hacer con las APIs de Google?

Se pueden desarrollar tanto aplicaciones en entorno Web como dentro de un programa clásico.

¿Cómo funcionan las APIs de Google?

Las aplicaciones que escriben los desarrolladores se conectan remotamente con el servicio Web API de Google. Esta comunicación se realiza mediante un protocolo llamado SOAP (Simple Object Access Protocol). Está basado en XML, y se usa para el intercambio de información entre aplicaciones.

Recolección de Información con Google

62

Herramientas y Utilidades

Recolección de Información con Google

63

Herramientas

Gooscan v1.0

Gooscan es una herramienta que automatiza las consultas hacia Google. Pensado como un Scanner CGI, la comunicación no se hace directamente sobre el objetivo. Es Google quien responde.

Características

» Programado en C.» Es posible añadir o quitar dorks.» Automatizar búsquedas puede infringir los Términos de Uso de Google.

http://security-sh3ll.blogspot.com/2008/11/gooscan-automated-google-hacking-tool.html

Recolección de Información con Google

64

Herramientas

SiteDigger v3.0

SiteDigger busca en la caché de Google, para hallar vulnerabilidades, errores, configuración por defecto, y otro tipo de información relacionado a la seguridad del sitio Web.

Características

» Interfaz de usuario mejorada, actualización de firma y página de resultados.» No requiere API de Google.» Soporte para Proxy y TOR.» Resultados en tiempo real. » Resultados configurables.» Actualización de firmas.» Posibilidad de guardar las firmas y configuración.» Requiere: Microsoft .NET Framework v3.5

Recolección de Información con Google

65

SiteDigger v3.0

http://www.foundstone.com/us/resources/proddesc/sitedigger.htm

Recolección de Información con Google

66

Herramientas

Athena v2.0

Utiliza archivos XML con las búsquedas a realizar, se pueden personalizar. Funciona de la misma manera que un navegador Web.

Características

» Compatibilidad con SiteDigger.» Archivos XML configurables.» No utiliza API de Google.» Una búsqueda a la vez.» Requiere: Microsoft .NET Framework v1.1

http://snakeoillabs.com/wordpress/2004/11/07/athena-20-is-go/

Recolección de Información con Google

67

Herramientas

Athena v2.0

Recolección de Información con Google

68

Herramientas

ProminentDork v1.0

Orientado a realizar fuzzing y encontrar SQLi, XSS, LFI, RFI a través de Google.

Características

» Programado en C#, licencia GNU.» Consultas múltiples.» Soporte para GHDB.» Utilización de Proxy.» Reconoce los CAPTCHA.

Es la aplicación más reciente relacionado a Google y la investigación de seguridad en aplicaciones Webs.

http://prominentsecurity.com

Recolección de Información con Google

69

Herramientas

ProminentDork v1.0

Recolección de Información con Google

70

Herramientas

Advanced Dork (Firefox Addon)

Es una extensión para Firefox, que permite de forma fácil y rápida a través de un menú contextual utilizar más de 15 dorks.

https://addons.mozilla.org/en-US/firefox/addon/2144/

Recolección de Información con Google

71

Herramientas

Advanced Dork (Firefox Addon)

Recolección de Información con Google

72

Ingeniería Social

Incrementando el juego

Recolección de Información con Google

73

Ingeniería Social…incrementado el juego

Podemos descubrir cierta información acerca de los administradores y el ambiente donde se desempeñan:

» Tecnologías utilizadas, vía búsquedas laborales.

» Nivel de conocimiento, vía publicaciones técnicas.

» Hobbies.

» Habilidades.

» Amistades, vía redes sociales como Facebook,

Linkedin, Google/Yahoo! Groups,).

» O inclusive…el teléfono personal ;-) ----->

Recolección de Información con Google

74

Recomendaciones

Recolección de Información con Google

75

Recomendaciones

» Asegurar los servidores y aplicaciones Web utilizadas.

» Testear e implementar mediante políticas de seguridad las últimas

actualizaciones disponibles.

» Deshabilitar la navegación por directorios.

» No publicar información sensible sin autenticación.

» Analizar las búsquedas que conducen hacia nuestros servidores

Web, podrían estar ingresando a HTTP Logs.

Recolección de Información con Google

76

Recomendaciones

¿Qué hacemos sí descubrimos que Google ha indexado información sensible?!

Necesariamente debemos informárselo a Google y ellos procederán a eliminar de su caché esta información:

http://www.google.com/remove.html

Recolección de Información con Google

77

Conclusiones

Recolección de Información con Google

78

Conclusiones

» Information Gathering, es una técnica muy útil. :-)

» Archivos con información sensible, por más que se quiten de los servidores Web continúan estando en la caché de Google.

» Usar los google dorks, para ver qué información podemos encontrar acerca de nuestro sitio web en Google.

» Aprender y entender las diferentes técnicas y herramientas mencionadas.

» La seguridad por oscuridad, NO existe!

Aceptar nuestra vulnerabilidad en lugar de tratar de ocultarla es la mejor manera de adaptarse a la realidad.

Recolección de Información con Google

79

Sitios Recomendados

Google Guide- http://www.googleguide.com/

Dirson- http://google.dirson.com

Blog Oficial de Google (This Week Search)- http://googleblog.blogspot.com/

Google Help: Cheat Sheet- http://www.google.com/help/cheatsheet.html

Google Hacking Database (Johnny)- http://www.hackersforcharity.org/ghdb/

Recolección de Información con Google

80

Sitios Recomendados

Gooscan v1.0http://security-sh3ll.blogspot.com/2008/11/gooscan-automated-google-hacking-tool.html

SiteDigger v3.0http://www.foundstone.com/us/resources/proddesc/sitedigger.htm

ProminentDork v1.0http://prominentsecurity.com/?p=91

Athena 2.0http://snakeoillabs.com/wordpress/2004/11/07/athena-20-is-go/

Advanced Dork (Firefox Addon)https://addons.mozilla.org/en-US/firefox/addon/2144/

Recolección de Información con Google

81

Preguntas…

Recolección de Información con Google

82

Muchas Gracias!

Maximiliano Solere-Mail:Twitter: @maxisoler