SOC Prime Bias: Hoch

30 Jul 2026 15:27 UTC

Azure-VM-Befehlsausführung über eine Drittanbieter-Salt-Minion-Erweiterung

Author Photo
SOC Prime Team linkedin icon Folgen
Azure-VM-Befehlsausführung über eine Drittanbieter-Salt-Minion-Erweiterung
shield icon

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

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/WRITE Operation 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."