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

130 lines
7.5 KiB
Markdown
Raw Normal View History

2022-05-01 13:25:53 +00:00
# WebDav
2022-04-28 16:01:33 +00:00
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-09-01 23:40:55 +00:00
\
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir e **automatizar fluxos de trabalho** com as **ferramentas comunitárias mais avançadas** do mundo.\
Obtenha Acesso Hoje:
2022-09-01 23:40:55 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
Outras formas de apoiar o HackTricks:
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga**-me no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios do GitHub** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>
Um **Servidor HTTP com WebDav** ativo é um servidor onde você provavelmente pode **atualizar, deletar, mover, copiar** arquivos. **Às vezes** você **precisa** ter **credenciais válidas** (geralmente verifique com Autenticação Básica HTTP).
Você deve tentar **fazer upload** de algum **webshell** e **executá-lo** a partir do servidor web para assumir o controle do servidor.\
Geralmente, para **conectar** a um servidor WebDav você precisará de **credenciais válidas**: [**Força bruta no WebDav**](../../generic-methodologies-and-resources/brute-force.md#http-basic-auth) _(Basic Auth)_.
Outra configuração comum é **proibir o upload** de arquivos com **extensões** que serão **executadas** pelo servidor web, você deve verificar como **burlar isso:**
* **Fazer upload** de arquivos com **extensões executáveis** (talvez não seja proibido).
* **Fazer upload** de arquivos **sem extensões executáveis** (como .txt) e tentar **renomear** o arquivo (mover) com uma **extensão executável**.
* **Fazer upload** de arquivos **sem extensões executáveis** (como .txt) e tentar **copiar** o arquivo (mover) com **extensão executável.**
2022-05-01 13:25:53 +00:00
## DavTest
**Davtest** tenta **fazer upload de vários arquivos com diferentes extensões** e **verificar** se a extensão é **executada**:
```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
```
Amostra de saída:
![](<../../.gitbook/assets/image (19) (1).png>)
Isso não significa que as extensões **.txt** e **.html estão sendo executadas**. Isso significa que você pode **acessar esses arquivos** pela web.
2022-05-01 13:25:53 +00:00
## Cadaver
Você pode usar esta ferramenta para **conectar-se ao servidor WebDav** e realizar ações (como **upload**, **mover** ou **deletar**) **manualmente**.
```
cadaver <IP>
```
## Requisição PUT
```
curl -T 'shell.txt' 'http://$ip'
```
## Requisição 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>
2023-08-29 18:57:50 +00:00
\
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir e **automatizar fluxos de trabalho** com facilidade, utilizando as ferramentas comunitárias **mais avançadas** do mundo.\
Obtenha Acesso Hoje:
2022-09-01 23:40:55 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
## Vulnerabilidade IIS5/6 WebDav
Esta vulnerabilidade é muito interessante. O **WebDav** **não permite** **fazer upload** ou **renomear** arquivos com a extensão **.asp**. Mas você pode **contornar** isso **adicionando** ao final do nome **";.txt"** e o arquivo será **executado** como se fosse um arquivo .asp (você também poderia **usar ".html" em vez de ".txt"**, mas **NÃO esqueça do ";"**).
Então você pode **fazer upload** do seu shell como um arquivo ".**txt"** e **copiar/mover** para um arquivo ".asp;.txt". Ao acessar esse arquivo através do servidor web, ele será **executado** (o cadaver dirá que a ação de mover não funcionou, mas funcionou).
2022-12-24 19:34:46 +00:00
![](<../../.gitbook/assets/image (18) (1) (1).png>)
## Credenciais de postagem
Se o Webdav estivesse usando um servidor Apache, você deveria olhar para os sites configurados no Apache. Comumente:\
_**/etc/apache2/sites-enabled/000-default**_
Dentro dele, você poderia 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 você pode ver, há os arquivos com as **credenciais** válidas para o servidor **webdav**:
```
/etc/apache2/users.password
```
Dentro deste tipo de arquivos, você encontrará o **username** e um **hash** da senha. Essas são as credenciais que o servidor webdav usa para autenticar usuários.
Você pode tentar **crackear** esses dados, ou **adicionar mais** se, por algum motivo, você quiser **acessar** o servidor **webdav**:
```bash
htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password
```
Para verificar se as novas credenciais estão funcionando, você pode fazer:
```bash
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
```
2022-04-28 16:01:33 +00:00
<details>
<summary><strong>Aprenda hacking no AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Outras formas de apoiar o HackTricks:
2022-04-28 16:01:33 +00:00
* Se você quer ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**material oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção de [**NFTs**](https://opensea.io/collection/the-peass-family) exclusivos
* **Junte-se ao grupo** 💬 [**Discord**](https://discord.gg/hRep4RUj7f) ou ao grupo [**telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para os repositórios github do** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>
2022-09-01 23:40:55 +00:00
<figure><img src="../../.gitbook/assets/image (3) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
2022-09-01 23:40:55 +00:00
\
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir e **automatizar fluxos de trabalho** facilmente, com as ferramentas comunitárias **mais avançadas** do mundo.\
Obtenha Acesso Hoje:
2022-09-01 23:40:55 +00:00
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}