GCP - KMS Privesc
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Taarifa kuhusu KMS:
GCP - KMS EnumKumbuka kwamba katika KMS idhini hazirithi tu kutoka kwa Mashirika, Folda na Miradi bali pia kutoka kwa Keyrings.
cloudkms.cryptoKeyVersions.useToDecrypt
Unaweza kutumia idhini hii kufungua taarifa kwa kutumia funguo ambayo una idhini hii juu yake.
cloudkms.cryptoKeys.setIamPolicy
Mshambuliaji mwenye ruhusa hii anaweza kujipe ruhusa za kutumia funguo kufungua taarifa.
cloudkms.cryptoKeyVersions.useToDecryptViaDelegation
Hapa kuna ufafanuzi wa kimsingi wa jinsi hii delegation inavyofanya kazi:
Service Account A ina ufikiaji wa moja kwa moja wa kufungua kwa kutumia funguo maalum katika KMS.
Service Account B inapata ruhusa ya useToDecryptViaDelegation
. Hii inaruhusu kuomba KMS kufungua data kwa niaba ya Service Account A.
Matumizi ya ruhusa hii ni ya kimya kimya katika njia ambayo huduma ya KMS inakagua ruhusa wakati ombi la kufungua linapofanywa.
Unapofanya ombi la kawaida la kufungua kwa kutumia Google Cloud KMS API (katika Python au lugha nyingine), huduma inakagua ikiwa akaunti ya huduma inayohitaji ina ruhusa zinazohitajika. Ikiwa ombi linatolewa na akaunti ya huduma yenye ruhusa ya useToDecryptViaDelegation
, KMS inathibitisha ikiwa akaunti hii inaruhusiwa kuomba kufungua kwa niaba ya chombo kinachomiliki funguo.
Define the Custom Role: Unda faili ya YAML (mfano, custom_role.yaml
) inayofafanua jukumu maalum. Faili hii inapaswa kujumuisha ruhusa ya cloudkms.cryptoKeyVersions.useToDecryptViaDelegation
. Hapa kuna mfano wa jinsi faili hii inaweza kuonekana:
Unda Jukumu Maalum kwa Kutumia gcloud CLI: Tumia amri ifuatayo kuunda jukumu maalum katika mradi wako wa Google Cloud:
Badilisha [YOUR_PROJECT_ID]
na kitambulisho chako cha mradi wa Google Cloud.
Patia Jukumu Maalum Akaunti ya Huduma: Teua jukumu lako maalum kwa akaunti ya huduma ambayo itakuwa ikitumia ruhusa hii. Tumia amri ifuatayo:
Replace [YOUR_PROJECT_ID]
and [SERVICE_ACCOUNT_EMAIL]
with your project ID and the email of the service account, respectively.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)