Az - Automation Account
Grundlegende Informationen
Aus den Dokumenten: Azure Automation bietet einen cloudbasierten Automatisierungs-, Betriebssystemaktualisierungs- und Konfigurationsdienst, der ein konsistentes Management in Ihrer Azure- und Nicht-Azure-Umgebung unterstützt. Es umfasst Prozessautomatisierung, Konfigurationsmanagement, Update-Management, gemeinsame Funktionen und heterogene Funktionen.
Diese sind wie "geplante Aufgaben" in Azure, die es Ihnen ermöglichen, Dinge (Aktionen oder sogar Skripte) auszuführen, um die Azure-Umgebung zu verwalten, zu überprüfen und zu konfigurieren.
Run As-Konto
Wenn das Run as-Konto verwendet wird, wird eine Azure AD Anwendung mit selbstsigniertem Zertifikat erstellt, ein Dienstprinzipal erstellt und die Mitwirkenden-Rolle für das Konto im aktuellen Abonnement zugewiesen (viele Berechtigungen). Microsoft empfiehlt die Verwendung einer Verwalteten Identität für das Automatisierungskonto.
Dies wird am 30. September 2023 entfernt und durch Verwaltete Identitäten ersetzt.
Runbooks & Jobs
Runbooks ermöglichen es Ihnen, beliebigen PowerShell-Code auszuführen. Dies könnte von einem Angreifer missbraucht werden, um die Berechtigungen des angehängten Prinzipals zu stehlen (falls vorhanden). Im Code von Runbooks könnten auch sensible Informationen (wie Anmeldeinformationen) gefunden werden.
Wenn Sie die Jobs lesen können, tun Sie es, da sie die Ausgabe des Laufs enthalten (potenziell sensible Informationen).
Gehen Sie zu Automatisierungskonten
--> <Automatisierungskonto auswählen>
--> Runbooks/Jobs/Hybrid-Worker-Gruppen/Watcher-Aufgaben/Berechtigungen/Variablen/Zertifikate/Verbindungen
Hybrid Worker
Ein Runbook kann in einem Container innerhalb von Azure oder in einem Hybrid Worker (nicht-azure Maschine) ausgeführt werden. Der Log Analytics-Agent wird auf der VM bereitgestellt, um sie als Hybrid Worker zu registrieren. Die Hybrid-Worker-Jobs werden als SYSTEM unter Windows und als Konto nxautomation unter Linux ausgeführt. Jeder Hybrid Worker ist in einer Hybrid-Worker-Gruppe registriert.
Daher, wenn Sie wählen können, ein Runbook in einem Windows Hybrid Worker auszuführen, werden Sie beliebige Befehle in einer externen Maschine als System ausführen (schöne Pivot-Technik).
Kompromittierter Zustandskonfiguration (SC)
Aus den Dokumenten: Azure Automation State Configuration ist ein Azure-Konfigurationsverwaltungsdienst, der es Ihnen ermöglicht, PowerShell Desired State Configuration (DSC) Konfigurationen für Knoten in jeder Cloud oder in Rechenzentren vor Ort zu schreiben, zu verwalten und zu kompilieren. Der Dienst importiert auch DSC-Ressourcen und weist Konfigurationen den Zielknoten zu, alles in der Cloud. Sie können auf Azure Automation State Configuration im Azure-Portal zugreifen, indem Sie unter Konfigurationsverwaltung Zustandskonfiguration (DSC) auswählen.
In diesen Konfigurationen könnten sensible Informationen gefunden werden.
RCE
Es ist möglich, SC zu missbrauchen, um beliebige Skripte auf den verwalteten Maschinen auszuführen.
Az - State Configuration RCEEnumeration
Erstellen eines Runbooks
Extrahieren von Anmeldeinformationen und Variablen, die in einem Automatisierungskonto definiert sind, mithilfe eines Runbooks
Sie könnten dasselbe tun, indem Sie ein vorhandenes Runbook modifizieren und dies über die Weboberfläche tun.
Schritte zur Einrichtung einer automatisierten Erstellung eines hochprivilegierten Benutzers
1. Initialisieren eines Automatisierungskontos
Erforderliche Aktion: Erstellen Sie ein neues Automatisierungskonto.
Spezifische Einstellung: Stellen Sie sicher, dass "Azure Run As-Konto erstellen" aktiviert ist.
2. Runbook importieren und einrichten
Quelle: Laden Sie das Beispiellaufbuch von MicroBurst GitHub Repository herunter.
Erforderliche Aktionen:
Importieren Sie das Runbook in das Automatisierungskonto.
Veröffentlichen Sie das Runbook, um es ausführbar zu machen.
Fügen Sie dem Runbook einen Webhook hinzu, um externe Auslöser zu aktivieren.
3. AzureAD-Modul konfigurieren
Erforderliche Aktion: Fügen Sie das AzureAD-Modul dem Automatisierungskonto hinzu.
Zusätzlicher Schritt: Stellen Sie sicher, dass alle Azure Automation-Module auf ihre neuesten Versionen aktualisiert sind.
4. Berechtigungszuweisung
Zuweisung von Rollen:
Benutzeradministrator
Abonnementinhaber
Ziel: Weisen Sie diese Rollen dem Automatisierungskonto für erforderliche Berechtigungen zu.
5. Bewusstsein für möglichen Zugriffsverlust
Hinweis: Beachten Sie, dass die Konfiguration einer solchen Automatisierung dazu führen kann, die Kontrolle über das Abonnement zu verlieren.
6. Auslösen der Benutzererstellung
Lösen Sie den Webhook aus, um einen neuen Benutzer durch Senden einer POST-Anfrage zu erstellen.
Verwenden Sie das bereitgestellte PowerShell-Skript und stellen Sie sicher, dass Sie die Variable
$uri
durch Ihre tatsächliche Webhook-URL ersetzen und die Variable$AccountInfo
mit dem gewünschten Benutzernamen und Passwort aktualisieren.
Referenzen
Last updated