SOC Prime Bias: Crítico

02 Feb 2026 14:44

ACU-0001 (APT28) Ataques Usando CVE-2026-21509

Author Photo
Ruslan Mikhalov Jefe de Investigación de Amenazas en SOC Prime linkedin icon Seguir
ACU-0001 (APT28) Ataques Usando CVE-2026-21509
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

APT28 (rastreador UAC-0001) está explotando la recientemente divulgada vulnerabilidad de Microsoft Office CVE-2026-21509 para entregar cargas maliciosas contra objetivos del gobierno ucraniano y organizaciones de toda la UE. La intrusión comienza con un DOC armado que fuerza una solicitud WebDAV para extraer componentes adicionales, luego configura un secuestro de COM para ejecutar un cargador basado en DLL que lanza el marco Covenant. La actividad también aprovecha el almacenamiento en la nube legítimo como parte de su infraestructura de red. La campaña fue observada a finales de enero de 2026.

Investigación

El análisis de los archivos DOC maliciosos mostró que abrirlos en Office inicia una conexión WebDAV que descarga una DLL llamada EhStoreShell.dll junto con una imagen shellcode PNG. La DLL se hace persistente mediante un secuestro de registro COM CLSID, y una tarea programada llamada OneDriveHealth se utiliza para activar explorer.exe, el cual carga el objeto COM secuestrado. El cargador luego inicia Covenant, con el control del operador dirigido a través de puntos finales respaldados por Filen.

Mitigación

Aplique, sin demora, la actualización de Office de Microsoft que aborda CVE-2026-21509. Desactive o restrinja estrictamente el uso de WebDAV dentro de Office donde sea posible. Elimine el registro malicioso de CLSID y borre la tarea programada OneDriveHealth. Bloquee el acceso saliente a dominios de Filen e IP relacionadas, y controle los endpoints para la creación de los DLL y PNG descritos.

Respuesta

Alerta sobre la creación de EhStoreShell.dll, SplashScreen.png y cambios en la ruta de registro de CLSID secuestrado. Detecte e investigue la creación de tareas programadas que coincidan con OneDriveHealth. Correlacione la actividad del proceso de Office con conexiones salientes a dominios de Filen, ponga en cuarentena los documentos relacionados y realice un análisis forense completo de host en los sistemas afectados.

