Az - Dynamic Groups Privesc

Support HackTricks

Podstawowe informacje

Dynamiczne grupy to grupy, które mają skonfigurowany zestaw reguł, a wszyscy użytkownicy lub urządzenia, które pasują do tych reguł, są dodawani do grupy. Za każdym razem, gdy atrybut użytkownika lub urządzenia jest zmieniany, dynamiczne reguły są ponownie sprawdzane. A gdy nowa reguła jest tworzona, wszystkie urządzenia i użytkownicy są sprawdzani.

Dynamiczne grupy mogą mieć przypisane role Azure RBAC, ale nie jest możliwe dodanie ról AzureAD do dynamicznych grup.

Ta funkcja wymaga licencji Azure AD premium P1.

Privesc

Zauważ, że domyślnie każdy użytkownik może zapraszać gości w Azure AD, więc jeśli reguła dynamicznej grupy przyznaje uprawnienia użytkownikom na podstawie atrybutów, które mogą być ustawione w nowym gościu, możliwe jest utworzenie gościa z tymi atrybutami i eskalacja uprawnień. Gość może również zarządzać swoim profilem i zmieniać te atrybuty.

Uzyskaj grupy, które pozwalają na dynamiczne członkostwo: Get-AzureADMSGroup | ?{$_.GroupTypes -eq 'DynamicMembership'}

Przykład

  • Przykład reguły: (user.otherMails -any (_ -contains "tester")) -and (user.userType -eq "guest")

  • Opis reguły: Każdy użytkownik gość z dodatkowym adresem e-mail zawierającym ciąg 'tester' zostanie dodany do grupy

  1. Przejdź do Azure Active Directory -> Użytkownicy i kliknij Chcesz wrócić do klasycznego widoku listy użytkowników? Kliknij tutaj, aby opuścić podgląd

  2. Kliknij na Nowy użytkownik gość i zaprosić adres e-mail

  3. Profil użytkownika zostanie dodany do Azure AD, gdy tylko zaproszenie zostanie wysłane. Otwórz profil użytkownika i kliknij (zarządzaj) pod Akceptowane zaproszenie.

  1. Zmień Czy ponownie wysłać zaproszenie? na Tak i otrzymasz URL zaproszenia:

  1. Skopiuj URL i otwórz go, zaloguj się jako zaproszony użytkownik i zaakceptuj zaproszenie

  2. Zaloguj się w cli jako użytkownik i ustaw dodatkowy adres e-mail

```powershell
# Logowanie
$password = ConvertTo-SecureString 'password' - AsPlainText -Force
$creds = New-Object
System.Management.Automation.PSCredential('externaltester@somedomain.onmicrosoft.com', $Password)
Connect-AzureAD -Credential $creds -TenantId <tenant_id_of_attacked_domain>

# Zmień ustawienie OtherMails
Set-AzureADUser -ObjectId <OBJECT-ID> -OtherMails <Username>@<TENANT_NAME>.onmicrosoft.com -Verbose
```

Odniesienia

Wsparcie HackTricks

Last updated