Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
process-watcher — Una herramienta de monitoreo de procesos que intenta detectar la explotación | Kitploit
Herramientas/GitHubGitHub/neo23x0/process-watcher
Herramientas DefensivasAnálisis Dinámico (Sandboxing)Análisis de MalwareInteligencia de AmenazasDetección de IntrusionesRespuesta a IncidentesAnálisis de Registros
GitHubneo23x0/process-watcher

process-watcher

Una herramienta de monitoreo de procesos que intenta detectar la explotación

Ver Repositorio
13162hace 1 díaAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

logotipo de process-watcher

process-watcher

Una herramienta de monitorización de procesos que intenta detectar la explotación

[!IMPORTANT] Amenaza emergente: versión crítica de seguridad de PHP el 21 de octubre de 2026, 14:00 UTC. El proyecto PHP lo anunció el 20 de octubre (anuncio): dos vulnerabilidades críticas, ambas calificadas con CVSS v4.0 9.2. Los detalles, las versiones afectadas y las correcciones llegan con la versión, que puede publicarse antes si los detalles se hacen públicos o comienza la explotación. Prepárese para actualizar PHP ahora.

El anuncio no dice qué tipo de fallos son. Si un ataque hace que PHP inicie programas, process-watcher muestra cada uno con su línea de comandos y, opcionalmente, puede matar los que usted indique. No busca estos fallos: no evita nada y pasa por alto el código que se ejecuta dentro de PHP sin iniciar un proceso, por lo que añade una capa de detección y no sustituye al parche.

Empiece aquí: vigilando PHP con process-watcher, o lea la guía completa de PHP.

Vea qué inicia un servicio. process-watcher sigue a un servicio (un servidor web, un servidor de aplicaciones, ...) y cada proceso que crea, en tiempo real, y registra cada inicio, cambio de programa y salida como JSON, opcionalmente con la línea de comandos. Cuando su servidor web ejecuta de repente un shell o curl, usted ve qué se inició, por qué proceso y desde qué servicio. Es un único binario estático para Linux (amd64, arm64): descargue, descomprima, ejecute.

Hace visible la actividad; no la juzga. Crear una línea base o decidir qué es un ataque queda en sus manos o en el sistema que recibe los eventos (archivo de registro, SIEM, webhook). Opcionalmente puede reaccionar ante procesos hijos específicos con un SIGKILL dirigido (reglas de eliminación).

Cómo funciona process-watcher: vigila cada programa cuyo nombre contiene su texto (aquí php-fpm) y todo lo que este inicia, escribe cada inicio, cambio de programa y salida en un registro JSON local, opcionalmente envía los eventos por TCP, UDP o un webhook, y puede matar procesos hijos coincidentes, como un shell inverso (reglas de eliminación).

Inicio rápido

1. Descargue y descomprima la última versión (amd64 o arm64, detectado desde su máquina; los nombres de los archivos contienen la versión, por lo que la segunda línea busca la última etiqueta):

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. Ejecútalo contra el servicio que quieres vigilar. Requiere root y Linux 5.15 o superior con BTF; sudo ./process-watcher doctor te indica si tu host cumple los requisitos.

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

nginx es una subcadena del nombre del ejecutable de tu servicio (apache2, php-fpm, java, ...). Detén el agente con Ctrl-C; este escribe los eventos en ./process-watcher.jsonl. --capture-argv=true registra las líneas de comandos, que pueden contener secretos (Captura de argumentos). ¿Prefieres un archivo? Edita process-watcher.yaml junto al binario (se encuentra automáticamente) y ejecuta sudo ./process-watcher.

3. Observa qué inicia el servicio (segunda terminal, mismo directorio; jq hace legible el JSON):

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

Ejemplo: se hace que un servicio llamado nginx ejecute un shell y algunos programas (simulados con un programa sustituto):

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 servidor web o de aplicaciones que inicia shells, herramientas de descarga o intérpretes (sh, curl, wget, nc, python, ...) es un rastro clásico de una web shell o de ejecución remota de código. Se siguen todas las generaciones, también después de que el padre haya terminado. (jq solo une los argumentos para mostrarlos; el evento los conserva como un array. sh aparece como dash porque la imagen es el programa que realmente se ejecutó.)

Siguiente: mantenerlo en ejecución como un servicio systemd · enviar los eventos a tu SIEM o pipeline de logs con --tcp-address, --udp-address o --webhook-url (Salidas) · terminar automáticamente los procesos hijos sospechosos (Reglas de terminación).

Requisitos

RequisitoValor
Sistema operativoLinux, amd64 o arm64
Kernel5.15 o superior con BTF (/sys/kernel/btf/vmlinux). El número de versión por sí solo no es garantía: al iniciar, el agente comprueba las funciones y los campos de estructura del kernel que necesita.
Privilegiosroot, o CAP_BPF + CAP_PERFMON (+ CAP_SYS_PTRACE para /proc/<pid>/exe de procesos de otros usuarios, CAP_KILL para la función de terminación, CAP_SYS_RESOURCE antes del kernel 5.11). El bloqueo del kernel confidentiality impide la operación.
Espacio de nombres de PIDel espacio de nombres de PID inicial del host (todos los PID son PID del host); se rechaza la ejecución dentro de un contenedor.

Si falta algún requisito, el agente se detiene con un diagnóstico concreto y código de salida 3; nunca recurre a sondeo de /proc, que pasaría por alto procesos de corta duración. sudo ./process-watcher doctor comprueba todo, carga los programas y ejecuta un proceso de prueba propio. Kernels probados: docs/compatibility.md.

Instalación

Verificar la descarga

# 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
Descargar herramienta