Az - Dynamic Groups Privesc

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Podstawowe informacje

Dynamiczne grupy to grupy, które mają skonfigurowany zestaw reguł, a wszyscy użytkownicy lub urządzenia, które spełniają te reguły, 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 tworzona jest nowa reguła, 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.

Przywłaszczenie

Zauważ, że domyślnie każdy użytkownik może zapraszać gości do Azure AD, więc jeśli reguła dynamicznej grupy nadaje 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 przywłaszczenie uprawnień. Gość może również zarządzać swoim profilem i zmieniać te atrybuty.

Pobierz 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 gość użytkownik z dodatkowym adresem e-mail zawierającym ciąg 'tester' zostanie dodany do grupy

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

  2. Kliknij na Nowy gość i zaproszenie na e-mail

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

  1. Zmień 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 konsoli jako użytkownik i ustaw dodatkowy adres e-mail

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

# Ustawienie ustawienia OtherMails
Set-AzureADUser -ObjectId <OBJECT-ID> -OtherMails <NazwaUżytkownika>@<NAZWA_TENANTA>.onmicrosoft.com -Verbose

Odnośniki

Last updated