banner

Google Hacking Parte II


GOOGLE HACKING: PARTE II


Venimos de Google Hacking I, donde habíamos introducido los operadores que nos permiten exprimir al máximo este famoso buscador. Hoy veremos ejemplos sencillos de como podemos utilizar estos operadores.

Listado de directorios

Una de las acciones habituales a la hora de mejorar la seguridad de un sitio web, es desactivar el listado de directorios, es decir, evitar que el servidor muestre la lista de contenidos de los directorios públicos. Aunque es habitual que esta opción este deshabilitada, existen muchos servidores que la traen activa por defecto, por lo que si no es desactivada nos ofrecería una oportunidad única para recopilar información de valor.

Localizar listados de directorios mediante búsquedas de Google es sencillo. Aprovecharemos la circunstancia de que la gran mayoría de listados de directorios comienzan con la frase “Index of”, frase que también se mostrará en el titulo de la pagina. Una forma rápida para encontrar este tipo de paginas vendrá dada por la búsqueda; intitle:index.of, que buscara aquella paginas cuyo titulo sea “Index of”. Desafortunadamente, esta búsqueda devolverá multitud de falsos positivos, por lo que necesitaremos afinar un poco mas la búsqueda. Existen varias palabras claves que a menudo podemos encontrar en los listados de directorios, como son “parent directory”, “name” y “size”. Combinando estas palabras claves con la búsqueda anterior reduciremos drásticamente el numero de falsos positivos.

[ intitle:index.of “parent directory” ]
[ intitle:index.of name size ]

Buscando directorios y archivos

Ya hemos visto como localizar un listado de directorios, pero aun podemos afinar mas la búsqueda. Una opción interesante seria buscar un directorio donde pudiéramos encontrar información útil. Por ejemplo, para localizar un directorio de nombre “admin” sin tener que navegar por el listado, añadiríamos a la búsqueda el nombre del directorio de la siguiente forma:

[ intitle:index.of.admin ]
[ intitle:index.of inurl:admin ]

Pero el listado de directorios ademas de listar el nombre de los directorios, como su propio nombre indicia, también lista ficheros. Por tanto, es posible buscar mediante Google ficheros específicos sin necesidad de navegar por cada uno de los directorios. Por ejemplo, si pretendemos buscar ficheros de registro usaríamos la búsqueda:

[ intitle:index.of acces.log ]

Versión del servidor

Una pieza de información valiosa que nos ofrecen algunos listados de directorios es el nombre y numero de la versión software del servidor. Suele aparecer en la parte baja del listado del directorio, tal como se muestra en la siguiente imagen.
Para localizar este tipo de información usaremos la palabra clave “server at”, que aparece junto a la versión y nombre del software del servidor web. Podremos también, buscar un tipo de servidor en concreto, como por ejemplo Apache o IIS, e incluso una versión determinada, para lo que cambiaríamos el asterisco por la versión concreta.

[ intitle:index.of “server at” ]
[ intitle:index.of “Apache/* server at” ]
[ intitle:index.of “Microsoft-IIS/* server at” ]

Páginas de acceso

Cuando hablamos de páginas de acceso, hacemos referencia a aquellas paginas web que permiten el acceso a una zona restringida mediante unos determinados credenciales (habitualmente usuario y contraseña). Encontrar este tipo de página puede sernos útil, ya que podremos obtener información del software instalado, información que podremos usar posteriormente para buscar vulnerabilidades y exploits. Así mismo, podremos realizar el proceso inverso, es decir, a partir de un exploit, usar el buscador de Google para obtener posibles objetivos. Una ultima opción, seria realizar ataques de diccionario o fuerza bruta para intentar obtener acceso al área restringida.

Existen varias búsquedas que nos permiten encontrar paginas de acceso de forma general, es decir, buscaremos paginas de acceso sin tener en cuenta al servicio que podamos acceder si finalmente comprometemos el sistema. Por ejemplo, podemos buscar, mediante la URL, formularios web basados en ASP.NET que nos permitirán acceder a un área restringida (login.aspx) o formularios :

[ inurl:”/secure/login.aspx” ]

Otra opción, es buscar texto en la web que anuncie que nos encontramos ante un portal de acceso, por ejemplo, texto que nos pida que introduzcamos los credenciales necesarios:

[ intitle:Please Login "You have requested access” ]

Hemos visto como buscar páginas de acceso de forma general, pero podemos centrarnos en páginas de un software o hardware en concreto. Por ejemplo, seria interesante encontrar una pagina de acceso a una VPN SSL Clientless de Cisco ASA, software al que le fue descubierta una vulnerabilidad y que podríamos intentar explotar(CVE-2014-3393):

[ inurl:logon.html "CSCOE" ]

Tan solo tendríamos que encontrar una característica diferenciadora en alguno de los elementos (titulo, URL, texto...) para buscar un página de acceso de un software en concreto en el que tengamos interés. Otros ejemplos podrían ser, la búsqueda de paginas de acceso del gestor de aplicaciones virtuales de Citrix XenApp o a la plataforma anti-DDoS Peakflow SP de Arbor Networks:

[ inurl:"Citrix/XenApp/auth/login.aspx" -Xmarks ]
[ intext:"Please Authenticate" intitle:Peakflow ]

robots.txt

Otra cosa interesante con la que podemos trastear” es con el fichero robots.txt. Este fichero de texto dicta unas “recomendaciones” para los crawlers de buscadores como Google o Bing sobre las páginas que no deben indexar.

Lo curioso e increíble es que estos buscadores suelen indexar este fichero, por lo que podemos obtener aquella información que los administradores quieren mantener oculta...¿muy lógico no?.

Haciendo búsquedas simples, podremos identificar instalaciones de phpMyAdmin, Wordpress, Drupal, Joomla...

[ inurl:.com/robots.txt- + "Disallow: /phpmyadmin/" ]
[ inurl:".com/robots.txt" + "Disallow: /wp-admin/ ]
[ inurl:".com/robots.txt" + "Disallow: ?q=admin" ]
[ inurl:"/robots.txt" + "Disallow: joomla" ]

E incluso ir mas allá y buscar determinados directorios o ficheros, que pretendan ser ocultados. Cuestión de imaginación.

En esta segunda parte hemos ejemplificado de forma eficaz como podemos hacer uso de los operadores de Google para buscar información útil de forma rápida y sencilla. Pero existen muchas mas posibilidades, como búsqueda de vulnerabilidades especificas, RFI, XSS, SQLi... Pero eso lo veremos en la tercera parte :)


#ST2Labs
@seguridadxato2
@jm_aparicio


No hay comentarios :

Publicar un comentario en la entrada