IntermedioMITRE ATT&CKPersistenceregistryservicesscheduled tasksdetección

Persistence (TA0003): Cómo el Malware Sobrevive al Reboot

Análisis completo de la táctica Persistence de MITRE ATT&CK (TA0003): 19 técnicas de persistencia que el malware usa para sobrevivir reinicios, actualizaciones y limpieza. Registry Run keys, scheduled tasks, servicios, WMI subscriptions, web shells, bootkits y más.

MalwareIntel Research··7 min lectura
Serie: MITRE ATT&CK y D3FEND — Parte 5

Persistence es cómo el malware asegura que su acceso sobreviva reinicios, parches y limpieza parcial

La táctica Persistence (TA0003) documenta las técnicas que los adversarios usan para mantener su acceso a un sistema comprometido a través de reinicios, cambios de credenciales y otras interrupciones. Sin persistencia, un simple reboot eliminaría el acceso del atacante. MITRE ATT&CK documenta 19 técnicas principales con más de 80 sub-técnicas, cubriendo desde registry keys hasta firmware implants.

Clasificación por nivel de privilegio

Persistencia sin privilegios (usuario estándar)

TécnicaIDMecanismoDetección
Registry Run Keys (HKCU)T1547.001Clave en HKCU...\Run ejecuta al iniciar sesiónSysmon 12/13, Autoruns
Startup FolderT1547.001Acceso directo en %APPDATA%...\StartupSysmon 11, Autoruns
Logon Script (user)T1037.001Script en UserInitMprLogonScriptSysmon 12/13
Scheduled Task (user)T1053.005Tarea programada sin elevaciónEvent 4698
Browser ExtensionsT1176Extensión maliciosa de Chrome/FirefoxInventario de extensiones
Office templatesT1137Normal.dotm o add-ins modificadosMonitorizar %APPDATA%\Microsoft
.bashrc / .profile (Linux)T1546.004Comando ejecutado al abrir terminalauditd, hash de dotfiles
XDG Autostart (Linux)T1547.013Entrada desktop en ~/.config/autostartMonitor de directorio
SSH authorized_keysT1098.004Clave pública añadidaauditd en authorized_keys

Persistencia con privilegios de administrador

TécnicaIDMecanismoDetección
Registry Run Keys (HKLM)T1547.001Clave en HKLM...\Run, afecta a todos los usuariosSysmon 12/13, Autoruns
Windows ServiceT1543.003Servicio registrado en SCMEvent 7045, Autoruns
Scheduled Task (SYSTEM)T1053.005Tarea ejecutada como SYSTEMEvent 4698 con usuario SYSTEM
WMI Event SubscriptionT1546.003Filter + Consumer + BindingSysmon 19/20/21
DLL Search Order HijackingT1574.001DLL maliciosa en ruta prioritariaSysmon 7, verificar firmas
COM HijackingT1546.015CLSID apunta a DLL maliciosaSysmon 12/13 en CLSID
AppInit DLLsT1546.010DLL cargada en cada proceso GUISysmon 12/13, registro
Image File Execution OptionsT1546.012Debugger redirige ejecuciónSysmon 12/13
Systemd service (Linux)T1543.002Unit file en /etc/systemd/systemauditd, systemctl list
Cron (root)T1053.003Entrada en /etc/crontab o /var/spool/cronauditd en archivos cron
Kernel modules (Linux)T1547.006Modulo LKM cargado al bootlsmod, modprobe monitoring

Persistencia avanzada (nivel firmware/boot)

TécnicaIDMecanismoDetección
BootkitT1542.003Modificación del MBR/VBRMedidas pre-boot, Secure Boot
UEFI firmwareT1542.001Implant en SPI flashCHIPSEC, firmware integrity
Pre-OS BootT1542Modificar bootloaderSecure Boot + measured boot

Las 5 técnicas de persistencia más frecuentes en detalle

1. T1547.001: Registry Run Keys / Startup Folder

La técnica más básica y más usada. El malware añade una entrada en el registro o un acceso directo en la carpeta de inicio para ejecutarse automáticamente al iniciar sesión.

Claves de registro principales:

User level (HKCU):
  HKCU\Software\Microsoft\Windows\CurrentVersion\Run
  HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce

System level (HKLM, requiere admin):
  HKLM\Software\Microsoft\Windows\CurrentVersion\Run
  HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnce
  HKLM\Software\Microsoft\Windows\CurrentVersion\RunOnceEx

Startup folders:
  %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup (usuario)
  %ProgramData%\Microsoft\Windows\Start Menu\Programs\StartUp (todos)

Detección:

  • Sysmon Event 12/13: creación/modificación de valores en claves Run
  • Autoruns: lista todos los puntos de autostart
  • Baseline: comparar con snapshot conocido

2. T1053.005: Scheduled Task

Tareas programadas para ejecutar código periódicamente o en eventos específicos.

Creación via CLI:
  schtasks /create /tn "WindowsUpdate" /tr "C:\Users\Public\update.exe" /sc onlogon /ru SYSTEM

Creación via COM object (más sigiloso):
  $service = New-Object -ComObject "Schedule.Service"
  $service.Connect()
  ...

