SOC Prime Bias: Alto

14 Ene 2026 19:49

Dentro de SafePay: Analizando el Nuevo Grupo de Ransomware Centralizado

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Seguir
Dentro de SafePay: Analizando el Nuevo Grupo de Ransomware Centralizado
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Resumen

SafePay es una operación de ransomware recientemente surgida que parece funcionar como un grupo centralizado y controlado rigurosamente, en lugar de un ecosistema típico de Ransomware como Servicio. Los actores siguen un manual de doble extorsión, preparando datos sensibles antes de la encriptación y amenazando con su publicación a través de un sitio de fugas basado en Tor. La entrega comúnmente implica una DLL nativa de Windows, con ejecución y propagación soportadas por utilidades ampliamente disponibles de vivir de la tierra. En los casos observados, la línea de tiempo de extremo a extremo es agresiva, comprimiendo frecuentemente el acceso inicial a través de la encriptación del entorno en aproximadamente un periodo de 24 horas.

Investigación

Los investigadores informan que SafePay a menudo asegura el acceso a través de cuentas VPN o RDP expuestas usando credenciales robadas o adivinadas, y en algunos escenarios abusa de implementaciones de FortiGate mal configuradas, especialmente en entornos que carecen de MFA. Para persistencia, se ha observado a los operadores desplegar puertas traseras como QDoor y aprovechar herramientas legítimas de administración remota, incluyendo ScreenConnect, para integrarse en la actividad normal de TI. El movimiento lateral generalmente se impulsa a través de PsExec y WinRM, mientras que el descubrimiento de anfitriones y recursos compartidos es apoyado por una utilidad personalizada de PowerShell (ShareFinder.ps1). Antes de la encriptación, la carga útil realiza acciones «previas al rescate» diseñadas para maximizar el impacto y dificultar la recuperación: remueve copias sombra, altera configuraciones de arranque y termina un conjunto de procesos y servicios relacionados con la seguridad que están codificados de manera rígida.

Mitigación

Requiere MFA a través de todas las vías de acceso remoto y reduce el riesgo del firewall restringiendo la autenticación de cuentas locales y limitando la exposición administrativa. Monitorea el uso anómalo de PsExec, WinRM, regsvr32 y rundll32, especialmente en secuencias consistentes con la ejecución y preparación remotas. Ajusta las detecciones de endpoints para detectar la terminación de herramientas de seguridad comunes, la eliminación de copias sombra y los cambios a configuraciones BCD/boot. Reduce las oportunidades de ejecución bloqueando o controlando estrictamente la carga de DLL no firmadas y aplicando políticas de control de aplicaciones en endpoints y servidores.

Respuesta

Cuando se identifican indicadores de SafePay, aísla inmediatamente los sistemas afectados, captura memoria volátil y preserva registros relevantes de autenticación, endpoints y red. Identifica y bloquea la infraestructura de comando y control asociada, luego termina los procesos maliciosos y elimina mecanismos de persistencia. Intenta acciones de recuperación como restaurar copias sombra donde sea posible, pero asume que el robo de datos podría haber ocurrido y valida el alcance de la exfiltración. Completa una revisión forense completa para determinar los datos impactados y ejecuta notificaciones a las partes interesadas y pasos de escalamiento alineados a los procedimientos de respuesta de doble extorsión.

