Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
process-watcher — Un outil de surveillance des processus qui tente de détecter l'exploitation | Kitploit
Outils/GitHubGitHub/neo23x0/process-watcher
Outils DéfensifsAnalyse Dynamique (Sandboxing)Analyse de MalwareRenseignement sur les MenacesDétection d'IntrusionRéponse aux IncidentsAnalyse de Journaux
GitHubneo23x0/process-watcher

process-watcher

Un outil de surveillance des processus qui tente de détecter l'exploitation

Voir le dépôt
13137il y a 18h 39mPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

logo process-watcher

process-watcher

Un outil de surveillance des processus qui tente de détecter l'exploitation

[!IMPORTANT] Menace émergente : publication de sécurité PHP critique le 21 octobre 2026, 14:00 UTC. Le projet PHP l'a annoncée le 20 octobre (annonce) : deux vulnérabilités critiques, toutes deux notées CVSS v4.0 9.2. Les détails, les versions affectées et les correctifs accompagneront la publication, qui pourrait survenir plus tôt si les détails deviennent publics ou si l'exploitation commence. Préparez-vous à mettre à jour PHP dès maintenant.

L'annonce ne précise pas la nature de ces failles. Si une attaque amène PHP à lancer des programmes, process-watcher affiche chacun d'eux avec sa ligne de commande et peut éventuellement tuer ceux que vous désignez. Il ne recherche pas ces failles : il ne prévient rien et manque le code qui s'exécute à l'intérieur de PHP sans lancer de processus, il ajoute donc une couche de détection et ne remplace pas le correctif.

Commencez ici : surveiller PHP avec process-watcher, ou lisez le guide PHP complet.

Voyez ce qu'un service lance. process-watcher suit un service (un serveur web, un serveur d'application, ...) et chaque processus qu'il crée, en temps réel, et journalise chaque démarrage, changement de programme et arrêt au format JSON, éventuellement avec la ligne de commande. Quand votre serveur web exécute soudainement un shell ou curl, vous voyez ce qui a été lancé, par quel processus et depuis quel service. C'est un binaire statique unique pour Linux (amd64, arm64) : téléchargez, décompressez, exécutez.

Il rend l'activité visible ; il ne la juge pas. Construire une référence ou décider ce qui constitue une attaque vous revient ou revient au système qui reçoit les événements (fichier de journal, SIEM, webhook). Il peut éventuellement réagir à des processus enfants spécifiques avec un SIGKILL ciblé (Règles de kill).

Comment fonctionne process-watcher : il surveille chaque programme dont le nom contient votre texte (ici php-fpm) et tout ce qu'il lance, écrit chaque démarrage, changement de programme et arrêt dans un journal JSON local, envoie éventuellement les événements via TCP, UDP ou un webhook, et peut tuer les processus enfants correspondants tels qu'un reverse shell (règles de kill).

Démarrage rapide

1. Téléchargez et décompressez la dernière version (amd64 ou arm64, détectée depuis votre machine ; les noms des archives contiennent la version, donc la deuxième ligne recherche le dernier tag) :

ARCH=$(uname -m | sed 's/x86_64/amd64/; s/aarch64/arm64/')
VERSION=$(curl -fsSLI -o /dev/null -w '%{url_effective}' https://github.com/Neo23x0/process-watcher/releases/latest | sed 's#.*/##')
curl -fsSLO https://github.com/Neo23x0/process-watcher/releases/download/$VERSION/process-watcher_${VERSION}_linux_${ARCH}.tar.gz
tar xzf process-watcher_${VERSION}_linux_${ARCH}.tar.gz && cd process-watcher_${VERSION}_linux_${ARCH}

2. Lancez-le contre le service que vous souhaitez surveiller. Il nécessite les droits root et Linux 5.15 ou une version plus récente avec BTF ; sudo ./process-watcher doctor vous indique si votre hôte est compatible.

sudo ./process-watcher --watch-image-contains nginx --capture-argv=true

nginx est une sous-chaîne du nom de l'exécutable de votre service (apache2, php-fpm, java, ...). Arrêtez l'agent avec Ctrl-C ; il écrit les événements dans ./process-watcher.jsonl. --capture-argv=true enregistre les lignes de commande, qui peuvent contenir des secrets (Argument capture). Vous préférez un fichier ? Modifiez process-watcher.yaml à côté du binaire (il est trouvé automatiquement) et exécutez sudo ./process-watcher.

3. Surveillez ce que le service démarre (second terminal, même répertoire ; jq rend le JSON lisible) :

sudo tail -f process-watcher.jsonl | jq -r '
  select(.event_type=="process.exec" and .lineage.role=="descendant")
  | "\(.timestamp[:19])Z  \(.root.image) > \(.process.image)  \(.process.argv // [] | join(" "))" | gsub("[[:cntrl:]]"; "?")'

Exemple : un service appelé nginx est amené à exécuter un shell et quelques programmes (simulés avec un programme de substitution) :

2026-10-17T19:15:16Z  nginx > dash  sh -c id; uname -s
2026-10-17T19:15:16Z  nginx > id  id
2026-10-17T19:15:16Z  nginx > uname  uname -s
2026-10-17T19:15:16Z  nginx > curl  curl --version
2026-10-17T19:15:16Z  nginx > sleep  sleep 1

Un serveur web ou d'application qui lance des shells, des outils de téléchargement ou des interpréteurs (sh, curl, wget, nc, python, ...) est une trace classique d'un web shell ou d'une exécution de code à distance. Toutes les générations sont suivies, y compris après que le parent a terminé. (jq ne fait que joindre les arguments pour l'affichage ; l'événement les conserve sous forme de tableau. sh apparaît comme dash car l'image est le programme qui s'est réellement exécuté.)

Ensuite : maintenez-le en fonctionnement comme service systemd · envoyez les événements à votre SIEM ou pipeline de journaux avec --tcp-address, --udp-address ou --webhook-url (Sorties) · terminez automatiquement les processus enfants suspects (Règles de kill).

Prérequis

PrérequisValeur
Système d'exploitationLinux, amd64 ou arm64
Noyau5.15 ou plus récent avec BTF (/sys/kernel/btf/vmlinux). Le numéro de version seul n'est pas une garantie : au démarrage, l'agent vérifie les fonctions et les champs de structure du noyau dont il a besoin.
Privilègesroot, ou CAP_BPF + CAP_PERFMON (+ CAP_SYS_PTRACE pour /proc/<pid>/exe des processus d'autres utilisateurs, CAP_KILL pour la fonctionnalité de kill, CAP_SYS_RESOURCE avant le noyau 5.11). Le verrouillage du noyau confidentiality empêche le fonctionnement.
Namespace PIDle namespace PID initial de l'hôte (tous les PID sont des PID hôtes) ; l'exécution à l'intérieur d'un conteneur est refusée.

Si un prérequis manque, l'agent s'arrête avec un diagnostic concret et le code de sortie 3 ; il ne se rabat jamais sur l'interrogation de /proc, ce qui manquerait les processus de courte durée. sudo ./process-watcher doctor vérifie tout, charge les programmes et exécute son propre processus de test. Noyaux testés : docs/compatibility.md.

Installation

Vérifier le téléchargement

# in the directory the archive was downloaded to, with $VERSION and $ARCH from step 1
curl -fsSLO https://github.com/Neo23x0/process-watcher/releases/download/$VERSION/SHA256SUMS
sha256sum --check --ignore-missing SHA256SUMS
gh attestation verify process-watcher_${VERSION}_linux_${ARCH}.tar.gz --repo Neo23x0/process-watcher   # build provenance
Télécharger l’outil