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

7.9 KiB

WebDav


Utilisez Trickest pour construire et automatiser des workflows grâce aux 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" %}

Apprenez le hacking AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres moyens de soutenir HackTricks :

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 d'avoir des identifiants valides (vérifiez habituellement avec l'authentification HTTP de base).

Vous devriez essayer de téléverser un webshell et de l'exécuter depuis le serveur web pour prendre le contrôle du serveur.
Habituellement, pour se connecter à un serveur WebDav, vous aurez besoin d'identifiants valides : Bruteforce WebDav (Authentification de base).

Une autre configuration courante est d'interdire le téléversement de fichiers avec des extensions qui seront exécutées par le serveur web, vous devriez vérifier comment contourner cela :

  • Téléversez des fichiers avec des extensions exécutables (peut-être que ce n'est pas interdit).
  • Téléversez des fichiers sans extensions exécutables (comme .txt) et essayez de renommer le fichier (déplacer) avec une extension exécutable.
  • Téléversez 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éverser plusieurs fichiers avec différentes extensions et de vérifier 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

Exemple de sortie :

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éverser, déplacer ou supprimer) manuellement.

cadaver <IP>

Requête PUT

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 des workflows facilement, 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éverser 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 pourriez également utiliser ".html" au lieu de ".txt" mais n'oubliez pas le ";").

Ensuite, vous pouvez téléverser votre shell sous forme de fichier ".txt" et le copier/déplacer en un fichier ".asp;.txt". En accédant à ce fichier via le serveur web, il sera exécuté (cadaver dira que l'action de déplacement n'a pas fonctionné, mais en réalité si).

Post credentials

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

Dans ce type de fichiers, vous trouverez le username et un hash du mot de passe. Ce sont les identifiants que le serveur webdav utilise pour authentifier les utilisateurs.

Vous pouvez essayer de les crack, ou d'ajouter plus si pour une raison quelconque vous voulez accéder au serveur webdav :

htpasswd /etc/apache2/users.password <USERNAME> #You will be prompted for the password

Pour vérifier si les nouveaux identifiants fonctionnent, vous pouvez faire :

wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q
Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres moyens de soutenir HackTricks :


Utilisez Trickest pour construire et automatiser des workflows facilement, alimentés par les outils communautaires les plus avancés.
Accédez-y dès aujourd'hui :

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