DO - Droplets

Tip

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

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

Basic Information

Στο DigitalOcean, ένα “droplet” είναι ένας virtual private server (VPS) που μπορεί να χρησιμοποιηθεί για τη φιλοξενία ιστοσελίδων και εφαρμογών. Ένα droplet είναι ένα προ-configured πακέτο υπολογιστικών πόρων, συμπεριλαμβανομένου ενός συγκεκριμένου ποσού CPU, μνήμης και αποθήκευσης, που μπορεί να αναπτυχθεί γρήγορα και εύκολα στην υποδομή cloud του DigitalOcean.

Μπορείτε να επιλέξετε από κοινά λειτουργικά συστήματα, έως εφαρμογές που τρέχουν ήδη (όπως WordPress, cPanel, Laravel…), ή ακόμα και να ανεβάσετε και να χρησιμοποιήσετε τις δικές σας εικόνες.

Τα droplets υποστηρίζουν User data scripts.

Διαφορά μεταξύ ενός snapshot και ενός backup

Στο DigitalOcean, ένα snapshot είναι μια αντίγραφο χρονικής στιγμής του δίσκου ενός Droplet. Καταγράφει την κατάσταση του δίσκου του Droplet τη στιγμή που ελήφθη το snapshot, συμπεριλαμβανομένου του λειτουργικού συστήματος, των εγκατεστημένων εφαρμογών και όλων των αρχείων και δεδομένων στον δίσκο.

Τα snapshots μπορούν να χρησιμοποιηθούν για τη δημιουργία νέων Droplets με την ίδια διαμόρφωση όπως το αρχικό Droplet, ή για την αποκατάσταση ενός Droplet στην κατάσταση που ήταν όταν ελήφθη το snapshot. Τα snapshots αποθηκεύονται στην υπηρεσία αποθήκευσης αντικειμένων του DigitalOcean και είναι αυξανόμενα, πράγμα που σημαίνει ότι αποθηκεύονται μόνο οι αλλαγές από το τελευταίο snapshot. Αυτό τα καθιστά αποδοτικά στη χρήση και οικονομικά για αποθήκευση.

Από την άλλη πλευρά, ένα backup είναι ένα πλήρες αντίγραφο ενός Droplet, συμπεριλαμβανομένου του λειτουργικού συστήματος, των εγκατεστημένων εφαρμογών, αρχείων και δεδομένων, καθώς και των ρυθμίσεων και μεταδεδομένων του Droplet. Τα backups συνήθως εκτελούνται σε τακτική βάση και καταγράφουν ολόκληρη την κατάσταση ενός Droplet σε μια συγκεκριμένη χρονική στιγμή.

Σε αντίθεση με τα snapshots, τα backups αποθηκεύονται σε συμπιεσμένη και κρυπτογραφημένη μορφή και μεταφέρονται εκτός της υποδομής του DigitalOcean σε μια απομακρυσμένη τοποθεσία για ασφαλή φύλαξη. Αυτό καθιστά τα backups ιδανικά για ανάκτηση από καταστροφές, καθώς παρέχουν ένα πλήρες αντίγραφο ενός Droplet που μπορεί να αποκατασταθεί σε περίπτωση απώλειας δεδομένων ή άλλων καταστροφικών γεγονότων.

Συνοψίζοντας, τα snapshots είναι αντίγραφα χρονικής στιγμής του δίσκου ενός Droplet, ενώ τα backups είναι πλήρη αντίγραφα ενός Droplet, συμπεριλαμβανομένων των ρυθμίσεων και μεταδεδομένων του. Τα snapshots αποθηκεύονται στην υπηρεσία αποθήκευσης αντικειμένων του DigitalOcean, ενώ τα backups μεταφέρονται εκτός της υποδομής του DigitalOcean σε μια απομακρυσμένη τοποθεσία. Και τα δύο snapshots και backups μπορούν να χρησιμοποιηθούν για την αποκατάσταση ενός Droplet, αλλά τα snapshots είναι πιο αποδοτικά στη χρήση και αποθήκευση, ενώ τα backups παρέχουν μια πιο ολοκληρωμένη λύση backup για ανάκτηση από καταστροφές.

Authentication

Για την αυθεντικοποίηση είναι δυνατή η ενεργοποίηση SSH μέσω ονόματος χρήστη και κωδικού πρόσβασης (κωδικός που ορίζεται κατά τη δημιουργία του droplet). Ή επιλέξτε ένα ή περισσότερα από τα ανεβασμένα SSH keys.

Firewall

Caution

Από προεπιλογή τα droplets δημιουργούνται ΧΩΡΙΣ FIREWALL (όχι όπως σε άλλες cloud υπηρεσίες όπως AWS ή GCP). Έτσι, αν θέλετε το DO να προστατεύει τις θύρες του droplet (VM), πρέπει να δημιουργήσετε και να το επισυνάψετε.

Περισσότερες πληροφορίες στο:

DO - Networking

Enumeration

# VMs
doctl compute droplet list # IPs will appear here
doctl compute droplet backups <droplet-id>
doctl compute droplet snapshots <droplet-id>
doctl compute droplet neighbors <droplet-id> # Get network neighbors
doctl compute droplet actions <droplet-id> # Get droplet actions

# VM interesting actions
doctl compute droplet-action password-reset <droplet-id> # New password is emailed to the user
doctl compute droplet-action enable-ipv6 <droplet-id>
doctl compute droplet-action power-on <droplet-id>
doctl compute droplet-action disable-backups <droplet-id>

# SSH
doctl compute ssh <droplet-id> # This will just run SSH
doctl compute ssh-key list
doctl compute ssh-key import <key-name> --public-key-file /path/to/key.pub

# Certificates
doctl compute certificate list

# Snapshots
doctl compute snapshot list

Caution

Οι Droplets έχουν endpoints μεταδεδομένων, αλλά στο DO δεν υπάρχει IAM ή πράγματα όπως ρόλοι από το AWS ή λογαριασμούς υπηρεσιών από το GCP.

RCE

Με πρόσβαση στην κονσόλα είναι δυνατό να πάρετε ένα shell μέσα στο droplet προσβάλλοντας το URL: https://cloud.digitalocean.com/droplets/<droplet-id>/terminal/ui/

Είναι επίσης δυνατό να εκκινήσετε μια κονσόλα αποκατάστασης για να εκτελέσετε εντολές μέσα στον host προσβάλλοντας μια κονσόλα αποκατάστασης στο https://cloud.digitalocean.com/droplets/<droplet-id>/console (αλλά σε αυτή την περίπτωση θα χρειαστεί να γνωρίζετε τον κωδικό root).

Tip

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

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