Az - Automation Account
Podstawowe informacje
Z dokumentacji: Azure Automation dostarcza usługę automatyzacji w chmurze, aktualizacji systemu operacyjnego i konfiguracji, która wspiera spójne zarządzanie w Twoich środowiskach Azure i spoza Azure. Obejmuje automatyzację procesów, zarządzanie konfiguracją, zarządzanie aktualizacjami, wspólne możliwości i funkcje heterogeniczne.
Są to jak "zaplanowane zadania" w Azure, które pozwolą Ci wykonywać rzeczy (działania lub nawet skrypty) do zarządzania, sprawdzania i konfigurowania środowiska Azure.
Konto Run As
Kiedy jest używane Konto Run as, tworzy aplikację Azure AD z samopodpisanym certyfikatem, tworzy podmiot usługi i przypisuje rolę Contributor dla konta w bieżącej subskrypcji (wiele uprawnień). Microsoft zaleca korzystanie z Identyfikacji zarządzanej dla Konta automatyzacji.
To zostanie usunięte 30 września 2023 r. i zmienione na Identyfikacje zarządzane.
Runbooki i zadania
Runbooki pozwalają na wykonywanie dowolnego kodu PowerShell. Może to być wykorzystane przez atakującego do kradzieży uprawnień dołączonego podmiotu (jeśli istnieje). W kodzie Runbooków można również znaleźć informacje poufne (takie jak dane uwierzytelniające).
Jeśli możesz czytać zadania, zrób to, ponieważ zawierają wyjście z działania (potencjalne informacje poufne).
Przejdź do Konta automatyzacji
--> <Wybierz Konto automatyzacji>
--> Runbooki/Zadania/Grupy hybrydowe pracowników/Zadania obserwatora/credentials/variables/certificates/connections
Pracownik hybrydowy
Runbook może być uruchamiany w kontenerze wewnątrz Azure lub w Pracowniku hybrydowym (maszyna spoza Azure). Agent Log Analytics jest wdrażany na VM, aby zarejestrować go jako pracownika hybrydowego. Zadania pracownika hybrydowego są uruchamiane jako SYSTEM w systemie Windows i konto nxautomation w systemie Linux. Każdy Pracownik hybrydowy jest zarejestrowany w Grupie pracowników hybrydowych.
Dlatego jeśli możesz wybrać uruchomienie Runbooka w Pracowniku hybrydowym Windows, wykonasz dowolne polecenia w zewnętrznej maszynie jako System (fajna technika pivot).
Stan konfiguracji kompromitacji (SC)
Z dokumentacji: Stan konfiguracji Azure Automation to usługa zarządzania konfiguracją Azure, która pozwala pisać, zarządzać i kompilować konfiguracje PowerShell Desired State Configuration (DSC) konfiguracje dla węzłów w dowolnym chmurze lub centrum danych lokalnym. Usługa importuje również zasoby DSC i przypisuje konfiguracje do węzłów docelowych, wszystko w chmurze. Możesz uzyskać dostęp do Stanu konfiguracji Azure Automation w portalu Azure, wybierając Konfiguracja stanu (DSC) w sekcji Zarządzanie konfiguracją.
Informacje poufne mogą być znalezione w tych konfiguracjach.
RCE
Możliwe jest wykorzystanie SC do uruchamiania dowolnych skryptów na zarządzanych maszynach.
Az - State Configuration RCEWyliczanie
Utwórz skrypt uruchomieniowy (Runbook)
Wyciek Creds & Zmienne zdefiniowane w koncie automatyzacji za pomocą Run Booka
Możesz wykonać tę samą czynność, modyfikując istniejący Run Book, bezpośrednio z konsoli internetowej.
Kroki do skonfigurowania automatycznego tworzenia użytkownika o wysokich uprawnieniach
1. Inicjalizacja konta automatyzacji
Wymagane działanie: Utwórz nowe konto automatyzacji.
Konkretna konfiguracja: Upewnij się, że opcja "Utwórz konto Azure Run As" jest włączona.
2. Import i konfiguracja Runbook
Źródło: Pobierz przykładowy runbook z Repozytorium GitHub MicroBurst.
Wymagane działania:
Zaimportuj runbook do konta automatyzacji.
Opublikuj runbook, aby można go było uruchomić.
Dołącz webhook do runbook, umożliwiając zewnętrzne wyzwalacze.
3. Konfiguracja modułu AzureAD
Wymagane działanie: Dodaj moduł AzureAD do konta automatyzacji.
Dodatkowy krok: Upewnij się, że wszystkie moduły automatyzacji Azure są zaktualizowane do najnowszych wersji.
4. Przypisanie uprawnień
Role do przypisania:
Administrator użytkownika
Właściciel subskrypcji
Cel: Przypisz te role do konta automatyzacji dla niezbędnych uprawnień.
5. Świadomość potencjalnej utraty dostępu
Uwaga: Bądź świadomy, że konfigurowanie takiej automatyzacji może prowadzić do utraty kontroli nad subskrypcją.
6. Wywołanie tworzenia użytkownika
Wywołaj webhook, aby utworzyć nowego użytkownika, wysyłając żądanie POST.
Użyj dostarczonego skryptu PowerShell, upewniając się, że zastąpisz
$uri
rzeczywistym adresem URL webhooka i zaktualizujesz$AccountInfo
z pożądaną nazwą użytkownika i hasłem.
Odnośniki
Last updated