SOC Prime Bias: Crítico

19 Nov 2025 17:21

Tácticas del grupo APT41 vs Emulaciones de Ransomware en AttackIQ Ransom Tales

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Tácticas del grupo APT41 vs Emulaciones de Ransomware en AttackIQ Ransom Tales
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

RESUMEN

El artículo describe el quinto volumen de la serie Ransom Tales de AttackIQ, que recrea las tácticas, técnicas y procedimientos de tres familias de ransomware notorias: REvil, DarkSide y BlackMatter, en un entorno de laboratorio controlado. Cada emulación cubre las fases de ejecución, persistencia, descubrimiento, evasión de defensas e impacto, permitiendo a los defensores practicar y validar los flujos de trabajo de detección y respuesta. Los escenarios de Ransom Tales reflejan lecciones de la Campaña de Ciberespionaje APT41 al narrar compromisos de la cadena de suministro y el auge de los ecosistemas Ransomware-Comныйос-como-un-servicio para los equipos azules y analistas modernos.

Análisis de Ataque APT41

El Equipo de Investigación de Adversarios de AttackIQ analizó informes de inteligencia de amenazas públicos, muestras de malware y telemetría para construir gráficos de ataque realistas para cada familia de ransomware, similar a cómo los analistas reconstruyeron la actividad del grupo APT41. Mapearon los pasos observados a las técnicas de MITRE ATT&CK y diseñaron flujos de ejecución que recuperan cargas, establecen persistencia, enumeran hosts y cifran datos. También modelaron cómo el grupo APT41 lanzó una operación de ciberespionaje contra una empresa estadounidense para ilustrar el oficio compartido.

Mitigación

Las recomendaciones de mitigación enfatizan el acceso de privilegios mínimos estrictos, deshabilitar servicios innecesarios y parchear rápidamente la infraestructura, incluyendo vulnerabilidades de Atlassian Confluence, Apache Struts y GoAhead RCE, así como fallas de Log4j como CVE-2021-44228, CVE-2022-26134, CVE-2017-9805 y CVE-2017-17562. Los equipos deben restringir el acceso remoto al escritorio, monitorear cambios en el registro y tareas, y validar copias de seguridad.

Respuesta

Cuando se detecta actividad, los respondedores deben aislar los sistemas afectados, capturar memoria volátil, recopilar colmenas de registro y preservar las fuentes de registro para revisión. Deben examinar copias de sombra, tareas programadas y claves de registro en busca de evidencia de técnicas que utiliza el grupo APT41, luego restaurar los datos de las copias de seguridad. Los equipos deben buscar movimiento lateral, informar a las partes interesadas y enriquecer los incidentes con inteligencia de amenazas.

mermaid graph TB %% Definiciones de Clase classDef action fill:#99ccff classDef builtin fill:#cccccc %% Nodos – Etapas del Ataque node_initial_access[«<b>Acceso Inicial</b> – <b>T1190 Explotar Aplicación Expuesta</b><br />Técnicas: CVE-2021-4428 (Log4j), CVE-2022-26134 (Confluence), CVE-2017-9805 (Struts), CVE-2017-17562 (GoAhead)»] class node_initial_access action node_execution[«<b>Ejecución</b> – <b>T1127.001 Ejecución de Proxy de Utilidades para Desarrolladores de Confianza</b><br />Herramienta: msbuild.exe ejecuta carga maliciosa XML»] class node_execution action node_persistence[«<b>Persistencia y Escalamiento de Privilegios</b> – <b>T1053 Tarea/Trabajo Programado</b><br />Creó tarea programada del SISTEMA para lanzar msbuild repetidamente»] class node_persistence action node_defev1[«<b>Evasión de Defensas</b> – <b>T1574.002 Carga Lateral de DLL</b><br />Abusó del ejecutable firmado de VipreAV (vetysafe.exe) para cargar sbamres.dll malicioso»] class node_defev1 action node_credential[«<b>Acceso a Credenciales</b> – <b>T1003.006 Volcado de Credenciales del SO DCSync</b><br />Recuperó hashes de contraseñas de administrador de dominio vía DCSync»] class node_credential action node_discovery[«<b>Descubrimiento</b> – <b>T1046 Descubrimiento de Servicios de Red</b> & <b>T1082 Descubrimiento de Información del Sistema</b><br />Escaneó servicios internos y recopiló información del host»] class node_discovery action node_c2[«<b>Mando y Control</b> – <b>T1102 Servicio Web</b><br />Tráfico web bidireccional usado para exfiltrar documentos de política»] class node_c2 action node_defev2[«<b>Evasión de Defensas</b> – <b>T1027 Archivos u Información Ofuscados</b><br />La utilidad Imjpuexc oculta código y realiza resolución dinámica de API»] class node_defev2 action node_exfil[«<b>Exfiltración</b> – <b>T1048 Exfiltración Sobre Protocolo Alternativo</b><br />Datos transferidos sobre el mismo canal web usando un protocolo alternativo»] class node_exfil action %% Nodos – Herramientas tool_msbuild[«<b>Herramienta</b> – <b>Nombre</b>: msbuild.exe<br /><b>Descripción</b>: Motor de Construcción de Microsoft usado para compilar y ejecutar XML»] class tool_msbuild builtin tool_vetysafe[«<b>Herramienta</b> – <b>Nombre</b>: vetysafe.exe (VipreAV)<br /><b>Descripción</b>: Ejecutable AV firmado aprovechado para carga lateral de DLL»] class tool_vetysafe builtin tool_scheduledtask[«<b>Herramienta</b> – <b>Nombre</b>: schtasks.exe<br /><b>Descripción</b>: Utilidad de Windows para crear tareas programadas»] class tool_scheduledtask builtin tool_imjpuexc[«<b>Herramienta</b> – <b>Nombre</b>: Imjpuexc<br /><b>Descripción</b>: Utilidad que ofusca cargas útiles y resuelve APIs en tiempo de ejecución»] class tool_imjpuexc builtin %% Conexiones – Flujo de Ataque node_initial_access u002du002d>|exploits| node_execution node_execution u002du002d>|uses| tool_msbuild node_execution u002du002d>|creates| node_persistence node_persistence u002du002d>|uses| tool_scheduledtask node_persistence u002du002d>|leads to| node_defev1 node_defev1 u002du002d>|uses| tool_vetysafe node_defev1 u002du002d>|enables| node_credential node_credential u002du002d>|provides data for| node_discovery node_discovery u002du002d>|supports| node_c2 node_c2 u002du002d>|communicates via| tool_imjpuexc node_defev2 u002du002d>|supports| node_c2 node_c2 u002du002d>|exfiltrates| node_exfil

