# DO - Droplets

{{#include ../../../banners/hacktricks-training.md}}

## Basiese Inligting

In DigitalOcean is 'n "droplet" 'n v**irtuele privaat bediener (VPS)** wat gebruik kan word om webwerwe en toepassings te huisves. 'n Droplet is 'n **vooraf-gekonfigureerde pakket van rekenaarhulpbronne**, insluitend 'n sekere hoeveelheid CPU, geheue, en stoorplek, wat vinnig en maklik op DigitalOcean se wolkinfrastruktuur ontplooi kan word.

Jy kan kies uit **gewone OS**, tot **toepassings** wat reeds loop (soos WordPress, cPanel, Laravel...), of selfs jou **eie beelde** oplaai en gebruik.

Droplets ondersteun **Gebruiker data skripte**.

<details>

<summary>Verskil tussen 'n snapshot en 'n rugsteun</summary>

In DigitalOcean is 'n snapshot 'n punt-in-tyd kopie van 'n Droplet se skyf. Dit vang die toestand van die Droplet se skyf vas op die tydstip waarop die snapshot geneem is, insluitend die bedryfstelsel, geïnstalleerde toepassings, en al die lêers en data op die skyf.

Snapshots kan gebruik word om nuwe Droplets te skep met dieselfde konfigurasie as die oorspronklike Droplet, of om 'n Droplet te herstel na die toestand waarin dit was toe die snapshot geneem is. Snapshots word gestoor op DigitalOcean se objek stoor diens, en hulle is inkrementeel, wat beteken dat slegs die veranderinge sedert die laaste snapshot gestoor word. Dit maak hulle doeltreffend om te gebruik en kostedoeltreffend om te stoor.

Aan die ander kant is 'n rugsteun 'n volledige kopie van 'n Droplet, insluitend die bedryfstelsel, geïnstalleerde toepassings, lêers, en data, sowel as die Droplet se instellings en metadata. Rugsteun word tipies op 'n gereelde skedule uitgevoer, en hulle vang die hele toestand van 'n Droplet op 'n spesifieke tydstip vas.

Verskillend van snapshots, word rugsteun in 'n gecomprimeerde en versleutelde formaat gestoor, en hulle word van DigitalOcean se infrastruktuur na 'n afgeleë plek oorgedra vir veilige bewaring. Dit maak rugsteun ideaal vir rampherstel, aangesien hulle 'n volledige kopie van 'n Droplet bied wat herstel kan word in die geval van dataverlies of ander katastrofiese gebeurtenisse.

In samevatting, snapshots is punt-in-tyd kopieë van 'n Droplet se skyf, terwyl rugsteun volledige kopieë van 'n Droplet is, insluitend sy instellings en metadata. Snapshots word gestoor op DigitalOcean se objek stoor diens, terwyl rugsteun van DigitalOcean se infrastruktuur na 'n afgeleë plek oorgedra word. Beide snapshots en rugsteun kan gebruik word om 'n Droplet te herstel, maar snapshots is doeltreffender om te gebruik en te stoor, terwyl rugsteun 'n meer omvattende rugsteunoplossing vir rampherstel bied.

</details>

### Verifikasie

Vir verifikasie is dit moontlik om **SSH in te skakel** deur gebruikersnaam en **wagwoord** (wagwoord gedefinieer wanneer die droplet geskep word). Of **een of meer van die opgelaaide SSH sleutels te kies**.

### Vuurmuur

> [!CAUTION]
> Standaard **word droplets geskep SONDER 'N VUURMUUR** (nie soos in ander wolke soos AWS of GCP nie). So as jy wil hê DO moet die poorte van die droplet (VM) beskerm, moet jy **dit skep en aanheg**.

Meer inligting in:

{{#ref}}
do-networking.md
{{#endref}}

### Enumerasie
```bash
# 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 het metadata eindpunte**, maar in DO **is daar nie IAM** of dinge soos rolle van AWS of diensrekeninge van GCP nie.

### RCE

Met toegang tot die konsole is dit moontlik om **'n shell binne die droplet te kry** deur die URL te benader: **`https://cloud.digitalocean.com/droplets/<droplet-id>/terminal/ui/`**

Dit is ook moontlik om 'n **herstelkonsole** te begin om opdragte binne die gasheer uit te voer deur 'n herstelkonsole te benader in **`https://cloud.digitalocean.com/droplets/<droplet-id>/console`** (maar in hierdie geval sal jy die wortelwagwoord moet ken).

{{#include ../../../banners/hacktricks-training.md}}
