Tiempo de lectura: 3 minutos

En el segundo día de la RootedCon 2026, Manuel González Regal explicó en detalle varias técnicas de persistencia en Linux, muchas de las cuales han sido reportadas a MITRE ATT&CK pero no han sido publicadas todavía.

La permanencia, un paso intermedio de un ciberataque.

González comenzó repasando ciertos conceptos básicos de ciberseguridad.

Un atacante suele tener un acceso inicial a un sistema explotando vulnerabilidades o utilizando credenciales robados. Sin embargo, las vulnerabilidades pueden parchearse y los credenciales pueden rotarse, por lo que un atacante intenta asegurarse un acceso más fácil de cara al futuro.

En ciberseguridad, la táctica, o conjunto de técnicas, mediante las que se consigue este acceso estable se llama permanencia.

El profesor también resaltó el papel de las reverse shell en este proceso. Un atacante puede utilizar fallos de seguridad en un sistema para abrir una conexión hacia un servidor bajo su control. A través de esta conexión, el atacante puede enviar comandos que se ejecutan en el sistema comprometido.

Una reverse shell permite a los cibercriminales control remoto sobre el sistema. Con esta herramienta pueden tanto modificar el sistema para asegurarse la permanencia, como ejecutar los siguientes pasos de un ataque.

Explotando OpenSSH

Una vez cubiertas las bases, González Regal explicó cómo se puede abusar de OpenSSH, la herramienta más popular para gestionar servidores Linux remotamente, para asegurarse esta permanencia que comentamos.

Uno de los mayores problemas de este software es que provee demasiadas opciones de configuración que los usuarios desconocen y que los atacantes pueden utilizar para facilitar nuevos acceso posteriores.

Una vez que un atacante tiene acceso inicial a un sistema con OpenSSH, puede añadir sus credenciales al archivo ~/.ssh/authorized_keys y la próxima vez podrá entrar “por la puerta principal”.

No obstante, también comentó otras técnicas más sutiles que dependen de eventos del sistema (Event Triggered Execution). Las opciones de configuración AuthorizedKeysCommand,ForceCommand y ForceCommandUser, ejecutan el comando indicado cuando hay una solicitud de acceso remoto, o cuando se ejecuta un comando remoto. Inicialmente pensadas para mejorar la seguridad, un atacante podría configurarlas para que ejecuten código malicioso de una manera sigilosa.

Event Triggered Execution en otros servicios

Estas técnicas basadas en eventos se pueden aplicar en una gran cantidad de servicios Linux. Por ejemplo, varios demonios gestionados por systemd cargan opciones desde archivos de configuración externos definidos en la variable $SSH_OPTS.

Los atacantes pueden aprovecharse de que este comportamiento no es muy conocido, y estos archivos de configuración extra no se monitorizan, para añadir código malicioso disimuladamente.

En general, todo software que ejecuta comandos externos en respuesta a eventos es también susceptible a este tipo de ataques. Por ejemplo, servicios tan conocidos como fail2ban o auditd.

No hay que perder de vista a los clientes

Por último, Manuel González comentó varias opciones de configuración que los atacantes pueden abusar en el lado del cliente como LocalCommand, RemoteCommand, KnownHostCommand, UserKnownHostsFile y GlobalKnownHostFile.

Por ejemplo, un atacante que consigue comprometer el portátil de un desarrollador podría configurar la opción RemoteCommand en OpenSSH para que, sin que el desarrollador se entere, se ejecute un comando malicioso en cada servidor al que se conecte. Este código malicioso podría comprometer una gran cantidad de servidores sin mucho esfuerzo por parte del atacante.