Esecuzione di Comandi su VM Azure tramite un’Estensione Salt Minion di Terze Parti
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo
Un attaccante con Microsoft.Compute/virtualMachines/extensions/write permessi può abusare delle estensioni legittime di terze parti per eseguire codice arbitrario su VM Azure. Distribuendo l’estensione Salt Minion e collegandola a un Salt Master canaglia, l’attaccante può inviare stati dannosi ai sistemi bersaglio e ottenere accesso di root o di livello SYSTEM. Questa tecnica consente l’esecuzione furtiva di comandi che può confondersi con l’automazione amministrativa normale.
Indagine
Il rapporto presenta un attacco proof-of-concept in cui un Salt Master canaglia è configurato per controllare le VM Azure. L’indagine mostra come l’estensione Salt Minion venga distribuita tramite l’Azure CLI e configurata per comunicare sulle porte 4505 e 4506. I ricercatori poi eseguono uno stato Salt dannoso che utilizza curl per esfiltrare i token di Identità Gestita a un servizio di interazione fuori banda.
Mitigazione
Le organizzazioni dovrebbero limitare strettamente i ruoli che includono permessi di scrittura delle estensioni, compresi Proprietario, Collaboratore e Collaboratore Macchina Virtuale. Applicare il principio del privilegio minimo è essenziale per prevenire la distribuzione non autorizzata delle estensioni. I team di sicurezza dovrebbero anche monitorare i Log di Attività Azure per operazioni di scrittura sospette di estensioni di macchine virtuali e installazioni inaspettate di estensioni di terze parti.
Risposta
Se viene rilevata questa attività, i team di sicurezza devono immediatamente revocare i permessi dell’identità responsabile per la distribuzione dell’estensione. Rivedere i Log di Attività Azure per determinare l’indirizzo IP di origine, la VM interessata e la configurazione dell’estensione. Eseguire indagini forensi sugli endpoint del sistema compromesso per valutare l’esecuzione dei comandi, identificare le credenziali rubate e rilevare eventuali persistenze non autorizzate.
Flusso di Attacco
Rilevamenti
Python Avvia Processi Sospetti (tramite process_creation)
Visualizza
Comando e Controllo Sospetti tramite Richiesta al Dominio di Interazioni Fuori Banda (tramite dns)
Visualizza
Esecuzione Comandi su VM Azure (tramite azureactivity)
Visualizza
IOC (SourceIP) da rilevare: Esecuzione Comandi su VM Azure utilizzando Estensioni di Terze Parti – Salt Minion
Visualizza
IOC (DestinationIP) da rilevare: Esecuzione Comandi su VM Azure utilizzando Estensioni di Terze Parti – Salt Minion
Visualizza
Rilevazione della Distribuzione Non Autorizzata di Estensioni VM Maligne in Azure [Log di Attività Azure]
Visualizza
Esecuzione Simulazione
Prerequisito: Il Controllo Pre-flight di Telemetria & Baseline deve essere passato.
Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrativa DEVONO riflettere direttamente i TTP identificati e mirare a generare la telemetria esatta attesa dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.
-
Narrativa dell’Attacco & Comandi: L’avversario ha ottenuto permessi sufficienti all’interno del Tenant Azure (ad esempio, tramite un Service Principal compromesso o un Account Utente con ruoli di ‘Collaboratore Macchina Virtuale’). Per stabilire un punto di appoggio ed eseguire comandi direttamente su una VM bersaglio senza accesso SSH/RDP tradizionale, l’avversario sceglie di distribuire una “Estensione Script Personalizzata”. Questa tecnica è altamente efficace per aggirare i controlli di rete basati sugli endpoint. L’avversario eseguirà un comando Azure CLI per ‘scrivere’ una nuova estensione sulla VM bersaglio. Questa azione attiverà l’operazione
MICROSOFT.COMPUTE/VIRTUALMACHINES/EXTENSIONS/WRITEnei Log di Attività Azure, che è la telemetria esatta che la nostra regola di rilevamento è progettata per catturare. -
Script di Test di Regressione:
# Simulazione: Distribuendo un'estensione fittizia per attivare la logica di rilevamento 'EXTENSIONS/WRITE' # Sostituisci le variabili con i valori effettivi del tuo ambiente di test RESOURCE_GROUP="TestRG" VM_NAME="TestVM" EXTENSION_NAME="MaliciousSaltMinionSim" echo "Inizio simulazione: Distribuzione dell'estensione $EXTENSION_NAME su $VM_NAME..." az vm extension set --resource-group $RESOURCE_GROUP --vm-name $VM_NAME --name $EXTENSION_NAME --publisher Microsoft.Azure.Extensions --settings '{"commandToExecute": "echo "Simulazione Riuscita" > /tmp/pwned.txt"}' echo "Comando di simulazione inviato. Controlla i Log di Attività Azure per MICROSOFT.COMPUTE/VIRTUALMACHINES/EXTENSIONS/WRITE" -
Comandi di Pulizia:
# Pulizia: Rimuovere l'estensione maligna simulata per riportare l'ambiente allo stato originale RESOURCE_GROUP="TestRG" VM_NAME="TestVM" EXTENSION_NAME="MaliciousSaltMinionSim" echo "Pulizia: Rimozione dell'estensione $EXTENSION_NAME..." az vm extension delete --resource-group $RESOURCE_GROUP --vm-name $VM_NAME --name $EXTENSION_NAME echo "Pulizia completata."