DO - Informazioni di Base
Reading time: 7 minutes
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.
Informazioni di Base
DigitalOcean è una piattaforma di cloud computing che fornisce agli utenti una varietà di servizi, inclusi server virtuali privati (VPS) e altre risorse per costruire, distribuire e gestire applicazioni. I servizi di DigitalOcean sono progettati per essere semplici e facili da usare, rendendoli popolari tra sviluppatori e piccole imprese.
Alcune delle caratteristiche principali di DigitalOcean includono:
- Server virtuali privati (VPS): DigitalOcean fornisce VPS che possono essere utilizzati per ospitare siti web e applicazioni. Questi VPS sono noti per la loro semplicità e facilità d'uso, e possono essere rapidamente e facilmente distribuiti utilizzando una varietà di "droplets" pre-costruiti o configurazioni personalizzate.
- Storage: DigitalOcean offre una gamma di opzioni di storage, inclusi storage a oggetti, storage a blocchi e database gestiti, che possono essere utilizzati per memorizzare e gestire dati per siti web e applicazioni.
- Strumenti di sviluppo e distribuzione: DigitalOcean fornisce una gamma di strumenti che possono essere utilizzati per costruire, distribuire e gestire applicazioni, inclusi API e droplets pre-costruiti.
- Sicurezza: DigitalOcean pone una forte enfasi sulla sicurezza e offre una gamma di strumenti e funzionalità per aiutare gli utenti a mantenere i propri dati e applicazioni al sicuro. Questo include crittografia, backup e altre misure di sicurezza.
In generale, DigitalOcean è una piattaforma di cloud computing che fornisce agli utenti gli strumenti e le risorse di cui hanno bisogno per costruire, distribuire e gestire applicazioni nel cloud. I suoi servizi sono progettati per essere semplici e facili da usare, rendendoli popolari tra sviluppatori e piccole imprese.
Principali Differenze da AWS
Una delle principali differenze tra DigitalOcean e AWS è la gamma di servizi offerti. DigitalOcean si concentra sulla fornitura di server virtuali privati (VPS) semplici e facili da usare, storage e strumenti di sviluppo e distribuzione. AWS, d'altra parte, offre una gamma di servizi molto più ampia, inclusi VPS, storage, database, machine learning, analisi e molti altri servizi. Questo significa che AWS è più adatto per applicazioni complesse a livello enterprise, mentre DigitalOcean è più adatto per piccole imprese e sviluppatori.
Un'altra differenza chiave tra le due piattaforme è la struttura dei prezzi. I prezzi di DigitalOcean sono generalmente più chiari e facili da comprendere rispetto a AWS, con una gamma di piani tariffari basati sul numero di droplets e altre risorse utilizzate. AWS, d'altra parte, ha una struttura dei prezzi più complessa basata su una varietà di fattori, inclusi il tipo e la quantità di risorse utilizzate. Questo può rendere più difficile prevedere i costi quando si utilizza AWS.
Gerarchia
Utente
Un utente è ciò che ti aspetti, un utente. Può creare Team e essere membro di diversi team.
Team
Un team è un gruppo di utenti. Quando un utente crea un team, ha il ruolo di proprietario di quel team e inizialmente imposta le informazioni di fatturazione. Altri utenti possono quindi essere invitati nel team.
All'interno del team possono esserci diversi progetti. Un progetto è semplicemente un insieme di servizi in esecuzione. Può essere utilizzato per separare diverse fasi infrastrutturali, come prod, staging, dev...
Progetto
Come spiegato, un progetto è semplicemente un contenitore per tutti i servizi (droplets, spaces, database, kubernetes...) in esecuzione insieme al suo interno.
Un progetto di Digital Ocean è molto simile a un progetto GCP senza IAM.
Permessi
Team
Fondamentalmente, tutti i membri di un team hanno accesso alle risorse DO in tutti i progetti creati all'interno del team (con più o meno privilegi).
Ruoli
Ogni utente all'interno di un team può avere uno dei seguenti tre ruoli al suo interno:
Ruolo | Risorse Condivise | Informazioni di Fatturazione | Impostazioni del Team |
---|---|---|---|
Proprietario | Accesso completo | Accesso completo | Accesso completo |
Fatturatore | Nessun accesso | Accesso completo | Nessun accesso |
Membro | Accesso completo | Nessun accesso | Nessun accesso |
Il Proprietario e il membro possono elencare gli utenti e controllare i loro ruoli (il fatturatore non può).
Accesso
Nome utente + password (MFA)
Come nella maggior parte delle piattaforme, per accedere alla GUI puoi utilizzare un insieme di nome utente e password validi per accedere alle risorse cloud. Una volta effettuato l'accesso, puoi vedere tutti i team di cui fai parte in https://cloud.digitalocean.com/account/profile.
E puoi vedere tutta la tua attività in https://cloud.digitalocean.com/account/activity.
MFA può essere abilitato per un utente e imposto per tutti gli utenti in un team per accedere al team.
Chiavi API
Per utilizzare l'API, gli utenti possono generare chiavi API. Queste avranno sempre permessi di lettura, ma i permessi di scrittura sono opzionali.
Le chiavi API hanno questo aspetto:
dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836
Lo strumento cli è doctl. Inizializzalo (hai bisogno di un token) con:
doctl auth init # Asks for the token
doctl auth init --context my-context # Login with a different token
doctl auth list # List accounts
Per impostazione predefinita, questo token verrà scritto in chiaro su Mac in /Users/<username>/Library/Application Support/doctl/config.yaml
.
Chiavi di accesso agli Spaces
Queste sono chiavi che danno accesso agli Spaces (come S3 in AWS o Storage in GCP).
Sono composte da un nome, un keyid e un secret. Un esempio potrebbe essere:
Name: key-example
Keyid: DO00ZW4FABSGZHAABGFX
Secret: 2JJ0CcQZ56qeFzAJ5GFUeeR4Dckarsh6EQSLm87MKlM
OAuth Application
Le applicazioni OAuth possono essere concesse accesso su Digital Ocean.
È possibile creare applicazioni OAuth in https://cloud.digitalocean.com/account/api/applications e controllare tutte le applicazioni OAuth consentite in https://cloud.digitalocean.com/account/api/access.
SSH Keys
È possibile aggiungere chiavi SSH a un Team di Digital Ocean dalla console in https://cloud.digitalocean.com/account/security.
In questo modo, se crei un nuovo droplet, la chiave SSH sarà impostata su di esso e potrai accedere via SSH senza password (nota che le chiavi SSH caricate di recente non sono impostate nei droplet già esistenti per motivi di sicurezza).
Functions Authentication Token
Il modo per attivare una funzione tramite REST API (sempre abilitato, è il metodo utilizzato dal cli) è attivare una richiesta con un token di autenticazione come:
curl -X POST "https://faas-lon1-129376a7.doserverless.co/api/v1/namespaces/fn-c100c012-65bf-4040-1230-2183764b7c23/actions/functionname?blocking=true&result=true" \
-H "Content-Type: application/json" \
-H "Authorization: Basic MGU0NTczZGQtNjNiYS00MjZlLWI2YjctODk0N2MyYTA2NGQ4OkhwVEllQ2t4djNZN2x6YjJiRmFGc1FERXBySVlWa1lEbUxtRE1aRTludXA1UUNlU2VpV0ZGNjNqWnVhYVdrTFg="
Log
Log utente
I log di un utente possono essere trovati in https://cloud.digitalocean.com/account/activity
Log di squadra
I log di una squadra possono essere trovati in https://cloud.digitalocean.com/account/security
Riferimenti
tip
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Impara e pratica il hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Supporta HackTricks
- Controlla i piani di abbonamento!
- Unisciti al 💬 gruppo Discord o al gruppo telegram o seguici su Twitter 🐦 @hacktricks_live.
- Condividi trucchi di hacking inviando PR ai HackTricks e HackTricks Cloud repos su github.