From f82b0b86d2206ad7dd214cd444e9ef33ba462807 Mon Sep 17 00:00:00 2001 From: Translator Date: Sun, 26 Jan 2025 15:10:21 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/README.md', 'src/pentes --- src/pentesting-cloud/azure-security/README.md | 52 +++++++++++-------- .../azure-security/az-persistence/README.md | 8 +-- .../azure-security/az-services/az-azuread.md | 28 +++++----- 3 files changed, 47 insertions(+), 41 deletions(-) diff --git a/src/pentesting-cloud/azure-security/README.md b/src/pentesting-cloud/azure-security/README.md index 49082e5b5..ee76e77f6 100644 --- a/src/pentesting-cloud/azure-security/README.md +++ b/src/pentesting-cloud/azure-security/README.md @@ -16,7 +16,7 @@ Da biste auditovali AZURE okruženje, veoma je važno znati: koje **usluge se ko Iz perspektive Red Teama, **prvi korak za kompromitovanje Azure okruženja** je da se uspe da se dobije neki **foothold**. -### Eksterna enumeracija & Početni pristup +### Eksterna enumeracija i inicijalni pristup Prvi korak je, naravno, da se enumerišu informacije o tenant-u koji napadate i pokušate da dobijete foothold. @@ -29,8 +29,8 @@ az-unauthenticated-enum-and-initial-entry/ {{#endref}} Sa ovim informacijama, najčešći načini da pokušate da dobijete foothold su: -- **OSINT**: Proverite za **leak-ove** na Github-u ili bilo kojoj drugoj otvorenoj platformi koja bi mogla sadržati **akreditive** ili zanimljive informacije. -- **Ponovno korišćenje** lozinki, leak-ovi ili [password spraying](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md) +- **OSINT**: Proverite za **leakove** na Github-u ili bilo kojoj drugoj otvorenoj platformi koja bi mogla sadržati **akreditive** ili zanimljive informacije. +- **Ponovna upotreba lozinki**, leakovi ili [password spraying](az-unauthenticated-enum-and-initial-entry/az-password-spraying.md) - Kupovina akreditiva od zaposlenog - [**Uobičajeni phishing**](https://book.hacktricks.wiki/en/generic-methodologies-and-resources/phishing-methodology/index.html) (akreditivi ili Oauth aplikacija) - [Phishing putem Device Code Authentication](az-unauthenticated-enum-and-initial-entry/az-device-code-authentication-phishing.md) @@ -48,11 +48,11 @@ Sa ovim informacijama, najčešći načini da pokušate da dobijete foothold su: - **`service_principal_entries.bin`** i msal_token_cache.bin se koriste na Windows-u i su enkriptovani sa DPAPI - **`msal_http_cache.bin`** je keš HTTP zahteva - Učitajte ga: `with open("msal_http_cache.bin", 'rb') as f: pickle.load(f)` -- **`AzureRmContext.json`** sadrži informacije o prethodnim prijavama koristeći Az PowerShell (ali ne i akreditive) +- **`AzureRmContext.json`** sadrži informacije o prethodnim prijavama koristeći Az PowerShell (ali ne akreditive) - Unutar **`C:\Users\\AppData\Local\Microsoft\IdentityCache\*`** se nalaze nekoliko `.bin` fajlova sa **pristupnim tokenima**, ID tokenima i informacijama o nalogu enkriptovanim sa korisnikovim DPAPI. - Moguće je pronaći više **pristupnih tokena** u `.tbres` fajlovima unutar **`C:\Users\\AppData\Local\Microsoft\TokenBroken\Cache\`** koji sadrže base64 enkriptovane sa DPAPI pristupne tokene. -- Na Linux-u i macOS-u možete dobiti **pristupne tokene, tokene za osvežavanje i id tokene** iz Az PowerShell-a (ako se koristi) pokretanjem `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"` -- Na Windows-u ovo samo generiše id tokene. +- Na Linux-u i macOS-u možete dobiti **pristupne tokene, tokene za osvežavanje i ID tokene** iz Az PowerShell-a (ako se koristi) pokretanjem `pwsh -Command "Save-AzContext -Path /tmp/az-context.json"` +- Na Windows-u ovo samo generiše ID tokene. - Moguće je videti da li je Az PowerShell korišćen na Linux-u i macOS-u proverom da li `$HOME/.local/share/.IdentityService/` postoji (iako su sadržani fajlovi prazni i beskorisni) Pronađite **druge pogrešne konfiguracije Azure usluga** koje mogu dovesti do foothold-a na sledećoj stranici: @@ -64,28 +64,34 @@ az-unauthenticated-enum-and-initial-entry/ > [!NOTE] > Zapamtite da je obično **najbučniji** deo enumeracije **prijava**, a ne sama enumeracija. -### Azure & Entra ID alati +### Azure i Entra ID alati -Sledeći alati će biti veoma korisni za enumeraciju kako Entra ID tenant-a tako i Azure okruženja polako (da izbegnete detekciju) ili automatski (da uštedite vreme): +Sledeći alati će biti veoma korisni za enumeraciju kako Entra ID tenant-a tako i Azure okruženja polako (da bi se izbegla detekcija) ili automatski (da bi se uštedelo vreme): {{#ref}} az-enumeration-tools.md {{#endref}} -### Obilaženje uslova prijave +### Obilaženje pristupnih politika
-U slučajevima kada imate neke validne akreditive, ali ne možete da se prijavite, ovo su neka uobičajena zaštitna sredstva koja bi mogla biti na snazi: +U slučajevima kada imate neke validne akreditive, ali ne možete da se prijavite, ovo su neke uobičajene zaštite koje bi mogle biti na snazi: - **IP beljenje** -- Morate kompromitovati validan IP - **Geo ograničenja** -- Pronađite gde korisnik živi ili gde su kancelarije kompanije i dobijete IP iz istog grada (ili barem iz iste zemlje) - **Pregledač** -- Možda je dozvoljen samo pregledač iz određenog OS-a (Windows, Linux, Mac, Android, iOS). Saznajte koji OS koristi žrtva/kompanija. -- Takođe možete pokušati da **kompromitujete akreditive Service Principal-a** jer su obično manje ograničeni i njihova prijava se manje proverava +- Takođe možete pokušati da **kompromitujete akreditive Service Principal-a** jer su obično manje ograničeni i njihova prijava se manje pregledava -Nakon obilaženja, možda ćete moći da se vratite na svoju početnu postavku i još uvek imati pristup. +Nakon obilaženja, možda ćete moći da se vratite na svoju inicijalnu postavku i i dalje imati pristup. -### Whoami +Proverite: + +{{#ref}} +az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md +{{#endref}} + +### Ko sam ja > [!CAUTION] > Naučite **kako da instalirate** az cli, AzureAD i Az PowerShell u [**Az - Entra ID**](az-services/az-azuread.md) sekciji. @@ -135,7 +141,7 @@ Get-AzureADTenantDetail {{#endtabs }} -### Entra ID Enumeracija i Eskalacija Privilegija +### Entra ID Enumeracija i Privesc Po defaultu, svaki korisnik bi trebao imati **dovoljno dozvola da enumeriše** stvari kao što su korisnici, grupe, uloge, servisni principi... (proverite [default AzureAD permissions](az-basic-information/index.html#default-user-permissions)).\ Ovde možete pronaći vodič: @@ -151,9 +157,9 @@ az-enumeration-tools.md#automated-post-exploitation-tools {{#endref}} -### Enumeracija Azure Servisa +### Azure Enumeracija -Kada znate ko ste, možete početi da enumerišete **Azure servise kojima imate pristup**. +Kada znate ko ste, možete početi da enumerišete **Azure usluge kojima imate pristup**. Trebalo bi da počnete da otkrivate **dozvole koje imate** nad resursima. Za to: @@ -175,34 +181,34 @@ Takođe je moguće dobiti ove informacije pokretanjem **`az rest --method GET -- 3. **Pronađite granularne dozvole uloga koje su vam dodeljene**: -Zatim, da dobijete granularne dozvole možete pokrenuti **`(Get-AzRoleDefinition -Id "").Actions`**. +Zatim, da biste dobili granularne dozvole, možete pokrenuti **`(Get-AzRoleDefinition -Id "").Actions`**. -Ili pozvati API direktno sa **`az rest --method GET --uri "https://management.azure.com//subscriptions//providers/Microsoft.Authorization/roleDefinitions/?api-version=2020-08-01-preview" | jq ".properties"`**. +Ili pozovite API direktno sa **`az rest --method GET --uri "https://management.azure.com//subscriptions//providers/Microsoft.Authorization/roleDefinitions/?api-version=2020-08-01-preview" | jq ".properties"`**. -U sledećem odeljku možete pronaći **informacije o najčešćim Azure servisima i kako ih enumerisati**: +U sledećem odeljku možete pronaći **informacije o najčešćim Azure uslugama i kako ih enumerisati**: {{#ref}} az-services/ {{#endref}} -### Eskalacija Privilegija, Post-Exploitation i Održavanje Persistencije u Azure Servisima +### Eskalacija privilegija, Post-Exploitation i Persistencija Kada znate kako je Azure okruženje strukturirano i koje se usluge koriste, možete početi da tražite načine za **eskalaciju privilegija, lateralno kretanje, izvođenje drugih post-exploitation napada i održavanje persistencije**. -U sledećem odeljku možete pronaći informacije o tome kako eskalirati privilegije u najčešćim Azure servisima: +U sledećem odeljku možete pronaći informacije o tome kako eskalirati privilegije u najčešćim Azure uslugama: {{#ref}} az-privilege-escalation/ {{#endref}} -U sledećem možete pronaći informacije o tome kako izvesti post-exploitation napade u najčešćim Azure servisima: +U sledećem možete pronaći informacije o tome kako izvesti post-exploitation napade u najčešćim Azure uslugama: {{#ref}} az-post-exploitation/ {{#endref}} -U sledećem možete pronaći informacije o tome kako održati persistenciju u najčešćim Azure servisima: +U sledećem možete pronaći informacije o tome kako održati persistenciju u najčešćim Azure uslugama: {{#ref}} az-persistence/ diff --git a/src/pentesting-cloud/azure-security/az-persistence/README.md b/src/pentesting-cloud/azure-security/az-persistence/README.md index 95e12c84c..bb72e13a3 100644 --- a/src/pentesting-cloud/azure-security/az-persistence/README.md +++ b/src/pentesting-cloud/azure-security/az-persistence/README.md @@ -2,19 +2,19 @@ {{#include ../../../banners/hacktricks-training.md}} -### Illicit Consent Grant +### OAuth Application -Podrazumevano, svaki korisnik može registrovati aplikaciju u Azure AD. Tako možete registrovati aplikaciju (samo za ciljni tenant) koja zahteva visoke dozvole sa admin pristankom (odobrite je ako ste admin) - kao što je slanje maila u ime korisnika, upravljanje rolama itd. Ovo će nam omogućiti da **izvršimo phishing napade** koji bi bili veoma **plodonosni** u slučaju uspeha. +Podrazumevano, svaki korisnik može registrovati aplikaciju u Entra ID. Tako možete registrovati aplikaciju (samo za ciljni tenant) koja zahteva visoke dozvole sa odobrenjem administratora (odobrite je ako ste administrator) - kao što je slanje maila u ime korisnika, upravljanje rolama itd. Ovo će nam omogućiti da **izvršimo phishing napade** koji bi bili veoma **plodonosni** u slučaju uspeha. Pored toga, mogli biste takođe prihvatiti tu aplikaciju sa vašim korisnikom kao način da zadržite pristup nad njom. ### Applications and Service Principals -Sa privilegijama Application Administrator, GA ili prilagođenom ulogom sa microsoft.directory/applications/credentials/update dozvolama, možemo dodati kredencijale (tajni ključ ili sertifikat) postojećoj aplikaciji. +Sa privilegijama Administratora aplikacija, GA ili prilagođenom ulogom sa microsoft.directory/applications/credentials/update dozvolama, možemo dodati akreditive (tajni ključ ili sertifikat) postojećoj aplikaciji. Moguće je **ciljati aplikaciju sa visokim dozvolama** ili **dodati novu aplikaciju** sa visokim dozvolama. -Zanimljiva uloga koju bi trebalo dodati aplikaciji bila bi **Privileged authentication administrator role** jer omogućava **resetovanje lozinke** Globalnim Administratorima. +Zanimljiva uloga koju bi trebalo dodati aplikaciji bila bi **Uloga privilegovanog administratora za autentifikaciju** jer omogućava **resetovanje lozinke** Globalnim Administratorima. Ova tehnika takođe omogućava **obići MFA**. ```bash 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 a4f435c20..5bb02d0e2 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, 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) 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 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. @@ -158,7 +158,7 @@ Connect-AzureAD -AccountId test@corp.onmicrosoft.com -AadAccessToken $token 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 pristupe 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 pristupaju 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 @@ -412,9 +412,9 @@ Add-AzureADGroupMember -ObjectId -RefObjectId -Verbose ../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md {{#endref}} -### Servisni Principali +### Service Principals -Za više informacija o Entra ID servisnim principalima, proverite: +Za više informacija o Entra ID servisnim principalima proverite: {{#ref}} ../az-basic-information/ @@ -491,11 +491,11 @@ Get-AzureADServicePrincipal -ObjectId | Get-AzureADServicePrincipalMembersh {{#endtabs }} > [!WARNING] -> Vlasnik Service Principal-a može promeniti svoju lozinku. +> Vlasnik Servisnog Principala može promeniti svoju lozinku.
-Lista i pokušaj dodavanja klijentske tajne na svaku Enterprise App +Lista i pokušaj dodavanja klijentske tajne na svaku Preduzetničku Aplikaciju ```bash # Just call Add-AzADAppSecret Function Add-AzADAppSecret @@ -602,7 +602,7 @@ Write-Output "Failed to Enumerate the Applications." ### Aplikacije -Za više informacija o Aplikacijama pogledajte: +Za više informacija o Aplikacijama proverite: {{#ref}} ../az-basic-information/ @@ -610,7 +610,7 @@ Za više informacija o Aplikacijama pogledajte: Kada se aplikacija generiše, dodeljuju se 2 tipa dozvola: -- **Dozvole** dodeljene **Servisnom Principalu** +- **Dozvole** dodeljene **Servisnom Principal** - **Dozvole** koje **aplikacija** može imati i koristiti **u ime korisnika**. {{#tabs }} @@ -664,8 +664,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.** @@ -754,7 +754,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/ @@ -916,7 +916,7 @@ Get-AzureADMSScopedRoleMembership -Id | fl #Get role ID and role members Upravljanje Privilegovanim Identitetima (PIM) u Azure pomaže da se **spreči dodeljivanje 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. +Napomena: korisnik će takođe moći da zatraži da se **produži** vreme. Pored toga, **PIM šalje emailove** svaki put kada se privilegovana uloga dodeljuje nekome. @@ -933,7 +933,7 @@ Kada je PIM omogućen, moguće je konfigurisati svaku ulogu sa određenim zahtev - 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 -### Politike Uslovnog Pristupa +### Politike Uslovnog Pristupa Proverite: @@ -941,7 +941,7 @@ Proverite: ../az-privilege-escalation/az-entraid-privesc/az-conditional-access-policies-mfa-bypass.md {{#endref}} -### Entra Zaštita Identiteta +### 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.