WebDav

Reading time: 4 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks

Коли ви маєте справу з HTTP сервером з увімкненим WebDav, можливо маніпулювати файлами, якщо у вас є правильні облікові дані, які зазвичай перевіряються через HTTP Basic Authentication. Отримання контролю над таким сервером часто передбачає завантаження та виконання веб-оболонки.

Доступ до сервера WebDav зазвичай вимагає дійсних облікових даних, при цьому WebDav bruteforce є поширеним методом їх отримання.

Щоб обійти обмеження на завантаження файлів, особливо ті, що заважають виконанню скриптів на стороні сервера, ви можете:

  • Завантажити файли з виконуваними розширеннями безпосередньо, якщо це не обмежено.
  • Перейменувати завантажені невиконувані файли (наприклад, .txt) на виконуване розширення.
  • Скопіювати завантажені невиконувані файли, змінивши їх розширення на таке, що є виконуваним.

DavTest

Davtest намагається завантажити кілька файлів з різними розширеннями та перевірити, чи розширення виконується:

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

Це не означає, що .txt та .html розширення виконуються. Це означає, що ви можете отримати доступ до цих файлів через веб.

Cadaver

Ви можете використовувати цей інструмент, щоб підключитися до сервера WebDav та виконувати дії (як завантаження, переміщення або видалення) вручну.

cadaver <IP>

PUT запит

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

MOVE запит

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

IIS5/6 WebDav Vulnerability

Ця вразливість є дуже цікавою. WebDav не дозволяє завантажувати або перейменовувати файли з розширенням .asp. Але ви можете обійти це, додавши в кінець назви ";.txt", і файл буде виконуватись так, ніби це файл .asp (ви також можете використати ".html" замість ".txt", але НЕ забувайте про ";").

Тоді ви можете завантажити свою оболонку як файл ".txt" і скопіювати/перемістити його в файл ".asp;.txt". Доступаючи до цього файлу через веб-сервер, він буде виконуватись (cadaver скаже, що дія переміщення не спрацювала, але це так).

Post credentials

Якщо Webdav використовував сервер Apache, вам слід переглянути налаштовані сайти в Apache. Зазвичай:
_/etc/apache2/sites-enabled/000-default_

Всередині ви можете знайти щось на зразок:

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

Як ви можете бачити, є файли з дійсними credentials для webdav сервера:

/etc/apache2/users.password

У цих типах файлів ви знайдете ім'я користувача та хеш пароля. Це облікові дані, які сервер webdav використовує для автентифікації користувачів.

Ви можете спробувати їх зламати, або додати більше, якщо з якоїсь причини ви хочете отримати доступ до сервера webdav:

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

Щоб перевірити, чи працюють нові облікові дані, ви можете зробити:

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

Посилання

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks