hacktricks/network-services-pentesting/pentesting-web/put-method-webdav.md

11 KiB

WebDav

Utilisez Trickest pour construire et automatiser facilement des flux de travail alimentés par les outils communautaires les plus avancés au monde.
Obtenez l'accès aujourd'hui :

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

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 (vérifiez généralement 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 (peut-être n'est-ce 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 des extensions différentes 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

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

PUT is an HTTP method that is used to update or create a resource on a server. In the context of web applications, it is commonly used to update files on a web server.

PUT est une méthode HTTP utilisée pour mettre à jour ou créer une ressource sur un serveur. Dans le contexte des applications web, elle est couramment utilisée pour mettre à jour des fichiers sur un serveur web.

WebDAV servers also support the PUT method, which allows clients to upload files to the server. This can be useful during a penetration test to upload a web shell or other malicious file to the server.

Les serveurs WebDAV prennent également en charge la méthode PUT, qui permet aux clients de télécharger des fichiers sur le serveur. Cela peut être utile lors d'un test de pénétration pour télécharger un shell web ou un autre fichier malveillant sur le serveur.

To send a PUT request, you can use a tool like curl or wget. Here is an example of using curl to upload a file to a WebDAV server:

Pour envoyer une requête PUT, vous pouvez utiliser un outil comme curl ou wget. Voici un exemple d'utilisation de curl pour télécharger un fichier sur un serveur WebDAV :

curl -X PUT -T localfile.txt http://example.com/remote/file/path.txt

In this example, localfile.txt is the file you want to upload, and http://example.com/remote/file/path.txt is the URL of the file on the server.

Dans cet exemple, localfile.txt est le fichier que vous souhaitez télécharger, et http://example.com/remote/file/path.txt est l'URL du fichier sur le serveur.

When sending a PUT request, it is important to ensure that the server is configured to only allow authorized users to upload files. Otherwise, an attacker could potentially upload malicious files to the server.

Lors de l'envoi d'une requête PUT, il est important de s'assurer que le serveur est configuré pour n'autoriser que les utilisateurs autorisés à télécharger des fichiers. Sinon, un attaquant pourrait potentiellement télécharger des fichiers malveillants sur le serveur.

curl -T 'shell.txt' 'http://$ip'

Requête MOVE

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 l'accès aujourd'hui :

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}

Vulnérabilité IIS5/6 WebDav

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 dans 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 informations d'identification

Si le Webdav utilisait un serveur Apache, vous devriez regarder les sites configurés dans Apache. Couramment :
/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 des 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 🎥


Utilisez Trickest pour construire et automatiser des workflows alimentés par les outils communautaires les plus avancés au monde.
Obtenez l'accès aujourd'hui :

{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}