GCP - KMS Enum
Reading time: 6 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.
KMS
Le Cloud Key Management Service sert de stockage sĂ©curisĂ© pour les clĂ©s cryptographiques, qui sont essentielles pour des opĂ©rations telles que le chiffrement et le dĂ©chiffrement de donnĂ©es sensibles. Ces clĂ©s sont organisĂ©es au sein de bagues de clĂ©s, permettant une gestion structurĂ©e. De plus, le contrĂŽle d'accĂšs peut ĂȘtre mĂ©ticuleusement configurĂ©, soit au niveau de la clĂ© individuelle, soit pour l'ensemble de la bague de clĂ©s, garantissant que les autorisations sont prĂ©cisĂ©ment alignĂ©es avec les exigences de sĂ©curitĂ©.
Les bagues de clés KMS sont par défaut créées comme globales, ce qui signifie que les clés à l'intérieur de cette bague de clés sont accessibles depuis n'importe quelle région. Cependant, il est possible de créer des bagues de clés spécifiques dans des régions spécifiques.
Niveau de Protection des Clés
- ClĂ©s logicielles : Les clĂ©s logicielles sont créées et gĂ©rĂ©es par KMS entiĂšrement dans le logiciel. Ces clĂ©s ne sont pas protĂ©gĂ©es par un module de sĂ©curitĂ© matĂ©riel (HSM) et peuvent ĂȘtre utilisĂ©es Ă des fins de test et de dĂ©veloppement. Les clĂ©s logicielles ne sont pas recommandĂ©es pour une utilisation en production car elles offrent une faible sĂ©curitĂ© et sont susceptibles aux attaques.
- Clés hébergées dans le cloud : Les clés hébergées dans le cloud sont créées et gérées par KMS dans le cloud en utilisant une infrastructure hautement disponible et fiable. Ces clés sont protégées par des HSM, mais les HSM ne sont pas dédiés à un client spécifique. Les clés hébergées dans le cloud conviennent à la plupart des cas d'utilisation en production.
- ClĂ©s externes : Les clĂ©s externes sont créées et gĂ©rĂ©es en dehors de KMS, et sont importĂ©es dans KMS pour ĂȘtre utilisĂ©es dans des opĂ©rations cryptographiques. Les clĂ©s externes peuvent ĂȘtre stockĂ©es dans un module de sĂ©curitĂ© matĂ©riel (HSM) ou une bibliothĂšque logicielle, selon la prĂ©fĂ©rence du client.
Objectifs des Clés
- Chiffrement/déchiffrement symétrique : Utilisé pour chiffrer et déchiffrer des données en utilisant une seule clé pour les deux opérations. Les clés symétriques sont rapides et efficaces pour chiffrer et déchiffrer de grands volumes de données.
- Supporté : cryptoKeys.encrypt, cryptoKeys.decrypt
- Signature asymétrique : Utilisé pour une communication sécurisée entre deux parties sans partager la clé. Les clés asymétriques se présentent sous forme de paire, composée d'une clé publique et d'une clé privée. La clé publique est partagée avec d'autres, tandis que la clé privée est gardée secrÚte.
- Supporté : cryptoKeyVersions.asymmetricSign, cryptoKeyVersions.getPublicKey
- DĂ©chiffrement asymĂ©trique : UtilisĂ© pour vĂ©rifier l'authenticitĂ© d'un message ou de donnĂ©es. Une signature numĂ©rique est créée Ă l'aide d'une clĂ© privĂ©e et peut ĂȘtre vĂ©rifiĂ©e Ă l'aide de la clĂ© publique correspondante.
- Supporté : cryptoKeyVersions.asymmetricDecrypt, cryptoKeyVersions.getPublicKey
- Signature MAC : Utilisé pour garantir l'intégrité et l'authenticité des données en créant un code d'authentification de message (MAC) à l'aide d'une clé secrÚte. HMAC est couramment utilisé pour l'authentification des messages dans les protocoles réseau et les applications logicielles.
- Supporté : cryptoKeyVersions.macSign, cryptoKeyVersions.macVerify
Période de Rotation & Période Programmée pour la Destruction
Par dĂ©faut, chaque 90 jours mais cela peut ĂȘtre facilement et complĂštement personnalisĂ©.
La pĂ©riode "ProgrammĂ©e pour la destruction" est le temps depuis que l'utilisateur demande la suppression de la clĂ© jusqu'Ă ce que la clĂ© soit supprimĂ©e. Elle ne peut pas ĂȘtre modifiĂ©e aprĂšs la crĂ©ation de la clĂ© (par dĂ©faut 1 jour).
Version Principale
Chaque clĂ© KMS peut avoir plusieurs versions, l'une d'elles doit ĂȘtre la version par dĂ©faut, celle-ci sera utilisĂ©e lorsqu'une version n'est pas spĂ©cifiĂ©e lors de l'interaction avec la clĂ© KMS.
ĂnumĂ©ration
Ayant les autorisations pour lister les clés, voici comment vous pouvez y accéder :
# List the global keyrings available
gcloud kms keyrings list --location global
gcloud kms keyrings get-iam-policy <KEYRING>
# List the keys inside a keyring
gcloud kms keys list --keyring <KEYRING> --location <global/other_locations>
gcloud kms keys get-iam-policy <KEY>
# Encrypt a file using one of your keys
gcloud kms encrypt --ciphertext-file=[INFILE] \
--plaintext-file=[OUTFILE] \
--key [KEY] \
--keyring [KEYRING] \
--location global
# Decrypt a file using one of your keys
gcloud kms decrypt --ciphertext-file=[INFILE] \
--plaintext-file=[OUTFILE] \
--key [KEY] \
--keyring [KEYRING] \
--location global
Escalade de PrivilĂšges
Post Exploitation
Références
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.