Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
process-watcher — Uno strumento di monitoraggio dei processi che tenta di rilevare lo sfruttamento | Kitploit
Strumenti/GitHubGitHub/neo23x0/process-watcher
Strumenti DifensiviAnalisi Dinamica (Sandboxing)Analisi MalwareThreat IntelligenceRilevamento IntrusioniRisposta agli IncidentiAnalisi dei Log
GitHubneo23x0/process-watcher

process-watcher

Uno strumento di monitoraggio dei processi che tenta di rilevare lo sfruttamento

Vedi Repository
131651 giorno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

logo di process-watcher

process-watcher

Uno strumento di monitoraggio dei processi che tenta di rilevare lo sfruttamento

[!IMPORTANT] Minaccia emergente: rilascio critico di sicurezza PHP il 21 ottobre 2026, 14:00 UTC. Il progetto PHP lo ha annunciato il 20 ottobre (annuncio): due vulnerabilità critiche, entrambe valutate CVSS v4.0 9.2. Dettagli, versioni interessate e correzioni arriveranno con il rilascio, che potrebbe avvenire prima se i dettagli diventano pubblici o se inizia lo sfruttamento. Preparati ad aggiornare PHP ora.

L'annuncio non specifica che tipo di difetti siano. Se un attacco fa avviare programmi a PHP, process-watcher mostra ciascuno di essi con la relativa riga di comando e può facoltativamente terminare quelli che indichi. Non cerca questi difetti: non previene nulla e non rileva il codice che viene eseguito all'interno di PHP senza avviare un processo, quindi aggiunge un livello di rilevamento e non sostituisce la patch.

Inizia da qui: monitorare PHP con process-watcher, oppure leggi la guida completa su PHP.

Scopri cosa avvia un servizio. process-watcher segue un servizio (un web server, un application server, ...) e ogni processo che crea, in tempo reale, e registra ogni avvio, cambio di programma e uscita come JSON, facoltativamente con la riga di comando. Quando il tuo web server esegue improvvisamente una shell o curl, vedi cosa è stato avviato, da quale processo e da quale servizio. È un singolo binario statico per Linux (amd64, arm64): scarica, estrai, esegui.

Rende visibile l'attività; non la giudica. Costruire una baseline o decidere cosa sia un attacco è lasciato a te o al sistema che riceve gli eventi (file di log, SIEM, webhook). Facoltativamente può reagire a specifici processi figli con un SIGKILL mirato (Regole di terminazione).

Come funziona process-watcher: monitora ogni programma il cui nome contiene il tuo testo (qui php-fpm) e tutto ciò che avvia, scrive ogni avvio, cambio di programma e uscita in un log JSON locale, invia facoltativamente gli eventi tramite TCP, UDP o un webhook, e può terminare i processi figli corrispondenti come una reverse shell (regole di terminazione).

Avvio rapido

1. Scarica ed estrai l'ultima release (amd64 o arm64, rilevata dalla tua macchina; i nomi degli archivi contengono la versione, quindi la seconda riga cerca l'ultimo 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. Eseguilo contro il servizio che vuoi monitorare. Richiede root e Linux 5.15 o superiore con BTF; sudo ./process-watcher doctor ti dice se il tuo host è idoneo.

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

nginx è una sottostringa del nome dell'eseguibile del tuo servizio (apache2, php-fpm, java, ...). Arresta l'agente con Ctrl-C; scrive gli eventi in ./process-watcher.jsonl. --capture-argv=true registra le righe di comando, che possono contenere segreti (Argument capture). Preferisci un file? Modifica process-watcher.yaml accanto al binario (viene trovato automaticamente) ed esegui sudo ./process-watcher.

3. Osserva cosa avvia il servizio (secondo terminale, stessa directory; jq rende il JSON leggibile):

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:]]"; "?")'

Esempio: un servizio chiamato nginx viene fatto eseguire una shell e alcuni programmi (simulati con un programma sostitutivo):

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 server web o applicativo che avvia shell, strumenti di download o interpreti (sh, curl, wget, nc, python, ...) è una traccia classica di una web shell o di un'esecuzione di codice remoto. Vengono seguite tutte le generazioni, anche dopo che il processo padre è terminato. (jq unisce solo gli argomenti per la visualizzazione; l'evento li mantiene come array. sh appare come dash perché l'immagine è il programma che è stato effettivamente eseguito.)

Successivamente: mantienilo in esecuzione come servizio systemd · invia gli eventi al tuo SIEM o alla pipeline di log con --tcp-address, --udp-address o --webhook-url (Output) · termina automaticamente i processi figli sospetti (Regole di kill).

Requisiti

RequisitoValore
Sistema operativoLinux, amd64 o arm64
Kernel5.15 o successivo con BTF (/sys/kernel/btf/vmlinux). Il solo numero di versione non è una garanzia: all'avvio l'agente verifica le funzioni e i campi delle strutture del kernel di cui ha bisogno.
Privilegiroot, oppure CAP_BPF + CAP_PERFMON (+ CAP_SYS_PTRACE per /proc/<pid>/exe dei processi di altri utenti, CAP_KILL per la funzionalità di kill, CAP_SYS_RESOURCE prima del kernel 5.11). Il lockdown del kernel confidentiality impedisce il funzionamento.
PID namespaceil PID namespace iniziale dell'host (tutti i PID sono PID dell'host); l'esecuzione all'interno di un container viene rifiutata.

Se manca un requisito, l'agente si arresta con una diagnosi concreta e codice di uscita 3; non ripiega mai sul polling di /proc, che perderebbe i processi di breve durata. sudo ./process-watcher doctor verifica tutto, carica i programmi ed esegue un proprio processo di prova. Kernel testati: docs/compatibility.md.

Installazione

Verifica del download

# 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

Ogni archivio contiene il singolo binario statico (programmi eBPF incorporati; non serve altro a runtime), la configurazione di esempio commentata process-watcher.yaml, la LICENSE, sotto php/ le due configurazioni del kit PHP in emerging-threats/, utilizzabili subito (process-watcher --config php/php-observe.yaml), e in packaging/ l'unità systemd con lo script che la installa. Sono forniti solo amd64 e arm64: il collector eBPF presuppone puntatori del kernel a 64 bit, quindi i kernel a 32 bit (x86, ARM) non sono supportati.

Come servizio systemd

Scarica lo strumento