GCP - KMS Enum
Reading time: 5 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
KMS
The Cloud Key Management Service inatoa hifadhi salama kwa funguo za kificho, ambazo ni muhimu kwa shughuli kama kuandika na kufungua data nyeti. Funguo hizi zimepangwa ndani ya pete za funguo, kuruhusu usimamizi wa muundo. Zaidi ya hayo, udhibiti wa ufikiaji unaweza kuundwa kwa usahihi, iwe kwa kiwango cha funguo binafsi au kwa pete nzima ya funguo, kuhakikisha kuwa ruhusa zinaendana kwa usahihi na mahitaji ya usalama.
Pete za funguo za KMS kwa default huundwa kama za kimataifa, ambayo inamaanisha kuwa funguo ndani ya pete hiyo zinapatikana kutoka eneo lolote. Hata hivyo, inawezekana kuunda pete maalum za funguo katika mikoa maalum.
Kiwango cha Ulinzi wa Funguo
- Funguo za programu: Funguo za programu zina undwa na kusimamiwa na KMS kabisa katika programu. Funguo hizi hazilindwi na moduli yoyote ya usalama wa vifaa (HSM) na zinaweza kutumika kwa majaribio na maendeleo. Funguo za programu hazipendekezwi kwa matumizi ya uzalishaji kwa sababu zinatoa usalama wa chini na zinaweza kushambuliwa.
- Funguo za wingu: Funguo za wingu zina undwa na kusimamiwa na KMS katika wingu kwa kutumia miundombinu inayopatikana kwa urahisi na ya kuaminika. Funguo hizi zinalindwa na HSMs, lakini HSMs hazijitolea kwa mteja maalum. Funguo za wingu zinafaa kwa matumizi mengi ya uzalishaji.
- Funguo za nje: Funguo za nje zina undwa na kusimamiwa nje ya KMS, na zinaingizwa katika KMS kwa matumizi katika shughuli za kificho. Funguo za nje zinaweza kuhifadhiwa katika moduli ya usalama wa vifaa (HSM) au maktaba ya programu, kulingana na mapendeleo ya mteja.
Malengo ya Funguo
- Kuandika/kufungua kwa kutumia funguo sawa: Inatumika ku andika na kufungua data kwa kutumia funguo moja kwa shughuli zote mbili. Funguo sawa ni za haraka na zenye ufanisi kwa kuandika na kufungua kiasi kikubwa cha data.
- Imepokelewa: cryptoKeys.encrypt, cryptoKeys.decrypt
- Saini isiyo sawa: Inatumika kwa mawasiliano salama kati ya pande mbili bila kushiriki funguo. Funguo zisizo sawa zinakuja katika jozi, zinajumuisha funguo ya umma na funguo ya faragha. Funguo ya umma inashirikiwa na wengine, wakati funguo ya faragha inahifadhiwa kwa siri.
- Imepokelewa: cryptoKeyVersions.asymmetricSign, cryptoKeyVersions.getPublicKey
- Kufungua isiyo sawa: Inatumika kuthibitisha uhalali wa ujumbe au data. Sahihi ya dijitali inaundwa kwa kutumia funguo ya faragha na inaweza kuthibitishwa kwa kutumia funguo ya umma inayolingana.
- Imepokelewa: cryptoKeyVersions.asymmetricDecrypt, cryptoKeyVersions.getPublicKey
- Saini ya MAC: Inatumika kuhakikisha uaminifu na uhalali wa data kwa kuunda msimbo wa uthibitishaji wa ujumbe (MAC) kwa kutumia funguo ya siri. HMAC inatumika mara nyingi kwa uthibitishaji wa ujumbe katika itifaki za mtandao na programu za programu.
- Imepokelewa: cryptoKeyVersions.macSign, cryptoKeyVersions.macVerify
Kipindi cha Mzunguko & Kipindi kilichopangwa kwa uharibifu
Kwa default, kila siku 90 lakini inaweza kubadilishwa kwa urahisi na kikamilifu.
Kipindi cha "Kimepangwa kwa uharibifu" ni wakati tangu mtumiaji aombe kufuta funguo na hadi funguo hiyo ifutwe. Haliwezi kubadilishwa baada ya funguo kuundwa (default siku 1).
Toleo Kuu
Kila funguo ya KMS inaweza kuwa na matoleo kadhaa, moja yao lazima iwe ya default, hii itakuwa ile inayotumika wakati toleo halijabainishwa wakati wa kuingiliana na funguo za KMS.
Uhesabuji
Kuwa na ruhusa ya kuorodhesha funguo hii ndiyo njia unavyoweza kuzipata:
# 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
Kuinua Mamlaka
Baada ya Kutekeleza
Marejeleo
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.