Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/

This commit is contained in:
Translator
2025-05-09 12:44:05 +00:00
parent 3c38aef37c
commit fb2b9e2206
2 changed files with 13 additions and 14 deletions

View File

@@ -34,7 +34,7 @@ Byvoorbeeld, 'n aanvaller met daardie **toestemmings oor 'n cloudformation emmer
]
}
```
En die kaping is moontlik omdat daar 'n **klein tydvenster is vanaf die oomblik dat die sjabloon opgelaai word** na die emmer tot die oomblik dat die **sjabloon ontplooi word**. 'n Aanvaller kan eenvoudig 'n **lambda-funksie** in sy rekening skep wat **geaktiveer word wanneer 'n emmer kennisgewing gestuur word**, en **kap** die **inhoud** van daardie **emmer**.
En die kaapting is moontlik omdat daar 'n **klein tydvenster is vanaf die oomblik dat die sjabloon opgelaai word** na die emmer tot die oomblik dat die **sjabloon ontplooi word**. 'n Aanvaller kan eenvoudig 'n **lambda-funksie** in sy rekening skep wat **geaktiveer word wanneer 'n emmer kennisgewing gestuur word**, en **kaap** die **inhoud** van daardie **emmer**.
![](<../../../images/image (174).png>)
@@ -52,10 +52,9 @@ Hier is 'n paar voorbeelde:
### `s3:PutObject`, `s3:GetObject` (opsioneel) oor terraform toestand lêer
Dit is baie algemeen dat die [terraform](https://cloud.hacktricks.wiki/en/pentesting-ci-cd/terraform-security.html) toestand lêers in blob stoor van wolkverskaffers gestoor word, bv. AWS S3. Die lêer-suffiks vir 'n toestand lêer is `.tfstate`, en die emmername gee dikwels ook weg dat hulle terraform toestand lêers bevat. Gewoonlik het elke AWS-rekening een sulke emmer om die toestand lêers te stoor wat die toestand van die rekening toon.\
Ook gewoonlik, in werklike wêreld rekeninge het amper altyd alle ontwikkelaars `s3:*` en soms selfs besigheidsgebruikers `s3:Put*`.
Dit is baie algemeen dat die [terraform](https://cloud.hacktricks.wiki/en/pentesting-ci-cd/terraform-security.html) toestand lêers in blob stoor van wolkverskaffers gestoor word, bv. AWS S3. Die lêer-suffiks vir 'n toestand lêer is `.tfstate`, en die emmername gee dikwels ook weg dat hulle terraform toestand lêers bevat. Gewoonlik het elke AWS-rekening een sulke emmer om die toestand lêers te stoor wat die toestand van die rekening toon. Ook gewoonlik, in werklike wêreld rekeninge het amper altyd alle ontwikkelaars `s3:*` en soms selfs besigheidsgebruikers `s3:Put*`.
So, as jy die toestemmings wat oor hierdie lêers gelys is, het, is daar 'n aanvalsvector wat jou toelaat om RCE in die pyplyn te verkry met die voorregte van `terraform` - meestal `AdministratorAccess`, wat jou die admin van die wolkrekening maak. Ook kan jy daardie vektor gebruik om 'n ontkenning van diens aanval te doen deur `terraform` te laat verwyder legitieme hulpbronne.
So, as jy die toestemmings gelys oor hierdie lêers het, is daar 'n aanvalsvector wat jou toelaat om RCE in die pyplyn te verkry met die voorregte van `terraform` - meestal `AdministratorAccess`, wat jou die admin van die wolkrekening maak. Ook, jy kan daardie vektor gebruik om 'n ontkenning van diens aanval te doen deur `terraform` te laat verwyder legitieme hulpbronne.
Volg die beskrywing in die *Misbruik van Terraform Toestand Lêers* afdeling van die *Terraform Sekuriteit* bladsy vir direk bruikbare eksploitkode:
@@ -65,7 +64,7 @@ Volg die beskrywing in die *Misbruik van Terraform Toestand Lêers* afdeling van
### `s3:PutBucketPolicy`
'n Aanvaller, wat **uit dieselfde rekening moet wees**, anders sal die fout `Die gespesifiseerde metode is nie toegelaat nie` geaktiveer word, met hierdie toestemming sal in staat wees om vir homself meer toestemmings oor die emmer(s) toe te ken wat hom toelaat om te lees, te skryf, te verander, te verwyder en emmers bloot te stel.
'n Aanvaller, wat **uit die selfde rekening** moet wees, anders sal die fout `Die gespesifiseerde metode is nie toegelaat nie` geaktiveer word, met hierdie toestemming sal in staat wees om vir homself meer toestemmings oor die emmer(s) toe te ken wat hom toelaat om te lees, te skryf, te verander, te verwyder en emmers bloot te stel.
```bash
# Update Bucket policy
aws s3api put-bucket-policy --policy file:///root/policy.json --bucket <bucket-name>