hacktricks/network-services-pentesting/pentesting-web/put-method-webdav.md

7.5 KiB

WebDav


Utiliza Trickest para construir y automatizar flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.
Obtén Acceso Hoy:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:

Un servidor HTTP con WebDav activo es un servidor donde probablemente puedas actualizar, eliminar, mover, copiar archivos. A veces necesitas tener credenciales válidas (usualmente se verifica con Autenticación Básica HTTP).

Deberías intentar subir algún webshell y ejecutarlo desde el servidor web para tomar control sobre el servidor.
Normalmente, para conectar a un servidor WebDav necesitarás credenciales válidas: Fuerza bruta en WebDav (Autenticación Básica).

Otra configuración común es prohibir la subida de archivos con extensiones que serán ejecutadas por el servidor web, deberías verificar cómo sortear esto:

  • Subir archivos con extensiones ejecutables (quizás no esté prohibido).
  • Subir archivos sin extensiones ejecutables (como .txt) e intentar renombrar el archivo (mover) con una extensión ejecutable.
  • Subir archivos sin extensiones ejecutables (como .txt) e intentar copiar el archivo (mover) con extensión ejecutable.

DavTest

Davtest intenta subir varios archivos con diferentes extensiones y verificar si la extensión se ejecuta:

davtest [-auth user:password] -move -sendbd auto -url http://<IP> #Uplaod .txt files and try to move it to other extensions
davtest [-auth user:password] -sendbd auto -url http://<IP> #Try to upload every extension

Ejemplo de salida:

Esto no significa que las extensiones .txt y .html se estén ejecutando. Esto significa que puedes acceder a estos archivos a través de la web.

Cadaver

Puedes usar esta herramienta para conectarte al servidor WebDav y realizar acciones (como subir, mover o eliminar) manualmente.

cadaver <IP>

Solicitud PUT

curl -T 'shell.txt' 'http://$ip'

Solicitud MOVE

curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'


Utiliza Trickest para construir y automatizar flujos de trabajo fácilmente, potenciados por las herramientas comunitarias más avanzadas del mundo.
Obtén Acceso Hoy:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Vulnerabilidad de IIS5/6 WebDav

Esta vulnerabilidad es muy interesante. WebDav no permite subir o renombrar archivos con la extensión .asp. Pero puedes evitar esto añadiendo al final del nombre ";.txt" y el archivo se ejecutará como si fuera un archivo .asp (también podrías usar ".html" en lugar de ".txt" pero NO olvides el ";").

Luego puedes subir tu shell como un archivo ".txt" y copiar/moverlo a un archivo ".asp;.txt". Al acceder a ese archivo a través del servidor web, se ejecutará (cadaver dirá que la acción de mover no funcionó, pero sí lo hizo).

Credenciales de publicación

Si el Webdav utilizaba un servidor Apache deberías mirar los sitios configurados en Apache. Comúnmente:
/etc/apache2/sites-enabled/000-default

Dentro de este podrías encontrar algo como:

ServerAdmin webmaster@localhost
Alias /webdav /var/www/webdav
<Directory /var/www/webdav>
DAV On
AuthType Digest
AuthName "webdav"
AuthUserFile /etc/apache2/users.password
Require valid-user

Como puedes ver, están los archivos con las credenciales válidas para el servidor webdav:

/etc/apache2/users.password

Dentro de este tipo de archivos encontrarás el username y un hash de la contraseña. Estas son las credenciales que el servidor webdav utiliza para autenticar a los usuarios.

Puedes intentar crackear los hashes, o añadir más si por alguna razón quieres acceder al servidor webdav:

htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password

Para verificar si las nuevas credenciales funcionan puedes hacer:

wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
Aprende hacking en AWS de cero a héroe con htARTE (HackTricks AWS Red Team Expert)!

Otras formas de apoyar a HackTricks:


Usa Trickest para construir y automatizar flujos de trabajo fácilmente, potenciados por las herramientas comunitarias más avanzadas del mundo.
Obtén Acceso Hoy:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}