Azure-VM-Befehlsausführung über eine Drittanbieter-Salt-Minion-Erweiterung
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Ein Angreifer mit Microsoft.Compute/virtualMachines/extensions/write Berechtigungen kann legitime Dritthersteller-Erweiterungen missbrauchen, um beliebigen Code auf Azure-VMs auszuführen. Durch die Bereitstellung der Salt Minion-Erweiterung und deren Verbindung mit einem bösartigen Salt Master kann der Angreifer schädliche Zustände auf gezielten Systemen einspielen und Root- oder SYSTEM-Zugriff erlangen. Diese Technik ermöglicht eine unauffällige Befehlsausführung, die sich mit normaler administrativer Automatisierung vermischen kann.
Untersuchung
Der Bericht stellt einen Proof-of-Concept-Angriff dar, bei dem ein bösartiger Salt Master konfiguriert wird, um Azure-VMs zu kontrollieren. Die Untersuchung zeigt, wie die Salt Minion-Erweiterung über die Azure CLI bereitgestellt wird und über die Ports 4505 und 4506 kommuniziert. Forscher führen dann einen bösartigen Salt-Zustand aus, der curl verwendet, um Managed Identity Tokens zu einem out-of-band Interaktionsdienst zu exfiltrieren.
Abschwächung
Organisationen sollten Rollen, die Schreibberechtigungen für Erweiterungen beinhalten, wie Owner, Contributor und Virtual Machine Contributor, streng einschränken. Die Anwendung des Prinzips des geringsten Privilegs ist entscheidend, um unautorisierte Erweiterungsbereitstellungen zu verhindern. Sicherheitsteams sollten außerdem Azure-Aktivitätsprotokolle auf verdächtige Schreibvorgänge von virtuellen Maschinen-Erweiterungen und unerwartete Installationen von Drittanbieter-Erweiterungen überwachen.
Reaktion
Wenn diese Aktivität entdeckt wird, sollten Sicherheitsteams sofort die Berechtigungen der Identität widerrufen, die für die Bereitstellung der Erweiterung verantwortlich ist. Überprüfen Sie die Azure-Aktivitätsprotokolle, um die Quell-IP-Adresse, die betroffene VM und die Erweiterungskonfiguration zu ermitteln. Führen Sie Endpunktforensik auf dem kompromittierten System durch, um die Befehlsausführung zu bewerten, gestohlene Anmeldedaten zu identifizieren und jede unautorisierte Persistenz zu erkennen.
Angriffsfluss
Erkennungen
Python erzeugt verdächtige Prozesse (über process_creation)
Ansehen
Verdächtige Command and Control-Anfrage an ein Out-of-Band Interaktionsdomäne (über dns)
Ansehen
Befehlsausführung auf Azure VM (über azureactivity)
Ansehen
IOCs (SourceIP) zur Erkennung: Azure-VM-Befehlsausführung unter Verwendung von Drittanbieter-Erweiterungen – Salt Minion
Ansehen
IOCs (DestinationIP) zur Erkennung: Azure-VM-Befehlsausführung unter Verwendung von Drittanbieter-Erweiterungen – Salt Minion
Ansehen
Unautorisierte Bereitstellung bösartiger VM-Erweiterungen in Azure erkennen [Azure-Aktivitätsprotokolle]
Ansehen
Ausführung der Simulation
Voraussetzung: Der Telemetrie- & Basislinien-Vorflug-Check muss bestanden sein.
Begründung: Dieser Abschnitt beschreibt die präzise Ausführung der gegnerischen Technik (TTP), die entwickelt wurde, um die Erkennungsregel auszulösen. Die Befehle und das Narrativ MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird. Abstrakte oder nicht verwandte Beispiele führen zu Fehldiagnosen.
-
Angriffserzählung & Befehle: Der Gegner hat ausreichende Berechtigungen innerhalb des Azure-Mandanten erlangt (z.B. über ein kompromittiertes Service Principal oder Benutzerkonto mit ‚Virtual Machine Contributor‘-Rollen). Um sich einen Standpunkt zu verschaffen und Befehle direkt auf einer Ziel-VM ohne traditionelle SSH/RDP-Zugriffsmöglichkeiten auszuführen, entscheidet sich der Gegner, eine „Custom Script Extension“ bereitzustellen. Diese Technik ist sehr effektiv, um netzwerkbasierte Endpunktkontrollen zu umgehen. Der Gegner wird einen Azure CLI-Befehl ausführen, um eine neue Erweiterung auf der Ziel-VM zu ’schreiben‘. Diese Aktion wird die
MICROSOFT.COMPUTE/VIRTUALMACHINES/EXTENSIONS/WRITEOperation in den Azure-Aktivitätsprotokollen auslösen, was genau die Telemetrie ist, die unsere Erkennungsregel erfassen soll. -
Regressionstestskript:
# Simulation: Bereitstellung einer Dummy-Erweiterung zur Auslösung der 'EXTENSIONS/WRITE'-Erkennungslogik # Variablen mit den tatsächlichen Werten Ihrer Testumgebung ersetzen RESOURCE_GROUP="TestRG" VM_NAME="TestVM" EXTENSION_NAME="MaliciousSaltMinionSim" echo "Simulation startet: Bereitstellung der Erweiterung $EXTENSION_NAME auf $VM_NAME..." az vm extension set --resource-group $RESOURCE_GROUP --vm-name $VM_NAME --name $EXTENSION_NAME --publisher Microsoft.Azure.Extensions --settings '{"commandToExecute": "echo "Simulation Successful" > /tmp/pwned.txt"}' echo "Simulation befehl gesendet. Überprüfen Sie die Azure-Aktivitätsprotokolle auf MICROSOFT.COMPUTE/VIRTUALMACHINES/EXTENSIONS/WRITE" -
Bereinigungskommandos:
# Bereinigung: Entfernen der simulierten bösartigen Erweiterung zur Wiederherstellung des ursprünglichen Zustands der Umgebung RESOURCE_GROUP="TestRG" VM_NAME="TestVM" EXTENSION_NAME="MaliciousSaltMinionSim" echo "Bereinigung: Entfernen der Erweiterung $EXTENSION_NAME..." az vm extension delete --resource-group $RESOURCE_GROUP --vm-name $VM_NAME --name $EXTENSION_NAME echo "Bereinigung abgeschlossen."