«graph TB %% Definiciones de clases classDef technique fill:#99ccff classDef tool fill:#ffcc99 classDef operator fill:#ff9900 %% Acceso Inicial tech_valid_accounts[«<b>Técnica</b> – T1078 Cuentas Válidas<br/>Los adversarios utilizan credenciales robadas o forzadas para iniciar sesión en VPN o RDP»] class tech_valid_accounts technique tech_brute_force[«<b>Técnica</b> – T1110 Fuerza Bruta<br/>Adivinación de contraseñas para obtener credenciales válidas»] class tech_brute_force technique tool_vpn[«<b>Herramienta</b> – Pasarela VPN»] class tool_vpn tool tool_rdp[«<b>Herramienta</b> – Servicio RDP»] class tool_rdp tool op_and_access((«AND»)) class op_and_access operator %% Ejecución tech_regsvr32[«<b>Técnica</b> – T1218.010 Regsvr32<br/>Carga DLL maliciosos mediante registro»] class tech_regsvr32 technique tech_rundll32[«<b>Técnica</b> – T1218.011 Rundll32<br/>Ejecuta código desde un DLL»] class tech_rundll32 technique tech_powershell[«<b>Técnica</b> – T1059.001 PowerShell<br/>Ejecuta comandos de PowerShell después del despliegue»] class tech_powershell technique tech_cmd[«<b>Técnica</b> – T1059.003 Consola de Comando<br/>Ejecuta instrucciones de línea de comandos de Windows»] class tech_cmd technique op_and_execution((«AND»)) class op_and_execution operator %% Persistencia tech_boot_autostart[«<b>Técnica</b> – T1547.010 Ejecución Autoinicio de Arranque o Inicio de Sesión<br/>DLL registrado con Regsvr32 para persistencia»] class tech_boot_autostart technique tech_appinit[«<b>Técnica</b> – T1546.010 DLLs de AppInit<br/>Carga DLL malicioso al inicio del sistema»] class tech_appinit technique op_and_persistence((«AND»)) class op_and_persistence operator %% Descubrimiento tech_share_discovery[«<b>Técnica</b> – T1135 Descubrimiento de Recursos Compartidos en Red<br/>ShareFinder.ps1 enumera los recursos SMB»] class tech_share_discovery technique %% Movimiento Lateral tech_psexec[«<b>Técnica</b> – T1021.002 PsExec<br/>Ejecuta comandos sobre recursos administrativos SMB»] class tech_psexec technique tech_rdp_lm[«<b>Técnica</b> – T1021.001 Servicios Remotos RDP<br/>Utiliza RDP para movimiento lateral»] class tech_rdp_lm technique tech_deploy_tools[«<b>Técnica</b> – T1072 Herramientas de Despliegue de Software<br/>Aprovecha utilidades de despliegue para ejecutar comandos en hosts remotos»] class tech_deploy_tools technique op_and_lateral((«AND»)) class op_and_lateral operator %% Evasión de Defensa tech_service_stop[«<b>Técnica</b> – T1489 Detener Servicio<br/>Termina servicios de antivirus o de respaldo»] class tech_service_stop technique tech_inhibit_recovery[«<b>Técnica</b> – T1490 Inhibir Recuperación del Sistema<br/>Elimina instantáneas VSS y edita la configuración de arranque»] class tech_inhibit_recovery technique tech_cmstp[«<b>Técnica</b> – T1548.002 Evadir UAC vía CMSTP<br/>Utiliza CMSTP para ejecutar código con derechos elevados»] class tech_cmstp technique op_and_evasion((«AND»)) class op_and_evasion operator %% Recolección & Exfiltración tech_winrar[«<b>Técnica</b> – T1560.001 Archivar vía WinRAR<br/>Crea archivos .rar cifrados de datos recopilados»] class tech_winrar technique tech_lateral_transfer[«<b>Técnica</b> – T1570 Transferencia Lateral de Herramientas<br/>Transfiere archivos de archivo entre hosts comprometidos»] class tech_lateral_transfer technique tech_ingress_transfer[«<b>Técnica</b> – T1105 Transferencia de Herramientas de Ingreso<br/>Sube archivos de archivo a un servidor externo»] class tech_ingress_transfer technique op_and_collection((«AND»)) class op_and_collection operator %% Impacto tech_encrypt_impact[«<b>Técnica</b> – T1486 Datos Cifrados para Impacto<br/>Cifra archivos con AES/ChaCha20 y almacena claves con RSA/x25519»] class tech_encrypt_impact technique %% Comando y Control tech_encrypted_c2[«<b>Técnica</b> – T1573.001 Canal Cifrado Criptografía Simétrica<br/>Protege el tráfico C2 con cifrado»] class tech_encrypted_c2 technique %% Conexiones de flujo %% Flujo de Acceso Inicial tech_brute_force u002du002d>|conduce a| tech_valid_accounts tech_valid_accounts u002du002d>|usa| tool_vpn tech_valid_accounts u002du002d>|usa| tool_rdp tech_valid_accounts u002du002d>|habilita| op_and_access op_and_access u002du002d>|conduce a| tech_regsvr32 op_and_access u002du002d>|conduce a| tech_rundll32 op_and_access u002du002d>|conduce a| tech_powershell op_and_access u002du002d>|conduce a| tech_cmd op_and_access u002du002d>|habilita| op_and_execution op_and_execution u002du002d>|habilita| tech_boot_autostart op_and_execution u002du002d>|habilita| tech_appinit op_and_execution u002du002d>|habilita| op_and_persistence op_and_persistence u002du002d>|conduce a| tech_share_discovery tech_share_discovery u002du002d>|habilita| op_and_lateral op_and_lateral u002du002d>|usa| tech_psexec op_and_lateral u002du002d>|usa| tech_rdp_lm op_and_lateral u002du002d>|usa| tech_deploy_tools op_and_lateral u002du002d>|habilita| op_and_evasion op_and_evasion u002du002d>|usa| tech_service_stop op_and_evasion u002du002d>|usa| tech_inhibit_recovery op_and_evasion u002du002d>|usa| tech_cmstp op_and_evasion u002du002d>|habilita| op_and_collection op_and_collection u002du002d>|usa| tech_winrar op_and_collection u002du002d>|usa| tech_lateral_transfer op_and_collection u002du002d>|usa| tech_ingress_transfer op_and_collection u002du002d>|conduce a| tech_encrypt_impact tech_encrypt_impact u002du002d>|soporta| tech_encrypted_c2 «

