A veces las cosas se encadenan una tras de otra en un no parar. Esto es lo que hace divertido este mundo de la seguridad informática y la auditoría de sistemas. Siempre hay un nuevo truco que aprender o que descubrir y por eso nunca me aburriré de este mundo. Éste es uno de esos casos. Empezó la historia buscando ficheros PHP para probar los Huevos de Pascua para localizar la versión del framework. Con ellos llegué a uno que se llamaba check.php que resultó ser un leak de información de instalaciones inseguras de Symfony y buscando estos ficheros, llegué a otra pequeña fuga de información en otro check, esta vez del framework para tiendas e-commerce Magento.
Figura 1: Otra pequeña fuga de información en la comprobación de requisitos |
El asunto es, que para localizar ejemplos del check.php de Symfony utilicé el truco de buscar en los archivos robots.txt. Éste es un buen lugar para localizar lo que la gente no quiere que se localice, y por supuesto un fichero de test como check.php no debería estar localizable en los buscadores. Quiso el destino que el framework Magento utilice un fichero similar, pero llamado mangento-check.php y gracias a esta coincidencia en el final del nombre apareció en mis búsquedas.
Por supuesto, una vez sabido de su existencia ya fue fácil hacer un dork en Google para localizar algunos ejemplos usando el truco de nuevo de buscar en los ficheros robots.txt, pero en este caso con el nombre magento-check.php.
Figura 2: Dork para buscar en ficheros robots.txt el fichero magento-check.php |
Los ficheros de test miran un conjunto no demasiado grande de propiedades, pero como puede verse hay tres cosas muy útiles, que son: Si la versión del framework PHP es mayor o igual que una dada, si la versión de MySQL es mayor o igual que una dada y si el Safe Mode de PHP está ON u OFF.
Figura 3: Un fichero magento-check.php con todo ok |
Si todo está bien, no parece excesivamente peligroso, pero si no lo está, entonces se puede inferir que estamos ante una versión antigua del software de base de datos MySQL o del framework PHP, lo que puede significar la existencia de vulnerabilidades.
Figura 4: Un fichero mangento-check.php con un warning en la versión de MySQL |
Al final el problema es que esos ficheros estén accesibles en el path de publicación del sitio web, lo que no debería ser así, pero por si acaso, nosotros en nuestra lista de ficheros de leaks que buscamos y parseamos en nuestro sistema de Pentesting Persistente Faast, ya hemos metido también el de Magento - por si se le olvida en algún sitio inadecuado a alguien -.
Saludos Malignos!
Este comentario ha sido eliminado por el autor.
ResponderEliminar