DO - Informations de base

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks

Informations de base

DigitalOcean est une plateforme de cloud computing qui fournit aux utilisateurs une variĂ©tĂ© de services, y compris des serveurs privĂ©s virtuels (VPS) et d’autres ressources pour construire, dĂ©ployer et gĂ©rer des applications. Les services de DigitalOcean sont conçus pour ĂȘtre simples et faciles Ă  utiliser, ce qui les rend populaires parmi les dĂ©veloppeurs et les petites entreprises.

Certaines des caractéristiques clés de DigitalOcean incluent :

  • Serveurs privĂ©s virtuels (VPS) : DigitalOcean fournit des VPS qui peuvent ĂȘtre utilisĂ©s pour hĂ©berger des sites web et des applications. Ces VPS sont connus pour leur simplicitĂ© et leur facilitĂ© d’utilisation, et peuvent ĂȘtre dĂ©ployĂ©s rapidement et facilement Ă  l’aide d’une variĂ©tĂ© de “droplets” prĂ©conçus ou de configurations personnalisĂ©es.
  • Stockage : DigitalOcean propose une gamme d’options de stockage, y compris le stockage d’objets, le stockage en bloc et les bases de donnĂ©es gĂ©rĂ©es, qui peuvent ĂȘtre utilisĂ©es pour stocker et gĂ©rer des donnĂ©es pour des sites web et des applications.
  • Outils de dĂ©veloppement et de dĂ©ploiement : DigitalOcean fournit une gamme d’outils qui peuvent ĂȘtre utilisĂ©s pour construire, dĂ©ployer et gĂ©rer des applications, y compris des API et des droplets prĂ©conçus.
  • SĂ©curitĂ© : DigitalOcean accorde une grande importance Ă  la sĂ©curitĂ© et propose une gamme d’outils et de fonctionnalitĂ©s pour aider les utilisateurs Ă  protĂ©ger leurs donnĂ©es et leurs applications. Cela inclut le chiffrement, les sauvegardes et d’autres mesures de sĂ©curitĂ©.

Dans l’ensemble, DigitalOcean est une plateforme de cloud computing qui fournit aux utilisateurs les outils et les ressources dont ils ont besoin pour construire, dĂ©ployer et gĂ©rer des applications dans le cloud. Ses services sont conçus pour ĂȘtre simples et faciles Ă  utiliser, ce qui les rend populaires parmi les dĂ©veloppeurs et les petites entreprises.

Principales différences avec AWS

L’une des principales diffĂ©rences entre DigitalOcean et AWS est la gamme de services qu’ils offrent. DigitalOcean se concentre sur la fourniture de serveurs privĂ©s virtuels (VPS) simples et faciles Ă  utiliser, de stockage et d’outils de dĂ©veloppement et de dĂ©ploiement. AWS, en revanche, propose une gamme de services beaucoup plus large, y compris des VPS, du stockage, des bases de donnĂ©es, de l’apprentissage automatique, de l’analyse et de nombreux autres services. Cela signifie qu’AWS est plus adaptĂ© aux applications complexes de niveau entreprise, tandis que DigitalOcean est plus adaptĂ© aux petites entreprises et aux dĂ©veloppeurs.

Une autre diffĂ©rence clĂ© entre les deux plateformes est la structure tarifaire. La tarification de DigitalOcean est gĂ©nĂ©ralement plus simple et plus facile Ă  comprendre que celle d’AWS, avec une gamme de plans tarifaires basĂ©s sur le nombre de droplets et d’autres ressources utilisĂ©es. AWS, en revanche, a une structure tarifaire plus complexe qui est basĂ©e sur une variĂ©tĂ© de facteurs, y compris le type et la quantitĂ© de ressources utilisĂ©es. Cela peut rendre plus difficile la prĂ©vision des coĂ»ts lors de l’utilisation d’AWS.

Hiérarchie

Utilisateur

Un utilisateur est ce Ă  quoi vous vous attendez, un utilisateur. Il peut crĂ©er des Ă©quipes et ĂȘtre membre de diffĂ©rentes Ă©quipes.

Équipe

Une Ă©quipe est un groupe d’utilisateurs. Lorsqu’un utilisateur crĂ©e une Ă©quipe, il a le rĂŽle de propriĂ©taire de cette Ă©quipe et il configure initialement les informations de facturation. D’autres utilisateurs peuvent ensuite ĂȘtre invitĂ©s Ă  l’équipe.

