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

7.2 KiB

WebDav


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

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Ao lidar com um Servidor HTTP com WebDav habilitado, é possível manipular arquivos se você tiver as credenciais corretas, geralmente verificadas por meio da Autenticação Básica HTTP. Obter controle sobre esse servidor frequentemente envolve o upload e execução de um webshell.

O acesso ao servidor WebDav geralmente requer credenciais válidas, sendo a força bruta do WebDav um método comum para adquiri-las.

Para superar restrições em uploads de arquivos, especialmente aqueles 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 estiverem restritos.
  • Renomear arquivos não executáveis enviados (como .txt) para uma extensão executável.
  • Copiar arquivos não executáveis enviados, alterando 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

Cadáver

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

cadaver <IP>

Pedido PUT

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

Pedido 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 comunitárias mais avançadas do mundo.
Acesse hoje mesmo:

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Vulnerabilidade WebDav no IIS5/6

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

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 através do servidor web, ele será executado (o cadaver dirá que a ação de movimentação não funcionou, mas funcionou).

Postar credenciais

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á arquivos com as credenciais válidas para o servidor webdav:

/etc/apache2/users.password

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.

Você pode tentar quebrá-las, 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

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:


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

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}