WEBDAV -APACHE DAV-

Buenas a todos!, para ir entrando en calor empezaremos describiendo brevemente con la ayuda de Wikipedia, ¿qué es el protocolo WEBDAV?, ¿para qué sirve?, ¿qué utilidades tiene?…

Según Wikipedia:

WebDAV es un grupo de trabajo del Internet Engineering Task Force. El término significa “Creación y control de versiones distribuidos en web” (Web Distributed Authoring and Versioning), y se refiere al protocolo (más precisamente, la extensión al protocolo) que el grupo definió.

El objetivo de WebDAV es hacer de la World Wide Web un medio legible y editable, en línea con la visión original de Tim Berners-Lee.

Este protocolo proporciona funcionalidades para crear, cambiar y mover documentos en un servidor remoto (típicamente un servidor web). Esto se utiliza sobre todo para permitir la edición de los documentos que sirve un servidor web, pero puede también aplicarse a sistemas de almacenamiento generales basados en web, que pueden ser accedidos desde cualquier lugar.

La mayoría de los sistemas operativos modernos proporcionan soporte para WebDAV, haciendo que los ficheros de un servidor WebDAV aparezcan como almacenados en un directorio.

Recursos y software utilizado:

Kali Linux 2.0

Nmap

Davtest

Cadaver

Guía de Explotación:

Para empezar con la explotación, realizaremos un escaneo bastante simple con Nmap y recomendable utilizar la opción -sC -sV, para poner en marcha los scripts y sacar las versiones de los servicios que actualmente corren dentro del sistema a atacar.

nmap -sC -sV -T4 “IP a atacar”

nmap.png

Como podemos observar en la imagen superior, vemos que en el puerto 15200 está corriendo un servicio Apache DAV. También podemos ver las carpetas que hay en su interior y muy importante también los métodos que soporta como veremos más adelante.

Para comprobar si tenemos acceso a través de la URL, escribiremos la IP de la máquina a atacar y el puerto dónde está corriendo el protocolo WEBDAV y como vemos más abajo, nos devuelve las carpetas que anteriormente nos había listado Nmap.

urlycarpetas.png

Para conectarnos mediante línea de comandos utilizaremos el programa cadaver, que es básicamente un cliente WebDAV de línea de comandos para Unix.

Cadaver admite la carga y descarga de archivos, la visualización en pantalla, las operaciones con nombres (mover y copiar), la creación y eliminación de colecciones, etc.. Su funcionamiento es similar al cliente ftp estándar y al smbclient del proyecto Samba.

Para proceder con la conexión simplemente pondremos este comando:

cadaver “Ip a atacar:Puerto”

cadaver.png

Una vez sabemos que tenemos acceso al servidor WEBDAV, tendremos que verificar en que carpetas podemos subir archivos y si nos deja subirlos, muy importante con que extensión nos lo permite.

Para ello automatizaremos la tarea con este fantástico programa llamado davtest, básicamente lo que hace es comprobar todas las carpetas, a las cuales podemos subir archivos y a través del método PUT va probando con un mismo archivo y extensiones diferentes como podemos ver en la imagen inferior.

comprobamoscarpetawebdav.png

Tenemos una muy buena noticia, ya que podemos subir archivos con extension .php y montar una reverse shell como dios manda 😀

Para ellos nos descargaremos la reverse shell de PentestMonkey, la configuraremos con nuestra IP y el puerto que queremos conectar. Utilizaremos el método PUT desde el directorio WEBDAV, para subir el archivo al servidor WEBDAV.

put “ubicación del archivo en nuestra computadora”

subimoshellphpconput.png

Dejamos netcat escuchando al puerto que hemos designado dentro de la webshell y como podéis observar ya hemos vulnerado el servidor WEBDAV y tenemos acceso a la máquina atacada.

nv -lvp 40000

reverseshellOK.png

Esto es todo, espero os haya gustado! ;D 

Deja un comentario