Cato CTRL Threat Research: Foxveil – Neuer Malware-Loader, der Cloudflare, Discord und Netlify als Staging-Infrastruktur missbraucht
Detection stack
- AIDR
- Alert
- ETL
- Query
Zusammenfassung
Foxveil ist ein neu identifizierter Initial-Stage-Malware-Loader, der erstmals im August 2025 entdeckt wurde. Er lädt von Donut generierten Shellcode von „vertrauenswürdigen“ Hosting-Oberflächen – Cloudflare Pages, Netlify und Discord-Anhängen – und führt diesen dann mithilfe von Prozessinjektionstechniken aus. Für die Persistenz registriert der Loader entweder einen Windows-Dienst oder versucht, die Einstellungen von Microsoft Defender zu manipulieren. Bei den beobachteten Varianten sind die Hauptunterschiede die Quelle des Stagings, der Injektionsansatz und die Persistenzmethode.
Untersuchung
Cato-Forscher analysierten zwei Foxveil-Varianten und dokumentierten den End-to-End-Fluss: Shellcode-Retrieval, Injektion über Early Bird APC (oder direkte Selbstinjektion) und Persistenz durch einen Dienst namens AarSvc. Abgelegte Artefakte wurden unter C:WindowsSysWOW64 mit maskierten Dateinamen beobachtet, um sich mit legitimen Komponenten zu mischen. Der Loader beinhaltet auch eine String-Mutationslogik, die hochsignifikante Begriffe umschreibt, um statische Detektionen zu reduzieren. Netzwerktelemetrie zeigte Verbindungen zu mehreren Cloudflare- und Netlify-Domänen, mit gelegentlichen Abrufen von Discord-Anhangs-URLs.
Minderung
Die Cato SASE-Plattform blockierte den Loader vor der Ausführung des Payloads, indem sie das Download-Verhalten und verdächtige Prozess-Erstellungsmuster untersuchte. Um das Risiko zu reduzieren, blockieren Sie bekannte Staging-Domänen und alarmieren Sie bei Injektions-bezogenen Verhaltensweisen, die mit Foxveils Arbeitsweise verbunden sind. Deaktivieren Sie nicht vertrauenswürdige Skript-Ausführungen und verstärken Sie Richtlinien zu Ausschlüssen in Windows Defender, um Persistenzversuche einzuschränken. Halten Sie Freigabelisten-Regeln für legitime Cloud-Dienste aktuell, um Fehlalarme zu minimieren und gleichzeitig die Abdeckung aufrechtzuerhalten.
Reaktion
Wenn Foxveil-Aktivität entdeckt wird, isolieren Sie den Endpunkt, beenden Sie den bösartigen Prozess und entfernen Sie jeglichen registrierten Dienst (einschließlich AarSvc). Führen Sie eine forensische Überprüfung von SysWOW64 auf abgelegte ausführbare Dateien durch und sammeln Sie Hashwerte zur Umfangsbestimmung. Pivotieren Sie auf Netzwerkprotokolle zu identifizierten Staging-Domänen und blockieren Sie diese auf DNS-/Proxy-Schichten. Rollen Sie Detektionen für Early Bird APC-Injektion und Selbstinjektionsmuster auf der gesamten Flotte aus, um zusätzliche betroffene Hosts zu identifizieren.
graph TB %% Class Definitions classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef tool fill:#99ccff classDef payload fill:#ccccff classDef operator fill:#ff9900 %% Node Definitions initial_execution[„<b>Technik</b> – <b>T1574.005 Hijack-Abfluss: Ausführbare Installationsdateiberechtigungs-Schwäche</b><br/>Opfer führt bösartige EXE/DLL aus, die den Foxveil-Loader ablegt.“] class initial_execution technique staging_retrieval[„<b>Technik</b> – <b>T1102.001 Webdienst: Dead Drop Resolver</b> und <b>T1102 Webdienst</b><br/>Foxveil kontaktiert angreiferkontrollierte Cloudflare Pages, Netlify-Domänen oder Discord-Anhang-Links, um Donut-generierten Shellcode herunterzuladen.“] class staging_retrieval technique in_memory_loading[„<b>Technik</b> – <b>T1620 Reflektierende Codeladung</b><br/>Heruntergeladener Shellcode wird direkt in den Speicher geladen, ohne die Festplatte zu berühren.“] class in_memory_loading technique process_injection[„<b>Technik</b> – <b>T1055.002 Portable Executable Injection</b> und <b>T1055.001 DLL Injection</b><br/>Foxveil v1 injiziert über Early Bird APC in einen neu gestarteten svchost.exe-Prozess; Foxveil v2 injiziert sich selbst.“] class process_injection technique persistence_service[„<b>Technik</b> – <b>T1543 Systemprozess Erstellen oder Ändern</b><br/>Foxveil v1 registriert einen Windows-Dienst (AarSvc) für Boot-Persistenz.“] class persistence_service technique masquerading[„<b>Technik</b> – <b>T1036.005 Passender legitimer Ressourcenname oder Standort</b><br/>Abgelegte Binärdateien benannt als sms.exe, sihost.exe, taskhostw.exe, audiodg.exe, real1.exe platziert in C:\Windows\SysWOW64.“] class masquerading technique hide_artifacts[„<b>Technik</b> – <b>T1564.012 Dateien-/Pfadausschlüsse</b><br/>Versucht WMI-Aufruf an MSFT_MpPreference, um einen Ausschluss für C:\Windows\SysWOW64 zu entfernen.“] class hide_artifacts technique obfuscation[„<b>Technik</b> – <b>T1027.014 Polymorpher Code</b><br/>Laufzeit-String-Mutationsroutine ersetzt hochsignifikante Strings wie „fox“, „payload“, „meterpreter“, „beacon“.“] class obfuscation technique multistage_delivery[„<b>Technik</b> – <b>T1104 Mehrstufige Kanäle</b><br/>Nach der ersten Shellcode-Ausführung werden zusätzliche ausführbare Dateien von derselben Staging-Infrastruktur heruntergeladen (z.B. potenzieller Cobalt Strike-Beacon).“] class multistage_delivery technique foxveil[„<b>Malware</b> – Foxveil Loader<br/>Initialer Dropper, der Shellcode abruft und lädt.“] class foxveil malware donut_shellcode[„<b>Payload</b> – Donut generierter Shellcode<br/>Enthält weitere bösartige Fähigkeiten.“] class donut_shellcode payload cobalt_strike[„<b>Werkzeug</b> – Potenzieller Cobalt Strike Beacon<br/>Heruntergeladen in späteren Phasen für Befehl- und Kontrollzwecke.“] class cobalt_strike tool %% Connections initial_execution –>|legt ab| foxveil foxveil –>|ruft ab| staging_retrieval staging_retrieval –>|lädt herunter| donut_shellcode donut_shellcode –>|lädt über| in_memory_loading in_memory_loading –>|führt aus| process_injection process_injection –>|ermöglicht| persistence_service foxveil –>|führt aus| masquerading foxveil –>|führt aus| hide_artifacts foxveil –>|führt aus| obfuscation process_injection –>|führt zu| multistage_delivery multistage_delivery –>|lädt herunter| cobalt_strike cobalt_strike –>|bietet an| persistence_service
Angriffsfluss
Erkennungen
Abnormale Systemprozesskette (via process_creation)
Anzeigen
Mögliche Dateninfiltration / Exfiltration / C2 über Dienste / Tools von Drittanbietern (via proxy)
Anzeigen
Verdächtige Svchost-Prozesse (via process_creation)
Anzeigen
Verdächtige Änderungen der Defender-Ausschlüsse über WMIC (via cmdline)
Anzeigen
Mögliche Dateninfiltration / Exfiltration / C2 über Dienste / Tools von Drittanbietern (via dns)
Anzeigen
IOCs (HashSha256) zur Erkennung: Cato CTRLTM Threat Research: Foxveil – Neuer Malware-Loader, der Cloudflare, Discord und Netlify als Staging-Infrastruktur nutzt Teil 1
Anzeigen
IOCs (HashSha256) zur Erkennung: Cato CTRLTM Threat Research: Foxveil – Neuer Malware-Loader, der Cloudflare, Discord und Netlify als Staging-Infrastruktur nutzt Teil 2
Anzeigen
Foxveil v1 Maskierter svchost.exe Prozessinjektions-Erkennung [Windows Prozess-Erstellung]
Anzeigen
Erkennung der Foxveil-Malware-Staging-Domänen [Windows Netzwerkverbindung]
Anzeigen
Simulationsausführung
Voraussetzung: Der Telemetrie- und Basislinien-Vorflug-Check muss bestanden sein.
Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der Gegnertechnik (TTP), die darauf abzielt, die Erkennungsregel auszulösen. Die Befehle und Erzählungen MÜSSEN direkt die identifizierten TTPs widerspiegeln und darauf abzielen, genau die Telemetrie zu generieren, die von der Erkennungslogik erwartet wird.
-
Angriffserzählung & Befehle
-
Aufklärung: Der Angreifer hat die Foxveil-Staging-Domäne erhalten
syscore.pages.devaus einem kompromittierten Anmeldedaten-Dump. - Stufe 1 – DNS-Auflösung: Mit einem nativen Windows-Tool löst der Angreifer die Staging-Domäne auf, um die IP-Adresse des bösartigen Payload-Hosts zu erhalten. Dieser Schritt spiegelt das reale Malware-Verhalten wider und ist der beobachtbare Trigger.
- Stufe 2 – Payload-Retrieval (im Test nicht ausgeführt): Bei einem echten Angriff würde die aufgelöste IP verwendet, um die zweite Stufe des Payloads über HTTP herunterzuladen. Zum Zwecke der Erkennungsvalidierung ist nur die DNS-Auflösung erforderlich.
-
Aufklärung: Der Angreifer hat die Foxveil-Staging-Domäne erhalten
-
Regressionstest-Skript
<# Simulieren Sie die Auflösung der Foxveil-Staging-Domäne. Dieses Skript führt eine DNS-Abfrage für eine bekannte Foxveil-Domäne durch, um genau die Telemetrie zu generieren, die die Sigma-Regel überwacht. #> # Definieren Sie die Staging-Domäne (aus der Whitelist der Regel gewählt) $stagingDomain = "syscore.pages.dev" # Lösen Sie die Domäne auf – dies generiert ein DNS-Abfrageereignis try { $result = Resolve-DnsName -Name $stagingDomain -Type A -ErrorAction Stop Write-Host "Aufgelöst $stagingDomain zu $($result.IPAddress)" } catch { Write-Error "DNS-Auflösung fehlgeschlagen: $_" } # Optional: Pause, um sicherzustellen, dass die Protokollpipeline das Ereignis verarbeitet Start-Sleep -Seconds 5 -
Bereinigungsbefehle
# Leeren Sie den DNS-Cache, um den aufgelösten Eintrag zu entfernen (verhindert Caching-Effekte bei nachfolgenden Tests) ipconfig /flushdns Write-Host "DNS-Cache geleert."