Flujo de Ataque

Simulaciones

Ejecución de Simulaciones

Requisito previo: La Verificación Previa del Telemetry & Baseline debe haberse aprobado.

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 narrativa DEBEN reflejar directamente los TTPs identificados y apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa de Ataque y Comandos:
    El adversario, emulando a APT41, primero compila un backdoor malicioso de C# usando msbuild.exe para eludir la lista blanca de aplicaciones. Luego, la carga compilada se organiza como una tarea programada usando schtasks.exe para lograr persistencia. Ambos binarios se ejecutan desde ubicaciones no estándar para emular el comportamiento realista de los atacantes mientras siguen cumpliendo con la condición de nombre de imagen de la regla.

  • Script de Prueba de Regresión:

  •  

    # Prueba de persistencia estilo APT41 – PowerShell
    # -------------------------------------------------
    # 1. Preparar carga maliciosa de C#
    $source = @"
    using System;
    using System.Diagnostics;
    public class Backdoor {
        public static void Main() {
            Process.Start(new ProcessStartInfo {
                FileName = "cmd.exe",
                Arguments = "/c echo Comprometido > C:Temppwned.txt",
                CreateNoWindow = true,
                UseShellExecute = false
            });
        }
    }
    "@
    $srcPath = "$env:TEMPbackdoor.cs"
    $projPath = "$env:TEMPbackdoor.csproj"
    $dllPath = "$env:TEMPbackdoor.dll"
    $srcPath | Out-File -Encoding ASCII -Force
    $projContent = @"
    <Project Sdk=`"Microsoft.NET.Sdk`">
      <PropertyGroup>
        <TargetFramework>net48</TargetFramework>
        <OutputType>Library</OutputType>
      </PropertyGroup>
    </Project>
    "@
    $projPath | Out-File -Encoding ASCII -Force
    # 2. Compilar DLL maliciosa con msbuild (ruta no estándar)
    $msbuildPath = "$env:ProgramFilesMicrosoft Visual Studio2022CommunityMSBuildCurrentBinMSBuild.exe"
    & $msbuildPath $projPath /p:OutDir=$env:TEMP /t:Build /p:Configuration=Release
    # 3. Crear tarea programada para ejecutar la DLL mediante PowerShell
    $taskName = "SystemUpdater"
    $taskCmd = "powershell -ExecutionPolicy Bypass -File `"$dllPath`""
    $schPath = "$env:SystemRootSystem32schtasks.exe"
    & $schPath /Create /SC ONLOGON /TN $taskName /TR $taskCmd /RL HIGHEST /F
    # 4. Activar la tarea inmediatamente
    & $schPath /Run /TN $taskName
  • Comandos de Limpieza:

    # Eliminar tarea programada
    $schPath = "$env:SystemRootSystem32schtasks.exe"
    & $schPath /Delete /TN "SystemUpdater" /F
    
    # Eliminar archivos de carga
    Remove-Item -Path "$env:TEMPbackdoor.cs","$env:TEMPbackdoor.csproj","$env:TEMPbackdoor.dll" -Force