Az - Automation Account
Last updated
Last updated
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Aus den Dokumenten: Azure Automation bietet einen cloudbasierten Automatisierungs-, Betriebssystem-Updates- und Konfigurationsdienst, der eine konsistente Verwaltung in Ihren Azure- und Nicht-Azure-Umgebungen unterstützt. Es umfasst Prozessautomatisierung, Konfigurationsmanagement, Update-Management, gemeinsame Funktionen und heterogene Merkmale.
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.
Wenn Run as Account verwendet wird, erstellt es eine Azure AD Anwendung mit einem selbstsignierten Zertifikat, erstellt einen Service Principal und weist dem Konto die Rolle Contributor im aktuellen Abonnement zu (viele Berechtigungen). Microsoft empfiehlt die Verwendung einer Managed Identity für das Automation Account.
Dies wird am 30. September 2023 entfernt und durch Managed Identities ersetzt.
Runbooks ermöglichen es Ihnen, beliebigen PowerShell-Code auszuführen. Dies könnte von einem Angreifer missbraucht werden, um die Berechtigungen des angehängten Principals (falls vorhanden) zu stehlen. Im Code der Runbooks könnten Sie auch sensible Informationen (wie Anmeldeinformationen) finden.
Wenn Sie die Jobs lesen können, tun Sie dies, da sie die Ausgabe des Laufs (potenziell sensible Informationen) enthalten.
Gehen Sie zu Automation Accounts
--> <Select Automation Account>
--> Runbooks/Jobs/Hybrid worker groups/Watcher tasks/credentials/variables/certificates/connections
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 laufen als SYSTEM unter Windows und als nxautomation-Konto unter Linux. Jeder Hybrid Worker ist in einer Hybrid Worker Group registriert.
Daher, wenn Sie wählen können, ein Runbook in einem Windows Hybrid Worker auszuführen, führen Sie beliebige Befehle auf einer externen Maschine als System aus (schöne Pivot-Technik).
Aus den Dokumenten: Azure Automation State Configuration ist ein Azure-Konfigurationsmanagementdienst, der es Ihnen ermöglicht, PowerShell Desired State Configuration (DSC) Konfigurationen für Knoten in jeder Cloud oder in einem lokalen Rechenzentrum 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 Statuskonfiguration (DSC) unter Konfigurationsmanagement auswählen.
Sensible Informationen könnten in diesen Konfigurationen gefunden werden.
Es ist möglich, SC zu missbrauchen, um beliebige Skripte auf den verwalteten Maschinen auszuführen.
Az - State Configuration RCESie könnten dasselbe tun, indem Sie ein vorhandenes Runbook ändern, und zwar über die Webkonsole.
Aktion erforderlich: Erstellen Sie ein neues Automation-Konto.
Spezifische Einstellung: Stellen Sie sicher, dass "Azure Run As-Konto erstellen" aktiviert ist.
Quelle: Laden Sie das Beispiel-Runbook aus dem MicroBurst GitHub Repository herunter.
Erforderliche Aktionen:
Importieren Sie das Runbook in das Automation-Konto.
Veröffentlichen Sie das Runbook, um es ausführbar zu machen.
Fügen Sie dem Runbook ein Webhook hinzu, um externe Trigger zu ermöglichen.
Aktion erforderlich: Fügen Sie das AzureAD-Modul zum Automation-Konto hinzu.
Zusätzlicher Schritt: Stellen Sie sicher, dass alle Azure Automation-Module auf die neuesten Versionen aktualisiert sind.
Zuzuweisende Rollen:
Benutzeradministrator
Abonnementbesitzer
Ziel: Weisen Sie diese Rollen dem Automation-Konto für die erforderlichen Berechtigungen zu.
Hinweis: Seien Sie sich bewusst, dass die Konfiguration einer solchen Automatisierung dazu führen kann, die Kontrolle über das Abonnement zu verlieren.
Lösen Sie das Webhook aus, um einen neuen Benutzer zu erstellen, indem Sie eine POST-Anfrage senden.
Verwenden Sie das bereitgestellte PowerShell-Skript und stellen Sie sicher, dass Sie die $uri
durch Ihre tatsächliche Webhook-URL ersetzen und die $AccountInfo
mit dem gewünschten Benutzernamen und Passwort aktualisieren.
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)