CrowdStrike jagt Shell-Befehlsverschleierung auf VMware ESXi
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Angreifer zielen zunehmend auf VMware ESX-Hypervisoren mit ausgeklügelter Shell-Befehl-Verschleierung, die zur Umgehung der Erkennung entwickelt wurde. Bedrohungsakteure verwenden Techniken, die von einfacher Hex-Codierung bis hin zu fortgeschrittenen kryptographischen Verschlüsselungen und unsichtbaren Unicode-Zeichen reichen, die in die BusyBox-Shell injiziert werden. Diese Methoden ermöglichen es den Angreifern, bösartige Befehle auszuführen, einschließlich der Deaktivierung von Syslogs oder der Verschlüsselung virtueller Maschinen, während lesbare Spuren in normalen Shell-Logs minimiert werden.
Untersuchung
CrowdStrike-Forscher haben systematisch 21 verschiedene Verschleierungstechniken in einer kontrollierten ESX 7.0.3-Umgebung bewertet. Sie gruppierten diese Methoden in sechs Kategorien: Escape-Sequenzen, Zeichengenerierung, Unicode-Injektion, kryptografische Codierung, infrastruktur-gebundene Nutzlasten und alternative Codierungssysteme. Die Forschung bestätigte, dass diese Techniken die herkömmliche keyword-basierte Erkennung umgehen können, indem sie Unterschiede zwischen der Art und Weise ausnutzen, wie Befehle analysiert und letztlich ausgeführt werden.
Minderung
Sicherheitsteams sollten über die einfache Schlüsselwort-Erkennung hinausgehen und Regex-basierte Korrelationsregeln adaptieren, die die syntaktischen Muster identifizieren, die häufig mit Verschleierung verbunden sind. Fortgeschrittene SIEM-Plattformen wie CrowdStrike Falcon Next-Gen SIEM können helfen, diese Verhaltensweisen über ESX-Shell-Telemetrie hinweg zu erkennen. Die Aufrechterhaltung eines zuverlässigen Basiswerts normaler administrativer Aktivitäten ist ebenfalls entscheidend, um anomale Shell-Ausführungen zu identifizieren.
Reaktion
Wenn die Ausführung verschleierter Befehle erkannt wird, sollten Incident Responder den betroffenen ESX-Host sofort isolieren, um laterale Bewegungen oder die Verschlüsselung von VMs einzuschränken. Shell-Logs sollten auf bekannte Verschleierungsmuster analysiert werden, um die tatsächlich ausgeführten Befehle zu rekonstruieren. Responder sollten auch die Persistenz durch geplante Aufgaben oder geänderte Systemkonfigurationen untersuchen und die Integrität des VMFS-Dateisystems überprüfen.
Angriffsfluss
Erkennungen
Mögliche ESXCLI-Systemenumeration [Windows] (über cmdline)
Proof of Value
Möglicher SSHd-Konfigurationsdatei-Enumeration oder Änderungsversuch (über cmdline)
Proof of Value
Mögliche ESXCLI-Systemenumeration [Linux] (über cmdline)
Proof of Value
Verdächtiger ESXCLI-Syslog-Dienst-Neuladen [Linux] (über cmdline)
Proof of Value
Erkennung von verschlüsseltem Befehl auf VMware ESX [Linux-Prozesserstellung]
Proof of Value
Ausführung der Simulation
Voraussetzung: Der Telemetrie- und Basiswert-Pre-Flight-Check muss bestanden haben.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der Adversary-Technik (TTP), die entwickelt wurde, um die Erkennungsregel auszulösen. Die Befehle und die Erzählung MÜSSEN direkt die identifizierten TTPs widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennungslösung erwartet wird.
-
Angriffserzählung & Befehle: Der Angreifer hat Shell-Zugriff auf einen VMware ESX-Host erlangt. Um die Erkennung durch Sicherheitstools zu vermeiden, die nach dem Schlüsselwort
esxclisuchen, verwendet der Angreifer einenawkBefehl zur Generierung der Zeichenfolgeesxclimithilfe von ASCII-Dezimalwerten und übergibt diese dann ansystem(). Diese Technik wird verwendet, um Konfigurationsänderungen durchzuführen (z. B. das Zurücksetzen von Log-Hosts), während sie für einfache Mustervergleichsfilter unsichtbar bleibt. -
Regressions-Testscript: Dieses Skript führt eine der spezifischen Nutzlasten aus, die in der Erkennungslogik definiert sind, um die Auslösung der Regel zu überprüfen.
#!/bin/bash # Simulationsskript zum Auslösen der Regel 'Erkennung von verschleiertem Befehl auf VMware ESX'. echo "[+] Starte Simulation: Verschleierte Befehlsausführung" # Nutzlast 1: Verwendung von printf innerhalb eines Subshells, um 'esxcli' zu verbergen echo "[+] Ausführen von Nutzlast 1 (printf-Verschleierung)..." $(printf "x65x73x78x63x6cx69") system syslog config get # Nutzlast 2: Verwendung von awk, um 'esxcli' über ASCII-Dezimalkodes wiederherzustellen echo "[+] Ausführen von Nutzlast 2 (awk ASCII-Rekonstruktion)..." awk 'BEGIN{printf "%c%c%c%c%c%c",101,115,120,99,108,105} system " syslog config get"' echo "[+] Simulation abgeschlossen. Überprüfen Sie SIEM auf Alarme." -
Bereinigungsbefehle: Da diese Befehle so konzipiert sind, dass sie nicht destruktiv sind (unter Verwendung von
getorconfig get), ist nur eine minimale Bereinigung erforderlich. Um jedoch sicherzustellen, dass keine dauerhaften Änderungen vorgenommen wurden, wenn einsetBefehl verwendet wurde:# In dieser Simulation wurden keine destruktiven Aktionen durchgeführt. # Wenn ein 'set'-Befehl verwendet wurde, die ursprüngliche Konfiguration wiederherstellen. echo "[+] Bereinigung: Es wurden keine Änderungen an der Systemkonfiguration vorgenommen."