GCP - Compute Instances

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge HackTricks AWS)!

Autres façons de soutenir HackTricks :

Informations de base

Les instances de calcul de Google Cloud sont des machines virtuelles personnalisables sur l'infrastructure cloud de Google, offrant une puissance de calcul évolutive et à la demande pour une large gamme d'applications. Elles offrent des fonctionnalités telles que le déploiement mondial, le stockage persistant, des choix de système d'exploitation flexibles, ainsi que des intégrations réseau et sécurité solides, ce qui en fait un choix polyvalent pour l'hébergement de sites web, le traitement des données et l'exécution efficace d'applications dans le cloud.

VM Confidentielle

Les VM confidentielles utilisent des fonctionnalités de sécurité basées sur le matériel offertes par la dernière génération de processeurs AMD EPYC, qui incluent le chiffrement de la mémoire et la virtualisation sécurisée chiffrée. Ces fonctionnalités permettent à la VM de protéger les données traitées et stockées en son sein, même contre le système d'exploitation hôte et l'hyperviseur.

Pour exécuter une VM confidentielle, il peut être nécessaire de modifier des éléments tels que le type de la machine, l'interface réseau, l'image du disque de démarrage.

Disque & Chiffrement de disque

Il est possible de sélectionner le disque à utiliser ou d'en créer un nouveau. Si vous en sélectionnez un nouveau, vous pouvez :

  • Sélectionner la taille du disque

  • Sélectionner le système d'exploitation

  • Indiquer si vous souhaitez supprimer le disque lorsque l'instance est supprimée

  • Chiffrement : Par défaut, une clé gérée par Google sera utilisée, mais vous pouvez également sélectionner une clé de KMS ou indiquer une clé brute à utiliser.

Déployer un conteneur

Il est possible de déployer un conteneur à l'intérieur de la machine virtuelle. Il est possible de configurer l'image à utiliser, définir la commande à exécuter à l'intérieur, les arguments, monter un volume, et des variables d'environnement (informations sensibles ?) et configurer plusieurs options pour ce conteneur comme l'exécution en tant que privilégié, stdin et pseudo TTY.

Compte de service

Par défaut, le compte de service par défaut de Compute Engine sera utilisé. L'e-mail de ce compte de service est du type : <proj-num>-compute@developer.gserviceaccount.com Ce compte de service a le rôle Éditeur sur l'ensemble du projet (privilèges élevés).

Et les étendues d'accès par défaut sont les suivantes :

  • https://www.googleapis.com/auth/devstorage.read_only -- Accès en lecture aux buckets :)

  • https://www.googleapis.com/auth/logging.write

  • https://www.googleapis.com/auth/monitoring.write

  • https://www.googleapis.com/auth/servicecontrol

  • https://www.googleapis.com/auth/service.management.readonly

  • https://www.googleapis.com/auth/trace.append

Cependant, il est possible de lui accorder cloud-platform en un clic ou spécifier des étendues personnalisées.

Pare-feu

Il est possible d'autoriser le trafic HTTP et HTTPS.

Réseau

  • Transfert IP : Il est possible d'activer le transfert IP dès la création de l'instance.

  • Nom d'hôte : Il est possible de donner à l'instance un nom d'hôte permanent.

  • Interface : Il est possible d'ajouter une interface réseau.

Sécurité supplémentaire

Ces options vont renforcer la sécurité de la VM et sont recommandées :

  • Démarrage sécurisé : Le démarrage sécurisé aide à protéger vos instances de VM contre les logiciels malveillants au niveau du démarrage et du noyau.

  • Activer vTPM : Le module de plateforme de confiance virtuelle (vTPM) valide l'intégrité de pré-démarrage et de démarrage de votre VM invitée, et offre une génération et une protection de clés.

  • Supervision de l'intégrité : La surveillance de l'intégrité vous permet de surveiller et de vérifier l'intégrité de démarrage en cours d'exécution de vos instances de VM protégées à l'aide de rapports Stackdriver. Nécessite que vTPM soit activé.

Accès à la VM

La manière courante d'autoriser l'accès à la VM est en permettant à certaines clés publiques SSH d'accéder à la VM. Cependant, il est également possible d'activer l'accès à la VM via le service os-config en utilisant IAM. De plus, il est possible d'activer l'authentification à deux facteurs pour accéder à la VM en utilisant ce service. Lorsque ce service est activé, l'accès via les clés SSH est désactivé.

Métadonnées

Il est possible de définir de l'automatisation (userdata dans AWS) qui sont des commandes shell qui seront exécutées à chaque fois que la machine s'allume ou redémarre.

Il est également possible d'ajouter des valeurs clé-valeur de métadonnées supplémentaires qui seront accessibles depuis le point de terminaison des métadonnées. Ces informations sont couramment utilisées pour les variables d'environnement et les scripts de démarrage/arrêt. Cela peut être obtenu en utilisant la méthode describe à partir d'une commande dans la section d'énumération, mais cela pourrait également être récupéré depuis l'intérieur de l'instance en accédant au point de terminaison des métadonnées.

# view project metadata
curl "http://metadata.google.internal/computeMetadata/v1/project/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

# view instance metadata
curl "http://metadata.google.internal/computeMetadata/v1/instance/attributes/?recursive=true&alt=text" \
-H "Metadata-Flavor: Google"

De plus, le jeton d'authentification pour le compte de service attaché et des informations générales sur l'instance, le réseau et le projet seront également disponibles à partir du point de terminaison des métadonnées. Pour plus d'informations, consultez :

Chiffrement

Une clé de chiffrement gérée par Google est utilisée par défaut, mais une clé de chiffrement gérée par le client (CMEK) peut être configurée. Vous pouvez également configurer ce qu'il faut faire lorsque la CMEF utilisée est révoquée : Noter ou arrêter la machine virtuelle.

Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks :

Dernière mise à jour