11 KiB
WebDav
Utilice Trickest para construir y automatizar flujos de trabajo con las herramientas de la comunidad más avanzadas del mundo.
Obtenga acceso hoy:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- ¿Trabaja en una empresa de ciberseguridad? ¿Quiere ver su empresa anunciada en HackTricks? ¿O quiere tener acceso a la última versión de PEASS o descargar HackTricks en PDF? ¡Consulte los PLANES DE SUSCRIPCIÓN!
- Descubra The PEASS Family, nuestra colección exclusiva de NFTs
- Obtenga el swag oficial de PEASS y HackTricks
- Únase al 💬 grupo de Discord o al grupo de telegram o sígame en Twitter 🐦@carlospolopm.
- Comparta sus trucos de hacking enviando PR al repositorio de hacktricks y al repositorio de hacktricks-cloud.
Un servidor HTTP con WebDav activo es un servidor donde probablemente se puedan actualizar, eliminar, mover, copiar archivos. A veces se necesitan credenciales válidas (generalmente se comprueba con la autenticación básica HTTP).
Debe intentar cargar algún webshell y ejecutarlo desde el servidor web para tomar el control del servidor.
Por lo general, para conectar un servidor WebDav necesitará credenciales válidas: fuerza bruta de WebDav (Autenticación básica).
Otra configuración común es prohibir la carga de archivos con extensiones que serán ejecutados por el servidor web, debe verificar cómo burlar esto:
- Cargar archivos con extensiones ejecutables (tal vez no esté prohibido).
- Cargar archivos sin extensiones ejecutables (como .txt) e intentar renombrar el archivo (mover) con una extensión ejecutable.
- Cargar archivos sin extensiones ejecutables (como .txt) e intentar copiar el archivo (mover) con una extensión ejecutable.
DavTest
Davtest intenta cargar varios archivos con diferentes extensiones y verifica si se ejecuta la extensión:
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>
Petición PUT
Description
Descripción
The HTTP PUT method is used to update a resource on a server. In the context of web applications, this method is often used to update files on a web server.
El método HTTP PUT se utiliza para actualizar un recurso en un servidor. En el contexto de las aplicaciones web, este método se utiliza a menudo para actualizar archivos en un servidor web.
WebDAV (Web Distributed Authoring and Versioning) is an extension of the HTTP protocol that allows clients to perform remote Web content authoring operations. WebDAV is often used to manage files on a web server.
WebDAV (Web Distributed Authoring and Versioning) es una extensión del protocolo HTTP que permite a los clientes realizar operaciones de autoría de contenido web remoto. WebDAV se utiliza a menudo para gestionar archivos en un servidor web.
Vulnerability
Vulnerabilidad
The PUT method can be vulnerable to attacks if the server does not properly validate the input data. An attacker can use the PUT method to upload a malicious file to the server, or to modify an existing file to include malicious code.
El método PUT puede ser vulnerable a ataques si el servidor no valida correctamente los datos de entrada. Un atacante puede utilizar el método PUT para cargar un archivo malicioso en el servidor, o para modificar un archivo existente para incluir código malicioso.
Exploitation
Explotación
To exploit this vulnerability, an attacker can use a tool like curl to send a PUT request to the server with a malicious file as the payload. The attacker can then use the file to execute code on the server or to gain access to sensitive information.
Para explotar esta vulnerabilidad, un atacante puede utilizar una herramienta como curl para enviar una petición PUT al servidor con un archivo malicioso como carga útil. El atacante puede entonces utilizar el archivo para ejecutar código en el servidor o para acceder a información sensible.
Mitigation
Mitigación
To mitigate this vulnerability, the server should properly validate all input data and should only allow authorized users to perform PUT requests. Additionally, the server should be configured to limit the size and type of files that can be uploaded using the PUT method.
Para mitigar esta vulnerabilidad, el servidor debe validar correctamente todos los datos de entrada y sólo permitir a los usuarios autorizados realizar peticiones PUT. Además, el servidor debe estar configurado para limitar el tamaño y el tipo de archivos que se pueden cargar utilizando el método 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 fácilmente flujos de trabajo impulsados por las herramientas comunitarias más avanzadas del mundo.
Obtenga acceso hoy:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Vulnerabilidad WebDav en IIS5/6
Esta vulnerabilidad es muy interesante. El WebDav no permite cargar o renombrar archivos con la extensión .asp. Pero puedes burlar esto añadiendo 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 cargar 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 usando un servidor Apache, deberías 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, hay 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 credenciales, o añadir 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 comprobar 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 la oficial PEASS & HackTricks swag
- Ú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 de la comunidad más avanzadas del mundo.
Obtén acceso hoy mismo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}