Az - EntraID Privesc
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Zauważ, że nie wszystkie szczegółowe uprawnienia wbudowanych ról w Entra ID są kwalifikowane do użycia w rolach niestandardowych.
Ta rola zawiera niezbędne szczegółowe uprawnienia, aby móc przypisywać role do podmiotów i nadawać więcej uprawnień rolom. Obie te akcje mogą być nadużywane do eskalacji uprawnień.
Przypisz rolę użytkownikowi:
Dodaj więcej uprawnień do roli:
microsoft.directory/applications/credentials/update
To pozwala atakującemu na dodanie poświadczeń (haseł lub certyfikatów) do istniejących aplikacji. Jeśli aplikacja ma uprzywilejowane uprawnienia, atakujący może uwierzytelnić się jako ta aplikacja i uzyskać te uprawnienia.
microsoft.directory/applications.myOrganization/credentials/update
To pozwala na te same działania co applications/credentials/update
, ale ograniczone do aplikacji w pojedynczej domenie.
microsoft.directory/applications/owners/update
Dodając się jako właściciel, atakujący może manipulować aplikacją, w tym danymi uwierzytelniającymi i uprawnieniami.
microsoft.directory/applications/allProperties/update
Atakujący może dodać URI przekierowania do aplikacji, które są używane przez użytkowników najemcy, a następnie udostępnić im adresy URL logowania, które wykorzystują nowy adres URL przekierowania, aby ukraść ich tokeny. Należy zauważyć, że jeśli użytkownik był już zalogowany w aplikacji, uwierzytelnienie odbędzie się automatycznie, bez potrzeby akceptacji czegokolwiek przez użytkownika.
Należy również zauważyć, że możliwe jest zmienienie uprawnień, o które prosi aplikacja, aby uzyskać więcej uprawnień, ale w tym przypadku użytkownik będzie musiał ponownie zaakceptować monit o wszystkie uprawnienia.
microsoft.directory/servicePrincipals/credentials/update
To pozwala atakującemu na dodanie poświadczeń do istniejących głównych usług. Jeśli główny usług ma podwyższone uprawnienia, atakujący może przyjąć te uprawnienia.
Nowo wygenerowane hasło nie pojawi się w konsoli internetowej, więc może to być sposób na zachowanie trwałości w usłudze principal.
Można je znaleźć za pomocą API: az ad sp list --query '[?length(keyCredentials) > 0 || length(passwordCredentials) > 0].[displayName, appId, keyCredentials, passwordCredentials]' -o json
Jeśli otrzymasz błąd "code":"CannotUpdateLockedServicePrincipalProperty","message":"Property passwordCredentials is invalid."
, to dlatego, że nie można modyfikować właściwości passwordCredentials SP i najpierw musisz ją odblokować. Aby to zrobić, potrzebujesz uprawnienia (microsoft.directory/applications/allProperties/update
), które pozwala na wykonanie:
microsoft.directory/servicePrincipals/synchronizationCredentials/manage
To pozwala atakującemu na dodanie poświadczeń do istniejących głównych zasad usług. Jeśli główna zasada usług ma podwyższone uprawnienia, atakujący może przyjąć te uprawnienia.
microsoft.directory/servicePrincipals/owners/update
Podobnie jak w przypadku aplikacji, to uprawnienie pozwala na dodanie kolejnych właścicieli do głównego obiektu usługi. Posiadanie głównego obiektu usługi umożliwia kontrolę nad jego poświadczeniami i uprawnieniami.
Po dodaniu nowego właściciela próbowałem go usunąć, ale API odpowiedziało, że metoda DELETE nie jest obsługiwana, nawet jeśli to metoda, której należy użyć do usunięcia właściciela. Więc nie możesz usunąć właścicieli w dzisiejszych czasach.
microsoft.directory/servicePrincipals/disable
i enable
Te uprawnienia pozwalają na wyłączanie i włączanie zasad usług. Atakujący mógłby wykorzystać to uprawnienie, aby włączyć zasadę usługi, do której mógłby jakoś uzyskać dostęp, aby eskalować uprawnienia.
Należy zauważyć, że w tej technice atakujący będzie potrzebował więcej uprawnień, aby przejąć włączoną zasadę usługi.
microsoft.directory/servicePrincipals/getPasswordSingleSignOnCredentials
& microsoft.directory/servicePrincipals/managePasswordSingleSignOnCredentials
Te uprawnienia pozwalają na tworzenie i uzyskiwanie poświadczeń dla jednolitych logowań, co może umożliwić dostęp do aplikacji firm trzecich.
microsoft.directory/groups/allProperties/update
To uprawnienie pozwala na dodawanie użytkowników do uprzywilejowanych grup, co prowadzi do eskalacji uprawnień.
Uwaga: To uprawnienie wyklucza grupy przypisane do ról Entra ID.
microsoft.directory/groups/owners/update
To uprawnienie pozwala na zostanie właścicielem grup. Właściciel grupy może kontrolować członkostwo i ustawienia grupy, potencjalnie eskalując uprawnienia do grupy.
Uwaga: To uprawnienie wyklucza grupy przypisane do ról Entra ID.
microsoft.directory/groups/members/update
To uprawnienie pozwala na dodanie członków do grupy. Atakujący mógłby dodać siebie lub złośliwe konta do uprzywilejowanych grup, co może przyznać podwyższone uprawnienia.
microsoft.directory/groups/dynamicMembershipRule/update
To uprawnienie pozwala na aktualizację reguły członkostwa w grupie dynamicznej. Atakujący mógłby zmodyfikować dynamiczne reguły, aby dodać siebie do uprzywilejowanych grup bez wyraźnego dodania.
Uwaga: To uprawnienie wyklucza grupy przypisywalne do ról Entra ID.
Możliwe, że użytkownicy mogą eskalować uprawnienia, modyfikując swoje własne właściwości, aby zostać dodanymi jako członkowie grup dynamicznych. Więcej informacji znajdziesz w:
Az - Dynamic Groups Privescmicrosoft.directory/users/password/update
To uprawnienie pozwala na resetowanie hasła dla użytkowników niebędących administratorami, co umożliwia potencjalnemu atakującemu eskalację uprawnień do innych użytkowników. To uprawnienie nie może być przypisane do niestandardowych ról.
microsoft.directory/users/basic/update
To uprawnienie pozwala na modyfikację właściwości użytkownika. Często można spotkać dynamiczne grupy, które dodają użytkowników na podstawie wartości właściwości, dlatego to uprawnienie może pozwolić użytkownikowi na ustawienie wymaganej wartości właściwości, aby stać się członkiem konkretnej dynamicznej grupy i eskalować uprawnienia.
Źle skonfigurowane polityki dostępu warunkowego wymagające MFA mogą być obejście, sprawdź:
Az - Conditional Access Policies & MFA Bypassmicrosoft.directory/devices/registeredOwners/update
To uprawnienie pozwala atakującym na przypisanie siebie jako właścicieli urządzeń w celu uzyskania kontroli lub dostępu do ustawień i danych specyficznych dla urządzenia.
microsoft.directory/devices/registeredUsers/update
To uprawnienie pozwala atakującym na powiązanie swojego konta z urządzeniami, aby uzyskać dostęp lub obejść polityki bezpieczeństwa.
microsoft.directory/deviceLocalCredentials/password/read
To uprawnienie pozwala atakującym na odczytanie właściwości zapasowych poświadczeń lokalnego konta administratora dla urządzeń dołączonych do Microsoft Entra, w tym hasła
microsoft.directory/bitlockerKeys/key/read
To uprawnienie pozwala na dostęp do kluczy BitLocker, co może umożliwić atakującemu odszyfrowanie dysków, naruszając poufność danych.
microsoft.directory/applications/permissions/update
microsoft.directory/servicePrincipals/permissions/update
microsoft.directory/applications.myOrganization/allProperties/update
microsoft.directory/applications/allProperties/update
microsoft.directory/servicePrincipals/appRoleAssignedTo/update
microsoft.directory/applications/appRoles/update
microsoft.directory/applications.myOrganization/permissions/update
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)