12 KiB
WebDav
Use Trickest para construir e automatizar facilmente 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" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- 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!
- Descubra The PEASS Family, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe suas técnicas de hacking enviando PRs para o repositório hacktricks e repositório hacktricks-cloud.
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).
Você deve tentar fazer upload de algum webshell e executá-lo a partir do servidor web para assumir o controle sobre o servidor.
Normalmente, para conectar a um servidor WebDav, você precisará de credenciais válidas: WebDav bruteforce (Autenticação Básica).
Outra configuração comum é proibir o upload de arquivos com extensões que serão executadas pelo servidor web, você deve verificar como burlar isso:
- Fazer upload de arquivos com extensões executáveis (talvez não seja proibido).
- Fazer upload de arquivos sem extensões executáveis (como .txt) e tentar renomear o arquivo (mover) com uma extensão executável.
- Fazer upload de arquivos sem extensões executáveis (como .txt) e tentar copiar o arquivo (mover) com extensão 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
Saída de exemplo:
Isso não significa que as extensões .txt e .html estão sendo executadas. Isso significa que você pode acessar esses arquivos através da web.
Cadaver
Você pode usar essa ferramenta para conectar-se ao servidor WebDav e realizar ações (como upload, mover ou excluir) manualmente.
cadaver <IP>
Pedido PUT
The PUT method is used to update or create a resource on a server. In the context of web applications, it is commonly used to upload files or modify existing data.
O método PUT é usado para atualizar ou criar um recurso em um servidor. No contexto de aplicações web, é comumente usado para fazer upload de arquivos ou modificar dados existentes.
WebDAV and PUT
WebDAV (Web Distributed Authoring and Versioning) is an extension of the HTTP protocol that allows for more advanced file management capabilities. One of the features provided by WebDAV is the ability to use the PUT method to upload files to a server.
WebDAV (Web Distributed Authoring and Versioning) é uma extensão do protocolo HTTP que permite recursos avançados de gerenciamento de arquivos. Uma das funcionalidades fornecidas pelo WebDAV é a capacidade de usar o método PUT para fazer upload de arquivos para um servidor.
Exploiting PUT Requests
In some cases, the server may not properly validate or restrict the use of the PUT method, allowing an attacker to upload arbitrary files to the server. This can be exploited to gain unauthorized access or to perform other malicious activities.
Em alguns casos, o servidor pode não validar corretamente ou restringir o uso do método PUT, permitindo que um atacante faça upload de arquivos arbitrários para o servidor. Isso pode ser explorado para obter acesso não autorizado ou realizar outras atividades maliciosas.
To exploit this vulnerability, an attacker can send a PUT request to the target server with a specially crafted payload. The payload can be a malicious file that, when executed on the server, allows the attacker to gain control over the system.
Para explorar essa vulnerabilidade, um atacante pode enviar um pedido PUT para o servidor de destino com uma carga útil especialmente criada. A carga útil pode ser um arquivo malicioso que, quando executado no servidor, permite ao atacante obter controle sobre o sistema.
Mitigating the Risk
To mitigate the risk of exploitation through PUT requests, it is important to properly validate and restrict the use of the PUT method on the server. This can be done by implementing access controls, input validation, and file type restrictions.
Para mitigar o risco de exploração por meio de pedidos PUT, é importante validar corretamente e restringir o uso do método PUT no servidor. Isso pode ser feito implementando controles de acesso, validação de entrada e restrições de tipo de arquivo.
curl -T 'shell.txt' 'http://$ip'
Pedido MOVE
The MOVE request is used in WebDAV to move a resource from one location to another. It is similar to the HTTP PUT
request, but instead of creating a new resource, it moves an existing resource to a new location.
O pedido MOVE é usado no WebDAV para mover um recurso de uma localização para outra. É semelhante ao pedido HTTP PUT
, mas em vez de criar um novo recurso, move um recurso existente para uma nova localização.
Syntax
MOVE /source-resource HTTP/1.1
Host: example.com
Destination: /destination-resource
Example
MOVE /files/document.txt HTTP/1.1
Host: example.com
Destination: /archive/document.txt
In this example, the MOVE
request is used to move the document.txt
file from the /files
directory to the /archive
directory.
Neste exemplo, o pedido MOVE
é usado para mover o arquivo document.txt
do diretório /files
para o diretório /archive
.
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
Use Trickest para construir e automatizar facilmente fluxos de trabalho 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 do WebDav no IIS5/6
Essa vulnerabilidade é muito interessante. O WebDav não permite fazer upload ou renomear 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 ";").
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).
Postar credenciais
Se o Webdav estiver usando um servidor Apache, você deve procurar nos 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, aqui estão os 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. Essas são as credenciais que o servidor webdav está usando para autenticar os 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 o seguinte:
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Você trabalha em uma empresa de cibersegurança? 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!
- Descubra A Família PEASS, nossa coleção exclusiva de NFTs
- Adquira o swag oficial do PEASS & HackTricks
- Junte-se ao 💬 grupo Discord ou ao grupo telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para o repositório hacktricks e repositório hacktricks-cloud.
Use Trickest para construir e automatizar fluxos de trabalho com facilidade, utilizando as ferramentas comunitárias mais avançadas do mundo.
Obtenha acesso hoje:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}