Campaña de Pawn Storm Despliega PRISMEX, Apunta a Entidades Gubernamentales e Infraestructuras Críticas
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Si se detecta actividad de PRISMEX, aísle inmediatamente los sistemas afectados, capture la memoria volátil para la extracción de ensamblados .NET en memoria, y busque las cargas útiles esteganográficas PNG distintivas y las entradas del registro de secuestro COM. Bloquee todos los Filen.io subdominios y el dominio wellnesscaremed.com, y aplique detecciones y bloqueos basados en IOC para los nombres de archivos identificados y la tarea programada. domain, and apply IOC-based detection and blocking for the identified filenames and scheduled task.
Respuesta
Las organizaciones deben parchear CVE-2026-21509 y CVE-2026-21513 sin demora, restringir el acceso a servicios de almacenamiento en la nube no aprobados y desactivar el objeto COM Shell.Explorer.1 a través del registro. Los defensores deben aplicar restricciones de macros, monitorear el registro COM bajo HKCU\Software\Classes\CLSID, y revisar las tareas programadas sospechosas, como OneDriveHealth. También se debe habilitar el registro ETW para detectar cargas inesperadas de CLR dentro de explorer.exe.
Mitigación
Investigadores de TrendAI identificaron los componentes del conjunto de herramientas PRISMEX — PrismexSheet, PrismexDrop, PrismexLoader y PrismexStager — y los conectaron con actividades anteriores de Pawn Storm. Encontraron evidencia de que los atacantes prepararon la infraestructura semanas antes de que se divulgara públicamente las vulnerabilidades y documentaron el uso de un dominio C2 compartido, dominio wellnesscaremed.com, y aplique detecciones y bloqueos basados en IOC para los nombres de archivos identificados y la tarea programada.. La investigación también mapeó las técnicas MITRE ATT&CK utilizadas en toda la cadena de intrusión.
Investigación
Pawn Storm (APT28) ha lanzado una campaña centrada en un nuevo conjunto de herramientas de malware llamado PRISMEX, que tiene como objetivo la cadena de suministro de defensa ucraniana, así como organizaciones gubernamentales y logísticas aliadas. La operación explota dos fallas de día cero recientemente divulgadas, CVE-2026-21509 y CVE-2026-21513, mientras abusa de plataformas en la nube legítimas para el comando y control. El conjunto de herramientas incluye cargadores esteganográficos, secuestro de COM para persistencia y un stager Covenant Grunt alojado en Filen.io. La detección sigue siendo un desafío debido a la ejecución sin archivos y al tráfico de red cifrado.
"graph TB %% Class definitions classDef action fill:#99ccff classDef exploit fill:#ffcc99 classDef file fill:#ffeb99 classDef malware fill:#ff9999 classDef tool fill:#cccccc classDef c2 fill:#ccffcc %% Nodes step1_phishing["<b>Acción</b> – <b>T1566.001 Phishing: Spearphishing Attachment</b><br/>Los adversarios envían documentos RTF dirigidos con objetos OLE maliciosos a las víctimas."] class step1_phishing action artifact_rtf["<b>Archivo</b> – <b>Nombre</b>: Documento RTF malicioso<br/>Contiene objeto OLE diseñado"] class artifact_rtf file step2_vba["<b>Acción</b> – <b>T1059.005 Intérprete de Comandos y Scripts: Visual Basic</b><br/>Macro VBA incrustada se autoejecuta al abrir el documento."] class step2_vba action step3_exploit["<b>Explotación</b> – CVEu20112026u201121509 OLE bypass<br/>Macro contacta con el servidor WebDAV malicioso y descarga .lnk"] class step3_exploit exploit artifact_lnk["<b>Archivo</b> – <b>Nombre</b>: Acceso directo .lnk malicioso"] class artifact_lnk file step4_html["<b>Acción</b> – <b>T1218.001 Ejecución de Proxy de Binario del Sistema: Archivo HTML Compilado</b><br/>.lnk desencadena CVEu20112026u201121513 en MSHTML, ejecutando la carga útil HTML incrustada."] class step4_html action artifact_html["<b>Archivo</b> – <b>Nombre</b>: Carga útil HTML incrustada"] class artifact_html file step5_com_hijack["<b>Acción</b> – <b>T1546.009 Ejecución Desencadenada por Evento: DLLs AppCert</b><br/>El payload registra un DLL malicioso como InProcServer32 para un CLSID para persistencia."] class step5_com_hijack action malicious_dll["<b>Malware</b> – <b>Nombre</b>: PrismexLoader DLL<br/>Se hace pasar por un DLL legítimo de Windows"] class malicious_dll malware step6_dll_hijack["<b>Acción</b> – <b>T1574.001 Fluir de Ejecución Secuestrado: DLL</b><br/>El DLL proxy reenvía llamadas legítimas mientras ejecuta código malicioso."] class step6_dll_hijack action step7_stego["<b>Acción</b> – <b>T1027.003 Archivos o Información Ofuscados: Esteganografía</b><br/>El DLL proxy extrae la carga útil .NET oculta en PNG usando Bit Plane Round Robin."] class step7_stego action stego_png["<b>Archivo</b> – <b>Nombre</b>: Imagen PNG con carga útil oculta"] class stego_png file dotnet_payload["<b>Malware</b> – <b>Nombre</b>: .NET Covenant Grunt stager"] class dotnet_payload malware step8_c2["<b>Acción</b> – <b>T1102 Servicio Web</b><br/>Stager se comunica con subdominios de almacenamiento en la nube de Filen.io para C2."] class step8_c2 action c2_filen["<b>C2</b> – Almacenamiento en la nube Filen.io"] class c2_filen c2 step9_exfil["<b>Acción</b> – <b>T1567.002 Exfiltración a través de Servicio Web: Exfiltración a Almacenamiento en la Nube</b><br/>Datos recopilados cifrados y subidos a Filen.io."] class step9_exfil action step10_email["<b>Acción</b> – <b>T1114.001 Colección de Correos Electrónicos: Colección Local de Correos Electrónicos</b><br/>El malware recolecta archivos de buzón de Outlook para reconocimiento."] class step10_email action outlook_data["<b>Archivo</b> – <b>Nombre</b>: Archivos de buzón de Outlook (OST/PST)"] class outlook_data file %% Connections step1_phishing –>|entrega| artifact_rtf artifact_rtf –>|desencadena| step2_vba step2_vba –>|ejecuta| step3_exploit step3_exploit –>|descarga| artifact_lnk artifact_lnk –>|desencadena| step4_html step4_html –>|ejecuta| artifact_html artifact_html –>|carga| step5_com_hijack step5_com_hijack –>|registra| malicious_dll malicious_dll –>|carga| step6_dll_hijack step6_dll_hijack –>|extrae| step7_stego step7_stego –>|lee| stego_png stego_png –>|contiene| dotnet_payload dotnet_payload –>|comunica con| step8_c2 step8_c2 –>|usa| c2_filen dotnet_payload –>|exfiltra datos a través de| step9_exfil step9_exfil –>|almacena en| c2_filen step10_email –>|recolecta| outlook_data dotnet_payload –>|colecta correo electrónico de| outlook_data %% Class assignments class step1_phishing,step2_vba,step3_exploit,step4_html,step5_com_hijack,step6_dll_hijack,step7_stego,step8_c2,step9_exfil,step10_email action class artifact_rtf,artifact_lnk,artifact_html,stego_png,outlook_data file class malicious_dll,dotnet_payload malware class step3_exploit step4_html step5_com_hijack step6_dll_hijack step7_stego exploit class c2_filen c2 "
Flujo de Ataque
Detecciones
Binario/Scripts Sospechosos en Ubicación de Inicio Automático (via file_event)
Ver
Posible Infiltración/Exfiltración de Datos/C2 a través de Servicios/Herramientas de Terceros (via dns)
Ver
Posible Infiltración/Exfiltración de Datos/C2 a través de Servicios/Herramientas de Terceros (via proxy)
Ver
Posible Secuestro de COM en Explorer (via registry_event)
Ver
Posible Persistencia Basada en Outlook (via file_event)
Ver
Posible Secuestro de COM en Explorer (via file_event)
Ver
IOCs (HashSha256) para detectar: Campaña de Pawn Storm Despliega PRISMEX, Objetivos Gobierno y Entidades de Infraestructura Crítica
Ver
Detectar Inicialización inusual de CLR en Proceso Explorer [Creación de Proceso de Windows]
Ver
Persistencia de Secuestro de COM PrismexSheet [Evento del Registro de Windows]
Ver
Ejecución de Simulación
Prerequisito: El Control Previo 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 la narrativa DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección. Los ejemplos abstractos o no relacionados conducirán a un diagnóstico incorrecto.
-
Narrativa y Comandos del Ataque:
- El adversario ha obtenido un DLL malicioso (
maligno.dll) colocado en un directorio escribible (p. ej.,C:Tempmaligno.dll). - Para lograr persistencia, seleccionan el CLSID
{68DDBB56-9D1D-4FD9-89C5-C0DA2A625392}(uno de los GUIDs rastreados por la regla). - Usando
reg.exe(o PowerShell) incorporado, establecen el valor predeterminado de lasubclave InProcServer32al path del DLL malicioso, secuestrando así cualquier activación de COM de ese CLSID. - El cambio en el registro genera una entrada EventID 13 con el
TargetObjectexacto que coincide con la regla de detección.
- El adversario ha obtenido un DLL malicioso (
-
Script de Prueba de Regresión:
# ------------------------------------------------- # Simulación de Persistencia de Secuestro de COM PrismexSheet # ------------------------------------------------- $guid = '{68DDBB56-9D1D-4FD9-89C5-C0DA2A625392}' $dllPath = "C:Tempmaligno.dll" # Asegúrese de que el DLL malicioso exista (marcador de posición para prueba) if (-not (Test-Path $dllPath)) { New-Item -Path $dllPath -ItemType File -Force | Out-Null Set-Content -Path $dllPath -Value "Marcador de posición de carga útil maliciosa" } $regPath = "HKCU:SoftwareClassesCLSID$guidInProcServer32" # Cree la clave si no existe New-Item -Path $regPath -Force | Out-Null # Establezca el valor predeterminado para apuntar al DLL malicioso Set-ItemProperty -Path $regPath -Name '(Default)' -Value $dllPath Write-Host "Secuestro de COM persistido en $regPath -> $dllPath" -
Comandos de Limpieza:
# Eliminar el registro malicioso de COM $guid = '{68DDBB56-9D1D-4FD9-89C5-C0DA2A625392}' $regPath = "HKCU:SoftwareClassesCLSID$guid" Remove-Item -Path $regPath -Recurse -Force # Eliminar el DLL ficticio Remove-Item -Path "C:Tempmaligno.dll" -Force -ErrorAction SilentlyContinue Write-Host "Limpieza completada."