martes, octubre 16, 2012

¿Dónde meto mi webshell? Métodos inseguros con Shodan

Esta tarde a las 16:00 comienza el Curso Online de Auditoría y Seguridad Web, y ayer estuvimos discutiendo un poco sobre él. Preparando una de las clases que van sobre Hacking con Buscadores, estuvimos mirando algunas demos que hacer con Shodan, este simpático buscador que te permite encontrar casi de todo y que nosotros siempre utilizamos en nuestras auditorias de aplicaciones web.

En este caso, la gracia era buscar aquellas respuestas en servidores HTTP que ya directamente, sin necesidad de hacer un escaneo de OPTIONS, informan de que soportan el método PUT, para poder subir una webshell.

Figura 1: Método PUT permitido en Allow

Que el servidor web devuelva que soporta el método PUT no quiere decir que luego esté implementado y que los permisos que tenga en el sistema de ficheros sean los necesarios para poder escribir los ficheros, pero viendo la gran cantidad de sitos donde se aparecen con un programa que pruebe en todos ellos las probabilidades de desplegar webshells por Internet de forma masiva son altas. Pero si lo que se busca es una vulnerabilidad, puede que con un DELETE sea más que suficiente para tirar abajo una aplicación web.

Figura 2: Servicio con método DELETE permitido

Otra de las cosas que también es posible encontrar, es no solo los métodos en Allow, sino también los permitidos en Access-Control-Allow-Methods, que aunque son políticas para peticiones AJAX Cross-Domain, es más que probable que, si tiene el método PUT permitido para ellas, es más que probable que también lo tenga como método HTTP.

Figura 3: PUT y DELETE en Access-Control-Allow-Methods

Puestos a buscar por métodos en inseguros en Shodan, es posible encontrar todos ellos, pasando por DELETE, COPY, y los utilizados en servidores documentales como SharePoint para solicitar bloqueo de ficheros o acceso a propiedades. 

Figura 4: Servidor documental con Access-Control-Allow-Methods para casi todo

Actualmente, los métodos inseguros en FOCA los buscamos con un escaneo de OPTIONS, que es un poco más inteso en cómputo, pero más exhaustivo, pero si está bloqueado el método Options en el firewall, mirar las cabeceras Allow y Access-Control-Allow-Methods puede dar aún información útil.

Saludos Malignos!

Entradas populares