SOC Prime Bias: Critico

13 Feb 2026 12:45 UTC

Ricerca sulla Minaccia Cato CTRL: Foxveil – Nuovo Malware Loader che Sfrutta Cloudflare, Discord e Netlify come Infrastruttura di Staging

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
Ricerca sulla Minaccia Cato CTRL: Foxveil – Nuovo Malware Loader che Sfrutta Cloudflare, Discord e Netlify come Infrastruttura di Staging
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riepilogo

Foxveil è un malware loader di fase iniziale recentemente identificato, visto per la prima volta nell’agosto 2025. Esso estrae shellcode generati da Donut da superfici di hosting ‘fidate’—Cloudflare Pages, Netlify e allegati Discord—e lo esegue tramite tecniche di process-injection. Per la persistenza, il loader registra un servizio di Windows o tenta di manomettere le impostazioni di Microsoft Defender. Tra le varianti osservate, le principali differenze sono la fonte di staging, l’approccio di iniezione e il metodo di persistenza.

Investigazione

I ricercatori di Cato hanno analizzato due varianti di Foxveil e documentato il flusso end-to-end: recupero dello shellcode, iniezione via Early Bird APC (o auto-iniezione diretta), e persistenza attraverso un servizio denominato AarSvc. Sono stati osservati artefatti rilasciati sotto C:WindowsSysWOW64 utilizzando nomi di file mascherati per mescolarsi con componenti legittimi. Il loader include anche una logica di mutazione delle stringhe che riscrive i termini ad alto segnale per ridurre le rilevazioni statiche. La telemetria di rete ha mostrato connessioni a più domini Cloudflare e Netlify, con richieste occasionali da URL di allegati Discord.

Mitigazione

La piattaforma Cato SASE ha bloccato il loader prima dell’esecuzione del payload esaminando il comportamento di download e schemi di creazione di processi sospetti. Per ridurre il rischio, bloccare i domini di staging conosciuti e avvisare su comportamenti di iniezione associati alle tecniche di Foxveil. Disabilitare l’esecuzione di script non attendibili e rinforzare le politiche attorno alle esclusioni di Windows Defender per limitare i tentativi di persistenza. Mantenere aggiornate le regole della lista di permessi per i servizi cloud legittimi per minimizzare i falsi positivi mantenendo la copertura.

Risposta

Se viene rilevata attività di Foxveil, isolare l’endpoint, terminare il processo malevolo e rimuovere qualsiasi servizio registrato (incluso AarSvc). Eseguire una revisione forense di SysWOW64 per eseguibili rilasciati e raccogliere hash per lo scoping. Fare pivot sui log di rete per le connessioni ai domini di staging identificati e bloccarli ai livelli DNS/proxy. Distribuire rilevamenti per l’iniezione Early Bird APC e i pattern di auto-iniezione su tutta la flotta per identificare ulteriori host impattati.

<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

Flusso d’attacco

Esecuzione della Simulazione

Prerequisito: Il controllo pre-volo di Telemetria e 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 narrazione DEVONO riflettere direttamente i TTPs identificati e mirare a generare l’esatta telemetria prevista dalla logica di rilevamento.

  • Narrativa dell’Attacco e Comandi

    1. Ricognizione: L’attaccante ha ottenuto il dominio di staging di Foxveil syscore.pages.dev da un dump di credenziali compromesso.
    2. Fase 1 – Risoluzione DNS: Utilizzando uno strumento nativo di Windows, l’attaccante risolve il dominio di staging per ottenere l’indirizzo IP dell’host del payload malevolo. Questo passaggio rispecchia il comportamento reale del malware ed è il trigger osservabile.
    3. Fase 2 – Recupero del Payload (non eseguito nel test): In un attacco reale, l’IP risolto verrebbe utilizzato per scaricare il payload di seconda fase via HTTP. Per lo scopo della validazione del rilevamento, è richiesta solo la risoluzione DNS.
  • Script di Test di Regressione

    <# 
    Simula la risoluzione del dominio di staging di Foxveil.
    Questo script effettua una query DNS per un dominio Foxveil conosciuto,
    generando l'esatta telemetria che la regola Sigma monitora.
    #>
    
    # Definire il dominio di staging (scelto dalla whitelist della regola)
    $stagingDomain = "syscore.pages.dev"
    
    # Risolvere il dominio – questo genera un evento di query DNS
    try {
        $result = Resolve-DnsName -Name $stagingDomain -Type A -ErrorAction Stop
        Write-Host "Risolto $stagingDomain a $($result.IPAddress)"
    } catch {
        Write-Error "La risoluzione DNS è fallita: $_"
    }
    
    # Opzionale: pausa per garantire che la pipeline di log elabori l'evento
    Start-Sleep -Seconds 5
  • Comandi di Pulizia

    # Svuotare la cache DNS per rimuovere l'entrata risolta (previene gli effetti di caching nei test successivi)
    ipconfig /flushdns
    Scrivi-Ost "Cache DNS svuotata."