mirror of
https://github.com/carlospolop/hacktricks
synced 2025-02-17 14:38:27 +00:00
155 lines
10 KiB
Markdown
155 lines
10 KiB
Markdown
|
# WebDav
|
||
|
|
||
|
![](<../../.gitbook/assets/image (9) (1) (2).png>)
|
||
|
|
||
|
\
|
||
|
Utilice [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) 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" %}
|
||
|
|
||
|
<details>
|
||
|
|
||
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||
|
|
||
|
* ¿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**](https://github.com/sponsors/carlospolop)!
|
||
|
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección de exclusivos [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||
|
* Obtenga el [**swag oficial de PEASS y HackTricks**](https://peass.creator-spring.com)
|
||
|
* **Únase al** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígame** en **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||
|
* **Comparta sus trucos de hacking enviando PR al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||
|
|
||
|
</details>
|
||
|
|
||
|
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**](../../generic-methodologies-and-resources/brute-force.md#http-basic-auth) _(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:
|
||
|
```bash
|
||
|
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:
|
||
|
|
||
|
![](<../../.gitbook/assets/image (19) (1).png>)
|
||
|
|
||
|
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 request method creates or updates a resource with the data enclosed in the request body. The resource can be an HTML page, a CSS file, an image, or any other type of file. In the context of web applications, PUT is used to update existing resources or create new ones.
|
||
|
|
||
|
El método de petición HTTP PUT crea o actualiza un recurso con los datos incluidos en el cuerpo de la petición. El recurso puede ser una página HTML, un archivo CSS, una imagen o cualquier otro tipo de archivo. En el contexto de las aplicaciones web, PUT se utiliza para actualizar recursos existentes o crear nuevos.
|
||
|
|
||
|
---
|
||
|
|
||
|
### PUT method and WebDAV
|
||
|
|
||
|
### Método PUT y WebDAV
|
||
|
|
||
|
PUT method is also used by WebDAV (Web Distributed Authoring and Versioning) to upload files to a web server. WebDAV extends the HTTP protocol to allow clients to perform remote Web content authoring operations.
|
||
|
|
||
|
El método PUT también es utilizado por WebDAV (Web Distributed Authoring and Versioning) para subir archivos a un servidor web. WebDAV extiende el protocolo HTTP para permitir a los clientes realizar operaciones de autoría de contenido web remoto.
|
||
|
|
||
|
---
|
||
|
|
||
|
### PUT request and file upload vulnerabilities
|
||
|
|
||
|
### Petición PUT y vulnerabilidades de carga de archivos
|
||
|
|
||
|
PUT requests can be used to upload files to a web server. If the server does not properly validate the uploaded file, it can lead to file upload vulnerabilities such as file inclusion, remote code execution, or even server takeover.
|
||
|
|
||
|
Las peticiones PUT pueden ser utilizadas para subir archivos a un servidor web. Si el servidor no valida adecuadamente el archivo subido, puede llevar a vulnerabilidades de carga de archivos como inclusión de archivos, ejecución remota de código o incluso toma de control del servidor.
|
||
|
```
|
||
|
curl -T 'shell.txt' 'http://$ip'
|
||
|
```
|
||
|
## Petición MOVE
|
||
|
```
|
||
|
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
|
||
|
```
|
||
|
![](<../../.gitbook/assets/image (9) (1) (2).png>)
|
||
|
|
||
|
Utiliza [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir y automatizar fácilmente flujos de trabajo impulsados por 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 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 **añadiendo** al final del nombre **";.txt"** y el archivo será **ejecutado** 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, será **ejecutado** (cadaver dirá que la acción de mover no funcionó, pero sí lo hizo).
|
||
|
|
||
|
![](<../../.gitbook/assets/image (18) (1) (1).png>)
|
||
|
|
||
|
## 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** la contraseña, o **añadir más** si por alguna razón deseas **acceder** al servidor **webdav**:
|
||
|
```bash
|
||
|
htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password
|
||
|
```
|
||
|
Para comprobar si las nuevas credenciales funcionan, puedes hacer lo siguiente:
|
||
|
```bash
|
||
|
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
|
||
|
```
|
||
|
<details>
|
||
|
|
||
|
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
|
||
|
|
||
|
* ¿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**](https://github.com/sponsors/carlospolop)!
|
||
|
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
|
||
|
* Obtén la [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
|
||
|
* **Únete al** [**💬**](https://emojipedia.org/speech-balloon/) **grupo de Discord** o al [**grupo de telegram**](https://t.me/peass) o **sígueme en** **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
||
|
* **Comparte tus trucos de hacking enviando PRs al** [**repositorio de hacktricks**](https://github.com/carlospolop/hacktricks) **y al** [**repositorio de hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
||
|
|
||
|
</details>
|
||
|
|
||
|
![](<../../.gitbook/assets/image (9) (1) (2).png>)
|
||
|
|
||
|
\
|
||
|
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) 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" %}
|