mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-27 05:03:31 -08:00
Translated ['src/pentesting-ci-cd/terraform-security.md', 'src/pentestin
This commit is contained in:
@@ -18,7 +18,7 @@ As jy dus die `dynamodb:PutResourcePolicy` vir 'n tabel het, kan jy jouself of e
|
||||
|
||||
Die toekenning van die `dynamodb:PutResourcePolicy` aan 'n lukrake prinsiep gebeur dikwels per ongeluk, as die admins dink dat die toekenning van `dynamodb:Put*` slegs die prinsiep sou toelaat om items in die databasis te plaas - of as hulle daardie toestemmingset voor Maart 2024 toegeken het...
|
||||
|
||||
Ideaal gesproke het jy ook `dynamodb:GetResourcePolicy`, sodat jy nie ander potensieel belangrike toestemmings oorskryf nie, maar slegs die bygevoegde toestemmings wat jy nodig het:
|
||||
Ideaal gesproke het jy ook `dynamodb:GetResourcePolicy`, sodat jy nie ander potensieel noodsaaklike toestemmings oorskryf nie, maar slegs die bygevoegde toestemmings wat jy nodig het:
|
||||
```bash
|
||||
# get the current resource based policy (if it exists) and save it to a file
|
||||
aws dynamodb get-resource-policy \
|
||||
@@ -47,7 +47,7 @@ As jy nie die huidige beleid kan verkry nie, gebruik net hierdie een wat volle t
|
||||
]
|
||||
}
|
||||
```
|
||||
As jy dit wil aanpas, hier is 'n lys van alle moontlike DynamoDB aksies: [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Operations.html). En hier is 'n lys van alle aksies wat toegelaat kan word via 'n hulpbron-gebaseerde beleid *EN watter van hierdie kan gebruik word oor rekeninge (denk data uitvloeiing!)*: [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-iam-actions.html)
|
||||
As jy dit wil aanpas, hier is 'n lys van alle moontlike DynamoDB aksies: [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Operations.html). En hier is 'n lys van alle aksies wat toegelaat kan word via 'n hulpbron-gebaseerde beleid *EN watter van hierdie gebruik kan word oor rekeninge (dink data uitvloeiing!)*: [AWS Documentation](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/rbac-iam-actions.html)
|
||||
|
||||
Nou, met die beleidsdokument `policy.json` gereed, plaas die hulpbronbeleid:
|
||||
```bash
|
||||
@@ -57,11 +57,11 @@ aws dynamodb put-resource-policy \
|
||||
--resource-arn <table_arn> \
|
||||
--policy "$(cat policy.json)"
|
||||
```
|
||||
Nou, jy behoort die toestemmings te hê wat jy nodig gehad het.
|
||||
Nou behoort jy die regte toestemmings te hê wat jy nodig gehad het.
|
||||
|
||||
### Post Exploitation
|
||||
|
||||
So ver ek weet is daar **geen ander direkte manier om bevoegdhede in AWS te verhoog net deur 'n paar AWS `dynamodb` toestemmings te hê**. Jy kan **sensitiewe** inligting uit die tabelle lees (wat AWS geloofsbriewe kan bevat) en **inligting op die tabelle skryf** (wat ander kwesbaarhede kan aktiveer, soos lambda kode-inspuitings...) maar al hierdie opsies word reeds oorweeg in die **DynamoDB Post Exploitation bladsy**:
|
||||
Soos ek weet, is daar **geen ander direkte manier om regte in AWS te verhoog net deur 'n paar AWS `dynamodb` toestemmings te hê**. Jy kan **sensitiewe** inligting uit die tabelle lees (wat AWS geloofsbriewe kan bevat) en **inligting op die tabelle skryf** (wat ander kwesbaarhede kan aktiveer, soos lambda kode-inspuitings...) maar al hierdie opsies word reeds oorweeg in die **DynamoDB Post Exploitation bladsy**:
|
||||
|
||||
{{#ref}}
|
||||
../aws-post-exploitation/aws-dynamodb-post-exploitation.md
|
||||
|
||||
@@ -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 na die emmer opgelaai word** 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 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**.
|
||||
|
||||
.png>)
|
||||
|
||||
@@ -50,14 +50,14 @@ Hier is 'n paar voorbeelde:
|
||||
|
||||
- As 'n EC2-instantie die **gebruikersdata in 'n S3-emmer** stoor, kan 'n aanvaller dit verander om **arbitraire kode binne die EC2-instantie uit te voer**.
|
||||
|
||||
### `s3:PutObject`, `s3:GetObject` (opsioneel) oor terraform staat lêer
|
||||
### `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) staat lêers in blob stoor van wolkverskaffers gestoor word, bv. AWS S3. Die lêer-suffiks vir 'n staat lêer is `.tfstate`, en die emmername gee dikwels ook weg dat hulle terraform staat lêers bevat. Gewoonlik het elke AWS-rekening een sulke emmer om die staat lêers te stoor wat die staat van die rekening toon.\
|
||||
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 wat die toestand van die rekening toon, te stoor.\
|
||||
Ook gewoonlik, in werklike wêreld rekeninge het amper altyd alle ontwikkelaars `s3:*` en soms selfs besigheidsgebruikers `s3:Put*`.
|
||||
|
||||
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 kan jy daardie vector 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 kan jy 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 Staat Lêers* afdeling van die *Terraform Sekuriteit* bladsy vir direk bruikbare eksploit kode:
|
||||
Volg die beskrywing in die *Misbruik van Terraform Toestand Lêers* afdeling van die *Terraform Sekuriteit* bladsy vir direk bruikbare eksploitkode:
|
||||
|
||||
{{#ref}}
|
||||
terraform-security.md#abusing-terraform-state-files
|
||||
|
||||
Reference in New Issue
Block a user