12 KiB
WebDav
Utiliza Trickest para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.
Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Obtén el swag oficial de PEASS & HackTricks
- Únete al 💬 grupo de Discord o al grupo de Telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.
Un servidor HTTP con WebDav activo es un servidor donde probablemente puedas actualizar, eliminar, mover, copiar archivos. A veces, es necesario tener credenciales válidas (generalmente se verifica con Autenticación Básica HTTP).
Deberías intentar subir una webshell y ejecutarla desde el servidor web para tomar el control del servidor.
Por lo general, para conectarte a un servidor WebDav necesitarás credenciales válidas: WebDav bruteforce (Autenticación Básica).
Otra configuración común es prohibir la carga de archivos con extensiones que serán ejecutadas por el servidor web, debes verificar cómo bypassear esto:
- Sube archivos con extensiones ejecutables (quizás no esté prohibido).
- Sube archivos sin extensiones ejecutables (como .txt) e intenta renombrar el archivo (moverlo) con una extensión ejecutable.
- Sube archivos sin extensiones ejecutables (como .txt) e intenta copiar el archivo (moverlo) con una extensión ejecutable.
DavTest
Davtest intenta subir 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
Salida de ejemplo:
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
A PUT request is an HTTP method used to update or create a resource on a server. It is commonly used in WebDAV (Web Distributed Authoring and Versioning) to upload files to a remote server.
Una solicitud PUT es un método HTTP utilizado para actualizar o crear un recurso en un servidor. Se utiliza comúnmente en WebDAV (Web Distributed Authoring and Versioning) para cargar archivos en un servidor remoto.
WebDAV and PUT method
WebDAV is an extension of the HTTP protocol that allows clients to perform remote web content authoring operations. The PUT method is one of the main methods used in WebDAV to upload files to a server.
WebDAV es una extensión del protocolo HTTP que permite a los clientes realizar operaciones de autoría de contenido web de forma remota. El método PUT es uno de los principales métodos utilizados en WebDAV para cargar archivos en un servidor.
How PUT method works
When a PUT request is sent to a server, it includes the file data in the request body and specifies the location where the file should be stored on the server. If the specified location already exists, the file will be updated with the new data. If the location does not exist, a new file will be created.
Cuando se envía una solicitud PUT a un servidor, esta incluye los datos del archivo en el cuerpo de la solicitud y especifica la ubicación donde el archivo debe almacenarse en el servidor. Si la ubicación especificada ya existe, el archivo se actualizará con los nuevos datos. Si la ubicación no existe, se creará un nuevo archivo.
Security implications
The PUT method can introduce security vulnerabilities if not properly configured. Attackers can exploit misconfigurations to upload malicious files or overwrite existing files on the server. It is important to ensure that access controls and file permissions are properly configured to prevent unauthorized access and data leakage.
El método PUT puede introducir vulnerabilidades de seguridad si no se configura correctamente. Los atacantes pueden aprovechar las configuraciones incorrectas para cargar archivos maliciosos o sobrescribir archivos existentes en el servidor. Es importante asegurarse de que los controles de acceso y los permisos de archivo estén configurados correctamente para evitar el acceso no autorizado y la filtración de datos.
curl -T 'shell.txt' 'http://$ip'
Solicitud MOVE
The MOVE request is used in WebDAV to move a resource from one location to another. It is similar to the HTTP PUT
request, but instead of creating a new resource, it moves an existing resource to a different location.
La solicitud MOVE se utiliza en WebDAV para mover un recurso de una ubicación a otra. Es similar a la solicitud HTTP PUT
, pero en lugar de crear un nuevo recurso, mueve un recurso existente a una ubicación diferente.
Syntax
MOVE /source-resource HTTP/1.1
Host: example.com
Destination: /destination-resource
Example
MOVE /files/document.txt HTTP/1.1
Host: example.com
Destination: /archive/document.txt
In this example, the MOVE
request moves the document.txt
file from the /files
directory to the /archive
directory on the server.
En este ejemplo, la solicitud MOVE
mueve el archivo document.txt
del directorio /files
al directorio /archive
en el servidor.
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
Utiliza Trickest para construir y automatizar fácilmente flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.
Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
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).
Publicar credenciales
Si el Webdav estaba utilizando un servidor Apache, debes buscar en 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 utiliza para autenticar a los usuarios.
Puedes intentar descifrar las contraseñas, 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
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabajas en una empresa de ciberseguridad? ¿Quieres ver tu empresa anunciada en HackTricks? ¿O quieres tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulta los PLANES DE SUSCRIPCIÓN!
- Descubre The PEASS Family, nuestra colección exclusiva de NFTs
- Obtén el merchandising oficial de PEASS y HackTricks
- Únete al 💬 grupo de Discord o al grupo de Telegram o sígueme en Twitter 🐦@carlospolopm.
- Comparte tus trucos de hacking enviando PRs al repositorio de hacktricks y al repositorio de hacktricks-cloud.
Utiliza Trickest para construir y automatizar flujos de trabajo con las herramientas comunitarias más avanzadas del mundo.
Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}