jueves, junio 11, 2015

Cómo forzar Errores HTTP 405 en servidores web

Como ya os he contado muchas veces, llevo tiempo jugando con cómo sacar el máximo de información a los mensajes de error configurados por defecto en los servidores web de una organización. Esta es una pieza que utilizamos en nuestro sistema de pentesting persistente Faast para localizar qué infraestructura hay por detrás. Encontrar respuestas a situaciones de error no controladas por los administradores de un sitio web pueden ayudar a conocer mucho más en detalle el software que da soporte al servicio y cómo está montado en esa implantación en concreto.

Figura 1: Cómo forzar Errores HTTP 405 en servidores web

En esta ocasión pasé un rato jugando con los Errores HTTP 405, que básicamente se producen cuando se solicita la ejecución de un método HTTP que no está soportado por el recurso que se solicita. Para ello, utilizando el Repeater de Burp puedes configurar algo tan sencillo como un POST a un recurso que no tenga habilitado el método en concreto. Para saber los métodos que están permitidos en cada recurso puedes utilizar el método OPTIONS y descubrir qué se permite y qué no se permite.

Figura 2: Mensaje de Error 405 en Google.com

Jugando con esto, es decir, con hacer un POST a recursos que no lo tenían habilitado se pueden obtener los mensajes configurados para el Error 405, que muchas veces serán los de por defecto, como el de IIS en este servidor de un dominio .mil.

Figura 3: Error 405 por defecto de IIS 7

En algunas otras webs puedes ver páginas de configuración de error por defecto de los servicios de Akamai, de nginx o de cualquier otro servidor de aplicaciones. En este caso la hacer el POST se obtuvo un mensaje de error por defecto del servidor HTTP de IBM.

Figura 4: Error en un servidor HTTP de IBM

Los mensajes de error pueden cambiar e incluso puede que aparezcan mensajes reutilizados de otros errores que habría que interpretar para ver qué significan realmente.

Figura 5: Un mensaje de error personalizado

En este último caso que os traigo, un dominio perfectamente configurado en todos los mensajes de error, cuando se producía un Error 405 devolvía la página de Welcome a IIS7, pero sin cargar el famoso logotipo, lo que deja claro que algo estaba raro.

Figura 6: Un mensaje de Welcome al forzar un Error 405

Al final, generar los mensajes de error para obtener información no es más que una prueba que en las fases de footprinting y fingerprinting debes realizar sí o sí, para ver qué datos eres capaz de recolectar de la infraestructura a la hora de hacer un pentesting. Fácil, barato e ilustrativo.

Saludos Malignos! 

Entrada destacada

Infraestructuras Críticas y Sistemas Industriales: Auditorías de Seguridad y Fortificación de @0xWord

Desde hoy está disponible a la venta un nuevo libro de 0xWord centrado en la seguridad de los Sistemas Industriales y las Infraestructuras...

Entradas populares