CyberVolk Resurge: Nuevas Características y Fallos de VolkLocker
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
El artículo cubre el resurgimiento del colectivo hacktivista pro-ruso CyberVolk y su nueva familia de ransomware denominada VolkLocker. Este ransomware basado en Golang apunta a sistemas Windows y Linux y utiliza Telegram para comando y control. Usa una clave maestra AES-256-GCM codificada, que también se guarda en texto plano en el directorio %TEMP%, creando efectivamente un atajo de descifrado no intencionado. VolkLocker también altera configuraciones del registro, desactiva controles de seguridad e intenta acciones destructivas contra el sistema una vez que expira un temporizador incorporado.
Investigación
Los investigadores examinaron la muestra de VolkLocker y observaron que se distribuye sin ofuscación de código, en cambio recomiendan el uso de UPX para empaquetar. El ransomware realiza verificaciones del entorno, enumera unidades disponibles, cifra datos usando una clave maestra estática y almacena esa clave en un archivo de respaldo oculto. La persistencia se mantiene replicando el ejecutable en múltiples rutas y aplicando cambios en el registro. Los tokens de bot de Telegram y una dirección de Bitcoin son elementos de configuración obligatorios para una operación exitosa.
Mitigación
Los defensores deben monitorear los cambios documentados en el registro, la creación del archivo de respaldo de la clave en texto plano y múltiples copias del mismo ejecutable apareciendo en ubicaciones de inicio. Bloquear el tráfico saliente hacia dominios relacionados con Telegram y marcar binarios empaquetados con UPX puede ayudar a limitar el riesgo. Mantener copias de seguridad regulares offline o inmutables y prevenir la eliminación automática de copias de sombra de volumen también es aconsejable.
Respuesta
Después de la detección, aísle inmediatamente el endpoint comprometido, recupere el archivo de respaldo de la clave de texto plano de %TEMP% y utilice la clave maestra conocida para el descifrado de archivos. Erradique todas las instancias del ejecutable VolkLocker, restaure los valores de registro alterados y reinicie cualquier solución de seguridad deshabilitada. Realice una revisión forense del tráfico de control y comando basado en Telegram y continúe monitoreando el uso indebido subsecuente del token de bot expuesto.
Flujo de ataque
Detecciones
Detección de artefactos de ransomware CyberVolk [Evento de archivo de Windows]
Ver
Escalación de privilegios y terminación de procesos por ransomware CyberVolk [Creación de procesos de Windows]
Ver
IOCs (HashSha1) para detectar: CyberVolk Returns | Flawed VolkLocker Brings New Features With Growing Pains
Ver
Posible modificación del registro para el bloqueo de herramientas del sistema (mediante cmdline)
Ver
Desactivar protecciones de Windows Defender (mediante evento de registro)
Ver
Ejecución de simulación
Prerrequisito: Se debe haber pasado la verificación previa de Telemetría & Baseline.
Razonamiento: 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 TTP identificados y deben generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados llevarán a diagnósticos erróneos.
-
Narrativa de ataque y comandos:
- Objetivo:Obtener privilegios de SISTEMA en una estación de trabajo de usuario estándar mientras se evaden las herramientas de seguridad.
- Paso 1 – Bypass de UAC:El atacante lanza ms-settings.exe con una línea de comandos que obliga al proceso a llamar a
NtRaiseHardError, una API no documentada conocida que puede activar un mensaje de elevación de UAC que puede ser aceptado automáticamente en ciertas configuraciones erróneas. - Paso 2 – Disrupción de defensas: Inmediatamente después de la elevación, la misma línea de comandos invoca taskkill.exe para terminar herramientas de análisis conocidas (
procmon.exe,processhacker.exe, etc.) que podrían estar monitoreando procesos privilegiados. - Telemetría resultante: Un único evento de creación de proceso donde Image = ms-settings.exe y CommandLine contiene ambos
taskkill.exeyNtRaiseHardError, satisfaciendo laselección.
# Comando malicioso combinado – diseñado para parecer argumentos de ms-settings.exe $maliciousCmd = '"C:WindowsSystem32ms-settings.exe" "taskkill.exe /F /IM procmon.exe" "NtRaiseHardError"' Start-Process -FilePath "$env:SystemRootsystem32ms-settings.exe" -ArgumentList $maliciousCmd -
Script de prueba de regresión: El siguiente script de PowerShell reproduce exactamente el ataque y se puede reutilizar para pruebas de regresión automatizadas.
<# .SYNOPSIS Simula la técnica de cyber-Volk para eludir UAC con ms-settings + terminación de herramientas de análisis. .DESCRIPCIÓN Lanza ms-settings.exe con una lista de argumentos elaborada que incluye taskkill.exe y NtRaiseHardError. Genera la telemetría de creación de procesos específica requerida para activar la regla de detección de Sigma. .NOTAS Ejecutar con una cuenta de usuario normal. Asegúrese de que el entorno objetivo tenga habilitado el registro de creación de procesos. #> # Parámetros (ajustar si es necesario) $msSettings = "$env:SystemRootsystem32ms-settings.exe" $analysisTools = @("procmon.exe","processhacker.exe","ida64.exe") $killCmd = "taskkill.exe /F /IM " + ($analysisTools -join " /IM ") $hardError = "NtRaiseHardError" # Construir la cadena de argumentos maliciosa $argList = @($killCmd, $hardError) -join " " Write-Host "Lanzando ms-settings.exe con argumentos maliciosos..." Start-Process -FilePath $msSettings -ArgumentList $argList Write-Host "Comando ejecutado:" Write-Host "`"$msSettings`" $argList" -
Comandos de limpieza: Después de la verificación, termine cualquier ms-settings.exe procesos persistentes y restablezca el estado normal del sistema.
# Detener cualquier proceso ms-settings que aún pueda estar en ejecución Get-Process -Name "ms-settings" -ErrorAction SilentlyContinue | Stop-Process -Force # Opcional: Verificar que no se mataron accidentalmente herramientas de análisis foreach ($tool in @("procmon","processhacker","ida64")) { if (Get-Process -Name $tool -ErrorAction SilentlyContinue) { Write-Host "$tool todavía está en ejecución." } else { Write-Host "$tool fue terminado (esperado para la prueba)." } }