¿Intento o intrusión exitosa?

Multipart extraño o una alerta WAF puede indicar un intento. OOM, SIGSEGV/SIGABRT y picos HTTP 500 también tienen causas normales. Procesos hijos PHP, conexiones, archivos o cuentas inesperados requieren investigación urgente. Una filtración de memoria puede no dejar webshell ni archivos; un análisis limpio no la descarta.

Relaciona varios registros

Conserva zonas horarias y desfases. Cruza ID y hora del proxy con errores PHP/FPM, PID, WAF y eventos de procesos/red. Examina PHPSESSID en Set-Cookie de la RESPUESTA, no solo cookies entrantes. Longitud o codificación porcentual son pistas; los patrones locales no prueban PHP2Shell.

Sin coincidencias no significa sin intrusión

Los logs suelen omitir cuerpos, cabeceras de respuesta y sesiones. Sin descifrado autorizado el sensor no ve HTTP cifrado. Retención, réplicas y actividad solo en memoria dejan lagunas. Documenta hosts y periodos, pide registros al proveedor y escala riesgos. Actualizar no aclara qué sucedió antes.

Revisar señales en registros ↗
Ejemplo de comando
journalctl -u php8.3-fpm --since "2026-10-21 00:00:00 UTC" --until "2026-10-22 23:59:59 UTC" --no-pager
journalctl -k --since "2026-10-21 00:00:00 UTC" --no-pager
ps -eo pid,ppid,lstart,args
ss -tpn
# Only use an independently trusted pre-incident manifest:
sha256sum -c /path/to/trusted-manifest.sha256

Fuentes primarias y lecturas adicionales

PHP security teamLeer el original ↗CVE-2026-109618Leer el original ↗CVE-2026-109619Leer el original ↗php2shell.ukLeer el original ↗

Investigación y guías prácticas

>_

Herramientas PHP2Shell

Comprueba sitios públicos, revisa configuraciones y registros locales o encuentra herramientas abiertas. Cada resultado indica sus pruebas y límites.

01

PHP2Shell en lenguaje sencillo

PHP es el motor de WordPress, Laravel y los plugins. Actualizar un plugin no actualiza PHP. Dos fallos de memoria pueden convertir la limpieza anómala de una petición en filtración o ejecución de código. El control público solo aporta indicios; el proveedor debe confirmar el runtime Web y su parche.

02

¿Intento o intrusión exitosa?

Multipart extraño o una alerta WAF puede indicar un intento. OOM, SIGSEGV/SIGABRT y picos HTTP 500 también tienen causas normales. Procesos hijos PHP, conexiones, archivos o cuentas inesperados requieren investigación urgente. Una filtración de memoria puede no dejar webshell ni archivos; un análisis limpio no la descarta.

03

Conserva pruebas antes de cambiar

Anota descubrimiento, dominio, instancia, runtime, síntomas y último estado fiable. Exporta registros originales con zona horaria, auditoría cloud e instantáneas autorizadas disponibles. Restringe copias y registra hashes. No envíes cookies, tokens ni datos de clientes a escáneres públicos. No borres logs ni archivos sospechosos antes de conservarlos.

04

Lee Wiz y Calif con precisión

La investigación explica errores que sobreviven a una petición. CVE-2026-109618 demuestra RCE mod_php; la susceptibilidad FPM es por análisis de código, sin exploit FPM completo para ese CVE. CVE-2026-109619 confirma aparte una ruta FPM de upload-progress dependiente de la aplicación. Consulta cada GHSA para distinguir pruebas por SAPI.

05

Cloudflare: también importa la respuesta

Cloudflare describe detección de transacción completa, combinando petición y respuesta del origen y bloqueando respuestas sospechosas antes de filtrar datos. Es útil sin shell. El despliegue histórico no garantiza tu cobertura: confirma reglas, ruta, exclusiones y eventos. Origen directo y hosts sin proxy siguen necesitando parche.