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 mesmo:
{% 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 do 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 PUT method may be misconfigured, allowing unauthorized users to upload files to a server. This can lead to various security issues, such as the ability to upload malicious files or overwrite existing files.
Em alguns casos, o método PUT pode estar mal configurado, permitindo que usuários não autorizados façam upload de arquivos para um servidor. Isso pode levar a várias questões de segurança, como a capacidade de fazer upload de arquivos maliciosos ou sobrescrever arquivos existentes.
To exploit this vulnerability, an attacker can send a specially crafted PUT request to the target server, containing a payload that will be executed upon upload. This can be used to gain unauthorized access, execute arbitrary code, or perform other malicious activities.
Para explorar essa vulnerabilidade, um atacante pode enviar um pedido PUT especialmente criado para o servidor alvo, contendo uma carga útil que será executada durante o upload. Isso pode ser usado para obter acesso não autorizado, executar código arbitrário ou realizar outras atividades maliciosas.
Mitigating PUT Exploits
To prevent unauthorized file uploads and other PUT-related exploits, it is important to properly configure the server and implement security measures. Some recommended steps include:
- Disable the PUT method if it is not needed for the application's functionality.
- Implement proper authentication and authorization mechanisms to control access to the server.
- Validate and sanitize user input to prevent malicious file uploads.
- Regularly update and patch the server software to fix any known vulnerabilities.
Para evitar uploads de arquivos não autorizados e outros tipos de exploração relacionados ao PUT, é importante configurar corretamente o servidor e implementar medidas de segurança. Alguns passos recomendados incluem:
- Desativar o método PUT se não for necessário para a funcionalidade da aplicação.
- Implementar mecanismos adequados de autenticação e autorização para controlar o acesso ao servidor.
- Validar e sanitizar a entrada do usuário para evitar uploads de arquivos maliciosos.
- Atualizar regularmente o software do servidor e corrigir quaisquer vulnerabilidades conhecidas.
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:
{% 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 o upload ou renomeação de 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 o 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 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" %}