À l’intĂ©rieur de l’équipe, il peut y avoir plusieurs projets. Un projet est juste un ensemble de services en cours d’exĂ©cution. Il peut ĂȘtre utilisĂ© pour sĂ©parer diffĂ©rentes Ă©tapes d’infrastructure, comme prod, staging, dev


Projet

Comme expliquĂ©, un projet est juste un conteneur pour tous les services (droplets, espaces, bases de donnĂ©es, kubernetes
) fonctionnant ensemble Ă  l’intĂ©rieur de celui-ci.
Un projet Digital Ocean est trĂšs similaire Ă  un projet GCP sans IAM.

Permissions

Équipe

Fondamentalement, tous les membres d’une Ă©quipe ont accĂšs aux ressources DO dans tous les projets créés au sein de l’équipe (avec plus ou moins de privilĂšges).

RĂŽles

Chaque utilisateur au sein d’une Ă©quipe peut avoir l’un des trois rĂŽles suivants :

RĂŽleRessources partagĂ©esInformations de facturationParamĂštres de l’équipe
PropriétaireAccÚs completAccÚs completAccÚs complet
FacturierPas d’accùsAccùs completPas d’accùs
MembreAccùs completPas d’accùsPas d’accùs

Le propriétaire et le membre peuvent lister les utilisateurs et vérifier leurs rÎles (le facturier ne peut pas).

AccĂšs

Nom d’utilisateur + mot de passe (MFA)

Comme dans la plupart des plateformes, pour accĂ©der Ă  l’interface graphique, vous pouvez utiliser un ensemble de nom d’utilisateur et mot de passe valides pour accĂ©der aux ressources cloud. Une fois connectĂ©, vous pouvez voir toutes les Ă©quipes dont vous faites partie sur https://cloud.digitalocean.com/account/profile.
Et vous pouvez voir toute votre activité sur https://cloud.digitalocean.com/account/activity.

MFA peut ĂȘtre activĂ© pour un utilisateur et imposĂ© Ă  tous les utilisateurs d’une Ă©quipe pour accĂ©der Ă  l’équipe.

Clés API

Pour utiliser l’API, les utilisateurs peuvent gĂ©nĂ©rer des clĂ©s API. Celles-ci auront toujours des permissions de lecture, mais les permissions d’écriture sont optionnelles.
Les clés API ressemblent à ceci :

dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836

L’outil cli est doctl. Initialisez-le (vous avez besoin d’un jeton) avec :

doctl auth init # Asks for the token
doctl auth init --context my-context # Login with a different token
doctl auth list # List accounts

Par défaut, ce jeton sera écrit en texte clair sur Mac dans /Users/<username>/Library/Application Support/doctl/config.yaml.

ClĂ©s d’accĂšs aux Spaces

Ce sont des clés qui donnent accÚs aux Spaces (comme S3 dans AWS ou Storage dans GCP).

Elles sont composĂ©es d’un nom, d’un keyid et d’un secret. Un exemple pourrait ĂȘtre :

Name: key-example
Keyid: DO00ZW4FABSGZHAABGFX
Secret: 2JJ0CcQZ56qeFzAJ5GFUeeR4Dckarsh6EQSLm87MKlM

Application OAuth

Les applications OAuth peuvent se voir accorder l’accùs à Digital Ocean.

Il est possible de créer des applications OAuth dans https://cloud.digitalocean.com/account/api/applications et de vérifier toutes les applications OAuth autorisées dans https://cloud.digitalocean.com/account/api/access.

Clés SSH

Il est possible d’ajouter des clĂ©s SSH Ă  une Ă©quipe Digital Ocean depuis la console dans https://cloud.digitalocean.com/account/security.

De cette façon, si vous créez un nouveau droplet, la clé SSH sera configurée dessus et vous pourrez vous connecter via SSH sans mot de passe (notez que les clés SSH nouvellement téléchargées ne sont pas configurées dans les droplets déjà existants pour des raisons de sécurité).

Jeton d’authentification des fonctions

La maniĂšre de dĂ©clencher une fonction via l’API REST (toujours activĂ©e, c’est la mĂ©thode utilisĂ©e par le cli) est de dĂ©clencher une requĂȘte avec un jeton d’authentification comme :

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="

Journaux

Journaux des utilisateurs

Les journaux d’un utilisateur peuvent ĂȘtre trouvĂ©s Ă  https://cloud.digitalocean.com/account/activity

Journaux de l’équipe

Les journaux d’une Ă©quipe peuvent ĂȘtre trouvĂ©s Ă  https://cloud.digitalocean.com/account/security

Références

Tip

Apprenez & pratiquez AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Apprenez & pratiquez GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Apprenez & pratiquez Az Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Soutenez HackTricks