Detección:

  • Event 4698: nueva tarea creada
  • Sysmon Event 1: schtasks.exe con /create
  • Revisar: tareas que ejecutan desde %TEMP%, %PUBLIC%, %APPDATA%
  • Tareas con nombres que imitan servicios legítimos ("WindowsUpdate", "SystemHealth")

3. T1543.003: Windows Service

Registrar un servicio malicioso que se ejecuta al inicio del sistema.

sc create "WindowsHealthService" binPath= "C:\Windows\Temp\svc.exe" start= auto
sc description "WindowsHealthService" "Windows Health Monitoring Service"

Detección:

  • Event 7045: nuevo servicio instalado
  • Sysmon Event 12/13: claves de servicio en HKLM\SYSTEM\CurrentControlSet\Services
  • Alertar sobre: servicios con binarios en rutas no estándar, sin firma digital, o con nombres genéricos

4. T1546.003: WMI Event Subscription

Persistencia "invisible" usando el subsistema WMI de Windows. Tres componentes:

1. Event Filter: define el trigger (ej: cada 60 segundos, o al iniciar sesión)
2. Event Consumer: define la acción (ej: ejecutar script PowerShell)
3. Filter-to-Consumer Binding: conecta el trigger con la acción

No crea archivos visibles, no aparece en Autoruns clásico, y sobrevive reinicios. Es la persistencia favorita de frameworks como Cobalt Strike y APTs como APT29.

Detección:

  • Sysmon Event 19: WMI Event Filter creado
  • Sysmon Event 20: WMI Event Consumer creado
  • Sysmon Event 21: WMI Filter-to-Consumer Binding
  • PowerShell: Get-WMIObject -Namespace root\subscription -Class __EventFilter

5. T1505.003: Web Shell

Script malicioso instalado en un servidor web que proporciona acceso remoto via HTTP.

Ejemplos: China Chopper, P0wnyShell, WSO, web shells ASP/JSP/PHP minimalistas (una línea de código puede ser suficiente).

Ejemplo minimalista PHP (una línea):
  <?php system($_GET['cmd']); ?>

El atacante accede via:
  https://victima.com/uploads/shell.php?cmd=whoami

Detección:

  • File integrity monitoring en directorios web
  • Buscar archivos nuevos con funciones peligrosas (system, exec, eval, passthru)
  • Monitorizar procesos hijo de IIS/Apache/Nginx (w3wp.exe → cmd.exe es anómalo)
  • WAF: detectar patrones de ejecución de comandos en URLs

Persistencia en Linux: puntos clave

MecanismoArchivo/UbicaciónDetección
Crontab/etc/crontab, /var/spool/cron/auditd + hash baseline
Systemd service/etc/systemd/system/*.servicesystemctl list + auditd
.bashrc / .profile~/.bashrc, ~/.profileIntegrity monitoring
SSH authorized_keys~/.ssh/authorized_keysauditd + baseline
LD_PRELOAD/etc/ld.so.preloadIntegrity monitoring
Kernel module/etc/modules, /lib/modules/lsmod + signing
init.d scripts/etc/init.d/Integrity monitoring
At jobs/var/spool/at/auditd

Detección: enfoque práctico

Herramientas esenciales

HerramientaPlataformaQué cubre
Autoruns (Sysinternals)Windows30+ categorías de autostart
SysmonWindowsEvents 12/13 (registro), 19/20/21 (WMI)
KAPEWindowsRecolección forense de artefactos de persistencia
osqueryMultiQueries SQL sobre scheduled tasks, services, cron
VelociraptorMultiHunting de persistencia a escala
auditdLinuxFile monitoring + process tracking

Regla general de detección

Toda persistencia tiene un denominador común: algo nuevo se crea que no existía antes. Una nueva clave de registro, un nuevo servicio, una nueva tarea, un nuevo archivo en Startup. La detección se basa en:

  1. Baseline: saber qué es normal en tus sistemas
  2. Monitoring: alertar cuando algo nuevo aparece fuera del baseline
  3. Hunting: buscar periódicamente persistencia en todos los endpoints

Conclusión

Persistence es la táctica que convierte un acceso temporal en un compromiso duradero. Registry Run keys, scheduled tasks y servicios concentran la mayoría de la persistencia real. Sysmon con configuración adecuada y Autoruns son las herramientas mínimas para detectarla. La siguiente táctica, Privilege Escalation, es cómo el atacante obtiene los permisos necesarios para las técnicas de persistencia más avanzadas.

Fuentes y referencias

  • MITRE ATT&CK: Persistence (TA0003)
  • Sysinternals: Autoruns documentation
  • Sysmon: Configuration guide (SwiftOnSecurity/Olaf Hartong)
  • Red Canary: "Persistence techniques ranked by prevalence" (2025)
  • SANS: "Hunt Evil" poster (persistence artifacts)

Preguntas frecuentes

Artículos relacionados

Este contenido tiene fines exclusivamente educativos y de investigación en ciberseguridad defensiva. No se proporcionan binarios maliciosos ni payloads ejecutables. El uso indebido de esta información es responsabilidad exclusiva del usuario. Leer disclaimer completo.