Azure Pentesting
Last updated
Last updated
Om 'n AZURE-omgewing te oudit, is dit baie belangrik om te weet: watter diensse word gebruik, wat blootgestel word, wie het toegang tot wat, en hoe is interne Azure-diensse en eksterne diensse gekoppel.
Vanuit 'n Red Team-oogpunt is die eerste stap om 'n Azure-omgewing te kompromitteer om te slaag om sekere geldeenhede vir Azure AD te verkry. Hier het jy 'n paar idees oor hoe om dit te doen:
Lekke in github (of soortgelyk) - OSINT
Sosiale Ingenieurswese
Wagwoord hergebruik (wagwoordlek)
Kwesbaarhede in Azure-gehoste Aansoeke
Bedienerkant Aanvraagvervalsing met toegang tot meta-data-eindpunt
Plaaslike Lêes van Lêers
/home/USERNAME/.azure
C:\Users\USERNAME\.azure
Die lêer accessTokens.json
in az cli
voor 2.30 - Jan2022 - het toegangsgeldeenhede in die teks gestoor
Die lêer azureProfile.json
bevat inligting oor die aangemelde gebruiker.
az logout
verwyder die geldeenheid.
Ouer weergawes van Az PowerShell
het toegangsgeldeenhede in teks in TokenCache.dat
gestoor. Dit stoor ook ServicePrincipalSecret in teks in AzureRmContext.json
. Die cmdlet Save-AzContext
kan gebruik word om geldeenhede te stoor.
Gebruik Disconnect-AzAccount
om hulle te verwyder.
3de partye geskend
Interne Werknemer
Gewone Hengel (geldeenhede of Oauth-toep)
Selfs as jy geen gebruiker binne die Azure-huurder wat jy aanval, gekompromitteer het nie, kan jy steeds inligting daaroor versamel:
Nadat jy daarin geslaag het om geldeenhede te verkry, moet jy weet aan wie daardie geldeenhede behoort, en waartoe hulle toegang het, sodat jy 'n paar basiese opname kan doen:
Onthou dat die lawaaierigste deel van die opname die aanmelding is, nie die opname self nie.
As jy 'n SSRF in 'n masjien binne Azure gevind het, kyk na hierdie bladsy vir truuks:
In gevalle waar jy enkele geldige geldeenhede het, maar nie kan aanmeld nie, is hierdie algemene beskermingsmaatreëls wat van toepassing kan wees:
IP-witlysing -- Jy moet 'n geldige IP kompromitteer
Geo-beperkings -- Vind uit waar die gebruiker woon of waar die maatskappy se kantore is en kry 'n IP van dieselfde stad (of ten minste dieselfde land)
Blaaier -- Miskien is slegs 'n blaaier van 'n sekere bedryfstelsel (Windows, Linux, Mac, Android, iOS) toegelaat. Vind uit watter bedryfstelsel die slagoffer/maatskappy gebruik.
Jy kan ook probeer om Service Principal-geldeenhede te kompromitteer aangesien hulle gewoonlik minder beperk is en hul aanmelding minder hersien word
Nadat jy dit omseil het, kan jy dalk terugkeer na jou aanvanklike opstelling en steeds toegang hê.
Leer hoe om az cli, AzureAD en Az PowerShell te installeer in die Az - AzureAD afdeling.
Een van die eerste dinge wat jy moet weet, is wie jy is (in watter omgewing jy is):
Identifying Azure AD Users
To identify Azure AD users, you can use various techniques such as:
Enumerating users through the Azure AD Graph API
Extracting user information from leaked documents or databases
Harvesting email addresses from public sources or company websites
Enumerating Azure AD Groups
To enumerate Azure AD groups, you can:
Use the Azure AD Graph API to list all groups
Extract group information from leaked data or documents
Search for group names on public platforms or forums
Exploiting Azure AD Misconfigurations
Common misconfigurations in Azure AD that can be exploited include:
Weak or default passwords for user accounts
Improperly configured group permissions
Lack of multi-factor authentication for sensitive accounts
Attacking Azure AD Connect
Azure AD Connect can be targeted by:
Exploiting vulnerabilities in the synchronization process
Gaining access to the Azure AD Connect server
Manipulating synchronization rules to achieve unauthorized access
Bypassing Azure AD Security Controls
To bypass Azure AD security controls, attackers may:
Use password spraying or brute force attacks
Exploit weaknesses in conditional access policies
Abuse privileged roles or misconfigured permissions
Escalating Privileges in Azure AD
Privilege escalation in Azure AD can be achieved by:
Exploiting vulnerabilities in Azure AD roles and permissions
Abusing administrative roles to gain higher privileges
Leveraging misconfigurations to escalate privileges within Azure AD
Maintaining Access in Azure AD
To maintain access in Azure AD, attackers can:
Create backdoors using compromised credentials
Establish persistence through scheduled tasks or service principals
Monitor Azure AD logs for detection evasion
Covering Tracks in Azure AD
To cover tracks in Azure AD, attackers may:
Delete logs or audit trails to hide malicious activities
Modify timestamps to conceal unauthorized access
Use anti-forensic techniques to avoid detection
Hierdie gids bevat inligting oor hoe om Az PowerShell te gebruik vir die outomatisering van sekuriteitsverwante take in Azure. Dit sluit in die installering van die Az PowerShell-module, die instelling van verbindings met Azure, en die uitvoering van sekuriteitsopdragte deur middel van Az PowerShell-opdraggolwe.
Een van die belangrikste bevele om Azure te ontleed is Get-AzResource
van Az PowerShell omdat dit jou laat weet oor die bronne waar jou huidige gebruiker sigbaarheid oor het.
Jy kan dieselfde inligting in die webkonsol kry deur te gaan na https://portal.azure.com/#view/HubsExtension/BrowseAll of deur te soek na "All resources"
Standaard behoort enige gebruiker genoeg toestemmings te hê om dinge soos gebruikers, groepe, rolle, diensprinsipale te ontleed (kyk na standaard AzureAD-toestemmings). Jy kan hier 'n gids vind:
Nou dat jy inligting oor jou geloofsbriewe het (en as jy 'n rooi span is, hopelik is jy nie opgespoor nie). Dit is tyd om uit te vind watter dienste in die omgewing gebruik word. In die volgende afdeling kan jy 'n paar maniere sien om sekere algemene dienste te ontleed.
'n Azure-diens kan 'n Stelselidentiteit hê (van die diens self) of 'n Gebruikerstoegewysde Bestuurde Identiteit gebruik. Hierdie Identiteit kan Toegangbeleid hê om byvoorbeeld 'n KeyVault te lees vir geheime. Hierdie Toegangbeleide behoort beperk te wees (minste bevoorregtingbeginsel), maar mag meer toestemmings hê as wat nodig is. Tipies sal 'n App-diens KeyVault gebruik om geheime en sertifikate te herwin.
Dit is dus nuttig om hierdie identiteite te verken.
Kudu-konsol om in te teken op die App-diens 'houer'.
Gebruik portal.azure.com en kies die skul, of gebruik shell.azure.com, vir 'n bash of powershell. Die 'skyf' van hierdie skul word gestoor as 'n beeldlêer in 'n stoorrekening.
Azure DevOps is afsonderlik van Azure. Dit het bewaarplekke, pyplyne (yaml of vrystelling), borde, wiki, en meer. Veranderlike Groepe word gebruik om veranderlike waardes en geheime te stoor.