graph TB %% Class definitions classDef action fill:#99ccff classDef file fill:#ffcc99 classDef process fill:#ccffcc classDef tool fill:#cccccc %% Nodes action_phishing[«<b>Acción</b> – <b>T1566.001 Adjunto de spearphishing</b><br/>APT28 envió archivos DOC maliciosos (p. ej., BULLETEN_H.doc) haciéndose pasar por comunicaciones del gobierno ucraniano.»] class action_phishing action file_doc[«<b>Archivo</b> – DOC malicioso<br/>BULLETEN_H.doc contiene un exploit para CVE-2026-21509»] class file_doc file action_exploit_client[«<b>Acción</b> – <b>T1203 Explotación para ejecución en el cliente</b><br/>Al abrir el DOC se explotó CVE-2026-21509 en Microsoft Office para lograr ejecución de código.»] class action_exploit_client action action_download_payload[«<b>Acción</b> – <b>T1210 Explotación de servicios remotos</b><br/>Una solicitud WebDAV descargó cargas adicionales desde un servidor controlado por el atacante.»] class action_download_payload action file_dll[«<b>Archivo</b> – DLL maliciosa<br/>EhStoreShell.dll»] class file_dll file file_png[«<b>Archivo</b> – Imagen con shellcode incrustado<br/>SplashScreen.png»] class file_png file file_xml[«<b>Archivo</b> – Definición de tarea XML<br/>office.xml»] class file_xml file action_com_hijack[«<b>Acción</b> – <b>T1546.015 Secuestro COM</b><br/>El CLSID del registro {D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D} fue redirigido a EhStoreShell.dll, provocando la carga del payload.»] class action_com_hijack action action_scheduled_task[«<b>Acción</b> – <b>T1546.009 DLL AppCerts mediante tarea programada</b><br/>Se creó la tarea programada \»OneDriveHealth\» (XML) para ejecutar la DLL maliciosa y reiniciar explorer.exe como persistencia.»] class action_scheduled_task action action_process_injection[«<b>Acción</b> – <b>T1055.001 Inyección de procesos (DLL)</b><br/>EhStoreShell.dll inyectó shellcode desde SplashScreen.png en explorer.exe.»] class action_process_injection action process_explorer[«<b>Proceso</b> – explorer.exe»] class process_explorer process action_verclsid_proxy[«<b>Acción</b> – <b>T1218.012 Ejecución proxy mediante binario del sistema</b><br/>El CLSID modificado provocó que Windows cargara la DLL maliciosa a través del binario Verclsid.»] class action_verclsid_proxy action action_c2_webservice[«<b>Acción</b> – <b>T1102.001 / T1102.002 C2 mediante servicios web</b><br/>El tráfico C2 de COVENANT se alojó en dominios legítimos de Filen (*.filen.io) como dead drop y comunicación bidireccional.»] class action_c2_webservice action %% Connections action_phishing –>|entrega| file_doc file_doc –>|dispara| action_exploit_client action_exploit_client –>|conduce a| action_download_payload action_download_payload –>|descarga| file_dll action_download_payload –>|descarga| file_png action_download_payload –>|descarga| file_xml action_download_payload –>|habilita| action_com_hijack action_com_hijack –>|carga| file_dll action_com_hijack –>|crea| action_scheduled_task action_scheduled_task –>|ejecuta| file_dll action_scheduled_task –>|reinicia| process_explorer action_process_injection –>|inyecta en| process_explorer file_dll –>|usado por| action_process_injection file_png –>|contiene shellcode para| action_process_injection action_verclsid_proxy –>|invoca| file_dll action_c2_webservice –>|se comunica vía| file_xml

Flujo de Ataque

Detecciones

Ejecución Sospechosa de Taskkill (vía línea de comandos)

Equipo de SOC Prime
02 Feb. 2026

Schtasks apunta a Directorio / Binario / Script Sospechoso (vía línea de comandos)

Equipo de SOC Prime
02 Feb. 2026

Posible Secuestro de COM del Explorador (vía evento de registro)

Equipo de SOC Prime
02 Feb. 2026

Posible Abuso del Protocolo Handler Search / Search-MS URI (vía línea de comandos)

Equipo de SOC Prime
02 Feb. 2026

Comportamiento Potencialmente Sospechoso en la Creación, Ejecución, Eliminación de Tareas Programadas (vía creación de procesos)

Equipo de SOC Prime
02 Feb. 2026

Posible Infiltración / Exfiltración de Datos / C2 a través de Servicios / Herramientas de Terceros (vía proxy)

Equipo de SOC Prime
02 Feb. 2026

Posible Infiltración / Exfiltración de Datos / C2 a través de Servicios / Herramientas de Terceros (vía dns)

Equipo de SOC Prime
02 Feb. 2026

LOLBAS Regsvr32 (vía línea de comandos)

Equipo de SOC Prime
02 Feb. 2026

IOCs (DestinoIP) para detectar: Boletín CERT-UA: Ataques UAC-0001 (APT28) Usando CVE-2026-21509

Reglas AI de SOC Prime
02 Feb. 2026

IOCs (HashSha256) para detectar: Boletín CERT-UA: Ataques UAC-0001 (APT28) Usando CVE-2026-21509

Reglas AI de SOC Prime
02 Feb. 2026

IOCs (HashSha1) para detectar: Boletín CERT-UA: Ataques UAC-0001 (APT28) Usando CVE-2026-21509

