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

166 lines
11 KiB
Markdown
Raw Normal View History

2022-05-01 13:25:53 +00:00
# WebDav
2022-04-28 16:01:33 +00:00
2022-09-30 10:43:59 +00:00
![](<../../.gitbook/assets/image (9) (1) (2).png>)
2022-09-01 23:40:55 +00:00
2023-06-06 18:56:34 +00:00
Use [**Trickest**](https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks) para construir e automatizar facilmente 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>
2023-04-25 18:35:28 +00:00
<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>
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Obtenha o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>
2023-06-06 18:56:34 +00:00
Um **servidor HTTP com WebDav** ativo é um servidor onde você provavelmente pode **atualizar, excluir, mover, copiar** arquivos. Às vezes, você precisa ter **credenciais válidas** (geralmente verifique com Autenticação Básica HTTP).
2023-06-06 18:56:34 +00:00
Você deve tentar **carregar** algum **webshell** e **executá-lo** a partir do servidor web para assumir o controle do servidor.\
Normalmente, para **conectar** um servidor WebDav, você precisará de **credenciais válidas**: [**WebDav brute force**](../../generic-methodologies-and-resources/brute-force.md#http-basic-auth) _(Autenticação Básica)_.
2023-06-06 18:56:34 +00:00
Outra configuração comum é **proibir o upload** de arquivos com **extensões** que serão **executados** pelo servidor web, você deve verificar como **burlar isso:**
2023-06-06 18:56:34 +00:00
* **Carregue** arquivos com **extensões executáveis** (talvez não seja proibido).
* **Carregue** arquivos **sem extensões executáveis** (como .txt) e tente **renomear** o arquivo (mover) com uma **extensão executável**.
* **Carregue** arquivos **sem extensões executáveis** (como .txt) e tente **copiar** o arquivo (mover) com **extensão executável.**
2022-05-01 13:25:53 +00:00
## DavTest
2023-06-06 18:56:34 +00:00
**Davtest** tenta **carregar vários arquivos com diferentes extensões** e **verifica** 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
```
2023-06-06 18:56:34 +00:00
Saída de exemplo:
2022-09-30 10:43:59 +00:00
![](<../../.gitbook/assets/image (19) (1).png>)
2023-06-06 18:56:34 +00:00
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
2023-06-06 18:56:34 +00:00
Você pode usar esta ferramenta para **conectar-se ao servidor WebDav** e realizar ações (como **upload**, **mover** ou **excluir**) **manualmente**.
```
cadaver <IP>
```
2023-06-06 18:56:34 +00:00
## Requisição PUT
---
### Description
The HTTP PUT method is used to update a resource on a server. In the context of web applications, this method is commonly used to update files on a web server. However, it can also be used to create new resources or overwrite existing ones.
### Descrição
O método HTTP PUT é usado para atualizar um recurso em um servidor. No contexto de aplicações web, este método é comumente usado para atualizar arquivos em um servidor web. No entanto, ele também pode ser usado para criar novos recursos ou sobrescrever os existentes.
---
### WebDAV PUT
WebDAV (Web Distributed Authoring and Versioning) is an extension of the HTTP protocol that allows clients to perform remote Web content authoring operations. One of the operations that WebDAV supports is the PUT method. This method allows clients to upload files to a Web server.
### WebDAV PUT
WebDAV (Web Distributed Authoring and Versioning) é uma extensão do protocolo HTTP que permite que clientes realizem operações de autoria de conteúdo Web remotamente. Uma das operações que o WebDAV suporta é o método PUT. Este método permite que os clientes façam upload de arquivos para um servidor Web.
---
### PUT Method Vulnerabilities
The PUT method can be vulnerable to several attacks, including:
- **File upload vulnerability**: Attackers can use the PUT method to upload malicious files to a server, which can then be executed to compromise the server or steal sensitive data.
2023-06-06 18:56:34 +00:00
- **Directory traversal vulnerability**: Attackers can use the PUT method to upload files to directories outside of the intended upload directory, potentially allowing them to access sensitive files or execute arbitrary code.
2023-06-06 18:56:34 +00:00
- **Overwriting sensitive files**: Attackers can use the PUT method to overwrite sensitive files on a server, potentially causing denial of service or leaking sensitive information.
### Vulnerabilidades do Método PUT
O método PUT pode ser vulnerável a vários ataques, incluindo:
- **Vulnerabilidade de upload de arquivo**: Atacantes podem usar o método PUT para fazer upload de arquivos maliciosos para um servidor, que podem ser executados para comprometer o servidor ou roubar dados sensíveis.
- **Vulnerabilidade de travessia de diretório**: Atacantes podem usar o método PUT para fazer upload de arquivos para diretórios fora do diretório de upload pretendido, potencialmente permitindo que eles acessem arquivos sensíveis ou executem código arbitrário.
- **Sobrescrevendo arquivos sensíveis**: Atacantes podem usar o método PUT para sobrescrever arquivos sensíveis em um servidor, potencialmente causando negação de serviço ou vazamento de informações sensíveis.
```
curl -T 'shell.txt' 'http://$ip'
```
2023-06-06 18:56:34 +00:00
## Requisição MOVE
```
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
```
2022-09-30 10:43:59 +00:00
![](<../../.gitbook/assets/image (9) (1) (2).png>)
2022-09-01 23:40:55 +00:00
2023-06-06 18:56:34 +00:00
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir e automatizar facilmente 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" %}
2023-06-06 18:56:34 +00:00
## Vulnerabilidade WebDav IIS5/6
2023-06-06 18:56:34 +00:00
Essa vulnerabilidade é muito interessante. O **WebDav** **não permite** o **upload** ou **renomeação** de arquivos com a extensão **.asp**. Mas você pode **burlar** isso **adicionando** ao final do nome **";.txt"** e o arquivo será **executado** como se fosse um arquivo .asp (você também pode **usar ".html" em vez de ".txt"** mas **NÃO esqueça do ";"**).
2023-06-06 18:56:34 +00:00
Então você pode **fazer upload** do seu shell como um arquivo ".**txt"** e **copiá-lo/movê-lo para um arquivo ".asp;.txt"**. Ao acessar esse arquivo pelo servidor web, ele será **executado** (o cadaver dirá que a ação de movimento não funcionou, mas funcionou).
2022-12-24 19:34:46 +00:00
![](<../../.gitbook/assets/image (18) (1) (1).png>)
2023-06-06 18:56:34 +00:00
## Postar credenciais
2023-06-06 18:56:34 +00:00
Se o Webdav estiver usando um servidor Apache, você deve procurar nos sites configurados no Apache. Comumente:\
_**/etc/apache2/sites-enabled/000-default**_
2023-06-06 18:56:34 +00:00
Dentro dele, você pode 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
```
2023-06-06 18:56:34 +00:00
Como você pode ver, há arquivos com as credenciais válidas para o servidor **webdav**:
```
/etc/apache2/users.password
```
2023-06-06 18:56:34 +00:00
Dentro deste tipo de arquivos, você encontrará o **nome de usuário** e um **hash** da senha. Estas são as credenciais que o servidor webdav está usando para autenticar usuários.
2023-06-06 18:56:34 +00:00
Você pode tentar **quebrá-las**, 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
```
2023-06-06 18:56:34 +00:00
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>
2023-04-25 18:35:28 +00:00
<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>
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* 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)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório 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
2022-09-30 10:43:59 +00:00
![](<../../.gitbook/assets/image (9) (1) (2).png>)
2022-09-01 23:40:55 +00:00
\
2023-06-06 18:56:34 +00:00
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir e **automatizar fluxos de trabalho** facilmente, alimentados pelas 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" %}