Azure Pentesting
JOŠ UVEK GRADIM AZURE METODOLOGIJU
Osnovne informacije
Az - Basic InformationAzure Testiranje penetracije/Crveni tim metodologija
Da biste izvršili reviziju AZURE okruženja, veoma je važno znati: koje usluge se koriste, šta je izloženo, ko ima pristup čemu, i kako su interni Azure servisi i spoljni servisi povezani.
Sa stanovišta Crvenog tima, prvi korak ka kompromitovanju Azure okruženja je uspeh u dobijanju nekih poverljivih podataka za Azure AD. Evo nekih ideja kako to postići:
Curenja u github-u (ili slično) - OSINT
Društveno inženjerstvo
Ponovna upotreba lozinke (curenje lozinki)
Ranjivosti u Azure-hostovanim aplikacijama
Server Side Request Forgery sa pristupom tački metapodataka
Čitanje lokalnih fajlova
/home/USERNAME/.azure
C:\Users\USERNAME\.azure
Fajl
accessTokens.json
uaz cli
pre 2.30 - Jan2022 - čuva poverljive podatke u čistom tekstuFajl
azureProfile.json
sadrži informacije o prijavljenom korisniku.az logout
uklanja token.Starije verzije
Az PowerShell
čuvaju poverljive podatke u čistom tekstu uTokenCache.dat
. Takođe čuva ServicePrincipalSecret u čistom tekstu uAzureRmContext.json
. KomandaSave-AzContext
može se koristiti za čuvanje tokena. KoristiteDisconnect-AzAccount
za njihovo uklanjanje.lica su hakovana
Interni zaposleni
Uobičajeno ribarenje (poverljivi podaci ili Oauth aplikacija)
Čak i ako niste kompromitovali nijednog korisnika unutar Azure zakupca kojeg napadate, možete prikupiti neke informacije od njega:
Az - Unauthenticated Enum & Initial EntryNakon što ste uspeli da dobijete poverljive podatke, potrebno je znati kome ti podaci pripadaju, i na šta imaju pristup, stoga morate izvršiti osnovnu enumeraciju:
Osnovna enumeracija
Zapamtite da je najglasniji deo enumeracije prijava, a ne sama enumeracija.
SSRF
Ako pronađete SSRF na mašini unutar Azure, proverite ovu stranicu za trikove:
Bypass Uslova Prijave
U slučajevima kada imate validne poverljive podatke ali ne možete se prijaviti, ovo su neke uobičajene zaštite koje mogu biti na snazi:
IP bela lista -- Morate kompromitovati validnu IP adresu
Geografska ograničenja -- Pronađite gde korisnik živi ili gde su kancelarije kompanije i dobijte IP adresu iz istog grada (ili barem države)
Pregledač -- Možda je dozvoljen samo pregledač sa određenim OS (Windows, Linux, Mac, Android, iOS). Otkrijte koji OS koristi žrtva/kompanija.
Takođe možete pokušati da kompromitujete poverljive podatke servisnog principala jer su obično manje ograničeni i njihova prijava se manje pregleda
Nakon što ih zaobiđete, možda ćete moći da se vratite na početno podešavanje i i dalje imate pristup.
Preuzimanje poddomena
Ko sam ja
Naučite kako da instalirate az cli, AzureAD i Az PowerShell u odeljku Az - AzureAD.
Jedna od prvih stvari koje treba da znate je ko ste (u kojem okruženju se nalazite):
Uvod
U ovom odeljku ćemo istražiti nekoliko tehnika koje se mogu koristiti za testiranje bezbednosti Azure Active Directory (AzureAD).
Pass-the-Hash napad
Pass-the-Hash napad je tehnika koja omogućava napadaču da koristi hash lozinke umesto stvarne lozinke za autentikaciju na sistemu. Ovo može biti efikasna tehnika za zaobilaženje zaštite lozinki i dobijanje pristupa sistemu.
Brute Force napad
Brute Force napad je tehnika u kojoj napadač pokušava sve moguće kombinacije lozinki kako bi pronašao ispravnu lozinku i dobio pristup nalogu. Ovo može biti efikasan način za probijanje slabih lozinki.
Phishing napad
Phishing napad je tehnika socijalnog inženjeringa koja podrazumeva slanje lažnih e-pošti ili poruka kako bi se korisnici doveli u zabludu da otkriju svoje lozinke ili druge osetljive informacije. Ovo može biti efikasan način za krađu pristupnih podataka.
Zaključak
AzureAD može biti meta različitih vrsta napada, uključujući Pass-the-Hash, Brute Force i Phishing napade. Važno je redovno testirati bezbednost AzureAD kako bi se identifikovale potencijalne ranjivosti i preduzele odgovarajuće mere zaštite.
Az PowerShell
Az PowerShell modul je zvanični PowerShell modul za interakciju sa Azure-om. Omogućava izvršavanje različitih operacija u okviru Azure-a korišćenjem PowerShell skripti.
Instalacija
Az PowerShell modul se može instalirati korišćenjem PowerShellGet modula. Evo kako možete instalirati Az PowerShell modul:
Autentikacija
Da biste se autentikovali koristeći Az PowerShell modul, možete koristiti sledeću komandu:
Ova komanda će vas uputiti da se prijavite koristeći prozor za prijavu koji će se otvoriti u vašem web pregledaču.
Primeri korišćenja
Evo nekoliko primera kako možete koristiti Az PowerShell modul:
Prikaz svih resursnih grupa:
Kreiranje nove resursne grupe:
Brisanje resursne grupe:
Ovo su samo neki od primera kako možete koristiti Az PowerShell modul za upravljanje Azure resursima.
Jedna od najvažnijih komandi za enumeraciju Azure-a je Get-AzResource
iz Az PowerShell-a jer vam omogućava da saznate resurse koje vaš trenutni korisnik može da vidi.
Iste informacije možete dobiti i u web konzoli odlaskom na https://portal.azure.com/#view/HubsExtension/BrowseAll ili pretragom "All resources".
AzureAD Enumeracija
Podrazumevano, svaki korisnik bi trebalo da ima dovoljno dozvola za enumeraciju stvari poput korisnika, grupa, uloga, servisnih principala... (proverite podrazumevane AzureAD dozvole). Ovde možete pronaći vodič:
Az - AzureAD (AAD)Sada kada imate neke informacije o svojim akreditivima (i ako ste deo crvenog tima, nadamo se da niste otkriveni), vreme je da saznate koje usluge se koriste u okruženju. U sledećem odeljku možete proveriti neke načine za enumeraciju nekih uobičajenih usluga.
Servisni princip i Politika pristupa
Azure servis može imati Identitet sistema (samog servisa) ili koristiti dodeljeni identitet upravljanih korisnika. Ovaj Identitet može imati Politiku pristupa, na primer, KeyVault-u za čitanje tajni. Ove Politike pristupa trebalo bi da budu ograničene (princip najmanjih privilegija), ali mogu imati više dozvola nego što je potrebno. Tipično, App Service bi koristio KeyVault za dobijanje tajni i sertifikata.
Stoga je korisno istražiti ove identitete.
App Service SCM
Kudu konzola za prijavljivanje na App Service 'kontejner'.
Webshell
Koristite portal.azure.com i izaberite shell, ili koristite shell.azure.com, za bash ili powershell. 'Disk' ovog šella se čuva kao slikovna datoteka u storage nalogu.
Azure DevOps
Azure DevOps je odvojen od Azure-a. Ima repozitorijume, tokove (yaml ili izdanje), table, wiki i još mnogo toga. Grupi promenljivih se koriste za čuvanje vrednosti promenljivih i tajni.
Automatizovani alati za istraživanje
Last updated