AWS - IAM Post Exploitation

Jifunze uchimbaji wa AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia nyingine za kusaidia HackTricks:

IAM

Kwa habari zaidi kuhusu ufikiaji wa IAM:

pageAWS - IAM, Identity Center & SSO Enum

Tatizo la Naibu Mzito

Ikiwa unaruhusu akaunti ya nje (A) kupata jukumu katika akaunti yako, labda utakuwa na 0 uwezo wa kuona ni nani hasa anaweza kupata akaunti hiyo ya nje. Hii ni tatizo, kwa sababu ikiwa akaunti nyingine ya nje (B) inaweza kupata akaunti ya nje (A) ni rahisi kwamba B pia ataweza kupata akaunti yako.

Kwa hivyo, unapowaruhusu akaunti ya nje kupata jukumu katika akaunti yako, unaweza kutoa ExternalId. Hii ni mfululizo wa herufi "siri" ambayo akaunti ya nje (A) inahitaji kuweka ili kuchukua jukumu katika shirika lako. Kwa kuwa akaunti ya nje B haitajua mfululizo huu, hata kama ana ufikiaji wa A hataweza kupata jukumu lako.

Hata hivyo, kumbuka kuwa ExternalId hii "siri" si siri, yeyote anayeweza kusoma sera ya kuchukua jukumu la IAM ataweza kuiona. Lakini kwa muda mrefu kama akaunti ya nje A inajua, lakini akaunti ya nje B hajui, hii inazuia B kutumia A kufikia jukumu lako.

Mfano:

{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Principal": {
"AWS": "Example Corp's AWS Account ID"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": "12345"
}
}
}
}

Ili mshambuliaji aweze kutumia naibu aliyechanganyikiwa, atahitaji kugundua kwa namna fulani ikiwa wakala wa akaunti ya sasa wanaweza kujifanya kuwa majukumu katika akaunti nyingine.

Uaminifu Usiotarajiwa

Kichwa cha habari kama wakala

{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": { "AWS": "*" },
}

Sera hii inawezesha AWS yote kuchukua jukumu.

Huduma kama mwakilishi

{
"Action": "lambda:InvokeFunction",
"Effect": "Allow",
"Principal": { "Service": "apigateway.amazonaws.com" },
"Resource": "arn:aws:lambda:000000000000:function:foo"
}

Sera hii inaruhusu akaunti yoyote kusanidi apigateway yao ili kuita hii Lambda.

S3 kama msingi

"Condition": {
"ArnLike": { "aws:SourceArn": "arn:aws:s3:::source-bucket" },
"StringEquals": {
"aws:SourceAccount": "123456789012"
}
}

Haiungi mkono

{
"Effect": "Allow",
"Principal": {"Service": "cloudtrail.amazonaws.com"},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::myBucketName/AWSLogs/MY_ACCOUNT_ID/*"
}

Njia ya kawaida ya kuepuka matatizo ya Naibu Aliyechanganyikiwa ni matumizi ya hali na AWS:SourceArn kuchunguza ARN ya asili. Walakini, baadhi ya huduma huenda zisisaidie hilo (kama CloudTrail kulingana na vyanzo fulani).

Marejeo

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!

Njia nyingine za kusaidia HackTricks:

Last updated