SOC Prime Bias: Crítico

13 Feb 2026 15:45

Investigación de Amenazas de Cato CTRL: Foxveil – Nuevo Cargador de Malware que Abusa de Cloudflare, Discord y Netlify como Infraestructura de Preparación

Author Photo
Ruslan Mikhalov Jefe de Investigación de Amenazas en SOC Prime linkedin icon Seguir
Investigación de Amenazas de Cato CTRL: Foxveil – Nuevo Cargador de Malware que Abusa de Cloudflare, Discord y Netlify como Infraestructura de Preparación
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Foxveil es un cargador de malware de primera etapa recientemente identificado, visto por primera vez en agosto de 2025. Extrae shellcode generado por Donut desde superficies de alojamiento «confiables»—Cloudflare Pages, Netlify y adjuntos de Discord—y luego lo ejecuta a través de técnicas de inyección de procesos. Para la persistencia, el cargador ya sea registra un servicio de Windows o intenta alterar la configuración de Microsoft Defender. A través de variantes observadas, las principales diferencias son la fuente de preparación, el enfoque de inyección y el método de persistencia.

Investigación

Investigadores de Cato analizaron dos variantes de Foxveil y documentaron el flujo de extremo a extremo: recuperación de shellcode, inyección a través de Early Bird APC (o auto-inyección directa), y persistencia mediante un servicio llamado AarSvc. Se observaron artefactos depositados bajo C:WindowsSysWOW64 usando nombres de archivo enmascarados para mezclarse con componentes legítimos. El cargador también incluye una lógica de mutación de cadenas que reescribe términos de alto impacto para reducir las detecciones estáticas. La telemetría de red mostró conexiones a múltiples dominios de Cloudflare y Netlify, con accesos ocasionales a URLs de adjuntos de Discord.

Mitigación

La plataforma Cato SASE bloqueó el cargador antes de la ejecución de la carga útil inspeccionando el comportamiento de descarga y patrones sospechosos de creación de procesos. Para reducir el riesgo, bloquee dominios de preparación conocidos y alerte sobre comportamientos relacionados con inyecciones asociados con las tácticas de Foxveil. Desactive la ejecución de scripts no confiables y fortalezca las políticas alrededor de las exclusiones de Windows Defender para limitar los intentos de persistencia. Mantenga las reglas de lista blanca para servicios en la nube legítimos al día para minimizar falsos positivos mientras se mantiene la cobertura.

Respuesta

Si se detecta actividad de Foxveil, aísle el punto de acceso, termine el proceso malicioso y elimine cualquier servicio registrado (incluyendo AarSvc). Realice una revisión forense de SysWOW64 para buscar ejecutables depositados y recopile hashes para definir el alcance. Apóyese en los registros de red para conexiones a dominios de preparación identificados y bloquéelos en las capas DNS/proxy. Despliegue detecciones para la inyección Early Bird APC y patrones de auto-inyección en toda la flota para identificar hosts adicionales afectados.

<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

