Translated ['src/pentesting-ci-cd/terraform-security.md', 'src/pentestin

This commit is contained in:
Translator
2025-01-05 20:34:05 +00:00
parent 5ca57f29ed
commit 2eeaf2b36c
3 changed files with 34 additions and 34 deletions

View File

@@ -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

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 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**.
![](<../../../images/image (174).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