AWS - STS Enum

Support HackTricks

STS

AWS Security Token Service (STS) kimsingi imeundwa kutoa vitambulisho vya muda, vyenye upendeleo mdogo. Vitambulisho hivi vinaweza kuombwa kwa watumiaji wa AWS Identity and Access Management (IAM) au kwa watumiaji waliothibitishwa (watumiaji waliounganishwa).

Kwa kuwa lengo la STS ni kutoa vitambulisho kwa kuiga utambulisho, huduma hii ni muhimu sana kwa kuongeza upendeleo na kudumisha uthabiti, ingawa inaweza isiwe na chaguo nyingi.

Assume Role Impersonation

Kitendo cha AssumeRole kinachotolewa na AWS STS ni muhimu kwani kinamruhusu mhusika kupata vitambulisho vya mhusika mwingine, kimsingi kuiga wao. Baada ya kuitwa, inajibu na kitambulisho cha ufunguo wa ufikiaji, ufunguo wa siri, na tokeni ya kikao inayolingana na ARN maalum.

Kwa Wataalamu wa Penetration au wanachama wa Red Team, mbinu hii ni muhimu kwa kuongeza upendeleo (kama ilivyoelezwa hapa). Hata hivyo, ni vyema kutambua kuwa mbinu hii ni dhahiri sana na inaweza isiwashitue wavamizi.

Assume Role Logic

Ili kuchukua jukumu katika akaunti hiyo hiyo ikiwa jukumu la kuchukua linakubali hasa ARN ya jukumu kama katika:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<acc_id>:role/priv-role"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}

The role priv-role katika kesi hii, haitaji kuruhusiwa maalum kuchukua jukumu hilo (kwa ruhusa hiyo inatosha).

Hata hivyo, kama jukumu linavyoruhusu akaunti kuchukua, kama katika:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<acc_id>:root"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}

The role inayojaribu kuichukua itahitaji ruhusa maalum ya sts:AssumeRole juu ya hiyo role ili kuichukua.

Ukijaribu kuchukua role kutoka akaunti tofauti, role iliyochukuliwa lazima iruhusu (ikionyesha role ARN au akaunti ya nje), na role inayojaribu kuchukua nyingine LAZIMA iwe na ruhusa za kuichukua (katika kesi hii hii si hiari hata kama role iliyochukuliwa inabainisha ARN).

Enumeration

# 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 kutumia vibaya ruhusa za STS ili kuongeza marupurupu:

AWS - STS Privesc

Post Exploitation

AWS - STS Post Exploitation

Persistence

AWS - STS Persistence

References

Support HackTricks

Last updated