Apagar y encender el ordenador puede cerrar un programa, pero no siempre elimina lo que hizo para volver a ejecutarse. La persistencia es la capacidad de mantener el acceso o la ejecución a pesar de interrupciones como un reinicio. Para entenderla, podemos imaginar que el programa deja una instrucción: «cuando ocurra esto, vuelve a abrirme».
Este artículo explica distintos mecanismos desde un punto de vista defensivo. No todos necesitan los mismos permisos ni sobreviven a los mismos cambios. La clasificación de persistencia de MITRE ATT&CK sirve como referencia para organizar los ejemplos.
Persistir no es lo mismo que infectar, ocultarse o tener más permisos
Una infección es la entrada o ejecución inicial del código malicioso. La persistencia intenta conservar el acceso después. Ocultarse consiste en dificultar que lo detecten, y elevar privilegios significa conseguir más permisos. Pueden combinarse, pero no son lo mismo: un programa puede persistir como usuario normal sin convertirse en administrador.
Tampoco hace falta que el malware esté ejecutándose continuamente. Puede quedar una tarea o una cuenta preparada y esperar a que llegue el momento de utilizarla.
1. Programas que se abren al iniciar sesión
Windows incluye mecanismos para abrir aplicaciones cuando entra un usuario. Algunos se apoyan en carpetas de inicio y otros en ajustes del Registro, que es una base de configuración del sistema. El malware puede abusar de esos mecanismos para volver a arrancar con la sesión.
Qué revisar: La señal útil no es solo el nombre del programa: conviene revisar su ubicación, editor, fecha de aparición y relación con instalaciones recientes. Una aplicación desconocida en el inicio merece investigación, pero no demuestra por sí sola una infección.
Referencia: Inicio de sesión y claves de arranque — MITRE ATT&CK.
2. Tareas programadas
El Programador de tareas ejecuta acciones al llegar una hora o cumplirse una condición. Es legítimo que un programa lo use para actualizarse; una infección puede utilizar la misma función para volver a ejecutarse a intervalos o al arrancar el equipo.
Qué revisar: Hay que relacionar el desencadenante de la tarea con la acción que ejecuta y la cuenta que utiliza. Son sospechosos los cambios inesperados, sobre todo si abren archivos desde ubicaciones poco habituales.
Referencia: Tareas programadas en Windows — MITRE ATT&CK.
3. Servicios del sistema
Un servicio es un programa que trabaja en segundo plano. Algunos arrancan con el sistema sin esperar a que alguien abra su escritorio. Crear un servicio malicioso o cambiar uno existente puede conservar la ejecución después de reiniciar; los permisos requeridos dependen del servicio y su configuración.
Qué revisar: La revisión defensiva compara servicios nuevos o modificados con el inventario del equipo y comprueba a qué archivo apuntan. Un nombre parecido al de Windows no garantiza que ese archivo sea legítimo.
Referencia: Servicios de Windows — MITRE ATT&CK.
4. Acciones activadas por eventos con WMI
WMI es una tecnología de administración de Windows. Permite observar ciertos sucesos del sistema y asociarles acciones. Una suscripción permanente puede utilizarse para lanzar actividad cuando se cumpla una condición, aunque no exista una aplicación visible abierta en el escritorio.
Qué revisar: Para investigarlo hay que revisar las suscripciones y relacionarlas con los procesos que lanzan. Es un caso que suele requerir herramientas de administración o seguridad; no se debe borrar una configuración desconocida sin identificar su función.
Referencia: Suscripciones a eventos WMI — MITRE ATT&CK.
5. Tareas y servicios en Linux
La persistencia no es exclusiva de Windows. En Linux, cron permite programar trabajos y otros componentes gestionan servicios o temporizadores. Si se añade una ejecución no autorizada, puede repetirse en un horario o reaparecer al arrancar.
Qué revisar: La revisión debe tener en cuenta qué usuario posee la configuración y si el cambio coincide con una instalación prevista. Conviene comparar trabajos programados y servicios con un estado conocido, en lugar de asumir que cualquier tarea automática es malware.
Referencia: Uso abusivo de cron — MITRE ATT&CK.
6. Cuentas y credenciales que mantienen el acceso
A veces la persistencia depende de una identidad y no de un ejecutable local. Modificar una cuenta existente, sus permisos o sus medios de acceso puede permitir que un intruso regrese. En servicios en la nube también deben revisarse credenciales y autorizaciones añadidas.
Qué revisar: Borrar un archivo malicioso puede no bastar. Hay que revisar cambios de permisos, accesos y credenciales, revocar los que no correspondan y recuperar el control desde un equipo fiable.
Referencia: Manipulación de cuentas — MITRE ATT&CK.
7. Puertas de acceso en un servidor web
Una web shell es un componente malicioso situado en un servidor web que permite recibir acciones del atacante. Puede conservar el acceso mientras el archivo y las condiciones que permiten ejecutarlo sigan presentes. No significa que todas las instalaciones de WordPress tengan ese problema.
Qué revisar: En una web se investigan archivos nuevos o alterados, registros de acceso y cambios en temas o plugins. Además de retirar el componente, hay que resolver la vía de entrada y comprobar si se modificaron cuentas u otras partes del sitio.
Referencia: Web shells — MITRE ATT&CK.
8. Alteraciones del arranque: bootkits
Un bootkit actúa sobre componentes del arranque anteriores al inicio normal del sistema operativo. Es una categoría más compleja que una entrada en el inicio de sesión. No debe confundirse automáticamente con un implante de firmware: son ámbitos relacionados, pero distintos.
Qué revisar: La respuesta necesita comprobar la cadena de arranque y puede requerir recuperación especializada. Mantener las protecciones de arranque y las actualizaciones ayuda a reducir el riesgo, aunque ninguna medida aislada garantiza la eliminación de todos los casos.
Referencia: Bootkits — MITRE ATT&CK.
Cómo encajan los componentes
Una forma sencilla de analizar la persistencia es separar tres preguntas: qué la activa, qué ejecuta o permite y con qué permisos. En una tarea, el desencadenante puede ser una hora; la acción, abrir un programa; y la identidad, la cuenta configurada. La misma estructura puede utilizarse para un mantenimiento legítimo o para una acción no autorizada.
Qué hacer si se sospecha una infección
- Anotar las alertas y los cambios observados. No ejecutar archivos desconocidos para comprobar qué hacen.
- Si se sospecha actividad maliciosa en curso, aislar el equipo de la red y avisar al responsable.
- Revisar con herramientas de seguridad los programas de inicio, tareas, servicios y cambios de cuentas; conservar la información que permita investigar.
- Corregir la vía de entrada y recuperar desde una fuente fiable. Cambiar credenciales desde un equipo limpio cuando puedan haberse comprometido.
- Volver a comprobar el sistema después de reiniciar. Que un archivo haya desaparecido no demuestra que se hayan eliminado todos los mecanismos.
La idea que conviene recordar
Reiniciar termina procesos, pero no necesariamente las instrucciones que los ponen en marcha. Para resolver una infección hay que identificar el mecanismo de persistencia, corregir el acceso inicial y comprobar que el sistema vuelve a un estado fiable. Conocer estas técnicas sirve para detectar cambios y proteger equipos, no para dar por malicioso cualquier componente automático.
Sobre las imágenes: la portada es un esquema propio de WhiteForums. Este artículo es explicativo y no presenta una ejecución de malware ni una práctica realizada sobre un equipo infectado.
