Tareas Cron
Los trabajos Cron son tareas programadas en sistemas Unix/Linux que se ejecutan automáticamente en intervalos específicos. Sin embargo, si no están configurados correctamente, pueden convertirse en un vector de ataque para escalar privilegios o ejecutar código malicioso. A continuación, se describen técnicas comunes para explotar vulnerabilidades en trabajos Cron:
Comandos ejecutados por otros usuarios, incluyendo tareas cron. Funciona escaneando el sistema de archivos procfs
. Para usar pspy, podemos ejecutar el siguiente comando:
./pspy64
Identificación de trabajos cron
Para ver trabajos cron específicos del usuario, podemos utilizar el comando:
crontab -l
Para ver los trabajos cron de todo el sistema, podemos verificar los archivos en /etc/crontab
, /etc/cron.d/
, y /var/spool/cron/crontabs/
.
Técnicas de explotación de trabajos Cron
Técnica | Descripción |
---|---|
Modificación de scripts | Si un script ejecutado por Cron tiene permisos de escritura globales, un atacante puede modificarlo para ejecutar comandos arbitrarios. |
Creación de scripts maliciosos | Si Cron ejecuta un script específico, un atacante puede crear un script con el mismo nombre y colocarlo en un directorio que tenga prioridad en el PATH . |
Condiciones de carrera | Un atacante puede reemplazar rápidamente un script mientras Cron lo está ejecutando, aprovechando ventanas de tiempo críticas. |
Manipulación de variables de entorno | Si Cron depende de variables de entorno no configuradas o no depuradas, un atacante puede manipularlas para alterar el comportamiento del comando ejecutado. |
Manipulación de rutas (PATH) | Si Cron usa comandos sin rutas absolutas, un atacante puede modificar la variable PATH para ejecutar versiones maliciosas de esos comandos. |
Ataques de enlace simbólico | Si Cron escribe la salida en un archivo, un atacante puede crear un enlace simbólico desde ese archivo a un archivo confidencial o a un script controlado por él. |
Uso de características del shell | Si Cron usa un shell como bash , un atacante puede explotar características como la sustitución de comandos para ejecutar código arbitrario. |
Inserción en el Crontab | Si un usuario con privilegios permite que otros agreguen entradas al Crontab (por ejemplo, con crontab -e ), un atacante puede insertar comandos maliciosos. |
Permisos de usuario insuficientes | Si Cron se ejecuta con privilegios elevados y no restringe adecuadamente los scripts o binarios que ejecuta, un atacante puede modificar o crear archivos para escalar privilegios. |
Manipulación de la salida | Si la salida de Cron se guarda en un archivo con permisos de escritura globales, un atacante puede manipular o reemplazar este archivo para ejecutar código arbitrario. |
Ataques de sincronización | Conociendo el momento exacto en que se ejecuta un trabajo Cron, un atacante puede lanzar ataques sincronizados, como la manipulación de scripts justo antes de su ejecución. |
Inclusión de archivos locales (LFI) | Si Cron incluye archivos sin validar adecuadamente la entrada, un atacante puede aprovechar esto para incluir archivos maliciosos que se ejecuten durante la tarea programada. |