Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

pspy Linux Process Monitor

forensics

Définition

pspy est un outil open source Linux permettant de surveiller les processus en temps réel sans nécessiter de privilèges root. Il utilise les pseudo-systèmes de fichiers Linux (/proc) pour surveiller les nouveaux processus, les tâches cron, et les commandes exécutées, révélant les activités qui pourraient être masquées aux utilisateurs non privilégiés ou qui s'exécutent brièvement et disparaissent. La valeur forensique principale de pspy est de révéler les commandes exécutées par les crons système (root crontab, /etc/cron.d/*), les scripts de démarrage, et d'autres tâches automatisées sans avoir besoin d'accès root. Dans un scénario de CTF ou d'investigation sur un système compromis où l'accès root n'est pas encore disponible, pspy peut révéler des commandes périodiques exécutées avec des privilèges plus élevés, potentiellement utilisables pour une escalade de privilèges. Forensiquement, pspy est utile pour : surveiller les tâches cron et systemd timers qui s'exécutent à intervalles réguliers (les malwares utilisant des crons pour la persistance), détecter les scripts appelés depuis des crons ou services qui peuvent faire appel à des fichiers modifiables par les utilisateurs normaux (privilege escalation via writable paths), et documenter toutes les commandes exécutées sur le système pendant une période d'investigation. pspy analyse /proc en lisant les fichiers /proc/[PID]/status et /proc/[PID]/cmdline pour chaque nouveau PID. Il surveille également les inotify events sur /proc pour détecter les nouveaux processus immédiatement à leur création. Cette approche sans privilèges root est possible parce que /proc est lisible par tous les utilisateurs pour les processus s'exécutant dans leur espace de noms PID. Pour une investigation forensique complète des processus Linux, pspy complète auditd (qui nécessite root mais offre une journalisation plus riche dans /var/log/audit/audit.log avec le syscall execve loggant toutes les exécutions) et Sysmon for Linux (version Linux du Sysmon Microsoft, open source).

Fonctionnement

pspy monitore /proc en utilisant inotify sur le répertoire /proc pour détecter les créations de nouveaux répertoires (nouvelles entrées PID). Pour chaque nouveau PID détecté, il lit immédiatement /proc/[PID]/cmdline (commande + arguments) et /proc/[PID]/status (UID, GID, nom du processus). L'affichage inclut le timestamp, l'UID, et la ligne de commande complète. Les processus éphémères (< 1 seconde) peuvent être manqués si pspy n'est pas assez rapide.

Application DFIR

Utilisation pspy en investigation : 1) Uploader pspy64 sur le système (nc, scp, wget), 2) Exécuter : ./pspy64 | tee /tmp/pspy_output.txt (ou -f pour forcer la lecture en continu), 3) Observer pendant plusieurs minutes à plusieurs heures (couvrir les intervalles des crons : 1, 5, 15, 30, 60 min), 4) Identifier les commandes suspectes exécutées par root (UID=0), 5) Analyser les scripts appelés : y a-t-il des fichiers modifiables par l'utilisateur courant dans la chaîne d'exécution ? (privilege escalation). 6) Documenter les tâches cron et services de persistance.

Outils

pspy (github.com/DominicBreuker/pspy, releases pre-compiled 32/64 bit), auditd (forensics root-level : ausearch -c execve), Sysmon for Linux (open source, EventID 1 process create). Compléments : ls -la /var/spool/cron/, cat /etc/crontab, find /etc/cron.* -type f, systemctl list-timers (systemd timers). Analyse des logs auditd : aureport --executable, ausearch --event EXECVE.

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis