lunes, julio 11, 2016

Magento Repair Tool: Un XSPA a quitar de tu e-Commerce

El framework Magento es uno de los entornos Open Source más populares dentro del mundo del e-Commerce. Está detrás de una gran cantidad de tiendas en Internet y es fácil toparse con él en una auditoría de seguridad web. En el pasado os había hablado de él cuando me topé con Magento Chek, una pequeña utilidad de comprobación del estado de configuración del framework que podría ser muy útil para hacer una pentesting a la tecnología web, y hoy os vengo a hablar de otro.

Figura 1: Magento Database Repair Tool. Un XSPA a quitar de tu e-Comerce

En esta ocasión se trata de una herramienta especial para corregir un error en la instalación del servidor. En concreto se llama Magento Database Repair Tool, y es una utilidad para troubleshooting en caso de que la base de datos se quede corrupta por alguna de las situaciones explicadas en la documentación de dicha herramienta.
Localizarla en Internet, como me apuntó mi amigo rootkit, no es nada complicado. Basta con usar un dork como éste que se ve en la imagen para que, con un poco de Hacking con Buscadores lleguemos a muchos servidores con ella instalada.

Figura 3: Dork para localizar Magento Database Repair Tool en Google.

Una vez que tenemos esta herramienta, es fácil darse cuenta que puede ser utilizada para hacer ataques de XSPA (Cross-Site Port Attack), ya que con poner en la dirección del servidor con la base de datos corrupta la dirección IP y el puerto a escanear, tenemos los mensajes de error que necesitamos para diferenciar un puerto abierto o un puerto cerrado.

XSPA: Escaneado de puertos con Magento Database Repair Tool 

Si el puerto está cerrado, el mensaje de error que obtenemos (después de esperar unos segundos) nos dirá se ha perdido la conexión con el servidor y que no se ha podido hacer nada.

Figura 4: Puerto cerrado. El mensaje informa de "Lost Connection" 

Por el contrario, si el puerto está abierto, el mensaje nos dirá que no se ha podido conectar a la base de datos MySQL que supuestamente debería estar allí. 

Figura 5: Puerto abierto. El mensaje informa de "Can´t connect to MySQL"

Por supuesto, si en ese puerto nos encontráramos con una base de datos MySQL, el mensaje de error volvería a cambiar a un Login Failed que nos indicaría que no tenemos credenciales adecuadas para conectarse con el servidor de bases de datos (y si las tenemos, aún mejor).

Escaneo de DMZ y fortificación de Magento

Con estos mensajes de error, es fácil automatizar un ataque de XSPA para escanear cualquier servidor de Internet o de la DMZ, tal y como se ve en este equipo en el que descubrimos una dirección IP interna con un puerto de Telnet abierto.

Figura 6: Servidor en la DMZ con puerto 23 abierto

Al final, esta herramienta que se instala aparte, no debería estar dentro del path de publicación del sitio web en Internet, así que si la tienes, restringe el acceso a Magento Database Recovery Tool con una lista de control de acceso.


Figura 7: Configuración y uso de Latch en Magento Community

Para terminar, solo como recordatorio, acuérdate de quitar (o restringir su acceso) a Magento Check y añade para fortificar aún más tu entorno Latch a Magento que desde el año pasado está disponible una integración de Latch con Magento Community que tienes disponible.

Saludos Malignos!

No hay comentarios:

Publicar un comentario