gráfico TB %% Definiciones de clase classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef tool fill:#99ccff classDef payload fill:#ccccff classDef operator fill:#ff9900 %% Definiciones de nodo initial_execution[«<b>Técnica</b> – <b>T1574.005 Secuestro de Flujo de Ejecución: Debilidad de Permisos de Archivo del Instalador Ejecutable</b><br/>La víctima ejecuta un EXE/DLL malicioso dejando caer el cargador Foxveil.»] class initial_execution technique staging_retrieval[«<b>Técnica</b> – <b>T1102.001 Servicio Web: Resolver de Entrega Secreta</b> y <b>T1102 Servicio Web</b><br/>Foxveil contacta páginas de Cloudflare, dominios de Netlify o enlaces de adjuntos de Discord controlados por atacantes para descargar shellcode generado por Donut.»] class staging_retrieval technique in_memory_loading[«<b>Técnica</b> – <b>T1620 Carga de Código Reflectante</b><br/>El shellcode descargado se carga directamente en memoria sin tocar el disco.»] class in_memory_loading technique process_injection[«<b>Técnica</b> – <b>T1055.002 Inyección de Ejecutable Portátil</b> y <b>T1055.001 Inyección de DLL</b><br/>Foxveil v1 inyecta vía Early‑Bird APC en un nuevo proceso svchost.exe; Foxveil v2 se auto‑inyecta.»] class process_injection technique persistence_service[«<b>Técnica</b> – <b>T1543 Crear o Modificar Proceso del Sistema</b><br/>Foxveil v1 registra un servicio de Windows (AarSvc) para la persistencia al arranque.»] class persistence_service technique masquerading[«<b>Técnica</b> – <b>T1036.005 Hacer Coincidir el Nombre o Ubicación del Recurso Legítimo</b><br/>Binarios depositados nombrados sms.exe, sihost.exe, taskhostw.exe, audiodg.exe, real1.exe colocados en C:\Windows\SysWOW64.»] class masquerading technique hide_artifacts[«<b>Técnica</b> – <b>T1564.012 Exclusiones de Archivo/Ruta</b><br/>Intenta una llamada WMI a MSFT_MpPreference para eliminar una exclusión para C:\Windows\SysWOW64.»] class hide_artifacts technique obfuscation[«<b>Técnica</b> – <b>T1027.014 Código Polimórfico</b><br/>Rutina de mutación de cadenas en tiempo de ejecución reemplaza cadenas de alto impacto como «fox», «payload», «meterpreter», «beacon».»] class obfuscation technique multistage_delivery[«<b>Técnica</b> – <b>T1104 Canales Multi‑Etapa</b><br/>Después de la ejecución inicial del shellcode, se descargan ejecutables adicionales desde la misma infraestructura de preparación (por ejemplo, un posible baliza Cobalt Strike).»] class multistage_delivery technique foxveil[«<b>Malware</b> – Cargador Foxveil<br/>Cargador inicial que recupera y carga shellcode.»] class foxveil malware donut_shellcode[«<b>Carga Útil</b> – Shellcode generado por Donut<br/>Contiene capacidades maliciosas adicionales.»] class donut_shellcode payload cobalt_strike[«<b>Herramienta</b> – Posible baliza de Cobalt Strike<br/>Descargada en etapas posteriores para comando y control.»] class cobalt_strike tool %% Conexiones initial_execution –>|deposita| foxveil foxveil –>|recupera| staging_retrieval staging_retrieval –>|descarga| donut_shellcode donut_shellcode –>|carga vía| in_memory_loading in_memory_loading –>|ejecuta| process_injection process_injection –>|habilita| persistence_service foxveil –>|realiza| masquerading foxveil –>|realiza| hide_artifacts foxveil –>|realiza| obfuscation process_injection –>|conduce a| multistage_delivery multistage_delivery –>|descarga| cobalt_strike cobalt_strike –>|proporciona| persistence_service

Flujo de Ataque

Ejecución de Simulación

Prerrequisito: La Verificación de Telemetría y Línea Base debe haber pasado.

Justificación: Esta sección detalla la ejecución precisa de la técnica del adversario (TTP) diseñada para activar la regla de detección. Los comandos y la narración DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa del Ataque y Comandos

    1. Reconocimiento: El atacante ha obtenido el dominio de preparación de Foxveil syscore.pages.dev de un volcado de credenciales comprometidas.
    2. Etapa 1 – Resolución DNS: Utilizando una herramienta nativa de Windows, el atacante resuelve el dominio de preparación para obtener la dirección IP del host de la carga útil maliciosa. Este paso refleja el comportamiento real del malware y es el desencadenante observable.
    3. Etapa 2 – Recuperación de Carga Útil (no ejecutada en la prueba): En un ataque real la IP resuelta se usaría para descargar la carga útil de segunda etapa a través de HTTP. Con el fin de validar la detección, solo se requiere la resolución DNS.
  • Script de Prueba de Regresión

    <# 
    Simular la resolución del dominio de preparación de Foxveil.
    Este script realiza una consulta DNS para un dominio conocido de Foxveil,
    generando la telemetría exacta que la regla Sigma monitorea.
    #>
    
    # Definir el dominio de preparación (elegido de la lista blanca de la regla)
    $stagingDomain = "syscore.pages.dev"
    
    # Resolver el dominio – esto genera un evento de consulta DNS
    try {
        $result = Resolve-DnsName -Name $stagingDomain -Type A -ErrorAction Stop
        Write-Host "Resuelto $stagingDomain a $($result.IPAddress)"
    } catch {
        Write-Error "Fallo en la resolución DNS: $_"
    }
    
    # Opcional: pausa para asegurar que la canalización de registros procese el evento
    Start-Sleep -Seconds 5
  • Comandos de Limpieza

    # Vaciar la caché DNS para eliminar la entrada resuelta (evita efectos de caché en pruebas subsecuentes)
    ipconfig /flushdns
    Write-Host "Caché DNS vaciada."