SOC Prime Bias: Crítico

08 Ene 2026 19:22

Ciberataque por el grupo APT28 usando el programa malicioso CredoMap_v2 (CERT-UA#4622)

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Ciberataque por el grupo APT28 usando el programa malicioso CredoMap_v2 (CERT-UA#4622)
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

APT28 llevó a cabo una operación de phishing que entregó un archivo RAR protegido por contraseña llamado UkrScanner.rar. Dentro del archivo se encontraba un ejecutable autoextraíble (SFX) que instalaba CredoMap_v2. El malware roba y exfiltra credenciales a través de POST HTTP a infraestructura controlada por el atacante alojada en la plataforma Pipedream. El incidente fue revelado por CERT-UA (el CERT nacional de Ucrania).

Investigación

CERT-UA recibió un mensaje sospechoso suplantando a su propia organización y portando el archivo RAR protegido por contraseña. El examen de la carga útil SFX reveló el binario CredoMap_v2 y su rutina de exfiltración de credenciales basada en HTTP. Los analistas rastrearon el tráfico saliente a eo2mxtqmeqzafqi.m.pipedream.net y 69.16.243.33. Basado en las herramientas y la infraestructura, la actividad fue atribuida al conocido grupo de amenazas APT28.

Mitigación

CERT-UA bloqueó el dominio malicioso de Pipedream y la dirección IP asociada. Se aconsejó a los usuarios tratar los archivos protegidos por contraseña como de alto riesgo y validar la identidad del remitente a través de canales confiables. Prevenir la ejecución de ejecutables desconocidos usando controles del sistema operativo y políticas de seguridad de los endpoints.

Respuesta

Entrenar a los usuarios para detectar phishing y confirmar remitentes, especialmente cuando los adjuntos están protegidos por contraseña. Reforzar los filtros de correo electrónico para archivos y ejecutables sospechosos y bloquear la infraestructura hostil conocida. Monitorear el tráfico HTTP saliente en busca de solicitudes POST inesperadas a dominios no confiables e investigar cualquier coincidencia de inmediato.

graph TB %% Definiciones de clases classDef action fill:#99ccff classDef file fill:#ffcc99 classDef malware fill:#ff9999 classDef service fill:#ccccff classDef data fill:#ccffcc %% Nodos email_phishing[«<b>Acción</b> – <b>T1566.001 Phishing</b><br /><b>Nombre</b>: Archivo adjunto de spearphishing<br /><b>Detalle</b>: Correo que suplanta a CERT-UA con un RAR protegido por contraseña»] class email_phishing action archive_rar[«<b>Archivo</b> – <b>Nombre</b>: UkrScanner.rar<br /><b>Tipo</b>: Archivo RAR protegido por contraseña<br /><b>Técnica</b>: T1027.015 Compresión»] class archive_rar file sfx_payload[«<b>Malware</b> – <b>Nombre</b>: CredoMap_v2 (SFX)<br /><b>Técnica</b>: T1027.009 Cargas incrustadas»] class sfx_payload malware execution[«<b>Acción</b> – <b>T1204.002 Ejecución del usuario</b><br /><b>Detalle</b>: El usuario abre el RAR, extrae el SFX y lo ejecuta»] class execution action credential_capture[«<b>Acción</b> – <b>T1056.003 Captura de entrada</b><br /><b>Método</b>: Captura de credenciales en un portal web»] class credential_capture action web_service[«<b>Servicio</b> – <b>Endpoint</b>: eo2mxtqmeqzafqi.m.pipedream.net<br /><b>Técnica</b>: T1567 Exfiltración a través de servicio web»] class web_service service exfiltrated_data[«<b>Datos</b> – <b>Tipo</b>: Credenciales robadas<br /><b>Uso potencial</b>: T1078 Cuentas válidas»] class exfiltrated_data data privileged_use[«<b>Acción</b> – <b>T1078 Cuentas válidas</b><br /><b>Impacto</b>: Uso de credenciales robadas para acceso privilegiado»] class privileged_use action %% Conexiones email_phishing –>|entrega| archive_rar archive_rar –>|contiene| sfx_payload sfx_payload –>|se ejecuta como parte de| execution execution –>|captura credenciales mediante| credential_capture credential_capture –>|envía datos a| web_service web_service –>|recibe| exfiltrated_data exfiltrated_data –>|habilita| privileged_use

Flujo de Ataque

Ejecución de Simulación

Requisito previo: la comprobación previa 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. Ejemplos abstractos o no relacionados conducirán a un mal diagnóstico.

  • Narrativa del Ataque y Comandos:
    Un operador de APT28 recibe un correo electrónico de phishing que contiene un archivo RAR protegido por contraseña. Dentro, hay un ejecutable autoextraíble (SFX) llamado UkrScanner.exe. Después de extraer el archivo en la máquina de la víctima, el operador ejecuta el stub SFX, que descarga y ejecuta el malware CredoMap_v2. La ejecución de UkrScanner.exe crea un evento de creación de procesos que coincide con la regla de detección.

    Pasos de simulación (realizados en el host de prueba):

    1. Crear un ejecutable ficticio llamado UkrScanner.exe (copia de powershell.exe por seguridad).
    2. Iniciar el ejecutable ficticio para imitar la ejecución del archivo SFX por parte del atacante.
  • Script de Prueba de Regresión:

    # ==============================
    # Simulación de ejecución de CredoMap_v2 desde SFX (UkrScanner.exe)
    # ==============================
    $tempPath = "$env:TEMPUkrScanner.exe"
    
    # 1. Preparar una carga útil inofensiva (copia de powershell.exe)
    Copy-Item -Path "$env:SystemRootSystem32WindowsPowerShellv1.0powershell.exe" -Destination $tempPath -Force
    
    # 2. Asegurarse de que el archivo sea ejecutable
    Unblock-File -Path $tempPath
    
    # 3. Ejecutar el stub SFX ficticio (simula al atacante ejecutando el archivo)
    Write-Host "Launching dummy SFX executable..."
    Start-Process -FilePath $tempPath -ArgumentList "-NoProfile -WindowStyle Hidden" -PassThru
    
    # 4. Pause para permitir la ingestión de SIEM
    Start-Sleep -Seconds 5
    Write-Host "Simulación completa. Verifique SIEM para una detección de creación de procesos que finaliza con 'UkrScanner.exe'."
  • Comandos de Limpieza:

    # Detener cualquier proceso de powershell persistente iniciado por el ejecutable ficticio (si lo hay)
    Get-Process -Name "powershell" -ErrorAction SilentlyContinue | Where-Object {$_.Path -like "*UkrScanner.exe"} | Stop-Process -Force
    
    # Eliminar el ejecutable ficticio
    $tempPath = "$env:TEMPUkrScanner.exe"
    if (Test-Path $tempPath) {
        Remove-Item -Path $tempPath -Force
        Write-Host "Cleanup complete: removed $tempPath"
    }