13 KiB
WebDav
Utilisez Trickest pour construire facilement et automatiser des flux de travail alimentés par les outils communautaires les plus avancés au monde.
Obtenez un accès aujourd'hui :
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Travaillez-vous dans une entreprise de cybersécurité ? Voulez-vous voir votre entreprise annoncée dans HackTricks ? ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT !
- Découvrez The PEASS Family, notre collection exclusive de NFT
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.
Un serveur HTTP avec WebDav actif est un serveur où vous pouvez probablement mettre à jour, supprimer, déplacer, copier des fichiers. Parfois, vous avez besoin de valides identifiants (généralement vérifiés avec l'authentification de base HTTP).
Vous devriez essayer de télécharger un webshell et de l'exécuter depuis le serveur web pour prendre le contrôle du serveur.
Généralement, pour se connecter à un serveur WebDav, vous aurez besoin de valides identifiants : WebDav bruteforce (Authentification de base).
Une autre configuration courante consiste à interdire le téléchargement de fichiers avec des extensions qui seront exécutées par le serveur web, vous devriez vérifier comment contourner cela :
- Téléchargez des fichiers avec des extensions exécutables (ce n'est peut-être pas interdit).
- Téléchargez des fichiers sans extensions exécutables (comme .txt) et essayez de renommer le fichier (déplacer) avec une extension exécutable.
- Téléchargez des fichiers sans extensions exécutables (comme .txt) et essayez de copier le fichier (déplacer) avec une extension exécutable.
DavTest
Davtest essaie de télécharger plusieurs fichiers avec différentes extensions et vérifie si l'extension est exécutée :
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
Output sample:
Cela ne signifie pas que les extensions .txt et .html sont exécutées. Cela signifie que vous pouvez accéder à ces fichiers via le web.
Cadaver
Vous pouvez utiliser cet outil pour vous connecter au serveur WebDav et effectuer des actions (comme télécharger, déplacer ou supprimer) manuellement.
cadaver <IP>
Requête PUT
A PUT request is an HTTP method used to update or create a resource on a server. It is commonly used in WebDAV (Web Distributed Authoring and Versioning) to upload files to a remote server.
Une requête PUT est une méthode HTTP utilisée pour mettre à jour ou créer une ressource sur un serveur. Elle est couramment utilisée dans WebDAV (Web Distributed Authoring and Versioning) pour télécharger des fichiers vers un serveur distant.
How it works
Fonctionnement
To make a PUT request, the client sends an HTTP request to the server with the desired resource URL and includes the data to be uploaded in the request body. The server then processes the request and updates or creates the resource accordingly.
Pour effectuer une requête PUT, le client envoie une requête HTTP au serveur avec l'URL de la ressource souhaitée et inclut les données à télécharger dans le corps de la requête. Le serveur traite ensuite la requête et met à jour ou crée la ressource en conséquence.
WebDAV and PUT
WebDAV et PUT
In WebDAV, the PUT method is used to upload files to a remote server. It allows clients to create or update files on the server by sending a PUT request with the file data in the request body. The server then saves the file at the specified location.
Dans WebDAV, la méthode PUT est utilisée pour télécharger des fichiers vers un serveur distant. Elle permet aux clients de créer ou de mettre à jour des fichiers sur le serveur en envoyant une requête PUT avec les données du fichier dans le corps de la requête. Le serveur enregistre ensuite le fichier à l'emplacement spécifié.
Security Considerations
Considérations de sécurité
When using the PUT method, it is important to consider security implications. Without proper authentication and authorization mechanisms in place, an attacker could potentially upload malicious files or overwrite existing files on the server.
Lors de l'utilisation de la méthode PUT, il est important de prendre en compte les implications en matière de sécurité. Sans mécanismes d'authentification et d'autorisation appropriés, un attaquant pourrait potentiellement télécharger des fichiers malveillants ou écraser des fichiers existants sur le serveur.
To mitigate these risks, it is recommended to implement strong authentication and access control measures, such as requiring user credentials and validating file uploads to prevent unauthorized access or malicious file uploads.
Pour atténuer ces risques, il est recommandé de mettre en place des mesures d'authentification et de contrôle d'accès solides, telles que l'exigence de données d'identification de l'utilisateur et la validation des téléchargements de fichiers pour empêcher l'accès non autorisé ou les téléchargements de fichiers malveillants.
curl -T 'shell.txt' 'http://$ip'
Requête 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.
La requête MOVE est utilisée dans WebDAV pour déplacer une ressource d'un emplacement à un autre. Elle est similaire à la requête HTTP PUT
, mais au lieu de créer une nouvelle ressource, elle déplace une ressource existante vers un nouvel emplacement.
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 moves the document.txt
file from the /files
directory to the /archive
directory on the example.com
server.
Dans cet exemple, la requête MOVE
déplace le fichier document.txt
du répertoire /files
vers le répertoire /archive
sur le serveur example.com
.
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
Utilisez Trickest pour construire et automatiser facilement des flux de travail alimentés par les outils communautaires les plus avancés au monde.
Obtenez un accès aujourd'hui :
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
Vulnérabilité WebDav IIS5/6
Cette vulnérabilité est très intéressante. Le WebDav ne permet pas de télécharger ou de renommer des fichiers avec l'extension .asp. Mais vous pouvez contourner cela en ajoutant à la fin du nom ";.txt" et le fichier sera exécuté comme s'il s'agissait d'un fichier .asp (vous pouvez également utiliser ".html" au lieu de ".txt" mais N'OUBLIEZ PAS le ";").
Ensuite, vous pouvez télécharger votre shell en tant que fichier ".txt" et le copier/déplacer vers un fichier ".asp;.txt". En accédant à ce fichier via le serveur web, il sera exécuté (cadaver indiquera que l'action de déplacement n'a pas fonctionné, mais c'est le cas).
Poster des identifiants
Si Webdav utilisait un serveur Apache, vous devriez regarder les sites configurés dans Apache. Généralement :
/etc/apache2/sites-enabled/000-default
À l'intérieur, vous pourriez trouver quelque chose comme :
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
Comme vous pouvez le voir, il y a les fichiers avec les identifiants valides pour le serveur webdav :
/etc/apache2/users.password
À l'intérieur de ce type de fichiers, vous trouverez le nom d'utilisateur et un hash du mot de passe. Ce sont les informations d'identification que le serveur WebDAV utilise pour authentifier les utilisateurs.
Vous pouvez essayer de les craquer, ou en ajouter davantage si, pour une raison quelconque, vous souhaitez accéder au serveur WebDAV :
htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password
Pour vérifier si les nouvelles informations d'identification fonctionnent, vous pouvez faire :
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥
- Travaillez-vous dans une entreprise de cybersécurité ? Voulez-vous voir votre entreprise annoncée dans HackTricks ? Ou voulez-vous avoir accès à la dernière version de PEASS ou télécharger HackTricks en PDF ? Consultez les PLANS D'ABONNEMENT !
- Découvrez La famille PEASS, notre collection exclusive de NFT
- Obtenez le swag officiel PEASS & HackTricks
- Rejoignez le 💬 groupe Discord ou le groupe Telegram ou suivez moi sur Twitter 🐦@carlospolopm.
- Partagez vos astuces de piratage en soumettant des PR au repo hacktricks et au repo hacktricks-cloud.
Utilisez Trickest pour construire et automatiser facilement des workflows alimentés par les outils communautaires les plus avancés au monde.
Obtenez un accès aujourd'hui :
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}