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

8 KiB

WebDav


Verwenden Sie Trickest, um einfach Workflows zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden.
Zugang heute erhalten:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}

{% hint style="success" %} Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %} {% endhint %}

Beim Umgang mit einem HTTP-Server mit aktiviertem WebDav ist es möglich, Dateien zu manipulieren, wenn Sie die richtigen Anmeldeinformationen haben, die normalerweise durch HTTP Basic Authentication überprüft werden. Die Kontrolle über einen solchen Server zu erlangen, beinhaltet oft das Hochladen und Ausführen einer Webshell.

Der Zugriff auf den WebDav-Server erfordert typischerweise gültige Anmeldeinformationen, wobei WebDav Bruteforce eine gängige Methode ist, um diese zu erhalten.

Um Einschränkungen beim Hochladen von Dateien zu überwinden, insbesondere solche, die die Ausführung von serverseitigen Skripten verhindern, könnten Sie:

  • Dateien mit ausführbaren Erweiterungen direkt hochladen, wenn dies nicht eingeschränkt ist.
  • Hochgeladene nicht ausführbare Dateien (wie .txt) in eine ausführbare Erweiterung umbenennen.
  • Hochgeladene nicht ausführbare Dateien kopieren und ihre Erweiterung in eine ausführbare ändern.

DavTest

Davtest versucht, mehrere Dateien mit unterschiedlichen Erweiterungen hochzuladen und überprüft, ob die Erweiterung ausgeführt wird:

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

Das bedeutet nicht, dass .txt und .html Erweiterungen ausgeführt werden. Das bedeutet, dass Sie auf diese Dateien zugreifen können über das Web.

Cadaver

Sie können dieses Tool verwenden, um sich mit dem WebDav-Server zu verbinden und Aktionen (wie hochladen, verschieben oder löschen) manuell durchzuführen.

cadaver <IP>

PUT-Anfrage

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

MOVE-Anfrage

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


Verwenden Sie Trickest, um einfach Workflows zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden.
Zugang heute erhalten:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}

IIS5/6 WebDav-Sicherheitsanfälligkeit

Diese Sicherheitsanfälligkeit ist sehr interessant. WebDav erlaubt nicht, Dateien mit der Erweiterung .asp zu hochladen oder umzubenennen. Aber Sie können dies umgehen, indem Sie am Ende des Namens ";.txt" hinzufügen, und die Datei wird ausgeführt, als ob es sich um eine .asp-Datei handelt (Sie könnten auch ".html" anstelle von ".txt" verwenden, aber VERGESSEN SIE NICHT das ";").

Dann können Sie Ihre Shell als ".txt" Datei hochladen und sie in eine ".asp;.txt" Datei kopieren/bewegen. Wenn Sie auf diese Datei über den Webserver zugreifen, wird sie ausgeführt (Cadaver wird sagen, dass die Verschiebeaktion nicht funktioniert hat, aber das hat sie).

Post-Anmeldeinformationen

Wenn Webdav einen Apache-Server verwendet hat, sollten Sie sich die konfigurierten Sites in Apache ansehen. Üblicherweise:
/etc/apache2/sites-enabled/000-default

Darin könnten Sie etwas finden wie:

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

Wie Sie sehen können, gibt es die Dateien mit den gültigen credentials für den webdav-Server:

/etc/apache2/users.password

Innerhalb dieser Art von Dateien finden Sie den Benutzernamen und einen Hash des Passworts. Dies sind die Anmeldeinformationen, die der WebDAV-Server verwendet, um Benutzer zu authentifizieren.

Sie können versuchen, sie zu knacken, oder mehr hinzuzufügen, wenn Sie aus irgendeinem Grund auf den WebDAV-Server zugreifen möchten:

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

Um zu überprüfen, ob die neuen Anmeldeinformationen funktionieren, können Sie Folgendes tun:

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

References

Unterstützen Sie HackTricks
{% endhint %} {% endhint %}


Verwenden Sie Trickest, um einfach Workflows zu erstellen und zu automatisieren, die von den fortschrittlichsten Community-Tools der Welt unterstützt werden.
Erhalten Sie heute Zugang:

{% embed url="https://trickest.com/?utm_source=hacktricks&utm_medium=banner&utm_campaign=ppc&utm_content=put-method-webdav" %}