SOC Prime Bias: Crítico

02 Jun 2026 19:43 UTC

Detectando Nimbus Manticore y sus cadenas de infección por sideloading

Author Photo
SOC Prime Team linkedin icon Seguir
Detectando Nimbus Manticore y sus cadenas de infección por sideloading
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

Nimbus Manticore, también rastreado como UNC1549, llevó a cabo una campaña de phishing dirigida que utilizó portales de reclutamiento falsos para entregar una cadena de malware .NET de múltiples etapas. El ataque abusó de componentes legítimos de Microsoft Visual Studio junto con el secuestro de AppDomain para cargar un DLL personalizado, el cual desplegó un segundo DLL y creó persistencia a través de una tarea programada. La infraestructura de comando y control se alojó en dominios basados en Azure. La campaña tuvo como objetivo principal empresas aeroespaciales y de defensa en el Medio Oriente y Europa.

Investigación

Los investigadores reconstruyeron toda la cadena de infección, comenzando con el señuelo de LinkedIn y continuando a través del archivo ZIP, el modificado setup.exe.config archivo y la fase inicial cifrada. Su análisis reveló abuso de un ServiceHub.VSDetouredHost.exerenombrado, el TOTPGuard.dll cargador, un encabezado PE cifrado con AES, y una tarea programada activada por inicio de sesión llamada BackupCheck. Los indicadores de red también apuntaron a varios dominios alojados en Azure utilizados para comunicaciones de comando y control.

Mitigación

Las organizaciones deben capacitar a los empleados para detectar la ingeniería social con temática de reclutamiento, bloquear o monitorear de cerca los dominios recién registrados, y aplicar AppLocker o controles equivalentes en directorios con escritura de usuario. Los defensores también deben vigilar las tareas programadas con el nombre BackupCheck o ejecuciones que utilicen el argumento doit . También se recomienda monitorear el comportamiento de secuestro de AppDomain en aplicaciones .NET y el tráfico sospechoso a dominios de comando y control alojados en Azure.

Respuesta

Si se detecta actividad relacionada, aísle el punto final afectado, recoja los binarios maliciosos y la definición de tareas programadas, y bloquee los dominios de Azure asociados, así como el portal de reclutamiento falso. Los investigadores deben realizar una revisión forense del AppData2FAGuard carpeta, eliminar la tarea de persistencia y buscar actividad similar en otros sistemas utilizando las mismas firmas YARA. La lógica de detección debe actualizarse con los nuevos indicadores identificados.

Flujo de Ataque

Ejecución de Simulación

Prerrequisito: El Chequeo de Pre-vuelo 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 narrativa 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:
    Un atacante ha obtenido una copia del legítimo Visual Studio setup.exe binario, lo renombró a setup.exe (manteniendo el nombre sin cambios para evitar sospechas), y lo colocó en un directorio escribible. Crean un DLL malicioso llamado TOTPGuard.dll que contiene la carga útil. Para secuestrar el AppDomain, incrustan la cadena AppDomainInjection en el argumento de ruta PDB. El atacante luego lanza el ejecutable con la siguiente línea de comandos:

    C:Tempsetup.exe /install /doit /dll "C:TempTOTPGuard.dll" /pdb "C:TempAppDomainInjection.pdb"

    Esta invocación exacta satisface las tres condiciones CommandLine|contains en la regla Sigma, haciendo que la regla se active en el evento ProcessCreate.

  • Script de Prueba de Regresión:

    # -------------------------------------------------
    # Script de regresión para activar la detección de Nimbus Manticore
    # -------------------------------------------------
    $exePath   = "C:Tempsetup.exe"
    $dllPath   = "C:TempTOTPGuard.dll"
    $pdbPath   = "C:TempAppDomainInjection.pdb"
    
    # Asegúrese de que los archivos existen (cree marcadores de posición ficticios para la prueba)
    New-Item -ItemType File -Path $exePath -Force | Out-Null
    New-Item -ItemType File -Path $dllPath -Force | Out-Null
    New-Item -ItemType File -Path $pdbPath -Force | Out-Null
    
    # Construya la línea de comando maliciosa
    $arguments = @(
        "/install"
        "/doit"
        "/dll `"$dllPath`""
        "/pdb `"$pdbPath`""
    ) -join " "
    
    Write-Host "Lanzando setup.exe malicioso con argumentos:"
    Write-Host $arguments
    
    # Ejecutar el proceso (se terminará inmediatamente ya que el exe ficticio no hace nada)
    Start-Process -FilePath $exePath -ArgumentList $arguments -PassThru | Out-Null
  • Comandos de Limpieza:

    # -------------------------------------------------
    # Limpieza de artefactos creados para la prueba de regresión
    # -------------------------------------------------
    $paths = @(
        "C:Tempsetup.exe",
        "C:TempTOTPGuard.dll",
        "C:TempAppDomainInjection.pdb"
    )
    
    foreach ($p in $paths) {
        if (Test-Path $p) {
            Remove-Item -Path $p -Force
            Write-Host "Eliminado $p"
        }
    }