Analizando SHEET#CREEP: El Malware Regresa con Nueva Ofuscación de Configuración
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
Una operación de espionaje activa conocida como SHEETCREEP depende de un troyano de acceso remoto en C# que utiliza la API de Google Sheets para comando y control. Los atacantes entregan el malware a través de un señuelo de phishing en formato ISO con tema diplomático, después de lo cual el RAT establece persistencia y ejecuta comandos a través de un espacio de ejecución de PowerShell dentro del proceso. Muestras recientes muestran que los operadores han fortalecido el malware introduciendo ofuscación basada en XOR para los datos de configuración.
Investigación
El equipo de investigación de amenazas de Securonix descubrió la campaña extrayendo credenciales de cuentas de servicio de Google Cloud incrustadas en el binario del RAT. Después de autenticar en la hoja de cálculo de comando y control en vivo, los investigadores identificaron 91 pestañas de víctimas activas, incluidas sandbox, entornos de investigación y una víctima de alta confianza ubicada en Pakistán. Su análisis también mostró que la protección de configuración del malware había evolucionado mediante un enfoque de ofuscación actualizado.
Mitigación
Las organizaciones deben evitar abrir adjuntos no solicitados, especialmente archivos ISO que contienen archivos de acceso directo LNK. Los defensores deben monitorear el %LOCALAPPDATA%MicrosoftVault directorio en busca de ejecutables sospechosos y revisar las tareas programadas en busca de entradas engañosas o inesperadas. Una visibilidad fuerte en el endpoint a través de herramientas como Sysmon y AMSI también puede ayudar a detectar la actividad de PowerShell dentro del proceso relacionado con este malware.
Respuesta
Si se observa tráfico HTTPS inusual a los servicios de la API de Google desde procesos no basados en navegador, el sistema afectado debe aislarse inmediatamente. Los equipos de seguridad deben inspeccionar las tareas programadas para artículos no autorizados como WindowsVaultSyncService. También se debe realizar una revisión forense de %LOCALAPPDATA%MicrosoftVault para identificar binarios ocultos o atribuidos al sistema asociados con la intrusión.
Flujo de Ataque
Detecciones
Posible Uso de Elección para Retrasar Ejecución (vía cmdline)
Ver
Imagen de Disco Óptico VHDMP Fue Montada (vía VHDMP)
Ver
Tarea Programada Sospechosa (vía auditoría)
Ver
Actividad Posible de Utilidad de Comando y Control de Google (vía proxy)
Ver
IOCs (HashSha256) para detectar: Analizando SHEET#CREEP: SHEETCREEP está de vuelta con diferente ofuscación de configuración
Ver
IOCs (SourceIP) para detectar: Analizando SHEET#CREEP: SHEETCREEP está de vuelta con diferente ofuscación de configuración
Ver
IOCs (DestinationIP) para detectar: Analizando SHEET#CREEP: SHEETCREEP está de vuelta con diferente ofuscación de configuración
Ver
Detección de Comunicación C2 de Sheet#CREEP vía Google Sheets API [Firewall]
Ver
Detectar Uso de Mutex de Malware SHEET#CREEP [Windows Sysmon]
Ver
Detección de Patrones de Persistencia y Ejecución de SHEETCREEP [Creación de Procesos de Windows]
Ver
Ejecución de Simulación
Prerequisito: La Comprobación de Vuelo del Telémetro 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 los TTP identificados y tienen como objetivo generar la telemetría exacta esperada por la lógica de detección. Ejemplos abstractos o no relacionados llevarán a un diagnóstico erróneo.
-
Narrativa de Ataque y Comandos: El adversario pretende establecer persistencia y ejecutar un troyano de acceso remoto (RAT) utilizando la técnica SHEETCREEP. Primero, simulan la ejecución inicial mediante un archivo LNK malicioso que llama a
cmd.exepara iniciar un ejecutable sospechoso específico. A continuación, establecen persistencia creando una tarea programada llamadaWindowsVaultSyncServicecon una descripción engañosa para mezclarse con las actualizaciones del sistema. Finalmente, despliegan la carga útilvaultsvc.exeen elC:Users<User>AppDataLocalMicrosoftVaultdirectorio y lo ejecutan para activar la parte final de la lógica de detección. -
Script de Prueba de Regresión:
# Script de Simulación SHEETCREEP # Nota: Este script debe ejecutarse con privilegios de Administrador para crear tareas programadas. $targetDir = "$env:LOCALAPPDATAMicrosoftVault" $payloadName = "vaultsvc.exe" $payloadPath = "$targetDir$payloadName" $taskName = "WindowsVaultSyncService" $taskDesc = "Windows Edge Core Update Task Machine Discord Update" Write-Host "[+] Inicio de Simulación SHEETCREEP..." -ForegroundColor Cyan # 1. Simular Selección 1: Ejecución CMD con cadena específica Write-Host "[+] Simulando Selección 1: Patrón de comando CMD..." -ForegroundColor Yellow Start-Process cmd.exe -ArgumentList '/c start "" "Document_11052026-03578240540350-93.exe"' -WindowStyle Hidden # 2. Simular Selección 2: Creación de Tarea Programada Write-Host "[+] Simulando Selección 2: Creación de Tarea Programada..." -ForegroundColor Yellow $action = New-ScheduledTaskAction -Execute "cmd.exe" -Argument "/c echo Persistencia Establecida" $trigger = New-ScheduledTaskTrigger -AtLogOn Register-ScheduledTask -Action $action -Trigger $trigger -TaskName $taskName -Description $taskDesc -Force # 3. Simular Selección 3: Colocación y ejecución de la carga útil Write-Host "[+] Simulando Selección 3: Despliegue y ejecución de carga útil..." -ForegroundColor Yellow if (!(Test-Path $targetDir)) { New-Item -Path $targetDir -ItemType Directory -Force | Out-Null } # Crear un archivo binario ficticio para imitar el RAT New-Item -Path $payloadPath -ItemType File -Force | Out-Null # Ejecutar la carga útil ficticia Start-Process -FilePath $payloadPath -WindowStyle Hidden -ErrorAction SilentlyContinue Write-Host "[+] Comandos de simulación enviados. Verificar SIEM para alertas." -ForegroundColor Green -
Comandos de Limpieza:
# Limpiar Simulación SHEETCREEP $targetDir = "$env:LOCALAPPDATAMicrosoftVault" $payloadPath = "$targetDirvaultsvc.exe" $taskName = "WindowsVaultSyncService" Write-Host "[+] Limpiando artefactos de simulación..." -ForegroundColor Cyan # Eliminar Tarea Programada Unregister-ScheduledTask -TaskName $taskName -Confirm:$false -ErrorAction SilentlyContinue # Eliminar Carga Útil y Directorio if (Test-Path $payloadPath) { Remove-Item $payloadPath -Force } if (Test-Path $targetDir) { Remove-Item $targetDir -Recurse -Force } Write-Host "[+] Limpieza completa." -ForegroundColor Green