Reglas AI de SOC Prime
02 Feb. 2026

IOCs (HashMd5) para detectar: Boletín CERT-UA: Ataques UAC-0001 (APT28) Usando CVE-2026-21509

Reglas AI de SOC Prime
02 Feb. 2026

IOCs (Emails) para detectar: Boletín CERT-UA: Ataques UAC-0001 (APT28) Usando CVE-2026-21509

Reglas AI de SOC Prime
02 Feb. 2026

IOCs (OrigenIP) para detectar: Boletín CERT-UA: Ataques UAC-0001 (APT28) Usando CVE-2026-21509

Reglas AI de SOC Prime
02 Feb. 2026

Detección de Secuestro de COM vía Modificación de Registro [Evento de Registro de Windows]

Reglas AI de SOC Prime
02 Feb. 2026

Conexiones de Red Maliciosas Relacionadas con Ataques Cibernéticos de APT28 [Conexión de Red de Windows]

Reglas AI de SOC Prime
02 Feb. 2026

Creaciones de Archivos Sospechosos Simulando una Extensión de Shell de Almacenamiento Mejorada [Evento de Archivo de Windows]

Reglas AI de SOC Prime
02 Feb. 2026

Ejecución de Simulación

Prerequisito: La verificación preliminar de Telemetría y Línea Base debe haber pasado.

Razonamiento: 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 narrativas DEBEN reflejar directamente los TTP identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección. Los ejemplos abstractos o no relacionados llevarán a errores de diagnóstico.

  • Narrativa y Comandos de Ataque:
    Un adversario ha obtenido acceso inicial en la máquina de la víctima y desea lograr persistencia y ejecución de código sigilosa. Seleccionan un CLSID raramente utilizado {D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D} que es poco probable que sea referenciado por software legítimo. Usando PowerShell (T1218.010), escriben la ruta de la DLL maliciosa en el subclave InProcServer32 , opcionalmente estableciendo un valor ThreadingModel a "Both" para satisfacer los requisitos de carga de COM. Después del registro, cualquier aplicación legítima que intente instanciar este objeto COM cargará la DLL controlada por el atacante, la cual puede invocar posteriormente rundll32.exe (T1218.009) para ejecutar una carga útil que contacte la infraestructura de C2 del atacante (T1584.001).

  • Script de Prueba de Regresión:

    # -------------------------------
    # Simulación de Secuestro COM (T1546.015)
    # -------------------------------
    $clsid = '{D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D}'
    $regPath = "HKLM:SoftwareClassesCLSID$clsidInProcServer32"
    
    # Asegúrese de que la clave exista
    New-Item -Path $regPath -Force | Out-Null
    
    # Establezca el valor predeterminado en una ruta de DLL maliciosa (suponga que la DLL ya está en el disco)
    $maliciousDll = "C:Tempevil.dll"
    Set-ItemProperty -Path $regPath -Name '(Default)' -Value $maliciousDll
    
    # OPCIONAL: establecer ThreadingModel en Both (algunos objetos COM lo requieren)
    Set-ItemProperty -Path $regPath -Name 'ThreadingModel' -Value 'Both'
    
    Write-Host "[+] Secuestro de registro creado para CLSID $clsid apuntando a $maliciousDll"
  • Comandos de Limpieza:

    # -------------------------------
    # Limpieza de Simulación de Secuestro COM
    # -------------------------------
    $clsid = '{D9144DCD-E998-4ECA-AB6A-DCD83CCBA16D}'
    $regPath = "HKLM:SoftwareClassesCLSID$clsid"
    
    # Elimine todo el árbol de claves de CLSID
    if (Test-Path $regPath) {
        Remove-Item -Path $regPath -Recurse -Force
        Write-Host "[+] Secuestrado CLSID $clsid eliminado del registro."
    } else {
        Write-Host "[*] CLSID $clsid no presente; nada que limpiar."
    }