Mostrando entradas con la etiqueta seguridad web. Mostrar todas las entradas
Mostrando entradas con la etiqueta seguridad web. Mostrar todas las entradas

viernes, 21 de marzo de 2014

Encontrar vulnerabilidades en joomla con joomscan


Bienvenid@s, hoy vamos a conocer una herramienta llamada joomscan  desarrollada por OWASP para saber cuanto de segura es nuestra aplicación de Joomla, sobre todo en versiones más antiguas hay plugins, componentes o módulos en los que han sido detectadas vulnerabilidades, aunque esto no significa que lo presente no lo sea, ya que joomla es un gran almacen donde participan terceros y es imposible llevar un control absoluto del mismo.

joomscan está desarrollada con Perl, así que para usar esta herramienta es necesario tener Perl instalado en la máquina, una de las grandes ventajas de joomscan es que escaneará cada parte de tu aplicación Joomla automáticamente con la acción que necesites realizar y pudiendo guardar el reporte para su posterior analisis del auditor.

Las posibles vulnerabilidades puedes ser varias como XSS, inyección SQL, RFI, LFI, ...

Para descargar joomscan puedes ir al siguiente enlace ... Descargar

A continuación veremos como realizar un scanner con joomscan en el servidor local. Para ello abriremos una consola e iremos a la ruta donde se encuentra joomscan ...

cd C:\joomscan

Ok, a continuación podremos ver las distintas opciones que nos ofrece joomscan a través del comando -h ...

joomscan.pl -h


Bien, ahora vamos a realizar una exploración de nuestro sitio Joomla y guardaremos el reporte en un archivo html ...

joomscan.pl -u localhost/joomla -oh joomla.htm


Empezará a escanear el sitio web en busca de posibles vulnerabilidades, que finalmente podremos ver en el reporte html ...


Bien, ahora podremos saber que posibles agujeros de seguridad tiene nuestro CMS de Joomla y corregirlos, otra cosa importante es mantener actualizado joomscan para ello introduciremos el siguiente comando ...

joomscan.pl update

Bien, pues aquí acabamos este pequeño tutorial de como encontrar posibles vulnerabilidades en Joomla, espero que les haya servido de ayuda, saludos.



Test de inyección SQL con SQLMAP


Bienvenid@s, hoy os quiero hablar de una potente herramienta de libre descarga para auditar posibles vulnerabilidades en tu sitio web provocadas por la inyección SQL, el programa se llama SQLMAP, entre sus grandes cualidades podemos encontrar que puede testear múltiples gestores de bases de datos: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, IBM DB2, SQLite, Firebird, Sybase and SAP MaxDB, este amplio abanico facilita al auditor tener un todo en uno y no tener que testear cada gestor de bases de datos con un programa diferente. SQLMAP está desarrollado bajo el lenguaje Python, así que se hace indispensable tenerlo instalado en la máquina donde va a realizarse la auditoría.

Desde SQLMAP ya advierten de que está herramienta sólo es para realizar tests bajo servidores donde el propietario ha dado su mutuo consentimiento de su uso, de lo contrario, puede ser considerada un acción ilegal.

A continuación vamos a ver un test de inyección SQL y como con cuatro simples pasos se puede ir escalando de las bases de datos a las tablas de una base de datos en concreto y finalmente a los registros de la tabla seleccionada.

Primero vamos a hacer un test para saber si es vulnerable, abrimos la consola y nos dirigimos a la ruta de la carpeta de SQLMAP e introducimos el siguiente comando ...

sqlmap.py -u "http://web.com/index.php?id=-1" -p "id"

Estamos comprobando si el parámetro id es vulnerable, si lo es nos mostrará un mensaje como el siguiente ...



"También es conveniente saber que SQLMAP irá guardando los reportes en la carpeta output."

Ahora sabemos que el parámetro id es vulnerable a la inyección sql, así que vamos a continuar con el paso 2, en el cual vamos a extraer todas las bases de datos alojadas en el servidor.

sqlmap.py -u "http://web.com/index.php?id=-1" -p "id" --dbs


Como podemos ver SQLMAP ha listado todas las bases de datos, ahora es momento de saber que tablas se encuentran en una determinada base de datos por ejemplo vamos a explorar la base de datos "ejercicios", paso 3 ...

 sqlmap.py -u "http://web.com/index.php?id=-1" --tables -D ejercicios





Pues aquí tenemos las tablas de la base de datos "ejercicios", estamos viendo como un atacante podría ir escalando sobre el contenido de nuestras bases de datos con suma facilidad, pero esto no es todo, lo más peligroso está por llegar y para ello vamos a ver todos los registros de la tabla que queramos, por ejemplo, la tabla "productos", vamos al paso 4 ...

 sqlmap.py -u "http://web.com/index.php?id=-1" --dump -T productos


Como hemos podido ver en esta auditoría, el resultado es una pésima programación por parte del desarrollador, así que lo primero que hay que hacer es tapar todos esos agujeros y para ello cada lenguaje posee sus herramientas a través de funciones específicas para el filtrado de datos, lo que está claro es que dejar al descubierto tal agujero de seguridad puede conllevar al robo de toda la información, incluyendo datos privados o confidenciales.