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

7.6 KiB

WebDav


Użyj Trickest, aby łatwo budować i automatyzować przepływy pracy zasilane przez najbardziej zaawansowane narzędzia społecznościowe na świecie.
Uzyskaj dostęp już dziś:

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

{% hint style="success" %} Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Wsparcie HackTricks
{% endhint %} {% endhint %}

Podczas pracy z serwerem HTTP z włączonym WebDav możliwe jest manipulowanie plikami, jeśli masz odpowiednie poświadczenia, zazwyczaj weryfikowane przez HTTP Basic Authentication. Uzyskanie kontroli nad takim serwerem często wiąże się z przesyłaniem i uruchamianiem webshella.

Dostęp do serwera WebDav zazwyczaj wymaga ważnych poświadczeń, a bruteforce WebDav jest powszechną metodą ich zdobywania.

Aby obejść ograniczenia dotyczące przesyłania plików, szczególnie te uniemożliwiające wykonywanie skryptów po stronie serwera, możesz:

  • Przesłać pliki z wykonywalnymi rozszerzeniami bezpośrednio, jeśli nie są ograniczone.
  • Zmień nazwę przesłanych plików niewykonywalnych (np. .txt) na rozszerzenie wykonywalne.
  • Skopiować przesłane pliki niewykonywalne, zmieniając ich rozszerzenie na takie, które jest wykonywalne.

DavTest

Davtest próbuje przesłać kilka plików z różnymi rozszerzeniami i sprawdza, czy rozszerzenie jest wykonywane:

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

To nie oznacza, że rozszerzenia .txt i .html są wykonywane. To oznacza, że możesz uzyskać dostęp do tych plików przez sieć.

Cadaver

Możesz użyć tego narzędzia, aby połączyć się z serwerem WebDav i wykonać akcje (takie jak przesyłanie, przenoszenie lub usuwanie) ręcznie.

cadaver <IP>

Żądanie PUT

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

Żądanie MOVE

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


Użyj Trickest, aby łatwo budować i automatyzować przepływy pracy zasilane przez najbardziej zaawansowane narzędzia społecznościowe na świecie.
Uzyskaj dostęp już dziś:

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

Luka w WebDav IIS5/6

Ta luka jest bardzo interesująca. WebDav nie pozwala na przesyłanie ani zmienianie nazw plików z rozszerzeniem .asp. Ale możesz obejść to, dodając na końcu nazwy ";.txt", a plik zostanie wykonany tak, jakby był plikiem .asp (możesz również użyć ".html" zamiast ".txt", ale NIE zapomnij o ";").

Następnie możesz przesłać swój shell jako plik ".txt" i skopiować/przenieść go do pliku ".asp;.txt". Uzyskując dostęp do tego pliku przez serwer WWW, zostanie on wykonany (cadaver powie, że akcja przeniesienia nie powiodła się, ale tak nie jest).

Poświadczenia post

Jeśli Webdav używał serwera Apache, powinieneś sprawdzić skonfigurowane witryny w Apache. Zwykle:
/etc/apache2/sites-enabled/000-default

Wewnątrz możesz znaleźć coś takiego:

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

Jak widać, są pliki z ważnymi credentials dla serwera webdav:

/etc/apache2/users.password

Wewnątrz tego typu plików znajdziesz nazwa użytkownika oraz hash hasła. To są dane uwierzytelniające, które serwer webdav używa do uwierzytelniania użytkowników.

Możesz spróbować je złamać, lub dodać więcej, jeśli z jakiegoś powodu chcesz uzyskać dostęp do serwera webdav:

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

Aby sprawdzić, czy nowe dane uwierzytelniające działają, możesz zrobić:

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

References

Wsparcie dla HackTricks
{% endhint %} {% endhint %}


Użyj Trickest, aby łatwo budować i automatyzować przepływy pracy zasilane przez najbardziej zaawansowane narzędzia społecznościowe na świecie.
Uzyskaj dostęp już dziś:

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