Actores vinculados a China mantienen su enfoque en organizaciones que influyen en la política de EE.UU.
Detection stack
- AIDR
- Alert
- ETL
- Query
Análisis
Grupos de amenazas vinculados al estado chino, como APT41, Kelp (Typhoon de Sal), Space Pirates y el subgrupo Earth Longzhi, llevaron a cabo una intrusión de múltiples etapas contra una organización sin fines de lucro de EE.UU. que influye en la política gubernamental. Los atacantes realizaron un escaneo inicial en busca de exploits conocidos (por ejemplo, CVE-2022-26134, CVE-2021-44228, CVE-2017-9805, CVE-2017-17562), utilizaron curl para probar la conectividad, recopilaron datos de red con netstat, crearon tareas programadas para mantener la persistencia, realizaron carga lateral de DLL a través del componente legítimo de VipreAV vetysafe.exe y emplearon herramientas como Dcsync e Imjpuexc. La campaña tenía como objetivo mantener un acceso encubierto a largo plazo y potencialmente comprometer los controladores de dominio.
Investigación
La investigación identificó una serie de técnicas ATT&CK: Reconocimiento (T1595) a través de escaneo masivo de servicios vulnerables; Acceso Inicial (T1190) usando exploits CVE-2022-26134, CVE-2021-44228, CVE-2017-9805, CVE-2017-17562; pruebas de Comando y Control con solicitudes curl a sitios externos (https://www.google.com , https://www.microsoft.com , etc.); Descubrimiento (T1049) usando netstat para enumerar conexiones de red; Persistencia (T1053) mediante una tarea programada creada con schtasks /create /tn MicrosoftWindowsRasOutbound; Evasión de Defensa (T1574.002) a través de carga lateral de DLL de sbamres.dll a través de vetysafe.exe; Acceso a Credenciales (T1003) usando Dcsync para replicar datos del directorio; Ejecución (T1059) de cargadores personalizados e Imjpuexc. Las herramientas observadas incluyeron utilidades legítimas de Windows (netstat, schtasks), curl, msbuild.exe, vetysafe.exe (VipreAV), sbamres.dll, Dcsync, Imjpuexc, y un cargador encriptado personalizado. Se registraron Indicadores de Compromiso (IOCs) como valores hash para sbamres.dll, imjpuexc.exe y tráfico de red a hxxp://38.180.83[.]166/6CDF0FC26CDF0FC2.
Mitigación
- • Parchear todo el software vulnerable inmediatamente, especialmente los productos de Atlassian (CVE-2022-26134), Log4j (CVE-2021-44228), Apache Struts (CVE-2017-9805) y GoAhead (CVE-2017-17562).
- • Implementar control de aplicaciones (por ejemplo, AppLocker, Control de Aplicaciones de Windows Defender) para bloquear la ejecución no autorizada de utilidades comunes como curl, msbuild.exe, y cargadores personalizados desde directorios no estándar.
- • Imponer políticas estrictas de privilegio mínimo; restringir la creación de tareas programadas solo a administradores autorizados. Desplegar reglas de detección de carga lateral de DLL y monitorear la ejecución de binarios legítimos conocidos cargando DLL inesperadas (por ejemplo, vetysafe.exe cargando sbamres.dll).
- • Habilitar el monitoreo de actividad Dcsync y solicitudes de replicación anómalas en controladores de dominio.
- Segmentar redes para limitar el movimiento lateral y aislar activos críticos como los controladores de dominio.
- • Realizar escaneos de vulnerabilidad regulares y prevención de explotación impulsada por inteligencia de amenazas basada en CVEs emergentes.
Respuesta
- • Aislar el (los) anfitrión(es) comprometido(s) y cualquier sistema que muestre IOCs similares.
- • Capturar memoria volátil e imágenes de disco para análisis forense.
- • Eliminar tareas programadas maliciosas y borrar archivos XML desconocidos utilizados por msbuild.exe.
- • Reemplazar o limpiar binarios comprometidos (vetysafe.exe, msbuild.exe) y verificar firmas.
- • Rotar credenciales, especialmente para cuentas privilegiadas y cuentas de administrador de dominio; auditar para dumping de credenciales.
- • Bloquear tráfico C2 saliente al host malicioso (hxxp://38.180.83[.]166).
- • Realizar una auditoría completa de controladores de dominio para asegurar que no queden puertas traseras o mecanismos de persistencia.
- • Actualizar firmas de detección en herramientas SIEM y de endpoints para las herramientas e IOCs observados.
mermaid graph TB %% Class definitions classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef file fill:#ccffcc %% Technique nodes tech_exploit_pf[«<b>Acción</b> – <b>T1190 Explotación de Aplicación Pública</b><br/><b>Descripción</b>: Explotar aplicaciones públicas para obtener acceso inicial»] class tech_exploit_pf action tech_trusted_dev[«<b>Acción</b> – <b>T1127.001 Utilización de Utilidades de Desarrollador de Confianza para Ejecución Proxy</b><br/><b>Descripción</b>: Usar utilidades de desarrollador legítimas (MSBuild) para ejecutar código malicioso»] class tech_trusted_dev action tech_event_trigger[«<b>Acción</b> – <b>T1546.009 Ejecución Activada por Evento</b><br/><b>Descripción</b>: Carga lateral de DLL a través de un ejecutable legítimo»] class tech_event_trigger action tech_scheduled_task[«<b>Acción</b> – <b>T1053 Tarea/Trabajo Programado</b><br/><b>Descripción</b>: Crear una tarea programada para ejecutar un proceso malicioso periódicamente»] class tech_scheduled_task action tech_credential_dump[«<b>Acción</b> – <b>T1003.006 Volcado de Credenciales del SO</b><br/><b>Descripción</b>: Imitar un controlador de dominio para extraer credenciales de AD (DCSync)»] class tech_credential_dump action tech_net_discovery[«<b>Acción</b> – <b>T1049 Descubrimiento de Conexiones de Red del Sistema</b><br/><b>Descripción</b>: Enumerar conexiones de red activas»] class tech_net_discovery action tech_remote_discovery[«<b>Acción</b> – <b>T1018 Descubrimiento del Sistema Remoto</b><br/><b>Descripción</b>: Identificar hosts internos para movimiento lateral»] class tech_remote_discovery action tech_trust_discovery[«<b>Acción</b> – <b>T1482 Descubrimiento de Confianza de Dominio</b><br/><b>Descripción</b>: Recopilar relaciones de confianza de Active Directory»] class tech_trust_discovery action tech_exploit_remote[«<b>Acción</b> – <b>T1210 Explotación de Servicios Remotos</b><br/><b>Descripción</b>: Aprovechar servicios descubiertos para moverse lateralmente»] class tech_exploit_remote action tech_app_layer[«<b>Acción</b> – <b>T1071.001 Protocolo de Capa de Aplicación</b><br/><b>Descripción</b>: Utilizar protocolos web para comunicación de comando y control»] class tech_app_layer action tech_proxy[«<b>Acción</b> – <b>T1090.002 Proxy</b><br/><b>Descripción</b>: Enrutar tráfico C2 a través de un proxy externo para ocultar actividad»] class tech_proxy action %% Tool / File nodes tool_msbuild[«<b>Herramienta</b> – <b>Nombre</b>: MSBuild<br/><b>Propósito</b>: Ejecutar scripts de compilación y puede ejecutar XML arbitrario»] class tool_msbuild tool file_outbound_xml[«<b>Archivo</b> – <b>Nombre</b>: outbound.xml<br/><b>Propósito</b>: Carga XML maliciosa ejecutada por MSBuild»] class file_outbound_xml file tool_vetysafe[«<b>Herramienta</b> – <b>Nombre</b>: vetysafe.exe<br/><b>Propósito</b>: Ejecutable legítimo usado para carga lateral de DLL»] class tool_vetysafe tool file_sbamres[«<b>Archivo</b> – <b>Nombre</b>: sbamres.dll<br/><b>Propósito</b>: DLL malicioso cargado por vetysafe»] class file_sbamres file tool_scheduled_msbuild[«<b>Herramienta</b> – <b>Nombre</b>: MSBuild (programado)<br/><b>Propósito</b>: Ejecutado a través de tarea programada cada 60 minutos»] class tool_scheduled_msbuild tool tool_dcsync[«<b>Herramienta</b> – <b>Nombre</b>: DCSync<br/><b>Propósito</b>: Imita un DC para extraer hashes de contraseñas»] class tool_dcsync tool tool_netstat[«<b>Herramienta</b> – <b>Nombre</b>: netstat<br/><b>Propósito</b>: Lista conexiones de red activas»] class tool_netstat tool %% Connections – attack flow tech_exploit_pf u002du002d>|leads_to| tech_trusted_dev tech_trusted_dev u002du002d>|uses| tool_msbuild tool_msbuild u002du002d>|executes| file_outbound_xml tech_trusted_dev u002du002d>|leads_to| tech_event_trigger tech_event_trigger u002du002d>|uses| tool_vetysafe tool_vetysafe u002du002d>|loads| file_sbamres tech_event_trigger u002du002d>|leads_to| tech_scheduled_task tech_scheduled_task u002du002d>|creates| tool_scheduled_msbuild tech_scheduled_task u002du002d>|leads_to| tech_credential_dump tech_credential_dump u002du002d>|uses| tool_dcsync tech_credential_dump u002du002d>|leads_to| tech_net_discovery tech_net_discovery u002du002d>|uses| tool_netstat tech_net_discovery u002du002d>|leads_to| tech_remote_discovery tech_remote_discovery u002du002d>|leads_to| tech_trust_discovery tech_trust_discovery u002du002d>|leads_to| tech_exploit_remote tech_exploit_remote u002du002d>|leads_to| tech_app_layer tech_app_layer u002du002d>|communicates_with| tech_proxy %% Styling assignments class tech_exploit_pf,tech_trusted_dev,tech_event_trigger,tech_scheduled_task,tech_credential_dump,tech_net_discovery,tech_remote_discovery,tech_trust_discovery,tech_exploit_remote,tech_app_layer,tech_proxy action class tool_msbuild,tool_vetysafe,tool_scheduled_msbuild,tool_dcsync,tool_netstat tool class file_outbound_xml,file_sbamres file
Flujo de Ataque
Instrucciones de Simulación
-
Narrativa de Ataque & Comandos:
-
Persistencia a través de msbuild.exe – El atacante crea un proyecto XML malicioso (
evil.xml) que ejecuta una carga útil de PowerShell para descargar una DLL de puerta trasera. -
Carga lateral de DLL con vetysafe.exe – Se coloca una DLL maliciosa (
evil.dll) junto avetysafe.exe; al ejecutarvetysafe.exese carga la DLL, logrando ejecución de código (T1055.001/T1574.001). -
Reconocimiento de red con netstat.exe – El atacante ejecuta
netstat -anopara enumerar las conexiones activas, recopilando datos para movimiento lateral (T1049).
-
Persistencia a través de msbuild.exe – El atacante crea un proyecto XML malicioso (
-
Script de Prueba de Regresión:
# --------------------------------------------------------- # Simulación de Ataque – activa la regla Sigma para vetysafe, msbuild, netstat # --------------------------------------------------------- # 1. Preparar DLL maliciosa (alerta simple para demostración) $dllPath = "$env:TEMPevil.dll" Set-Content -Path $dllPath -Value ([byte[]](0x4D,0x5A,0x90,0x00)) # Encabezado PE falso # 2. Copiar vetysafe.exe (supuesto presente en C:WindowsSystem32) a la carpeta temporal $vetysafe = "$env:SystemRootSystem32vetysafe.exe"