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 c8c43e15a..eb02269a0 100644 --- a/src/pentesting-cloud/azure-security/az-services/az-azuread.md +++ b/src/pentesting-cloud/azure-security/az-services/az-azuread.md @@ -4,9 +4,9 @@ ## 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, 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**. +Azure Active Directory (Azure AD) je Microsoft-ova usluga zasnovana na oblaku za upravljanje identitetima i pristupom. Omogućava zaposlenima prijavu i pristup resursima, kako unutar, tako i izvan organizacije, uključujući Microsoft 365, Azure portal i mnoge druge SaaS aplikacije. Dizajn Azure AD-a fokusira se na pružanje ključnih usluga identiteta, posebno **authentication, authorization, and user management**. -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. +Ključne funkcionalnosti Azure AD uključuju **multi-factor authentication** i **conditional access**, uz integraciju sa drugim Microsoft security services. Ove karakteristike značajno pojačavaju bezbednost korisničkih identiteta i omogućavaju organizacijama da efikasno implementiraju i sprovode svoje politike pristupa. Kao osnovna komponenta ekosistema Microsoftovih cloud usluga, Azure AD je ključan za upravljanje korisničkim identitetima u oblaku. ## Enumeracija @@ -96,6 +96,7 @@ Connect-AzAccount -Credential $creds # Connect with access token Connect-AzAccount -AccountId test@corp.onmicrosoft.com [-AccessToken $ManagementToken] [-GraphAccessToken $AADGraphToken] [-MicrosoftGraphAccessToken $MicrosoftGraphToken] [-KeyVaultAccessToken $KeyVaultToken] +# If connecting with some metadata token, in "-AccountId" put the OID of the managed identity (get it from the JWT token) # Connect with Service principal/enterprise app secret $password = ConvertTo-SecureString 'KWEFNOIRFIPMWL.--DWPNVFI._EDWWEF_ADF~SODNFBWRBIF' -AsPlainText -Force @@ -184,11 +185,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 **login** putem **CLI** u **Azure** iz bilo kog programa, koristite **Azure Application** iz **tenant**-a koji pripada **Microsoft**. Te Applications, kao i one koje možete kreirati na svom nalogu, **have a client id**. Nećete moći da vidite sve od njih u **allowed applications lists** koje vidite u konzoli, **but they are allowed by default**. -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 script** koji se **authenticates** koristi aplikaciju sa client id **`1950a258-227b-4e31-a9cf-717495945fc2`**. Čak i ako aplikacija ne pojavljuje se u konzoli, sysadmin može **block that application** tako da korisnici ne mogu pristupiti koristeći alate koji se povezuju preko te App. -Međutim, postoje **drugi klijent-IDs** aplikacija koje **će vam omogućiti da se povežete na Azure**: +Međutim, postoje **other client-ids** aplikacija koje **will allow you to connect to Azure**: ```bash # The important part is the ClientId, which identifies the application to login inside Azure @@ -213,7 +214,7 @@ $token = Invoke-Authorize -Credential $credential ` -Verbose -Debug ` -InformationAction Continue ``` -### Tenants +### Tenanti {{#tabs }} {{#tab name="az cli" }} @@ -226,7 +227,7 @@ az account tenant list ### Korisnici -Za više informacija o Entra ID korisnicima pogledajte: +Za više informacija o korisnicima Entra ID-a pogledajte: {{#ref}} ../az-basic-information/ @@ -365,15 +366,15 @@ $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 MFA doda svakom korisniku, međutim, neke kompanije to neće postaviti ili će ga postaviti putem Conditional Access: korisniku će biti **zahtevan MFA ako** se prijavi sa određene lokacije, iz pregledača ili pod **nekim uslovom**. 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 {{#endref}} -### Groups +### Grupe -Za više informacija o Entra ID grupama proverite: +Za više informacija o Entra ID grupama pogledajte: {{#ref}} ../az-basic-information/ @@ -487,16 +488,16 @@ 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 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: +> Grupe mogu biti dinamičke, š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**, on može zloupotrebiti ovu funkciju da **se ubaci u druge grupe**.\ +> Pogledajte kako zloupotrebiti dynamic groups na sledećoj stranici: {{#ref}} ../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md {{#endref}} -### Service Principals +### Servisni principali -Za više informacija o Entra ID servisnim principalima proverite: +Za više informacija o Entra ID servisnim principalima pogledajte: {{#ref}} ../az-basic-information/ @@ -597,11 +598,11 @@ Get-AzureADServicePrincipal -ObjectId | Get-AzureADServicePrincipalMembersh {{#endtabs }} > [!WARNING] -> Vlasnik Service Principal-a može promeniti svoju lozinku. +> Owner Service Principal-a može promeniti njegovu lozinku.
-Lista i pokušaj dodavanja klijentske tajne na svaku Enterprise App +Navedite i pokušajte da dodate client secret na svaki Enterprise App ```bash # Just call Add-AzADAppSecret Function Add-AzADAppSecret @@ -708,16 +709,16 @@ Write-Output "Failed to Enumerate the Applications." ### Aplikacije -Za više informacija o Aplikacijama proverite: +Za više informacija o aplikacijama pogledajte: {{#ref}} ../az-basic-information/ {{#endref}} -Kada se aplikacija generiše, dodeljuju se 2 tipa dozvola: +Kada se App kreira, dodeljuju se 2 tipa dozvola: -- **Dozvole** dodeljene **Servisnom Principalu** -- **Dozvole** koje **aplikacija** može imati i koristiti **u ime korisnika**. +- **Dozvole** dodeljene **Service Principal**-u +- **Dozvole** koje **app** može imati i koristiti **u ime korisnika**. {{#tabs }} {{#tab name="az cli" }} @@ -742,6 +743,33 @@ az rest --method GET --url "https://graph.microsoft.com/v1.0/directoryRoles/1e92 # 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" +# Get "API Permissions" of an App +## Get the ResourceAppId +az ad app show --id "" --query "requiredResourceAccess" --output json +## e.g. +[ +{ +"resourceAccess": [ +{ +"id": "e1fe6dd8-ba31-4d61-89e7-88639da4683d", +"type": "Scope" +}, +{ +"id": "d07a8cc0-3d51-4b77-b3b0-32704d1f69fa", +"type": "Role" +} +], +"resourceAppId": "00000003-0000-0000-c000-000000000000" +} +] + +## For the perms of type "Scope" +az ad sp show --id --query "oauth2PermissionScopes[?id==''].value" -o tsv +az ad sp show --id "00000003-0000-0000-c000-000000000000" --query "oauth2PermissionScopes[?id=='e1fe6dd8-ba31-4d61-89e7-88639da4683d'].value" -o tsv + +## For the perms of type "Role" +az ad sp show --id --query "appRoles[?id==''].value" -o tsv +az ad sp show --id 00000003-0000-0000-c000-000000000000 --query "appRoles[?id=='d07a8cc0-3d51-4b77-b3b0-32704d1f69fa'].value" -o tsv ``` {{#endtab }} @@ -792,21 +820,21 @@ Get-AzureADApplication -ObjectId | Get-AzureADApplicationOwner |fl * {{#endtabs }} > [!WARNING] -> Aplikacija sa dozvolom **`AppRoleAssignment.ReadWrite`** može **povećati privilegije na Global Admin** dodeljujući sebi tu ulogu.\ -> Za više informacija [**proverite ovo**](https://posts.specterops.io/azure-privilege-escalation-via-azure-api-permissions-abuse-74aee1006f48). +> Aplikacija sa dozvolom **`AppRoleAssignment.ReadWrite`** može **eskalirati na Global Admin** dodeljivanjem sebi te uloge.\ +> For more information [**check this**](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.\ -> 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.** +> Tajni niz koji aplikacija koristi da dokaže svoj identitet pri zahtevanju tokena je lozinka aplikacije.\ +> Dakle, ako pronađete ovu **lozinku** možete pristupiti kao **service principal** **inside** **the tenant**.\ +> Imajte na umu da je ova lozinka vidljiva samo kada se generiše (možete je promeniti ali je ne možete ponovo dobiti).\ +> **Owner** **of** the **application** može **add a password** to it (so he can impersonate it).\ +> Logins as these service principals are **not marked as risky** and they **won't have MFA.** -Moguće je pronaći listu često korišćenih App ID-ova koji pripadaju Microsoft-u na [https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications](https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications) +It's possible to find a list of commonly used App IDs that belongs to Microsoft in [https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications](https://learn.microsoft.com/en-us/troubleshoot/entra/entra-id/governance/verify-first-party-apps-sign-in#application-ids-of-commonly-used-microsoft-applications) -### Managed Identities +### Upravljani identiteti -Za više informacija o Managed Identities proverite: +For more information about Managed Identities check: {{#ref}} ../az-basic-information/ @@ -909,9 +937,9 @@ Headers = @{ {{#endtab }} {{#endtabs }} -### Entra ID Uloge +### Uloge Entra ID-a -Za više informacija o Azure ulogama proverite: +Za više informacija o Azure ulogama pogledajte: {{#ref}} ../az-basic-information/ @@ -1032,8 +1060,8 @@ Get-AzureADMSAdministrativeUnit | where { Get-AzureADMSAdministrativeUnitMember {{#endtabs }} > [!WARNING] -> Ako je uređaj (VM) **AzureAD povezan**, korisnici iz AzureAD će moći da se **prijave**.\ -> Štaviše, ako je prijavljeni korisnik **Vlasnik** uređaja, on će biti **lokalni administrator**. +> Ako je uređaj (VM) **AzureAD joined**, korisnici iz AzureAD će moći da se **prijave**.\ +> Štaviše, ako je prijavljeni korisnik **Owner** uređaja, on će biti **lokalni administrator**. ### Administrativne jedinice @@ -1072,74 +1100,123 @@ Get-AzureADMSScopedRoleMembership -Id | fl #Get role ID and role members {{#endtab }} {{#endtabs }} -## Entra ID Eskalacija Privilegija +## Microsoft Graph delegated SharePoint data exfiltration (SharePointDumper) + +Napadači sa **delegated Microsoft Graph token** koji uključuje **`Sites.Read.All`** ili **`Sites.ReadWrite.All`** mogu da enumerišu **sites/drives/items** preko Graph-a i zatim da povuku sadržaj fajlova preko **SharePoint pre-authentication download URLs** (time-limited URLs koji ugrađuju access token). Skripta [SharePointDumper](https://github.com/zh54321/SharePointDumper) automatizuje ceo tok (enumeration → pre-auth downloads) i emituje telemetriju po zahtevu za testiranje detekcije. + +### Obtaining usable delegated tokens + +- SharePointDumper itself **does not authenticate**; supply an access token (optionally refresh token). +- Pre-consented **first-party clients** can be abused to mint a Graph token without registering an app. Example `Invoke-Auth` (from [EntraTokenAid](https://github.com/zh54321/EntraTokenAid)) invocations: +```powershell +# CAE requested by default; yields long-lived (~24h) access token +Import-Module ./EntraTokenAid/EntraTokenAid.psm1 +$tokens = Invoke-Auth -ClientID 'b26aadf8-566f-4478-926f-589f601d9c74' -RedirectUrl 'urn:ietf:wg:oauth:2.0:oob' # OneDrive (FOCI TRUE) + +# Other pre-consented clients +Invoke-Auth -ClientID '1fec8e78-bce4-4aaf-ab1b-5451cc387264' -RedirectUrl 'https://login.microsoftonline.com/common/oauth2/nativeclient' # Teams (FOCI TRUE) +Invoke-Auth -ClientID 'd326c1ce-6cc6-4de2-bebc-4591e5e13ef0' -RedirectUrl 'msauth://code/ms-sharepoint-auth%3A%2F%2Fcom.microsoft.sharepoint' # SharePoint (FOCI TRUE) +Invoke-Auth -ClientID '4765445b-32c6-49b0-83e6-1d93765276ca' -RedirectUrl 'https://scuprodprv.www.microsoft365.com/spalanding' -Origin 'https://doesnotmatter' # OfficeHome (FOCI FALSE) +Invoke-Auth -ClientID '08e18876-6177-487e-b8b5-cf950c1e598c' -RedirectUrl 'https://onedrive.cloud.microsoft/_forms/spfxsinglesignon.aspx' -Origin 'https://doesnotmatter' # SPO Web Extensibility (FOCI FALSE) +``` +> [!NOTE] +> FOCI TRUE klijenti podržavaju refresh across devices; FOCI FALSE klijenti često zahtevaju `-Origin` da bi zadovoljili validaciju porekla reply URL-a. + +### Pokretanje SharePointDumper za enumeration + exfiltration + +- Osnovni dump sa custom UA / proxy / throttling: +```powershell +.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -UserAgent "Not SharePointDumper" -RequestDelaySeconds 2 -Variation 3 -Proxy 'http://127.0.0.1:8080' +``` +- Kontrola opsega: uključivanje/isključivanje sajtova ili ekstenzija i globalna ograničenja: +```powershell +.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -IncludeSites 'Finance','Projects' -IncludeExtensions pdf,docx -MaxFiles 500 -MaxTotalSizeMB 100 +``` +- **Nastavi** prekinuta izvršavanja (ponovo nabraja ali preskače preuzete stavke): +```powershell +.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -Resume -OutputFolder .\20251121_1551_MyTenant +``` +- **Automatsko osvežavanje tokena pri HTTP 401** (zahteva da je EntraTokenAid učitan): +```powershell +Import-Module ./EntraTokenAid/EntraTokenAid.psm1 +.\Invoke-SharePointDumper.ps1 -AccessToken $tokens.access_token -RefreshToken $tokens.refresh_token -RefreshClientId 'b26aadf8-566f-4478-926f-589f601d9c74' +``` +Operativne beleške: + +- Preferira **CAE-enabled** tokene da bi se izbeglo istekanje tokom izvršavanja; pokušaji osvežavanja **nisu** logovani u API logu alata. +- Generiše **CSV/JSON request logs** za **Graph + SharePoint** i podrazumevano cenzuriše ugrađene SharePoint download tokene (moguće uključiti/isključiti). +- Podržava **custom User-Agent**, **HTTP proxy**, **per-request delay + jitter**, i **Ctrl+C-safe shutdown** za oblikovanje saobraćaja tokom detection/IR testova. + +## Entra ID Privilege Escalation {{#ref}} ../az-privilege-escalation/az-entraid-privesc/ {{#endref}} -## Azure Eskalacija Privilegija +## Azure Privilege Escalation {{#ref}} ../az-privilege-escalation/az-authorization-privesc.md {{#endref}} -## Odbrambeni Mehanizmi +## Odbrambeni mehanizmi -### Upravljanje Privilegovanim Identitetima (PIM) +### Privileged Identity Management (PIM) -Upravljanje Privilegovanim Identitetima (PIM) u Azure pomaže da se **spreči dodeljivanje prekomernih privilegija** korisnicima nepotrebno. +Privileged Identity Management (PIM) u Azure pomaže da se **spreči dodela prekomernih privilegija** korisnicima bez potrebe. -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 **prolongira** vreme. +Jedna od glavnih funkcionalnosti koje PIM pruža je što omogućava da se uloge ne dodeljuju principalima koji su stalno aktivni, već da ih učini **eligible za određeni vremenski period (npr. 6 meseci)**. Zatim, kad god korisnik želi da aktivira tu ulogu, mora da zatraži nju i navede vreme koliko mu treba privilegija (npr. 3 sata). Nakon toga **administratorska osoba mora da odobri** zahtev.\ +Napomena: korisnik takođe može da zatraži i **produženje** vremena. -Pored toga, **PIM šalje emailove** svaki put kada se privilegovana uloga dodeljuje nekome. +Pored toga, **PIM šalje mejlove** kad god se privilegovana uloga dodeli nekom korisniku.
-Kada je PIM omogućen, moguće je konfigurisati svaku ulogu sa određenim zahtevima kao što su: +Kada je PIM omogućen moguće je konfigurisati svaku ulogu sa određenim zahtevima kao što su: - Maksimalno trajanje (sati) aktivacije -- 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 +- Require MFA on activation +- Require Conditional Access authentication context +- Require justification on activation +- Require ticket information on activation +- Require approval to activate +- Max time to expire the elegible assignments +- Mnogo više opcija za konfigurisanje kada i kome se šalju obaveštenja kad se dogode određene akcije vezane za tu ulogu -### Politike Uslovnog Pristupa +### Conditional Access Policies -Proverite: +Check: {{#ref}} ../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md {{#endref}} -### Entra Zaštita Identiteta +### Entra Identity Protection -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. +Entra Identity Protection je bezbednosna usluga koja omogućava da se **otkrije kada je korisnik ili prijava previše rizična** da bi bila prihvaćena, omogućavajući da se **blokira** korisnik ili pokušaj prijave. -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**: +Omogućava administratoru da je konfiguriše da **blokira** pokušaje kada je rizik "Low and above", "Medium and above" ili "High". Ipak, podrazumevano je potpuno **onemogućena**:
> [!TIP] -> Danas se preporučuje dodavanje ovih ograničenja putem politika uslovnog pristupa gde je moguće konfigurisati iste opcije. +> Danas se preporučuje dodavanje ovih ograničenja putem Conditional Access politika gde je moguće konfigurisati iste opcije. -### Entra Zaštita Lozinki +### Entra Password Protection -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. +Entra Password Protection ([https://portal.azure.com/index.html#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade](https://portal.azure.com/#view/Microsoft_AAD_ConditionalAccess/PasswordProtectionBlade)) je bezbednosna funkcionalnost koja **pomaže da se spreči zloupotreba slabih lozinki tako što zaključava naloge kada se dogodi više neuspešnih pokušaja prijave**.\ +Takođe omogućava da se **zabranjuje prilagođena lista lozinki** koju morate dostaviti. -Može se **primeniti i** na nivou oblaka i na lokalnom Active Directory-ju. +Može se **primeniti i u cloud-u i na on-premises Active Directory**. -Podrazumevani režim je **Revizija**: +Podrazumevani režim je **Audit**:
-## Reference +## References - [https://learn.microsoft.com/en-us/azure/active-directory/roles/administrative-units](https://learn.microsoft.com/en-us/azure/active-directory/roles/administrative-units) +- [SharePointDumper](https://github.com/zh54321/SharePointDumper) +- [EntraTokenAid](https://github.com/zh54321/EntraTokenAid) {{#include ../../../banners/hacktricks-training.md}}