11 KiB
WebDav
Use Trickest para construir e automatizar facilmente fluxos de trabalho com 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" %}
☁️ 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
- Obtenha 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 hacktricks-cloud repo.
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 carregar algum webshell e executá-lo a partir do servidor web para assumir o controle do servidor.
Normalmente, para conectar um servidor WebDav, você precisará de credenciais válidas: WebDav brute force (Autenticação Básica).
Outra configuração comum é proibir o upload de arquivos com extensões que serão executados pelo servidor web, você deve verificar como burlar isso:
- Carregar arquivos com extensões executáveis (talvez não seja proibido).
- Carregar arquivos sem extensões executáveis (como .txt) e tentar renomear o arquivo (mover) com uma extensão executável.
- Carregar arquivos sem extensões executáveis (como .txt) e tentar copiar o arquivo (mover) com extensão executável.
DavTest
Davtest tenta carregar vários arquivos com diferentes extensões e verificar 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 pela 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>
Requisição PUT
Description
The HTTP PUT method is used to update a resource on a server. In the context of web applications, this method is commonly used to update files on a web server. The PUT method is part of the WebDAV protocol, which is an extension of the HTTP protocol that allows clients to perform remote web content authoring operations.
Descrição
O método HTTP PUT é usado para atualizar um recurso em um servidor. No contexto de aplicações web, este método é comumente usado para atualizar arquivos em um servidor web. O método PUT faz parte do protocolo WebDAV, que é uma extensão do protocolo HTTP que permite que clientes realizem operações de autoria de conteúdo web remoto.
Vulnerability
The PUT method can be vulnerable to attacks if the server does not properly validate the input data. An attacker can use the PUT method to upload a malicious file to the server, overwrite an existing file, or modify the content of an existing file. This can lead to a variety of attacks, including remote code execution, file inclusion, and data leakage.
Vulnerabilidade
O método PUT pode ser vulnerável a ataques se o servidor não validar corretamente os dados de entrada. Um atacante pode usar o método PUT para fazer upload de um arquivo malicioso para o servidor, sobrescrever um arquivo existente ou modificar o conteúdo de um arquivo existente. Isso pode levar a uma variedade de ataques, incluindo execução remota de código, inclusão de arquivo e vazamento de dados.
Exploitation
To exploit this vulnerability, an attacker can use a web client or a command-line tool to send a PUT request to the server. The request should include the file to be uploaded and the location where the file should be stored on the server. If the server does not properly validate the input data, the file will be uploaded to the server and can be accessed by the attacker.
Exploração
Para explorar essa vulnerabilidade, um atacante pode usar um cliente web ou uma ferramenta de linha de comando para enviar uma requisição PUT para o servidor. A requisição deve incluir o arquivo a ser enviado e o local onde o arquivo deve ser armazenado no servidor. Se o servidor não validar corretamente os dados de entrada, o arquivo será enviado para o servidor e pode ser acessado pelo atacante.
Mitigation
To mitigate this vulnerability, the server should properly validate the input data and restrict access to sensitive files. The server should also use access controls to limit the actions that can be performed by users and applications. Additionally, the server should log all PUT requests and monitor for any suspicious activity.
Mitigação
Para mitigar essa vulnerabilidade, o servidor deve validar corretamente os dados de entrada e restringir o acesso a arquivos sensíveis. O servidor também deve usar controles de acesso para limitar as ações que podem ser realizadas por usuários e aplicativos. Além disso, o servidor deve registrar todas as requisições PUT e monitorar qualquer atividade suspeita.
curl -T 'shell.txt' 'http://$ip'
Requisição MOVE
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.
Obtenha acesso hoje:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Vulnerabilidade IIS5/6 WebDav
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 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, 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
☁️ 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? Confira 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 do Discord ou ao grupo do telegram ou siga-me no Twitter 🐦@carlospolopm.
- Compartilhe seus truques de hacking enviando PRs para o repositório hacktricks e para o repositório hacktricks-cloud.
Use Trickest para construir e automatizar fluxos de trabalho facilmente, alimentados pelas 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" %}