AWS - STS Enum
Reading time: 4 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.
STS
AWS Security Token Service (STS) imeundwa hasa kutoa akidi za muda mfupi, zenye mamlaka ya kikomo. Akidi hizi zinaweza kuombwa kwa AWS Identity and Access Management (IAM) watumiaji au kwa watumiaji walioidhinishwa (watumiaji wa shirikisho).
Kwa kuwa lengo la STS ni kutoa akidi za kuiga utambulisho, huduma hii ni ya thamani kubwa kwa kuongeza mamlaka na kudumisha uthibitisho, ingawa huenda isiwe na chaguzi nyingi.
Assume Role Impersonation
Kitendo AssumeRole kinachotolewa na AWS STS ni muhimu kwani kinamruhusu mkuu kupata akidi za mkuu mwingine, kwa msingi wa kuiga wao. Mara tu inapotumika, inajibu kwa kitambulisho cha ufikiaji, funguo ya siri, na tokeni ya kikao inayolingana na ARN iliyotolewa.
Kwa Wajaribu Upenyo au wanachama wa Red Team, mbinu hii ni muhimu kwa kuongeza mamlaka (kama ilivyoelezwa hapa). Hata hivyo, inafaa kutambua kuwa mbinu hii ni wazi sana na huenda isimkamate mshambuliaji kwa mshangao.
Assume Role Logic
Ili kuweza kuchukua jukumu katika akaunti hiyo hiyo ikiwa jukumu la kuchukua linaruhusu hasa ARN ya jukumu kama ilivyo:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<acc_id>:role/priv-role"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}
Jukumu priv-role
katika kesi hii, halihitaji ruhusa maalum ili kuchukua jukumu hilo (ikiwa na ruhusa hiyo inatosha).
Hata hivyo, ikiwa jukumu linaruhusu akaunti kuchukua jukumu hilo, kama ilivyo katika:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<acc_id>:root"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}
Jukumu linalojaribu kuchukuliwa litahitaji idhini maalum ya sts:AssumeRole
juu ya jukumu hilo ili kulichukua.
Ikiwa unajaribu kuchukua jukumu kutoka kwa akaunti tofauti, jukumu lililochukuliwa lazima liruhusu (kuashiria ARN ya jukumu au akaunti ya nje), na jukumu linalojaribu kuchukua jingine Lazima liwe na idhini za kulichukua (katika kesi hii hii si hiari hata kama jukumu lililochukuliwa linabainisha ARN).
Uhesabuji
# Get basic info of the creds
aws sts get-caller-identity
aws sts get-access-key-info --access-key-id <AccessKeyID>
# Get CLI a session token with current creds
## Using CLI creds
## You cannot get session creds using session creds
aws sts get-session-token
## MFA
aws sts get-session-token --serial-number <arn_device> --token-code <otp_code>
Privesc
Katika ukurasa ufuatao unaweza kuangalia jinsi ya kudhulumu ruhusa za STS ili kupandisha mamlaka:
Post Exploitation
Persistence
References
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.