Flujo de Ataque

Ejecución de Simulación

Prerequisito: La Verificación Pre-Flight de Telemetría y Línea Base debe haber pasado.

Racional: 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 las TTPs identificadas y apuntar a generar la telemetría exacta esperada por la lógica de detección.

  • Narrativa de Ataque y Comandos:
    Un adversario con credenciales de Administrador de Dominio compromete una máquina de pivote y utiliza PsExec para lanzar un cmd.exe en un host secundario (TARGET_IP). Inmediatamente después de establecer el shell remoto, el atacante transfiere una DLL maliciosa (malicious.dll) al host remoto y la carga usando regsvr32.exe (alternativamente rundll32.exe) para ejecutar la carga útil de ransomware. La secuencia produce dos eventos de creación de procesos distintos que satisfacen la regla Sigma: un proceso de PsExec con la línea de comando exacta y un proceso de cargador de DLL subsecuente.

  • Guion de Prueba de Regresión:

    # -------------------------------------------------------------------------
    # Simulación de Ransomware SafePay – PsExec + Regsvr32
    # -------------------------------------------------------------------------
    # Prerrequisitos:
    #   - PsExec.exe en el directorio actual o en PATH
    #   - Una DLL maliciosa llamada malicious.dll colocada en la misma carpeta
    #   - Credenciales válidas de administrador del dominio (reemplazar marcadores de posición)
    # -------------------------------------------------------------------------
    
    $targetIP   = "10.0.0.20"            # <--- CAMBIAR A SU OBJETIVO
    $username   = "DomainAdmin"        # <--- CAMBIAR A USUARIO VÁLIDO
    $password   = "Password123!"        # <--- CAMBIAR A CONTRASEÑA VÁLIDA
    $dllPath    = "$PSScriptRootmalicious.dll"
    
    # 1) Ejecutar cmd.exe remoto a través de PsExec
    Write-Host "[*] Iniciando cmd.exe remoto a través de PsExec..."
    $psexecArgs = "$targetIP -u $username -p $password cmd.exe"
    & .PsExec.exe $psexecArgs
    
    Start-Sleep -Seconds 5  # dar tiempo a la sesión remota para empezar
    
    # 2) Copiar la DLL maliciosa al host remoto (usando SMB)
    Write-Host "[*] Copiando la DLL maliciosa a host remoto..."
    $destPath = "$targetIPC$Tempmalicious.dll"
    Copy-Item -Path $dllPath -Destination $destPath -Force
    
    # 3) Cargar la DLL a través de regsvr32 (esto genera el segundo evento)
    Write-Host "[*] Cargando la DLL maliciosa con regsvr32..."
    $regsvrArgs = "/s $destPath"
    & regsvr32.exe $regsvrArgs
    
    Write-Host "[+] Simulación completa. Verifique SIEM para alertas."
  • Comandos de Limpieza:

    # -------------------------------------------------------------------------
    # Limpieza para la Simulación SafePay
    # -------------------------------------------------------------------------
    $targetIP = "10.0.0.20"
    $dllRemote = "$targetIPC$Tempmalicious.dll"
    
    # Eliminar la DLL maliciosa del host remoto
    Write-Host "[*] Eliminando la DLL maliciosa del host remoto..."
    Remove-Item -Path $dllRemote -Force -ErrorAction SilentlyContinue
    
    # Opcionalmente terminar cualquier proceso regsvr32/rundll32 restante
    Get-Process -Name regsvr32, rundll32 -ErrorAction SilentlyContinue |
        Where-Object {$_.Path -like "*$targetIP*"} |
        Stop-Process -Force
    
    Write-Host "[+] Limpieza completa."