Análisis de mecanismos de persistencia en Linux
Resumen
Los adversarios establecen persistencia en sistemas Linux a través de tareas cron, unidades de servicio/temporizador systemd, inyección de librerías LD_PRELOAD, modificaciones de perfiles de shell (.bashrc, .profile), puertas traseras SSH authorized_keys y manipulación de scripts de inicio. Esta habilidad escanea todos los vectores de persistencia conocidos, verifica marcas de tiempo e integridad de archivos, y correlaciona los hallazgos con registros auditd para construir una línea de tiempo de instalación de persistencia.
Cuándo usarlo
- Al investigar incidentes de seguridad que requieren analizar mecanismos de persistencia en Linux
- Al construir reglas de detección o consultas de cacería de amenazas para este dominio
- Cuando los analistas del SOC necesitan procedimientos estructurados para este tipo de análisis
- Al validar la cobertura de monitoreo de seguridad para técnicas de ataque relacionadas
Requisitos previos
- Acceso root o sudo en el sistema Linux objetivo (o imagen forense)
- auditd configurado con reglas de monitoreo de archivos en rutas de persistencia
- Python 3.8+ con librería estándar (os, subprocess, json)
- Opcional: agente OSSEC/Wazuh para alertas de monitoreo de integridad de archivos
Pasos
- Escanear entradas de crontab — Enumerar todos los crontabs de usuario, /etc/cron.d/, /etc/cron.daily/ y trabajos anacron en busca de comandos sospechosos
- Auditar unidades systemd — Verificar /etc/systemd/system/ y ~/.config/systemd/user/ en busca de unidades de servicio y temporizador no gestionadas por paquetes
- Detectar secuestro LD_PRELOAD — Revisar /etc/ld.so.preload y la variable de entorno LD_PRELOAD en busca de librerías compartidas inyectadas
- Inspeccionar perfiles de shell — Escanear .bashrc, .bash_profile, .profile, /etc/profile.d/ en busca de comandos inyectados o shells reversos
- Verificar claves SSH autorizadas — Auditar todos los archivos authorized_keys en busca de claves públicas no autorizadas con restricciones de comando
- Correlacionar registros auditd — Buscar en los registros auditd eventos de modificación de archivos en rutas de persistencia para construir una línea de tiempo de instalación
- Generar informe de persistencia — Producir un informe con puntuación de riesgo de todos los mecanismos de persistencia descubiertos
Salida esperada
- Informe JSON de todos los mecanismos de persistencia encontrados con puntuaciones de riesgo
- Línea de tiempo de instalación de persistencia a partir de la correlación auditd
- Mapeo de técnicas MITRE ATT&CK (T1053, T1543, T1574, T1546)
- Comandos de remediación para cada mecanismo de persistencia detectado