Az - Automation Account
Podstawowe informacje
Z dokumentacji: Azure Automation dostarcza usługę automatyzacji w chmurze, aktualizacji systemu operacyjnego i konfiguracji, która obsługuje spójne zarządzanie w Twoim środowisku Azure i nie-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 umożliwiają wykonywanie czynności (działań lub nawet skryptów) w celu 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 service principal i przypisuje rolę Contributor dla konta w bieżącej subskrypcji (wiele uprawnień). Microsoft zaleca korzystanie z Identyfikatora zarządzanego dla konta automatyzacji.
To zostanie usunięte 30 września 2023 roku i zmienione na Identyfikatory zarządzane.
Runbooki i zadania
Runbooki pozwalają na wykonywanie dowolnego kodu PowerShell. Może to być wykorzystane przez atakującego, aby ukraść uprawnienia dołączonego podmiotu (jeśli istnieje). W kodzie Runbooków można również znaleźć wrażliwe informacje (takie jak dane uwierzytelniające).
Jeśli możesz odczytać zadania, zrób to, ponieważ zawierają wyjście wykonania (potencjalnie wrażliwe informacje).
Przejdź do Konta automatyzacji
--> <Wybierz konto automatyzacji>
--> Runbooki/Zadania/Grupy hybrydowe pracowników/Zadania obserwatora/Uprawnienia/Zmienne/Certyfikaty/Połączenia
Pracownik hybrydowy
Runbook może być uruchamiany w kontenerze w Azure lub w pracowniku hybrydowym (maszyna spoza Azure). Na VM jest wdrażany agent Log Analytics, aby zarejestrować go jako pracownika hybrydowego. Zadania pracownika hybrydowego są uruchamiane jako SYSTEM w systemie Windows i jako 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 na zewnętrznej maszynie jako System (fajna technika pivot).
Kompromitacja konfiguracji stanu (SC)
Z dokumentacji: Azure Automation State Configuration to usługa zarządzania konfiguracją Azure, która umożliwia pisanie, zarządzanie i kompilowanie konfiguracji stanu pożądanego PowerShell (DSC) konfiguracje dla węzłów w dowolnym centrum danych w chmurze lub lokalnym. Usługa importuje również zasoby DSC i przypisuje konfiguracje do docelowych węzłów, wszystko w chmurze. Możesz uzyskać dostęp do konfiguracji stanu Azure Automation w portalu Azure, wybierając Konfiguracja stanu (DSC) w sekcji Zarządzanie konfiguracją.
Wrażliwe informacje mogą być zawarte w tych konfiguracjach.
RCE
Możliwe jest wykorzystanie SC do uruchamiania dowolnych skryptów na zarządzanych maszynach.
pageAz - State Configuration RCEWyliczanie
Utwórz Runbook
Wyciekaj poświadczenia i zmienne zdefiniowane w koncie automatyzacji za pomocą skryptu uruchamianego
Możesz zrobić to samo, modyfikując istniejący Run Book, z poziomu 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 Runbooka
Ź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 runbooka, umożliwiając wyzwalanie zewnętrzne.
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, aby uzyskać niezbędne uprawnienia.
5. Świadomość potencjalnej utraty dostępu
Uwaga: Pamiętaj, że konfiguracja 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.
Odwołania
Last updated