Observación de una explotación tipo PHP2Shell con evidencia real de RCE
Las capturas de paquetes en el lado del objetivo y los eventos de proceso registrados por una honeypot correlacionan 35 solicitudes HTTP POST completas (en la fase de ejecución) con 35 inicios de `/bin/sh`, los cuales fueron generados directamente por procesos workers de Apache ( `uid=33` ) en tres objetivos PHP.
Tres de estos eventos de shell se originaron a partir de tráfico proveniente de la dirección 15.204.59[.]70 (objetivo T1); otros 32 se originaron a partir de tráfico de la dirección 162.35.99[,]94 (objetivos T1, T2 y T3). Se trata de dos grupos de direcciones de origen, lo cual no implica necesariamente la participación de dos actores distintos.
Las solicitudes emplearon una cadena de cuatro etapas de tipo multipart, que en ocasiones incluyó reintentos: generación de presión en la memoria, revelación de información de memoria mediante un cookie `PHPSESSID` de tamaño excesivo, una nueva fase de presión en la memoria y, finalmente, una etapa de ejecución adaptada al objetivo específico.
Se registraron 52 cookies utilizadas para la extracción de información; 51 respuestas completas fueron reconstruidas a partir de las capturas de paquetes y confirmadas por el cliente. Las cadenas completas representativas, provenientes de ambos grupos de origen y de los tres objetivos comprometidos, compartían cuerpos (segmentos A1/B1/A2) idénticos a nivel de byte.
El cuerpo B2 variaba según el rango de direcciones de memoria filtrado en cada objetivo y el comando de shell ejecutado; esto respalda la técnica conocida de elusión de ASLR mediante filtración de memoria, en lugar de una nueva primitiva de ataque. El tráfico coincide estrechamente con la familia de pruebas de concepto (PoC) públicas basadas exclusivamente en HTTP; la evidencia contenida en los paquetes no permite identificar el cliente exacto ni la revisión específica utilizada…