mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-04 19:11:41 -08:00
Translated ['src/pentesting-cloud/azure-security/README.md', 'src/pentes
This commit is contained in:
@@ -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\<username>\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\<username>\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
|
||||
|
||||
<figure><img src="../../images/image (268).png" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
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 "<RoleDefinitionId>").Actions`**.
|
||||
Zatim, da biste dobili granularne dozvole, možete pokrenuti **`(Get-AzRoleDefinition -Id "<RoleDefinitionId>").Actions`**.
|
||||
|
||||
Ili pozvati API direktno sa **`az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?api-version=2020-08-01-preview" | jq ".properties"`**.
|
||||
Ili pozovite API direktno sa **`az rest --method GET --uri "https://management.azure.com//subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<RoleDefinitionId>?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/
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 <group_id> -RefObjectId <user_id> -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 <id> | Get-AzureADServicePrincipalMembersh
|
||||
{{#endtabs }}
|
||||
|
||||
> [!WARNING]
|
||||
> Vlasnik Service Principal-a može promeniti svoju lozinku.
|
||||
> Vlasnik Servisnog Principala može promeniti svoju lozinku.
|
||||
|
||||
<details>
|
||||
|
||||
<summary>Lista i pokušaj dodavanja klijentske tajne na svaku Enterprise App</summary>
|
||||
<summary>Lista i pokušaj dodavanja klijentske tajne na svaku Preduzetničku Aplikaciju</summary>
|
||||
```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 <id> | 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 <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 <a href="#title-text" id="title-text"></a>
|
||||
### 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 <a href="#title-text" id="title-text"></a>
|
||||
### 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.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user