Az - Conditional Access Policies / MFA Bypass

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Basiese Inligting

Azure Voorwaardelike Toegangsbeleide is reëls wat in Microsoft Azure opgestel word om toegangsbeheer tot Azure-diens en -toepassings af te dwing gebaseer op sekere voorwaardes. Hierdie beleide help organisasies om hul bronne te beveilig deur die regte toegangsbeheer toe te pas onder die regte omstandighede. Voorwaardelike toegangsbeleide definieer basies Wie kan Wat van Waar en Hoe toegang verkry.

Hier is 'n paar voorbeelde:

  1. Aanmeldingsrisikobeleid: Hierdie beleid kan ingestel word om multi-faktor-outentifikasie (MFA) te vereis wanneer 'n aanmeldingsrisiko opgespoor word. Byvoorbeeld, as 'n gebruiker se aanmeldingsgedrag ongewoon is in vergelyking met hul gewone patroon, soos om van 'n ander land in te teken, kan die stelsel vra vir addisionele outentifikasie.

  2. Toestelnakomingsbeleid: Hierdie beleid kan toegang tot Azure-diens beperk tot slegs toestelle wat voldoen aan die organisasie se sekuriteitsstandaarde. Byvoorbeeld, toegang kan slegs toegelaat word vanaf toestelle wat opgedateerde antivirusagteware het of 'n sekere bedryfstelselweergawe hardloop.

Omweg van Voorwaardelike Toegangsbeleide

Dit is moontlik dat 'n voorwaardelike toegangsbeleid sekere inligting nagaan wat maklik vervals kan word om 'n omweg van die beleid toe te laat. En as byvoorbeeld die beleid MFA instel, sal die aanvaller dit kan omseil.

Toestelplatforms - Toestelvoorwaarde

Dit is moontlik om 'n voorwaarde te stel gebaseer op die toestelplatform (Android, iOS, Windows, macOS), maar dit is gebaseer op die gebruiker-agent dus dit is redelik maklik om dit te omseil. Selfs al maak al die opsies MFA afdwing, as jy 'n gebruiker-agent gebruik wat dit nie herken nie sal jy die MFA kan omseil.

Liggings: Lande, IP-reeks - Toestelvoorwaarde

Natuurlik, 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 vanaf 'n toegelate IP-adres toegang te verkry om hierdie voorwaardes te omseil.

Office365-kliënttoepassings

Jy kan aandui dat as kliënte Office 365-toepassings vanaf die blaaier toegang kry, hulle MFA nodig het:

Om dit te omseil, is dit moontlik om voor te gee dat jy inlog in 'n toepassing vanaf 'n lessenaar-toepassing (soos om na Microsoft Teams in die volgende voorbeeld) wat die beskerming sal omseil:

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

<token>

Aangesien die Microsoft Teams-toepassing baie regte het, sal jy in staat wees om daardie toegang te gebruik.

Jy kan die ID van meer openbare toepassings met voorafgedefinieerde Office365-regte in die databasis van roadtools vind:

SELECT appId, displayName FROM ApplicationRefs WHERE publicCLient = 1 ORDER BY displayName ASC

Hierdie aanval is veral interessant omdat openbare Office365-toepassings standaard toestemming sal hê om sekere data te ontsluit.

Ander toepassings

Standaard sal ander toepassings wat deur gebruikers geskep is nie toestemmings hê en privaat wees. Nietemin kan gebruikers ook openbare toepassings skep wat hulle sekere toestemmings gee.

'n Potensiële scenario waar 'n beleid ingestel is om MFA te vereis om 'n toepassing te ontsluit wanneer die gebruiker 'n blaaier gebruik (miskien omdat dit 'n webtoepassing is en dit dus die enigste manier sal wees), as daar 'n proksitoepassing is - 'n toepassing wat toegelaat word om met ander toepassings namens gebruikers te interakteer -, kan die gebruiker inlog in die proksitoepassing en dan deur hierdie proksitoepassing inlog in die aanvanklik MFA-beskermde toepassing.

Kyk na die Invoke-MFASweep en die donkeytoken tegnieke.

Ander Az MFA-omseilings

Beltoon

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

Aangesien karakters net tone is, kan 'n aanvaller die voicemail-boodskap van die telefoonnommer kompromitteer, dit konfigureer as die boodskap die toon van # en dan, wanneer die MFA aangevra word, verseker dat die slagoffers se telefoon besig is (deur dit te skakel) sodat die Azure-oproep na die voicemail omgelei word.

Voldoenende Toestelle

Beleide vra dikwels vir 'n voldoenende toestel of MFA, dus kan 'n aanvaller 'n voldoenende toestel registreer, 'n PRT-token kry en sodoende die MFA omseil.

Begin deur 'n voldoenende toestel in Intune te registreer, kry dan 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 soort aanval op die volgende bladsy:

pageAz - Pass the PRT

Gereedskap

Kry al die beleide

roadrecon plugin policies

MFASweep is 'n PowerShell-skrip wat probeer om in te teken by verskeie Microsoft-diens met 'n voorsiene stel geloofsbriewe en sal probeer om te identifiseer of MFA geaktiveer is. Afhangende van hoe kondisionele toegangsbeleide en ander multi-faktor-outentiseringsinstellings ingestel is, kan sommige protokolle eindig as enkel faktor. Dit het ook 'n bykomende kontrole vir ADFS-instellings en kan probeer om in te teken by die plaaslike ADFS-bediener as dit opgespoor word.

Invoke-MFASweep -Username <username> -Password <pass>

Donkey-token is 'n stel funksies wat daarop gemik is om sekuriteitskonsultante te help wat Conditional Access-beleide moet valideer, toetse vir 2FA-geaktiveerde Microsoft-portale, ens..

Import-Module 'C:\Users\Administrador\Desktop\Azure\Modulos ps1\donkeytoken' -Force

Toets elke portaal of dit moontlik is om aan te meld sonder MFA:

Test-MFA -credential $cred -Verbose -Debug -InformationAction Continue

Omdat die Azure portal nie beperk is nie, is dit moontlik om 'n token van die portal eindpunt te verkry om toegang tot enige diens wat deur die vorige uitvoering opgespoor is, te verkry. 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

Indien die token die toestemming Sites.Read.All (van Sharepoint) het, selfs al kan jy nie toegang tot Sharepoint van die web kry nie as gevolg van MFA, is dit moontlik om die token te gebruik om die lêers met die gegenereerde token te benader:

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

Verwysings

Leer AWS hak vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated