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

7.5 KiB

WebDav


Use Trickest para construir e automatizar fluxos de trabalho facilmente com as ferramentas da comunidade mais avançadas do mundo.
Acesse hoje:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}

{% hint style="success" %} Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %} {% endhint %}

Ao lidar com um Servidor HTTP com WebDav habilitado, é possível manipular arquivos se você tiver as credenciais corretas, geralmente verificadas através da Autenticação Básica HTTP. Ganhar controle sobre tal servidor muitas vezes envolve o upload e execução de um webshell.

O acesso ao servidor WebDav normalmente requer credenciais válidas, sendo o bruteforce WebDav um método comum para adquiri-las.

Para superar restrições em uploads de arquivos, especialmente aquelas que impedem a execução de scripts do lado do servidor, você pode:

  • Fazer upload de arquivos com extensões executáveis diretamente se não houver restrições.
  • Renomear arquivos não executáveis enviados (como .txt) para uma extensão executável.
  • Copiar arquivos não executáveis enviados, mudando sua extensão para uma que seja executável.

DavTest

Davtest tenta fazer upload de vários arquivos com diferentes extensões e verifica se a extensão é executada:

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

Isso não significa que .txt e .html extensions estão sendo executadas. Isso significa que você pode acessar esses arquivos através da web.

Cadaver

Você pode usar essa ferramenta para conectar ao servidor WebDav e realizar ações (como upload, mover ou deletar) manualmente.

cadaver <IP>

Requisição PUT

curl -T 'shell.txt' 'http://$ip'

Solicitação MOVE

curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'


Use Trickest para construir e automatizar fluxos de trabalho facilmente com as ferramentas da comunidade mais avançadas do mundo.
Acesse hoje:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}

Vulnerabilidade do IIS5/6 WebDav

Essa vulnerabilidade é muito interessante. O WebDav não permite carregar ou renomear arquivos com a extensão .asp. Mas você pode contornar isso adicionando no 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 o ";").

Então você pode carregar seu shell como um arquivo ".txt" e copiá-lo/movê-lo 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).

Credenciais pós

Se o Webdav estiver usando um servidor Apache, você deve verificar os sites configurados no Apache. Comumente:
/etc/apache2/sites-enabled/000-default

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

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 está usando para autenticar usuários.

Você pode tentar crack-á-los, ou adicionar mais se por algum motivo você quiser acessar o servidor webdav:

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:

wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q

Referências

Suporte ao HackTricks
{% endhint %} {% endhint %}


Use Trickest para construir e automatizar fluxos de trabalho facilmente, impulsionados pelas ferramentas comunitárias mais avançadas do mundo.
Obtenha Acesso Hoje:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}