AWS - IAM Post Exploitation
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.
IAM
Kwa maelezo zaidi kuhusu ufikiaji wa IAM:
AWS - IAM, Identity Center & SSO Enum
Tatizo la Mwakilishi Aliyechanganyikiwa
Ikiwa unaruhusu akaunti ya nje (A) kufikia jukumu katika akaunti yako, huenda ukawa na 0 uelewa kuhusu nani hasa anaweza kufikia akaunti hiyo ya nje. Hii ni tatizo, kwa sababu ikiwa akaunti nyingine ya nje (B) inaweza kufikia akaunti ya nje (A) inawezekana kwamba B pia itaweza kufikia akaunti yako.
Kwa hiyo, unaporuhusu akaunti ya nje kufikia jukumu katika akaunti yako inawezekana kubainisha ExternalId
. Hii ni "nywila" ya siri ambayo akaunti ya nje (A) inahitaji kubainisha ili ichukue jukumu katika shirika lako. Kwa kuwa akaunti ya nje B haitajui nywila hii, hata kama ana ufikiaji juu ya A hataweza kufikia jukumu lako.
.png)
Hata hivyo, kumbuka kwamba ExternalId
hii "siri" sio siri, mtu yeyote anayeweza kusoma sera ya jukumu la IAM atakuwa na uwezo wa kuiona. Lakini kadri akaunti ya nje A inavyoijua, lakini akaunti ya nje B haijui, in azuia 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"
}
}
}
}
warning
Ili mshambuliaji aweze kutumia msaidizi aliyechanganyikiwa, itabidi apate kwa namna fulani ikiwa wakuu wa akaunti ya sasa wanaweza kujifanya kuwa majukumu katika akaunti nyingine.
Imani zisizotarajiwa
Wildcard kama mkuu
{
"Action": "sts:AssumeRole",
"Effect": "Allow",
"Principal": { "AWS": "*" }
}
Sera hii inaruhusu AWS zote kuchukua jukumu.
Huduma kama kiongozi
{
"Action": "lambda:InvokeFunction",
"Effect": "Allow",
"Principal": { "Service": "apigateway.amazonaws.com" },
"Resource": "arn:aws:lambda:000000000000:function:foo"
}
Sera hii inaruhusu akaunti yoyote kuunda apigateway yao ili kuita Lambda hii.
S3 kama kiongozi
"Condition": {
"ArnLike": { "aws:SourceArn": "arn:aws:s3:::source-bucket" },
"StringEquals": {
"aws:SourceAccount": "123456789012"
}
}
Ikiwa S3 bucket inatolewa kama principal, kwa sababu S3 buckets haina Account ID, ikiwa ulifuta bucket yako na mshambuliaji akaunda hiyo katika akaunti yao, basi wanaweza kuitumia vibaya hii.
Not supported
{
"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 Confused Deputy ni matumizi ya hali na AWS:SourceArn
ili kuangalia ARN ya asili. Hata hivyo, huduma zingine huenda zisipokee hiyo (kama CloudTrail kulingana na vyanzo vingine).
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.