mirror of
https://github.com/HackTricks-wiki/hacktricks-cloud.git
synced 2026-07-28 22:51:09 -07:00
Translated ['src/pentesting-cloud/azure-security/az-lateral-movement-clo
This commit is contained in:
+9
-9
@@ -6,7 +6,7 @@
|
||||
|
||||
**Cloud Sync** to w zasadzie nowy sposób Azure na **synchronizację użytkowników z AD do Entra ID**.
|
||||
|
||||
[Z dokumentacji:](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/what-is-cloud-sync) Microsoft Entra Cloud Sync to nowa oferta od Microsoft, zaprojektowana w celu spełnienia i osiągnięcia celów związanych z hybrydową tożsamością w zakresie synchronizacji użytkowników, grup i kontaktów do Microsoft Entra ID. Osiąga to, używając agenta do provisioningu w chmurze Microsoft Entra zamiast aplikacji Microsoft Entra Connect. Może być jednak używane obok Microsoft Entra Connect Sync.
|
||||
[Z dokumentacji:](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/what-is-cloud-sync) Microsoft Entra Cloud Sync to nowa oferta od Microsoft, zaprojektowana w celu spełnienia i osiągnięcia celów związanych z tożsamością hybrydową w zakresie synchronizacji użytkowników, grup i kontaktów do Microsoft Entra ID. Osiąga to, używając agenta do provisioningu w chmurze Microsoft Entra zamiast aplikacji Microsoft Entra Connect. Może być jednak używane obok Microsoft Entra Connect Sync.
|
||||
|
||||
### Wygenerowane zasady
|
||||
|
||||
@@ -19,13 +19,13 @@ Aby to działało, w Entra ID i lokalnym katalogu tworzone są pewne zasady:
|
||||
|
||||
- W Entra ID tworzona jest również grupa **`AAD DC Administrators`** bez członków lub właścicieli. Ta grupa jest przydatna, jeśli używane są [`Microsoft Entra Domain Services`](./az-domain-services.md).
|
||||
|
||||
- W AD tworzony jest albo Konto Usługi **`provAgentgMSA`** z SamAccountName w formacie **`pGMSA_<id>$@domain.com`** (`Get-ADServiceAccount -Filter * | Select Name,SamAccountName`), albo niestandardowe, z [**tym uprawnieniem jest wymagane**](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/how-to-prerequisites?tabs=public-cloud#custom-gmsa-account). Zwykle tworzony jest domyślny.
|
||||
- W AD tworzony jest albo Konto Usługi **`provAgentgMSA`** z SamAccountName w formacie **`pGMSA_<id>$@domain.com`** (`Get-ADServiceAccount -Filter * | Select Name,SamAccountName`), albo niestandardowe z [**tymi uprawnieniami**](https://learn.microsoft.com/en-us/entra/identity/hybrid/cloud-sync/how-to-prerequisites?tabs=public-cloud#custom-gmsa-account). Zwykle tworzony jest domyślny.
|
||||
|
||||
> [!WARNING]
|
||||
> Wśród innych uprawnień Konto Usługi **`provAgentgMSA`** ma uprawnienia DCSync, co pozwala **każdemu, kto je przejmie, na skompromitowanie całego katalogu**. Więcej informacji o [DCSync znajdziesz tutaj](https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/dcsync.html).
|
||||
|
||||
> [!NOTE]
|
||||
> Domyślnie użytkownicy znanych grup uprzywilejowanych, takich jak Administratorzy Domeny, z atrybutem **`adminCount` do 1 nie są synchronizowani** z Entra ID z powodów bezpieczeństwa. Jednak inni użytkownicy, którzy są częścią grup uprzywilejowanych bez tego atrybutu lub którzy mają przypisane wysokie uprawnienia bezpośrednio **mogą być synchronizowani**.
|
||||
> Domyślnie użytkownicy znanych grup uprzywilejowanych, takich jak Administratorzy Domeny, z atrybutem **`adminCount` równym 1, nie są synchronizowani** z Entra ID z powodów bezpieczeństwa. Jednak inni użytkownicy, którzy są częścią grup uprzywilejowanych bez tego atrybutu lub którzy mają przypisane wysokie uprawnienia bezpośrednio **mogą być synchronizowani**.
|
||||
|
||||
## Synchronizacja haseł
|
||||
|
||||
@@ -35,7 +35,7 @@ Sekcja ta jest bardzo podobna do tej z:
|
||||
az-connect-sync.md
|
||||
{{#endref}}
|
||||
|
||||
- **Synchronizacja skrótów haseł** może być włączona, aby użytkownicy mogli **logować się do Entra ID używając swoich haseł z AD**. Ponadto, gdy hasło jest modyfikowane w AD, zostanie zaktualizowane w Entra ID.
|
||||
- **Synchronizacja skrótów haseł** może być włączona, aby użytkownicy mogli **logować się do Entra ID za pomocą swoich haseł z AD**. Ponadto, gdy hasło jest modyfikowane w AD, zostanie zaktualizowane w Entra ID.
|
||||
- **Zapis hasła** może być również włączony, co pozwala użytkownikom na modyfikację swojego hasła w Entra ID, automatycznie synchronizując ich hasło w lokalnej domenie. Ale zgodnie z [aktualnymi dokumentami](https://learn.microsoft.com/en-us/entra/identity/authentication/tutorial-enable-sspr-writeback#configure-password-writeback), do tego potrzebne jest użycie agenta Connect, więc zapoznaj się z sekcją [Az Connect Sync](./az-connect-sync.md) w celu uzyskania dalszych informacji.
|
||||
- **Zapis grup**: Ta funkcja pozwala na synchronizację członkostwa grup z Entra ID z powrotem do lokalnego AD. Oznacza to, że jeśli użytkownik zostanie dodany do grupy w Entra ID, zostanie również dodany do odpowiadającej grupy w AD.
|
||||
|
||||
@@ -81,13 +81,13 @@ https://book.hacktricks.wiki/en/windows-hardening/active-directory-methodology/i
|
||||
{{#endref}}
|
||||
|
||||
> [!NOTE]
|
||||
> Zauważ, że nie ma sposobu, aby przypisać role Azure lub EntraID do zsynchronizowanych użytkowników na podstawie ich atrybutów, na przykład w konfiguracjach Cloud Sync. Jednak aby automatycznie przyznać uprawnienia zsynchronizowanym użytkownikom, niektóre **grupy Entra ID z AD** mogą otrzymać uprawnienia, dzięki czemu zsynchronizowani użytkownicy w tych grupach również je otrzymują, lub **można użyć grup dynamicznych**, więc zawsze sprawdzaj zasady dynamiczne i potencjalne sposoby ich nadużycia:
|
||||
> Zauważ, że nie ma sposobu, aby przypisać role Azure lub EntraID do zsynchronizowanych użytkowników na podstawie ich atrybutów, na przykład w konfiguracjach Cloud Sync. Jednak w celu automatycznego przyznawania uprawnień zsynchronizowanym użytkownikom niektóre **grupy Entra ID z AD** mogą otrzymać uprawnienia, dzięki czemu zsynchronizowani użytkownicy w tych grupach również je otrzymują, lub **można użyć grup dynamicznych**, więc zawsze sprawdzaj zasady dynamiczne i potencjalne sposoby ich nadużycia:
|
||||
|
||||
{{#ref}}
|
||||
../../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md
|
||||
../az-privilege-escalation/az-entraid-privesc/dynamic-groups.md
|
||||
{{#endref}}
|
||||
|
||||
Jeśli chodzi o persistencję, [ten post na blogu](https://tierzerosecurity.co.nz/2024/05/21/ms-entra-connect-sync-mothods.html) sugeruje, że możliwe jest użycie [**dnSpy**](https://github.com/dnSpy/dnSpy) do wprowadzenia backdoora do dll **`Microsoft.Online.Passwordsynchronisation.dll`** znajdującej się w **`C:\Program Files\Microsoft Azure AD Sync\Bin`**, która jest używana przez agenta Cloud Sync do przeprowadzania synchronizacji haseł, co powoduje eksfiltrację hashy haseł użytkowników synchronizowanych na zdalny serwer. Hashes są generowane wewnątrz klasy **`PasswordHashGenerator`**, a post na blogu sugeruje dodanie pewnego kodu, aby klasa wyglądała tak (zauważ użycie `use System.Net` i `WebClient` do eksfiltracji hashy haseł):
|
||||
Jeśli chodzi o persistencję, [ten post na blogu](https://tierzerosecurity.co.nz/2024/05/21/ms-entra-connect-sync-mothods.html) sugeruje, że możliwe jest użycie [**dnSpy**](https://github.com/dnSpy/dnSpy) do wprowadzenia backdoora do dll **`Microsoft.Online.Passwordsynchronisation.dll`** znajdującej się w **`C:\Program Files\Microsoft Azure AD Sync\Bin`**, która jest używana przez agenta Cloud Sync do przeprowadzania synchronizacji haseł, co powoduje eksfiltrację hashy haseł użytkowników synchronizowanych do zdalnego serwera. Hashes są generowane wewnątrz klasy **`PasswordHashGenerator`** i post na blogu sugeruje dodanie pewnego kodu, aby klasa wyglądała tak (zauważ użycie `use System.Net` i `WebClient` do eksfiltracji hashy haseł):
|
||||
```csharp
|
||||
using System;
|
||||
using System.Net;
|
||||
@@ -129,12 +129,12 @@ C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\: Package 'System.Security.C
|
||||
|
||||
- Jeśli **Password Writeback** jest włączone, możesz zmienić hasło niektórych użytkowników z Entra ID, a jeśli masz dostęp do sieci AD, połącz się z nimi. Aby uzyskać więcej informacji, sprawdź sekcję [Az Connect Sync](./az-connect-sync.md), ponieważ funkcja resetowania hasła jest konfigurowana za pomocą tego agenta.
|
||||
|
||||
- W tym momencie Cloud Sync również pozwala na **"Microsoft Entra ID do AD"**, ale po dłuższym czasie odkryłem, że NIE MOŻE synchronizować użytkowników EntraID do AD i że może synchronizować tylko użytkowników z EntraID, którzy zostali zsynchronizowani z hashem hasła i pochodzą z domeny, która należy do tego samego lasu domenowego, do którego synchronizujemy, jak można przeczytać w [https://learn.microsoft.com/en-us/entra/identity/hybrid/group-writeback-cloud-sync#supported-groups-and-scale-limits](https://learn.microsoft.com/en-us/entra/identity/hybrid/group-writeback-cloud-sync#supported-groups-and-scale-limits):
|
||||
- W tej chwili Cloud Sync również pozwala na **"Microsoft Entra ID do AD"**, ale po dłuższym czasie odkryłem, że NIE MOŻE synchronizować użytkowników EntraID do AD i że może synchronizować tylko użytkowników z EntraID, którzy zostali zsynchronizowani z hashem hasła i pochodzą z domeny, która należy do tego samego lasu domenowego, co domena, do której synchronizujemy, jak można przeczytać w [https://learn.microsoft.com/en-us/entra/identity/hybrid/group-writeback-cloud-sync#supported-groups-and-scale-limits](https://learn.microsoft.com/en-us/entra/identity/hybrid/group-writeback-cloud-sync#supported-groups-and-scale-limits):
|
||||
|
||||
> - Te grupy mogą zawierać tylko zsynchronizowanych użytkowników lokalnych i/lub dodatkowe grupy zabezpieczeń utworzone w chmurze.
|
||||
> - Lokalne konta użytkowników, które są synchronizowane i są członkami tej grupy zabezpieczeń utworzonej w chmurze, mogą pochodzić z tej samej domeny lub z różnych domen, ale wszystkie muszą pochodzić z tego samego lasu.
|
||||
|
||||
Tak więc powierzchnia ataku (i użyteczność) tej usługi jest znacznie ograniczona, ponieważ atakujący musiałby skompromitować początkowy AD, z którego użytkownicy są synchronizowani, aby skompromitować użytkownika w innej domenie (i obie muszą być w tym samym lesie najwyraźniej).
|
||||
Tak więc powierzchnia ataku (i użyteczność) tej usługi jest znacznie ograniczona, ponieważ atakujący musiałby skompromitować początkowe AD, z którego użytkownicy są synchronizowani, aby skompromitować użytkownika w innej domenie (a obie muszą być w tym samym lesie najwyraźniej).
|
||||
|
||||
### Enumeration
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user