jueves, agosto 04, 2016

Si usas phpMyAdmin quita el Setup de la parte pública #phpMyAdmin #PHP #MySQL #Pentesting

Hoy os vengo a dejar una referencia a uno de esos archivos que si eres dueño de la web debes quitar cuanto antes, y que si eres un pentester debes meter en tu diccionario de fuzzing web (que puedes hacer desde FOCA) por si un día toca la flauta y te lo encuentras y que, por supuesto, nosotros ya hemos añadido a Faast.

Figura 1: Si usas phpMyAdmin quita el Setup de la parte pública

Se trata del software de configuración de phpMyAdmin, es decir, la herramienta de configuración phpMyAdmin Setup. Esta aplicación se puede encontrar, como bien me contó mi amigo rootkit, haciendo un poco de Hacking con Buscadores con un simple dork en Google para localizar el nombre del fichero y el title de la aplicación.

Figura 2: Dork para localizar phpMyAdmin en modo Setup

Una vez en ella se pueden encontrar absolutamente todas las opciones para configurar un phpMyAdmin completamente, y si eres capaz de tenerlo "up & running" administrar los motores de bases de datos MySQL. Sin embargo, no es ni necesario poder administrar las bases de datos del servidor o red donde encuentres esta herramienta.

Figura 3: Consola para añadir servidores a administrar desde phpMyAdmin

Se podría configurar y consultar cualquier MySQL, lo que un atacante podría utilizar para dar un salto más en el acceso a una base de datos hackeada. O podría servir para llegar a motores de bases de datos de la DMZ. O podría servir para hacer un ataque de XSPA (Cross-Site Port Attack) para escanear servidores con las cadenas de conexión a las bases de datos que configuras.

Figura 4: Opciones de exportación de datos

Además, si la herramienta phpMyAdmin está bien configurada, sería posible ver, editar y guardar la configuración del archivo config.inc.php que utiliza phpMyAdmin en la carpeta config para añadir cualquier detalle de ajuste del sistema a tus necesidades.

Figura 5: Gestión de la configuración de config.inc.php

Con esta herramienta de configuración expuesta de forma pública, un atacante podría acceder a datos de tus servidores de la DMZ o de Internet, utilizar tus servidores en su provecho para administrar bases de datos desde tus equipos remotamente o simplemente recoger datos de tu infraestructura que aprovechar en un ethical hacking o APT.

Figura 6: Edición manual del fichero de configuración con extensión .PHP

Sea como fuere, si usas phpMyAdmin en algún servidor de tu sistema, revisa que no tengas esto publicado. Si eres un pentester, añádelo a la lista de cosas a buscar en cualquier web.

Saludos Malignos!

2 comentarios:

  1. Y no sólo PHPMyAdmin... en un Magento, un sugarCRM... y cualquier software que tenga una instalación del estilo

    ResponderEliminar
  2. Chema, te felicito siempre sigo tu blog y te admiro como docente. Pero cuando haces este tipo de recomendaciones y "hacks" me desconcierta por el hecho a que huelen a "seguridad por oscuridad" (concepto polémico por cierto). ¿No sería mejor seguir las recomendaciones del propio sitio de phpmyadmin? , las mismas sugieren que borres ese folder :
    http://docs.phpmyadmin.net/en/latest/setup.html#securing-your-phpmyadmin-installation

    Gracias.

    ResponderEliminar