domingo, 14 de noviembre de 2010

Juaqueando webs con Joomla [Parte II]

Me había olvidado de comentar otra forma de reconocer un sitio con Joomla, de echo la más frecuente, no se por que la olvide xD Se trata de mostrar el panel de administración.

Por ejemplo si el sitio es:

http://www.ejemplo.com/index.php

El panel de administración estaría en:

http://www.ejemplo.com/administrator/index.php

Y nos aparecería algo como:



Buscando los componentes instalados

Bien ya detectamos una web con Joomla, no fue difícil ¿Y ahora qué? Ahora debemos identificar los componentes instalados en Joomla. A más componentes instalados, mayores posibilidades de que sea vulnerable a algo.

Para identificar los componentes usaremos la mejor hacktool jamás creada: Google.

Podemos buscar aprovechando esa peculiar sintaxis de Joomla para cargar componentes.

site:www.ejemplo.com inurl:index.php?option

Donde www.ejemplo.com es un sitio web con Joomla.

En los resultados podemos ver el nombre de los componentes, va después del option= y antes de un & (algo como com_user, com_content, com_login, etc) Anotamos esos nombres en algún lado que después los vamos a utilizar };]

Frecuentemente los admins configuran Joomla para que no muestre las URLs con ese patrón por cuestiones de indexación, estética y, porque no, de seguridad. Si ese es el caso la búsqueda anterior dará pocos o ningún resultado. Podemos intentar buscando de esta forma:

site:www.ejemplo.com inurl:/component/

En este caso el nombre de los componentes aparecerá después de component/ pero sin el prefijo "com_" que tenia anteriormente (algo como user, content, login, etc)

También podemos intentar cargar componentes por nuestra cuenta y segun como responda el servidor saber si están instalados o no. Pero como hacer esto manualmente puede ser muy aburrido, programe un pequeño script en Java que puede ayudar. Puedes descargarlo aquí:

http://www.megaupload.com/?d=C7P6LI17

Es un script muy simple. Coge del archivo database.txt los nombres de los componentes, intenta cargarlos y muestra la respuesta del servidor. Una respuesta 200 OK seguramente significa que el componente esta instalado, si la respuesta es 404 Component not found es por que el componente no esta instalado. El resultado no es 100% fiable, depende de como este configurado el servidor para responder.

En el database.txt que viene con la descarga están solo algunos de los componentes vulnerables, puedes incrementar la lista de componentes manualmente añadiendo su nombre.

El modo de uso es:

java JoomlaComponentScanner http://www.ejemplo.com/index.php

Donde http://www.ejemplo.com/index.php es la URL del archivo index.php de Joomla.

Por ultimo, lo que seguro nunca va a fallar es que te pongas a navegar un rato por el sitio y observes sus links tratando de encontrar nombres de componentes.

Cuando ya tengas una lista mas o menos completa de los componentes del site será hora de buscarles vulnerabilidades.

Por lo pronto aun no sabemos que es lo que encontraremos. Una vez hayamos detectado algunas vulns, habrá que trabajar con lo que haya. Pero eso ya lo veremos más adelante }:]

Hasta pronto...

Saludos.

No hay comentarios:

Publicar un comentario