SOC Prime Bias: Kritisch

13 Feb. 2026 15:45

Cato CTRL Threat Research: Foxveil – Neuer Malware-Loader, der Cloudflare, Discord und Netlify als Staging-Infrastruktur missbraucht

Author Photo
Ruslan Mikhalov Leiter der Bedrohungsforschung bei SOC Prime linkedin icon Folgen
Cato CTRL Threat Research: Foxveil – Neuer Malware-Loader, der Cloudflare, Discord und Netlify als Staging-Infrastruktur missbraucht
shield icon

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.

<div class="wp-block-socprime-category-attack-flow attack-flow-class" data-title="Attack Flow" data-attack-flow="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>Technique</b> – <b>T1574.005 Hijack Execution Flow: Executable Installer File Permissions Weakness</b><br/>Victim runs malicious EXE/DLL dropping the Foxveil loader."] class initial_execution technique staging_retrieval["<b>Technique</b> – <b>T1102.001 Web Service: Dead Drop Resolver</b> and <b>T1102 Web Service</b><br/>Foxveil contacts attacker‑controlled Cloudflare Pages, Netlify domains or Discord attachment links to download Donut‑generated shellcode."] class staging_retrieval technique in_memory_loading["<b>Technique</b> – <b>T1620 Reflective Code Loading</b><br/>Downloaded shellcode is loaded directly into memory without touching disk."] class in_memory_loading technique process_injection["<b>Technique</b> – <b>T1055.002 Portable Executable Injection</b> and <b>T1055.001 DLL Injection</b><br/>Foxveil v1 injects via Early‑Bird APC into a newly spawned svchost.exe process; Foxveil v2 self‑injects."] class process_injection technique persistence_service["<b>Technique</b> – <b>T1543 Create or Modify System Process</b><br/>Foxveil v1 registers a Windows service (AarSvc) for boot persistence."] class persistence_service technique masquerading["<b>Technique</b> – <b>T1036.005 Match Legitimate Resource Name or Location</b><br/>Dropped binaries named sms.exe, sihost.exe, taskhostw.exe, audiodg.exe, real1.exe placed in C:\Windows\SysWOW64."] class masquerading technique hide_artifacts["<b>Technique</b> – <b>T1564.012 File/Path Exclusions</b><br/>Attempts WMI call to MSFT_MpPreference to remove an exclusion for C:\Windows\SysWOW64."] class hide_artifacts technique obfuscation["<b>Technique</b> – <b>T1027.014 Polymorphic Code</b><br/>Runtime string‑mutation routine replaces high‑signal strings such as "fox", "payload", "meterpreter", "beacon"."] class obfuscation technique multistage_delivery["<b>Technique</b> – <b>T1104 Multi‑Stage Channels</b><br/>After initial shellcode execution, additional executables are downloaded from the same staging infrastructure (e.g., potential Cobalt Strike beacon)."] class multistage_delivery technique foxveil["<b>Malware</b> – Foxveil Loader<br/>Initial dropper that retrieves and loads shellcode."] class foxveil malware donut_shellcode["<b>Payload</b> – Donut generated shellcode<br/>Contains further malicious capabilities."] class donut_shellcode payload cobalt_strike["<b>Tool</b> – Potential Cobalt Strike beacon

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

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

    1. Aufklärung: Der Angreifer hat die Foxveil-Staging-Domäne erhalten syscore.pages.dev aus einem kompromittierten Anmeldedaten-Dump.
    2. 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.
    3. 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.
  • 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."