Az - Persistence

Support HackTricks

Per impostazione predefinita, qualsiasi utente può registrare un'applicazione in Azure AD. Quindi puoi registrare un'applicazione (solo per il tenant target) che necessita di permessi ad alto impatto con consenso dell'amministratore (approvala se sei l'amministratore) - come inviare email per conto di un utente, gestione dei ruoli, ecc. Questo ci permetterà di eseguire attacchi di phishing che sarebbero molto fruttuosi in caso di successo.

Inoltre, potresti anche accettare quell'applicazione con il tuo utente come modo per mantenere l'accesso su di essa.

Applications and Service Principals

Con i privilegi di Application Administrator, GA o un ruolo personalizzato con permessi microsoft.directory/applications/credentials/update, possiamo aggiungere credenziali (segreto o certificato) a un'applicazione esistente.

È possibile prendere di mira un'applicazione con permessi elevati o aggiungere una nuova applicazione con permessi elevati.

Un ruolo interessante da aggiungere all'applicazione sarebbe il ruolo di amministratore dell'autenticazione privilegiata poiché consente di reimpostare la password degli Amministratori Globali.

Questa tecnica consente anche di bypassare MFA.

$passwd = ConvertTo-SecureString "J~Q~QMt_qe4uDzg53MDD_jrj_Q3P.changed" -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential("311bf843-cc8b-459c-be24-6ed908458623", $passwd)
Connect-AzAccount -ServicePrincipal -Credential $credentials -Tenant e12984235-1035-452e-bd32-ab4d72639a
  • Per l'autenticazione basata su certificati

Connect-AzAccount -ServicePrincipal -Tenant <TenantId> -CertificateThumbprint <Thumbprint> -ApplicationId <ApplicationId>

Federazione - Certificato di Firma del Token

Con privilegi DA su AD on-prem, è possibile creare e importare nuovi certificati di firma del token e certificati di decrittazione del token che hanno una validità molto lunga. Questo ci permetterà di accedere come qualsiasi utente il cui ImuutableID conosciamo.

Esegui il comando qui sotto come DA sui server ADFS per creare nuovi certificati (password predefinita 'AADInternals'), aggiungerli a ADFS, disabilitare il rollover automatico e riavviare il servizio:

New-AADIntADFSSelfSignedCertificates

Poi, aggiorna le informazioni del certificato con Azure AD:

Update-AADIntADFSFederationSettings -Domain cyberranges.io

Federation - Trusted Domain

Con privilegi GA su un tenant, è possibile aggiungere un nuovo dominio (deve essere verificato), configurare il suo tipo di autenticazione su Federato e configurare il dominio per fidarsi di un certificato specifico (any.sts nel comando qui sotto) e dell'emittente:

# Using AADInternals
ConvertTo-AADIntBackdoor -DomainName cyberranges.io

# Get ImmutableID of the user that we want to impersonate. Using Msol module
Get-MsolUser | select userPrincipalName,ImmutableID

# Access any cloud app as the user
Open-AADIntOffice365Portal -ImmutableID qIMPTm2Q3kimHgg4KQyveA== -Issuer "http://any.sts/B231A11F" -UseBuiltInCertificate -ByPassMFA$true

Riferimenti

Supporta HackTricks

Last updated