diff --git a/src/pentesting-cloud/azure-security/az-basic-information/README.md b/src/pentesting-cloud/azure-security/az-basic-information/README.md index 3ca36e83e..ac576c198 100644 --- a/src/pentesting-cloud/azure-security/az-basic-information/README.md +++ b/src/pentesting-cloud/azure-security/az-basic-information/README.md @@ -1,12 +1,12 @@ -# Az - Osnovne informacije +# Az - Osnovne Informacije {{#include ../../../banners/hacktricks-training.md}} -## Hijerarhija organizacije +## Hijerarhija Organizacije

https://www.tunecom.be/stg_ba12f/wp-content/uploads/2020/01/VDC-Governance-ManagementGroups-1536x716.png

-### Grupa za upravljanje +### Grupa za Upravljanje - Može sadržati **druge grupe za upravljanje ili pretplate**. - Ovo omogućava **primenu kontrola upravljanja** kao što su RBAC i Azure Policy jednom na nivou grupe za upravljanje i da se one **naslede** od svih pretplata u grupi. @@ -19,14 +19,14 @@

https://td-mainsite-cdn.tutorialsdojo.com/wp-content/uploads/2023/02/managementgroups-768x474.png

-### Azure pretplate +### Azure Pretplate -- To je još jedan **logički kontejner u kojem se mogu pokretati resursi** (VM-ovi, DB-ovi…) i za koji će se naplaćivati. +- To je još jedan **logički kontejner gde se resursi** (VM-ovi, DB-ovi…) mogu pokretati i biće naplaćeni. - Njegov **roditelj** je uvek **grupa za upravljanje** (i može biti grupa za upravljanje korenom) jer pretplate ne mogu sadržati druge pretplate. -- **Veruje samo jednoj Entra ID** direktoriji -- **Dozvole** primenjene na nivou pretplate (ili bilo kojem od njenih roditelja) se **nasleđuju** svim resursima unutar pretplate +- **Veruje samo jednoj Entra ID** direktoriji. +- **Dozvole** primenjene na nivou pretplate (ili bilo kojem od njenih roditelja) se **nasleđuju** svim resursima unutar pretplate. -### Grupe resursa +### Grupe Resursa [Iz dokumenata:](https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/manage-resource-groups-python?tabs=macos#what-is-a-resource-group) Grupa resursa je **kontejner** koji sadrži **povezane resurse** za Azure rešenje. Grupa resursa može uključivati sve resurse za rešenje, ili samo one **resurse koje želite da upravljate kao grupu**. Generalno, dodajte **resurse** koji dele **isti životni ciklus** u istu grupu resursa kako biste ih lako implementirali, ažurirali i obrisali kao grupu. @@ -34,15 +34,15 @@ Svi **resursi** moraju biti **unutar grupe resursa** i mogu pripadati samo jedno

https://i0.wp.com/azuredays.com/wp-content/uploads/2020/05/org.png?resize=748%2C601&ssl=1

-### Azure Resource IDs +### Azure Resursni ID-evi -Svaki resurs u Azure-u ima Azure Resource ID koji ga identifikuje. +Svaki resurs u Azure-u ima Azure Resursni ID koji ga identifikuje. -Format Azure Resource ID-a je sledeći: +Format Azure Resursnog ID-a je sledeći: - `/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}` -Za virtuelnu mašinu nazvanu myVM u grupi resursa `myResourceGroup` pod ID-jem pretplate `12345678-1234-1234-1234-123456789012`, Azure Resource ID izgleda ovako: +Za virtuelnu mašinu nazvanu myVM u grupi resursa `myResourceGroup` pod ID-jem pretplate `12345678-1234-1234-1234-123456789012`, Azure Resursni ID izgleda ovako: - `/subscriptions/12345678-1234-1234-1234-123456789012/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM` @@ -50,15 +50,15 @@ Za virtuelnu mašinu nazvanu myVM u grupi resursa `myResourceGroup` pod ID-jem p ### Azure -Azure je Microsoftova sveobuhvatna **platforma za cloud računarstvo, koja nudi širok spektar usluga**, uključujući virtuelne mašine, baze podataka, veštačku inteligenciju i skladištenje. Ona služi kao osnova za hostovanje i upravljanje aplikacijama, izgradnju skalabilnih infrastruktura i pokretanje modernih radnih opterećenja u oblaku. Azure pruža alate za programere i IT profesionalce da kreiraju, implementiraju i upravljaju aplikacijama i uslugama bez problema, zadovoljavajući razne potrebe od startapa do velikih preduzeća. +Azure je Microsoftova sveobuhvatna **platforma za cloud računarstvo, koja nudi širok spektar usluga**, uključujući virtuelne mašine, baze podataka, veštačku inteligenciju i skladištenje. Deluje kao osnova za hostovanje i upravljanje aplikacijama, izgradnju skalabilnih infrastruktura i pokretanje modernih radnih opterećenja u oblaku. Azure pruža alate za programere i IT profesionalce da kreiraju, implementiraju i upravljaju aplikacijama i uslugama bez problema, zadovoljavajući razne potrebe od startapa do velikih preduzeća. ### Entra ID (ranije Azure Active Directory) -Entra ID je cloud-bazirana **usluga upravljanja identitetom i pristupom** dizajnirana da se bavi autentifikacijom, autorizacijom i kontrolom pristupa korisnika. Ona omogućava siguran pristup Microsoftovim uslugama kao što su Office 365, Azure i mnoge aplikacije trećih strana. Sa funkcijama kao što su jedinstveno prijavljivanje (SSO), višefaktorska autentifikacija (MFA) i politike uslovnog pristupa, između ostalog. +Entra ID je cloud-bazirana **usluga upravljanja identitetom i pristupom** dizajnirana da se bavi autentifikacijom, autorizacijom i kontrolom pristupa korisnika. Omogućava siguran pristup Microsoftovim uslugama kao što su Office 365, Azure i mnoge treće strane SaaS aplikacije. Sa funkcijama kao što su jedinstveno prijavljivanje (SSO), višefaktorska autentifikacija (MFA) i uslovi pristupa među ostalim. ### Entra Domain Services (ranije Azure AD DS) -Entra Domain Services proširuje mogućnosti Entra ID-a nudeći **upravljane usluge domena kompatibilne sa tradicionalnim Windows Active Directory okruženjima**. Podržava nasleđene protokole kao što su LDAP, Kerberos i NTLM, omogućavajući organizacijama da migriraju ili pokreću starije aplikacije u oblaku bez implementacije lokalnih kontrolera domena. Ova usluga takođe podržava grupne politike za centralizovano upravljanje, što je čini pogodnom za scenarije u kojima nasleđena ili AD-bazirana radna opterećenja treba da koegzistiraju sa modernim cloud okruženjima. +Entra Domain Services proširuje mogućnosti Entra ID-a nudeći **upravljane usluge domena kompatibilne sa tradicionalnim Windows Active Directory okruženjima**. Podržava nasleđene protokole kao što su LDAP, Kerberos i NTLM, omogućavajući organizacijama da migriraju ili pokreću starije aplikacije u oblaku bez implementacije lokalnih kontrolera domena. Ova usluga takođe podržava grupne politike za centralizovano upravljanje, što je čini pogodnom za scenarije gde nasleđena ili AD-bazirana radna opterećenja treba da koegzistiraju sa modernim cloud okruženjima. ## Entra ID Principali @@ -66,53 +66,53 @@ Entra Domain Services proširuje mogućnosti Entra ID-a nudeći **upravljane usl - **Novi korisnici** - Naznačite ime i domen e-pošte iz odabranog tenant-a -- Naznačite prikazano ime +- Naznačite Prikazano ime - Naznačite lozinku - Naznačite svojstva (ime, radno mesto, kontakt informacije…) - Podrazumevani tip korisnika je “**član**” - **Spoljni korisnici** -- Naznačite e-poštu za poziv i prikazano ime (može biti e-pošta koja nije Microsoft) +- Naznačite e-poštu za poziv i prikazano ime (može biti e-pošta koja nije od Microsoft-a) - Naznačite svojstva - Podrazumevani tip korisnika je “**Gost**” -### Podrazumevane dozvole članova i gostiju +### Podrazumevane Dozvole Članova i Gostiju Možete ih proveriti na [https://learn.microsoft.com/en-us/entra/fundamentals/users-default-permissions](https://learn.microsoft.com/en-us/entra/fundamentals/users-default-permissions) ali među ostalim radnjama član će moći da: -- Čita sve korisnike, grupe, aplikacije, uređaje, uloge, pretplate i njihove javne osobine -- Poziva goste (_može se isključiti_) -- Kreira sigurnosne grupe -- Čita ne-skrivene članstva grupa -- Dodaje goste u vlasničke grupe +- Čita sve korisnike, Grupe, Aplikacije, Uređaje, Uloge, Pretplate i njihove javne osobine +- Poziva Goste (_može se isključiti_) +- Kreira Bezbednosne grupe +- Čita ne-skrivene članstva Grupa +- Dodaje goste u Vlasničke grupe - Kreira nove aplikacije (_može se isključiti_) - Dodaje do 50 uređaja u Azure (_može se isključiti_) > [!NOTE] > Zapamtite da da bi se enumerisali Azure resursi, korisnik treba da ima eksplicitno odobrenje za dozvolu. -### Podrazumevane konfigurabilne dozvole korisnika +### Podrazumevane Konfigurabilne Dozvole Korisnika - **Članovi (**[**docs**](https://learn.microsoft.com/en-gb/entra/fundamentals/users-default-permissions#restrict-member-users-default-permissions)**)** -- Registrujte aplikacije: Podrazumevano **Da** +- Registrujte Aplikacije: Podrazumevano **Da** - Ograničite ne-administrativne korisnike od kreiranja tenant-a: Podrazumevano **Ne** -- Kreirajte sigurnosne grupe: Podrazumevano **Da** +- Kreirajte bezbednosne grupe: Podrazumevano **Da** - Ograničite pristup Microsoft Entra administrativnom portalu: Podrazumevano **Ne** - Ovo ne ograničava API pristup portalu (samo web) - Dozvolite korisnicima da povežu radni ili školski nalog sa LinkedIn-om: Podrazumevano **Da** -- Prikaži zadrži korisnika prijavljenog: Podrazumevano **Da** -- Ograničite korisnike od oporavka BitLocker ključeva za njihove vlasničke uređaje: Podrazumevano Ne (proverite u podešavanjima uređaja) -- Čitajte druge korisnike: Podrazumevano **Da** (putem Microsoft Graph) +- Prikaži zadrži korisnika prijavljenim: Podrazumevano **Da** +- Ograničite korisnike od oporavka BitLocker ključeva za njihove vlasničke uređaje: Podrazumevano Ne (proverite u Podešavanjima Uređaja) +- Čitajte druge korisnike: Podrazumevano **Da** (putem Microsoft Graph-a) - **Gosti** - **Ograničenja pristupa gostujućih korisnika** opcije: -- **Gosti imaju iste pristupe kao članovi**. -- **Gosti imaju ograničen pristup svojstvima i članstvima objekata direktorijuma (podrazumevano)**. Ovo ograničava pristup gostiju samo na njihov profil korisnika po default-u. Pristup informacijama o drugim korisnicima i grupama više nije dozvoljen. -- **Pristup gostujućih korisnika je ograničen na svojstva i članstva njihovih vlastitih objekata direktorijuma** je najrestriktivniji. -- **Opcije pozivanja gostiju**: +- **Gosti imaju isti pristup kao članovi**. +- **Gosti imaju ograničen pristup osobinama i članstvima objekata direktorijuma (podrazumevano)**. Ovo ograničava pristup gostiju samo na njihov profil korisnika po default-u. Pristup informacijama o drugim korisnicima i grupama više nije dozvoljen. +- **Pristup gostujućih korisnika je ograničen na osobine i članstva njihovih vlastitih objekata direktorijuma** je najrestriktivniji. +- **Gosti mogu pozivati** opcije: - **Svako u organizaciji može pozvati gostujuće korisnike uključujući goste i ne-administratore (najinkluzivnije) - Podrazumevano** -- **Korisnici članovi i korisnici dodeljeni specifičnim administrativnim ulogama mogu pozvati gostujuće korisnike uključujući goste sa članovskim dozvolama** +- **Članovi korisnici i korisnici dodeljeni specifičnim administrativnim ulogama mogu pozvati gostujuće korisnike uključujući goste sa članovskim dozvolama** - **Samo korisnici dodeljeni specifičnim administrativnim ulogama mogu pozvati gostujuće korisnike** - **Niko u organizaciji ne može pozvati gostujuće korisnike uključujući administratore (najrestriktivnije)** -- **Spoljni korisnici napuštaju**: Podrazumevano **Tačno** +- **Spoljni korisnici mogu napustiti**: Podrazumevano **Tačno** - Dozvolite spoljnim korisnicima da napuste organizaciju > [!TIP] @@ -122,7 +122,7 @@ Možete ih proveriti na [https://learn.microsoft.com/en-us/entra/fundamentals/us Postoje **2 tipa grupa**: -- **Sigurnosne**: Ova vrsta grupe se koristi za davanje članovima pristupa aplikacijama, resursima i dodeljivanje licenci. Korisnici, uređaji, servisni principi i druge grupe mogu biti članovi. +- **Bezbednosne**: Ova vrsta grupe se koristi za davanje članovima pristupa aplikacijama, resursima i dodeljivanje licenci. Korisnici, uređaji, servisni principi i druge grupe mogu biti članovi. - **Microsoft 365**: Ova vrsta grupe se koristi za saradnju, dajući članovima pristup zajedničkoj pošti, kalendaru, datotekama, SharePoint sajtu, itd. Članovi grupe mogu biti samo korisnici. - Ovo će imati **adresu e-pošte** sa domenom EntraID tenant-a. @@ -131,38 +131,38 @@ Postoje **2 tipa članstava**: - **Dodeljeno**: Omogućava ručno dodavanje specifičnih članova u grupu. - **Dinamičko članstvo**: Automatski upravlja članstvom koristeći pravila, ažurirajući uključivanje grupe kada se atributi članova promene. -### **Servisni principi** +### **Servisni Principi** -**Servisni princip** je **identitet** kreiran za **upotrebu** sa **aplikacijama**, hostovanim uslugama i automatizovanim alatima za pristup Azure resursima. Ovaj pristup je **ograničen ulogama dodeljenim** servisnom principu, dajući vam kontrolu nad **koji resursi mogu biti pristupljeni** i na kojem nivou. Iz bezbednosnih razloga, uvek se preporučuje da **koristite servisne principe sa automatizovanim alatima** umesto da im dozvolite prijavu sa korisničkim identitetom. +**Servisni Princip** je **identitet** kreiran za **upotrebu** sa **aplikacijama**, hostovanim uslugama i automatizovanim alatima za pristup Azure resursima. Ovaj pristup je **ograničen ulogama dodeljenim** servisnom principu, dajući vam kontrolu nad **koji resursi mogu biti pristupljeni** i na kojem nivou. Iz bezbednosnih razloga, uvek se preporučuje da **koristite servisne principe sa automatizovanim alatima** umesto da im dozvolite prijavu sa korisničkim identitetom. -Moguće je **direktno se prijaviti kao servisni princip** generišući mu **tajnu** (lozinku), **sertifikat**, ili dodeljujući **federisani** pristup platformama trećih strana (npr. Github Actions) preko njega. +Moguće je **direktno se prijaviti kao servisni princip** generišući mu **tajnu** (lozinku), **sertifikat**, ili dodeljujući **federisani** pristup trećim platformama (npr. Github Actions) preko njega. - Ako izaberete **lozinku** za autentifikaciju (podrazumevano), **sačuvajte generisanu lozinku** jer je nećete moći ponovo pristupiti. - Ako izaberete autentifikaciju sertifikatom, uverite se da će **aplikacija imati pristup privatnom ključu**. -### Registracije aplikacija +### Registracije Aplikacija -**Registracija aplikacije** je konfiguracija koja omogućava aplikaciji da se integriše sa Entra ID i da izvršava radnje. +**Registracija Aplikacije** je konfiguracija koja omogućava aplikaciji da se integriše sa Entra ID i da izvršava radnje. -#### Ključne komponente: +#### Ključne Komponente: -1. **ID aplikacije (Client ID):** Jedinstveni identifikator za vašu aplikaciju u Azure AD. -2. **Redirect URIs:** URL-ovi na koje Azure AD šalje odgovore na autentifikaciju. -3. **Sertifikati, tajne i federisani kredencijali:** Moguće je generisati tajnu ili sertifikat za prijavu kao servisni princip aplikacije, ili dodeliti federisani pristup njemu (npr. Github Actions). +1. **ID Aplikacije (Client ID):** Jedinstveni identifikator za vašu aplikaciju u Azure AD. +2. **Redirect URIs:** URL-ovi gde Azure AD šalje odgovore na autentifikaciju. +3. **Sertifikati, Tajne & Federisani Akreditivi:** Moguće je generisati tajnu ili sertifikat za prijavu kao servisni princip aplikacije, ili dodeliti federisani pristup (npr. Github Actions). 1. Ako je **sertifikat** ili **tajna** generisana, moguće je da osoba **prijavi kao servisni princip** koristeći CLI alate znajući **ID aplikacije**, **tajnu** ili **sertifikat** i **tenant** (domen ili ID). -4. **API dozvole:** Određuje koje resurse ili API-je aplikacija može pristupiti. -5. **Podešavanja autentifikacije:** Definiše podržane tokove autentifikacije aplikacije (npr., OAuth2, OpenID Connect). -6. **Servisni princip**: Servisni princip se kreira kada se aplikacija kreira (ako se to uradi iz web konzole) ili kada se instalira u novom tenant-u. +4. **API Dozvole:** Specifikuje koje resurse ili API-je aplikacija može pristupiti. +5. **Podešavanja Autentifikacije:** Definiše podržane tokove autentifikacije aplikacije (npr., OAuth2, OpenID Connect). +6. **Servisni Princip**: Servisni princip se kreira kada se aplikacija kreira (ako se to uradi iz web konzole) ili kada se instalira u novom tenant-u. 1. **Servisni princip** će dobiti sve tražene dozvole sa kojima je konfigurisan. -### Podrazumevane dozvole pristanka +### Podrazumevane Dozvole za Pristanak **Korisnički pristanak za aplikacije** - **Ne dozvoliti korisnički pristanak** - Administrator će biti potreban za sve aplikacije. - **Dozvoliti korisnički pristanak za aplikacije od verifikovanih izdavača, za odabrane dozvole (Preporučeno)** -- Svi korisnici mogu pristati na dozvole klasifikovane kao "niskog uticaja", za aplikacije od verifikovanih izdavača ili aplikacije registrovane u ovoj organizaciji. +- Svi korisnici mogu dati pristanak za dozvole klasifikovane kao "niskog uticaja", za aplikacije od verifikovanih izdavača ili aplikacije registrovane u ovoj organizaciji. - **Podrazumevane** dozvole niskog uticaja (iako morate prihvatiti da ih dodate kao niske): - User.Read - prijavite se i pročitajte korisnički profil - offline_access - održava pristup podacima kojima su korisnici dali pristup @@ -170,87 +170,81 @@ Moguće je **direktno se prijaviti kao servisni princip** generišući mu **tajn - profile - prikažite osnovni profil korisnika - email - prikažite adresu e-pošte korisnika - **Dozvoliti korisnički pristanak za aplikacije (Podrazumevano)** -- Svi korisnici mogu pristati na bilo koju aplikaciju da pristupi podacima organizacije. +- Svi korisnici mogu dati pristanak za bilo koju aplikaciju da pristupi podacima organizacije. **Zahtevi za pristanak administratora**: Podrazumevano **Ne** - Korisnici mogu zatražiti pristanak administratora za aplikacije za koje ne mogu dati pristanak -- Ako je **Da**: Moguće je naznačiti korisnike, grupe i uloge koje mogu odobriti zahteve +- Ako je **Da**: Moguće je naznačiti Korisnike, Grupe i Uloge koje mogu dati pristanke - Takođe konfigurišite da li će korisnici primati obaveštenja putem e-pošte i podsetnike o isteku -### **Upravljani identitet (metapodaci)** +### **Upravljani Identitet (Metapodaci)** -Upravljani identiteti u Azure Active Directory nude rešenje za **automatsko upravljanje identitetom** aplikacija. Ovi identiteti se koriste od strane aplikacija u svrhu **povezivanja** sa **resursima** kompatibilnim sa autentifikacijom Azure Active Directory (**Azure AD**). Ovo omogućava **uklanjanje potrebe za hardkodiranjem cloud kredencijala** u kodu jer će aplikacija moći da kontaktira **metapodatkovnu** uslugu kako bi dobila važeći token za **izvršavanje radnji** kao naznačeni upravljani identitet u Azure-u. +Upravljani identiteti u Azure Active Directory nude rešenje za **automatsko upravljanje identitetom** aplikacija. Ovi identiteti se koriste od strane aplikacija u svrhu **povezivanja** sa **resursima** kompatibilnim sa autentifikacijom Azure Active Directory (**Azure AD**). Ovo omogućava **uklanjanje potrebe za hardkodiranjem cloud akreditiva** u kodu jer će aplikacija moći da kontaktira **metapodatkovnu** uslugu kako bi dobila važeći token za **izvršavanje radnji** kao naznačeni upravljani identitet u Azure-u. Postoje dva tipa upravljanih identiteta: -- **Sistemom dodeljeni**. Neke Azure usluge omogućavaju da **omogućite upravljani identitet direktno na instanci usluge**. Kada omogućite sistemom dodeljeni upravljani identitet, **servisni princip** se kreira u Entra ID tenant-u kojem veruje pretplata u kojoj se resurs nalazi. Kada se **resurs** **obriše**, Azure automatski **briše** **identitet** za vas. +- **Sistemom dodeljeni**. Neke Azure usluge omogućavaju da **omogućite upravljani identitet direktno na instanci usluge**. Kada omogućite sistemom dodeljeni upravljeni identitet, **servisni princip** se kreira u Entra ID tenant-u kojem veruje pretplata gde se resurs nalazi. Kada se **resurs** **obriše**, Azure automatski **briše** **identitet** za vas. - **Korisnikom dodeljeni**. Takođe je moguće da korisnici generišu upravljane identitete. Ovi se kreiraju unutar grupe resursa unutar pretplate i servisni princip će biti kreiran u EntraID kojem veruje pretplata. Zatim, možete dodeliti upravljeni identitet jednoj ili **više instanci** Azure usluge (više resursa). Za korisnikom dodeljene upravljane identitete, **identitet se upravlja odvojeno od resursa koji ga koriste**. -Upravljani identiteti **ne generišu večne kredencijale** (kao što su lozinke ili sertifikati) za pristup kao servisni princip koji je povezan sa njima. +Upravljani identiteti **ne generišu večne akreditive** (kao što su lozinke ili sertifikati) za pristup kao servisni princip koji je povezan sa njima. -### Preduzeća aplikacije +### Preduzeća Aplikacije To je samo **tabela u Azure-u za filtriranje servisnih principa** i proveru aplikacija koje su dodeljene. -**To nije još jedan tip "aplikacije",** ne postoji nijedan objekat u Azure-u koji je "Preduzeće aplikacija", to je samo apstrakcija za proveru servisnih principa, registracija aplikacija i upravljanih identiteta. +**To nije još jedan tip "aplikacije",** ne postoji nijedan objekat u Azure-u koji je "Preduzeće Aplikacija", to je samo apstrakcija za proveru servisnih principa, registracija aplikacija i upravljanih identiteta. -### Administrativne jedinice +### Administrativne Jedinice -Administrativne jedinice omogućavaju **davanje dozvola iz uloge nad specifičnim delom organizacije**. +Administrativne jedinice omogućavaju da **daju dozvole iz uloge nad specifičnim delom organizacije**. Primer: - Scenario: Kompanija želi da regionalni IT administratori upravljaju samo korisnicima u svojoj regiji. - Implementacija: -- Kreirajte administrativne jedinice za svaku regiju (npr., "Severna Amerika AU", "Evropa AU"). +- Kreirajte Administrativne Jedinice za svaku regiju (npr., "Severna Amerika AU", "Evropa AU"). - Popunite AU sa korisnicima iz njihovih odgovarajućih regija. -- AU mogu **sadržati korisnike, grupe ili uređaje** +- AU može **sadržati korisnike, grupe ili uređaje** - AU podržavaju **dinamička članstva** - AU **ne mogu sadržati AU** -- Dodelite administrativne uloge: -- Dodelite ulogu "Administrator korisnika" regionalnom IT osoblju, ograničenu na AU njihove regije. +- Dodelite Administrativne Uloge: +- Dodelite ulogu "Administrator korisnika" regionalnom IT osoblju, ograničeno na AU njihove regije. - Ishod: Regionalni IT administratori mogu upravljati korisničkim nalozima unutar svoje regije bez uticaja na druge regije. -### Entra ID uloge +### Entra ID Uloge & Dozvole - Da bi upravljali Entra ID, postoje neke **ugrađene uloge** koje se mogu dodeliti Entra ID principima za upravljanje Entra ID - Proverite uloge na [https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference](https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference) -- Najprivilegovanija uloga je **Globalni administrator** -- U opisu uloge moguće je videti njene **granularne dozvole** +- Uloge označene kao **`PRIVILEGOVANE`** od strane EntraID-a treba dodeliti sa oprezom jer, kako Microsoft objašnjava [u dokumentima](https://learn.microsoft.com/en-us/entra/identity/role-based-access-control/permissions-reference): Dodeljivanje privilegovanih uloga može dovesti do povećanja privilegija ako se ne koristi na siguran i nameran način. +- Najprivilegovanija uloga je **Globalni Administrator** +- Grupe uloga **grupiraju granularne dozvole** i mogu se naći u njihovim opisima. +- Moguće je **kreirati prilagođene uloge** sa željenim dozvolama. Iako iz nekog razloga nisu sve granularne dozvole dostupne za administratore da kreiraju prilagođene uloge. +- Uloge u Entra ID su potpuno **nezavisne** od uloga u Azure-u. Jedina veza je da principi sa ulogom **Globalni Administrator** u Entra ID mogu povećati na ulogu **Administrator pristupa korisnicima** u Azure-u. +- **Nije moguće koristiti džoker znakove** u Entra ID ulogama. -## Uloge i dozvole +## Azure Uloge & Dozvole -**Uloge** se **dodeljuju** **principima** na **opsegu**: `principal -[HAS ROLE]->(scope)` - -**Uloge** dodeljene **grupama** se **nasleđuju** od svih **članova** grupe. - -U zavisnosti od opsega na koji je uloga dodeljena, **uloga** se može **naslediti** na **druge resurse** unutar kontejnera opsega. Na primer, ako korisnik A ima **ulogu na pretplati**, on će imati tu **ulogu na svim grupama resursa** unutar pretplate i na **svim resursima** unutar grupe resursa. - -### Klasične uloge - -| **Vlasnik** | | Svi tipovi resursa | -| ----------------------------- | ---------------------------------------------------------------------------------------- | ------------------ | -| **Doprinosilac** | | Svi tipovi resursa | -| **Čitač** | • Prikaz svih resursa | Svi tipovi resursa | -| **Administrator pristupa korisnicima** | | Svi tipovi resursa | +- **Uloge** su **dodeljene** **principima** na **opsegu**: `principal -[HAS ROLE]->(scope)` +- **Uloge** dodeljene **grupama** se **nasleđuju** od svih **članova** grupe. +- U zavisnosti od opsega na koji je uloga dodeljena, **uloga** se može **naslediti** na **druge resurse** unutar kontejnera opsega. Na primer, ako korisnik A ima **ulogu na pretplati**, on će imati tu **ulogu na svim grupama resursa** unutar pretplate i na **svim resursima** unutar grupe resursa. ### Ugrađene uloge -[Iz dokumenata: ](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles)[Azure role-based access control (Azure RBAC)](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview) ima nekoliko Azure **ugrađenih uloga** koje možete **dodeliti** **korisnicima, grupama, servisnim principima i upravljanim identitetima**. Dodeljivanje uloga je način na koji kontrolišete **pristup Azure resursima**. Ako ugrađene uloge ne zadovoljavaju specifične potrebe vaše organizacije, možete kreirati svoje [**Azure prilagođene uloge**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles)**.** +[Iz dokumenata: ](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles)[Azure role-based access control (Azure RBAC)](https://learn.microsoft.com/en-us/azure/role-based-access-control/overview) ima nekoliko Azure **ugrađenih uloga** koje možete **dodeliti** **korisnicima, grupama, servisnim principima i upravljanim identitetima**. Dodeljivanje uloga je način na koji kontrolišete **pristup Azure resursima**. Ako ugrađene uloge ne zadovoljavaju specifične potrebe vaše organizacije, možete kreirati svoje [**Azure prilagođene uloge**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles). -**Ugrađene** uloge se primenjuju samo na **resurse** za koje su **namenjene**, na primer proverite ova 2 primera **ugrađenih uloga** nad Compute resursima: +**Ugrađene** uloge se primenjuju samo na **resurse** za koje su **namenjene**, na primer, proverite ova 2 primera **Ugrađenih uloga** nad resursima **Računara**: -| [Disk Backup Reader](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#disk-backup-reader) | Pruža dozvolu za backup vault da izvrši backup diska. | 3e5e47e6-65f7-47ef-90b5-e5dd4d455f24 | +| [Disk Backup Reader](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#disk-backup-reader) | Omogućava dozvolu za backup vault da izvrši backup diska. | 3e5e47e6-65f7-47ef-90b5-e5dd4d455f24 | | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------ | -| [Virtual Machine User Login](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-user-login) | Prikaz virtuelnih mašina u portalu i prijava kao običan korisnik. | fb879df8-f326-4884-b1cf-06f3ad86be52 | +| [Virtual Machine User Login](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#virtual-machine-user-login) | Prikazivanje virtuelnih mašina u portalu i prijavljivanje kao običan korisnik. | fb879df8-f326-4884-b1cf-06f3ad86be52 | -Ove uloge se **takođe mogu dodeliti nad logičkim kontejnerima** (kao što su grupe za upravljanje, pretplate i grupe resursa) i principi na koje utiču će ih imati **nad resursima unutar tih kontejnera**. +Ove uloge se **takođe mogu dodeliti nad logičkim kontejnerima** (kao što su grupe za upravljanje, pretplate i grupe resursa) i principi koji su pogođeni će ih imati **nad resursima unutar tih kontejnera**. - Pronađite ovde listu sa [**svim Azure ugrađenim ulogama**](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles). - Pronađite ovde listu sa [**svim Entra ID ugrađenim ulogama**](https://learn.microsoft.com/en-us/azure/active-directory/roles/permissions-reference). -### Prilagođene uloge +### Prilagođene Uloge - Takođe je moguće kreirati [**prilagođene uloge**](https://learn.microsoft.com/en-us/azure/role-based-access-control/custom-roles) - One se kreiraju unutar opsega, iako uloga može biti u više opsega (grupe za upravljanje, pretplate i grupe resursa) @@ -260,9 +254,9 @@ Ove uloge se **takođe mogu dodeliti nad logičkim kontejnerima** (kao što su g - Moguće je koristiti džoker znakove - Korišćeni format je JSON - `actions` se odnosi na dozvole za upravljačke operacije nad resursima, kao što su kreiranje, ažuriranje ili brisanje definicija i podešavanja resursa. -- `dataActions` su dozvole za operacije sa podacima unutar resursa, omogućavajući vam da čitate, pišete ili brišete stvarne podatke sadržane u resursu. -- `notActions` i `notDataActions` se koriste za isključivanje specifičnih dozvola iz uloge. Međutim, **ne negiraju ih**, ako neka druga uloga dodeljuje te dozvole, princip će ih imati. -- `assignableScopes` je niz opsega u kojima se uloga može dodeliti (kao što su grupe za upravljanje, pretplate ili grupe resursa). +- `dataActions` su dozvole za operacije podataka unutar resursa, omogućavajući vam da čitate, pišete ili brišete stvarne podatke sadržane u resursu. +- `notActions` i `notDataActions` se koriste za isključivanje specifičnih dozvola iz uloge. Međutim, **ne negiraju ih**, ako druga uloga dodeljuje te dozvole, princip će ih imati. +- `assignableScopes` je niz opsega gde se uloga može dodeliti (kao što su grupe za upravljanje, pretplate ili grupe resursa). Primer dozvola JSON za prilagođenu ulogu: ```json @@ -330,13 +324,13 @@ Azure Policies su **proaktivne**: mogu sprečiti kreiranje ili promenu neusklađ 1. **Policy Definition**: Pravilo, napisano u JSON-u, koje specificira šta je dozvoljeno ili zahtevano. 2. **Policy Assignment**: Primena politike na određeni opseg (npr. pretplata, grupa resursa). -3. **Initiatives**: Kolekcija politika grupisanih zajedno za širu primenu. +3. **Initiatives**: Skup politika grupisanih zajedno za širu primenu. 4. **Effect**: Specificira šta se dešava kada se politika aktivira (npr. "Deny," "Audit," ili "Append"). **Neki primeri:** -1. **Osiguranje usklađenosti sa specifičnim Azure regijama**: Ova politika osigurava da se svi resursi postavljaju u specifične Azure regije. Na primer, kompanija može želeti da osigura da su svi njeni podaci pohranjeni u Evropi radi usklađenosti sa GDPR-om. -2. **Sprovođenje standarda imenovanja**: Politike mogu sprovoditi konvencije imenovanja za Azure resurse. Ovo pomaže u organizaciji i lakom identifikovanju resursa na osnovu njihovih imena, što je korisno u velikim okruženjima. +1. **Osiguranje usklađenosti sa specifičnim Azure regijama**: Ova politika osigurava da se svi resursi postavljaju u specifične Azure regije. Na primer, kompanija može želeti da osigura da su svi njeni podaci smešteni u Evropi radi usklađenosti sa GDPR-om. +2. **Sprovođenje standarda imenovanja**: Politike mogu sprovoditi konvencije imenovanja za Azure resurse. Ovo pomaže u organizovanju i lakom identifikovanju resursa na osnovu njihovih imena, što je korisno u velikim okruženjima. 3. **Ograničavanje određenih tipova resursa**: Ova politika može ograničiti kreiranje određenih tipova resursa. Na primer, politika može biti postavljena da spreči kreiranje skupih tipova resursa, poput određenih veličina VM-a, kako bi se kontrolisali troškovi. 4. **Sprovođenje politika označavanja**: Oznake su parovi ključ-vrednost povezani sa Azure resursima koji se koriste za upravljanje resursima. Politike mogu sprovoditi da određene oznake moraju biti prisutne, ili imati specifične vrednosti, za sve resurse. Ovo je korisno za praćenje troškova, vlasništvo ili kategorizaciju resursa. 5. **Ograničavanje javnog pristupa resursima**: Politike mogu sprovoditi da određeni resursi, poput skladišnih naloga ili baza podataka, nemaju javne krajnje tačke, osiguravajući da su dostupni samo unutar mreže organizacije. @@ -366,7 +360,7 @@ Azure policy json example: U Azure **dozvole se mogu dodeliti bilo kojem delu hijerarhije**. To uključuje upravljačke grupe, pretplate, grupe resursa i pojedinačne resurse. Dozvole se **nasleđuju** od sadržanih **resursa** entiteta gde su dodeljene. -Ova hijerarhijska struktura omogućava efikasno i skalabilno upravljanje dozvolama za pristup. +Ova hijerarhijska struktura omogućava efikasno i skalabilno upravljanje dozvolama pristupa.
@@ -375,7 +369,7 @@ Ova hijerarhijska struktura omogućava efikasno i skalabilno upravljanje dozvola **RBAC** (kontrola pristupa zasnovana na rolama) je ono što smo već videli u prethodnim sekcijama: **Dodeljivanje uloge principalu kako bi mu se omogućio pristup** resursu.\ Međutim, u nekim slučajevima možda ćete želeti da obezbedite **fino podešeno upravljanje pristupom** ili **pojednostavite** upravljanje **stotinama** dodela uloga. -Azure **ABAC** (kontrola pristupa zasnovana na atributima) se oslanja na Azure RBAC dodavanjem **uslova dodele uloga zasnovanih na atributima** u kontekstu specifičnih akcija. _Uslov dodele uloge_ je **dodatna provera koju možete opcionalno dodati svojoj dodeli uloge** kako biste obezbedili fino podešeno upravljanje pristupom. Uslov filtrira dozvole dodeljene kao deo definicije uloge i dodele uloge. Na primer, možete **dodati uslov koji zahteva da objekat ima specifičnu oznaku da bi se pročitao objekat**.\ +Azure **ABAC** (kontrola pristupa zasnovana na atributima) se oslanja na Azure RBAC dodavanjem **uslova dodele uloga zasnovanih na atributima** u kontekstu specifičnih akcija. _Uslov dodele uloge_ je **dodatna provera koju možete opcionalno dodati svojoj dodeli uloge** kako biste obezbedili fino podešenu kontrolu pristupa. Uslov filtrira dozvole dodeljene kao deo definicije uloge i dodele uloge. Na primer, možete **dodati uslov koji zahteva da objekat ima specifičnu oznaku da bi se pročitao objekat**.\ Ne možete eksplicitno **odbiti** **pristup** specifičnim resursima **koristeći uslove**. ## Reference 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 3008da20e..ecf144370 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-azuread.md +++ b/src/pentesting-cloud/azure-security/az-services/az-azuread.md @@ -4,7 +4,7 @@ ## Osnovne informacije -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, obuhvatajući Microsoft 365, Azure portal i mnoštvo drugih SaaS aplikacija. Dizajn Azure AD se fokusira na pružanje osnovnih usluga identiteta, posebno uključujući **autentifikaciju, autorizaciju i upravljanje korisnicima**. +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 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. @@ -184,9 +184,9 @@ 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 po defaultu 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 može **blokirati tu aplikaciju** tako da korisnici ne mogu pristupiti 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 bi mogao da **blokira tu aplikaciju** kako korisnici ne bi mogli da pristupe 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**: ```bash @@ -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 **some condition**. 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 **neke uslove**. 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 suštini 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 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**.\ > 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 }} @@ -735,6 +735,13 @@ az ad app owner list --id --query "[].[displayName]" -o table az ad app list --show-mine # Get apps with generated secret or certificate az ad app list --query '[?length(keyCredentials) > `0` || length(passwordCredentials) > `0`].[displayName, appId, keyCredentials, passwordCredentials]' -o json +# Get Global Administrators (full access over apps) +az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/1b2256f9-46c1-4fc2-a125-5b2f51bb43b7/members" +# Get Application Administrators (full access over apps) +az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/1e92c3b7-2363-4826-93a6-7f7a5b53e7f9/members" +# Get Cloud Applications Administrators (full access over apps) +az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/0d601d27-7b9c-476f-8134-8e7cd6744f02/members" + ``` {{#endtab }} @@ -789,7 +796,7 @@ 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 traženja tokena je lozinka aplikacije.\ +> 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**.\ > 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).\ @@ -972,7 +979,7 @@ az rest --method GET \ ```bash # Dobijte sve dostupne šablone uloga Get-AzureADDirectoryroleTemplate -# Dobijte omogućene uloge (dodeljene uloge) +# Dobijte omogućene uloge (Dodeljene uloge) Get-AzureADDirectoryRole Get-AzureADDirectoryRole -ObjectId #Dobijte informacije o ulozi # Dobijte prilagođene uloge - koristite AzureAdPreview @@ -993,7 +1000,7 @@ Get-AzureADMSScopedRoleMembership -Id | fl * {{#tab name="az cli" }} ```bash -# Ако znate kako to da uradite, pošaljite PR! +# Ako znate kako to da uradite, pošaljite PR! ``` {{#endtab }}