CrowdStrike Caccia l’Offuscamento dei Comandi Shell su VMware ESXi
Detection stack
- AIDR
- Alert
- ETL
- Query
Riepilogo
Gli avversari stanno sempre più prendendo di mira gli hypervisor VMware ESX con una sofisticata offuscamento di comandi shell progettata per eludere il rilevamento. Gli attori delle minacce utilizzano tecniche che vanno dalla semplice codifica esadecimale a cifrari crittografici avanzati e caratteri Unicode invisibili iniettati nella shell BusyBox. Questi metodi consentono agli aggressori di eseguire comandi dannosi, inclusi la disabilitazione dei syslog o la crittografia delle macchine virtuali, riducendo al minimo le tracce leggibili nei log delle shell standard.
Indagine
I ricercatori di CrowdStrike hanno valutato sistematicamente 21 diverse tecniche di offuscamento all’interno di un ambiente controllato ESX 7.0.3. Hanno raggruppato questi metodi in sei categorie: sequenze di escape, generazione di caratteri, iniezione di Unicode, codifica crittografica, payload con chiavi infrastrutturali e sistemi di codifica alternativi. La ricerca ha confermato che queste tecniche possono bypassare il rilevamento tradizionale basato su parole chiave sfruttando le differenze tra come i comandi vengono analizzati e infine eseguiti.
Mitigazione
I team di sicurezza dovrebbero andare oltre il rilevamento basato su semplici parole chiave ed adottare regole di correlazione basate su espressioni regolari che identificano i modelli sintattici comunemente associati all’offuscamento. Piattaforme SIEM avanzate come CrowdStrike Falcon Next-Gen SIEM possono aiutare a rilevare questi comportamenti attraverso la telemetria della shell ESX. Mantenere un affidabile baseline di normale attività amministrativa è anche essenziale per identificare l’esecuzione anomala delle shell.
Risposta
Se viene rilevata l’esecuzione di comandi offuscati, i rispondenti agli incidenti dovrebbero isolare immediatamente l’host ESX interessato per limitare il movimento laterale o la crittografia delle VM. I log delle shell dovrebbero essere analizzati per modelli di offuscamento noti al fine di ricostruire i comandi che sono stati effettivamente eseguiti. I rispondenti dovrebbero anche indagare sulla persistenza tramite attività pianificate o configurazioni di sistema modificate e verificare l’integrità del filesystem VMFS.
Flusso di Attacco
Rilevamenti
Possibile Inventario Sistema ESXCLI [Windows] (tramite cmdline)
Proof of Value
Possibile Tentativo di Inventario o Modifica del File di Configurazione SSHd (tramite cmdline)
Proof of Value
Possibile Inventario Sistema ESXCLI [Linux] (tramite cmdline)
Proof of Value
Ricarico Sospetto del Servizio Syslog ESXCLI [Linux] (tramite cmdline)
Proof of Value
Rilevamento di Comando Offuscato su VMware ESX [Creazione Processo Linux]
Proof of Value
Esecuzione Simulazione
Prerequisito: Il Controllo Pre-volo di Telemetria & Baseline deve essere stato superato.
Razionale: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente le TTP identificate e mirare a generare la telemetria esatta prevista dalla logica di rilevamento.
-
Narrazione e Comandi di Attacco: L’avversario ha ottenuto accesso alla shell di un host VMware ESX. Per evitare il rilevamento da parte di strumenti di sicurezza che scansionano la parola chiave
esxcli, l’aggressore utilizza un comandoawkper generare la stringaesxcliusando valori decimali ASCII e lo passa asystem(). Questa tecnica viene utilizzata per eseguire modifiche alla configurazione (ad esempio, reimpostare gli host di log) rimanendo invisibile ai semplici filtri di corrispondenza dei modelli. -
Script di Test di Regressione: Questo script esegue uno dei payload specifici definiti nella logica di rilevamento per verificare che la regola si attivi.
#!/bin/bash # Simulation script per attivare la regola 'Rilevamento di Comando Offuscato su VMware ESX'. echo "[+] Avvio Simulazione: Esecuzione di Comando Offuscato" # Payload 1: Uso di printf all'interno di una subshell per nascondere 'esxcli' echo "[+] Esecuzione Payload 1 (offuscamento printf)..." $(printf "x65x73x78x63x6cx69") system syslog config get # Payload 2: Uso di awk per ricostruire 'esxcli' tramite codici decimali ASCII echo "[+] Esecuzione Payload 2 (ricostruzione ASCII awk)..." awk 'BEGIN{printf "%c%c%c%c%c%c",101,115,120,99,108,105} system " syslog config get"' echo "[+] Simulazione Completata. Controllare SIEM per allerta." -
Comandi di Pulizia: Poiché questi comandi sono progettati per essere non distruttivi (utilizzando config get), è necessario un minimo di pulizia. Tuttavia, per garantire che non siano state apportate modifiche persistenti se è stato utilizzato un comando:
getorconfig get, è richiesta una pulizia minima. Tuttavia, per garantire che non siano state apportate modifiche persistenti se è stato utilizzato un comandoset:# Nessuna azione distruttiva è stata eseguita in questa simulazione. # Se è stato usato un comando 'set', ripristinare la configurazione originale. echo "[+] Pulizia: Non sono state apportate modifiche alla configurazione di sistema."