Upload
maximiliano-soler
View
16.685
Download
0
Tags:
Embed Size (px)
DESCRIPTION
PampaSeg 2010 3-4 Diciembre @ Auditorio Honorable Concejo Deliberante www.pampaseg.org Jornadas de Software Libre y Seguridad Informática @maxisoler
Citation preview
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