Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
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.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
PHP-8.1.0-dev-Backdoor — Backdoor User-Agentt de PHP 8.1.0-dev: Ejecución Remota de Código (RCE) | Kitploit
Herramientas/GitHubGitHub/k3ystr0k3r/php-8.1.0-dev-backdoor
Análisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebSeguridad WebSeguridad de Cadena de SuministroDesarrollo de Payloads
GitHubk3ystr0k3r/php-8.1.0-dev-backdoor

PHP-8.1.0-dev-Backdoor

Backdoor User-Agentt de PHP 8.1.0-dev: Ejecución Remota de Código (RCE)

Ver Repositorio
11hace 1 mesAú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

PHP 8.1.0-dev User-Agentt Backdoor de Ejecución Remota de Código (RCE)

Severidad: Crítico (Equivalente CVSS: 10.0)

Tipo de Vulnerabilidad: Backdoor de Cadena de Suministro / Ejecución Remota de Código (RCE)

Software Afectado: PHP 8.1.0-dev (Solo Build de Desarrollo)

Vector de Ataque: Remoto (Sin Autenticación)

Autenticación Requerida: No

Interacción del Usuario: Ninguna

Impacto: Compromiso Total del Sistema


Resumen

El Backdoor User-Agentt de PHP 8.1.0-dev es uno de los compromisos de cadena de suministro más infames en la historia del software de código abierto. A diferencia de las vulnerabilidades tradicionales que surgen de errores de programación, este problema fue el resultado de código malicioso insertado intencionalmente en el repositorio oficial del código fuente de PHP.

El backdoor apareció en los snapshots de desarrollo de PHP 8.1.0-dev durante marzo de 2021, después de que los atacantes comprometieran con éxito la infraestructura Git de PHP. Los commits maliciosos suplantaron a mantenedores de confianza de PHP e introdujeron un mecanismo oculto capaz de ejecutar código PHP arbitrario siempre que se recibiera una cabecera HTTP especialmente manipulada.

Aunque el backdoor estuvo presente solo brevemente antes de ser descubierto y eliminado, cualquier servidor que implementara uno de los builds de desarrollo comprometidos se volvió instantáneamente vulnerable a la Ejecución Remota de Código (RCE) sin autenticación.

Este incidente cambió fundamentalmente el flujo de trabajo de desarrollo de PHP y finalmente condujo a la migración del repositorio fuente de PHP fuera de su infraestructura Git autogestionada. :contentReference[oaicite:0]{index=0}


Por Qué Esta Vulnerabilidad Es Única

La mayoría de las vulnerabilidades de Ejecución Remota de Código se originan en:

  • Desbordamientos de búfer
  • Errores de validación de entrada
  • Corrupción de memoria
  • Fallos lógicos

Esta vulnerabilidad fue diferente.

No era un bug de código.

Era un backdoor plantado deliberadamente oculto dentro del código fuente legítimo de PHP.

En lugar de explotar una debilidad existente, los atacantes modificaron el propio PHP para ejecutar código PHP arbitrario suministrado por cualquier persona que realizara una solicitud HTTP.

Eso convierte este incidente en uno de los ejemplos más conocidos de un ataque a la cadena de suministro de software.


Antecedentes

El 28 de marzo de 2021, aparecieron dos commits sospechosos en el repositorio Git de PHP.

Ambos commits parecían provenir de mantenedores conocidos de PHP.

Inicialmente parecían inofensivos.

Los mensajes de los commits se asemejaban a correcciones ordinarias de erratas.

Sin embargo, los investigadores notaron rápidamente código sospechoso añadido al intérprete de PHP.

El código insertado buscaba en las solicitudes HTTP entrantes una cabecera personalizada:

root@kitploit:~
User-Agentt

Observe la "t" adicional.

Esta sutil diferencia ortográfica ayudó a ocultar el backdoor durante revisiones casuales.

Si la cabecera comenzaba con la cadena de activación:

root@kitploit:~
zerodium

PHP ejecutaba inmediatamente todo lo que venía después usando:

root@kitploit:~
zend_eval_string()

Esto efectivamente permitía a cualquier persona ejecutar código PHP arbitrario de forma remota.

Los commits maliciosos fueron eliminados en cuestión de horas después de su descubrimiento. La investigación indicó posteriormente que los atacantes habían comprometido la infraestructura Git de PHP en lugar de obtener legítimamente las claves de firma de los mantenedores. :contentReference[oaicite:1]{index=1}


Causa Raíz

El código insertado realizaba aproximadamente la siguiente lógica:

root@kitploit:~
Incoming HTTP Request
          │
          ▼
Read User-Agentt Header
          │
          ▼
Does header start with "zerodium"?
          │
      Yes ▼
Execute remaining text as PHP
          │
          ▼
Attacker gains Remote Code Execution

En lugar de tratar la cabecera como metadatos inofensivos, PHP la evaluaba directamente como código PHP ejecutable.


Desglose Técnico

Normalmente, una solicitud HTTP contiene cabeceras similares a:

root@kitploit:~
GET / HTTP/1.1

Host: example.com

User-Agent: Mozilla Firefox

La versión comprometida de PHP procesaba adicionalmente:

root@kitploit:~
User-Agentt:

Si su valor comenzaba con:

root@kitploit:~
zerodium

PHP llamaba a:

root@kitploit:~
zend_eval_string()

El contenido restante se convertía en PHP ejecutable.

Conceptualmente:

root@kitploit:~
User-Agentt:

zerodium
        │
        ▼
zend_eval_string(payload)
        │
        ▼
Remote Code Execution

Flujo del Ataque

root@kitploit:~
Attacker
    │
    │ HTTP Request
    ▼

GET /

User-Agentt: zerodiumsystem("id");

    │
    ▼

PHP 8.1.0-dev

    │
    ▼

Backdoor Triggered

    │
    ▼

system("id")

    │
    ▼

Command Executed

    │
    ▼

Output Returned

Sin autenticación.

Sin sesión.

Sin credenciales.

Una sola solicitud HTTP era suficiente.


¿Por Qué "User-Agentt"?

Los atacantes eligieron intencionalmente

root@kitploit:~
User-Agentt

en lugar de

root@kitploit:~
User-Agent

porque:

  • parecía casi idéntico
  • evadía la revisión casual
  • la mayoría de los desarrolladores ignoran las cabeceras HTTP desconocidas
  • las aplicaciones existentes seguirían funcionando con normalidad

Esta pequeña errata ocultaba un backdoor completo de ejecución remota de código.


Versiones Afectadas

Solo:

root@kitploit:~
PHP 8.1.0-dev

Específicamente los snapshots de desarrollo comprometidos publicados durante el incidente de marzo de 2021.

Las versiones estables como:

  • PHP 7.x
  • PHP 8.0
  • PHP 8.1 Stable

nunca se vieron afectadas.


Requisitos del Ataque

El atacante solo necesitaba:

  • Acceso a la red
  • Conectividad HTTP
  • Un servidor vulnerable con PHP 8.1.0-dev

Sin autenticación.

Sin fuerza bruta.

Sin inicio de sesión.

Sin acceso previo.


Impacto

Una explotación exitosa permite a los atacantes:

  • Ejecutar comandos arbitrarios del sistema operativo
  • Ejecutar código PHP arbitrario
  • Leer archivos sensibles
  • Modificar aplicaciones web
  • Subir webshells
  • Instalar backdoors persistentes
  • Volcar bases de datos
  • Robar credenciales
  • Escalar privilegios
  • Pivotar hacia redes internas más profundas
  • Comprometer completamente el host afectado

En la práctica, esta vulnerabilidad resulta en el compromiso total del servidor.


Mapeo MITRE ATT&CK


Detección

Los administradores deben investigar inmediatamente los sistemas que expongan:

root@kitploit:~
PHP/8.1.0-dev

dentro de las cabeceras de respuesta como:

root@kitploit:~
X-Powered-By:

PHP/8.1.0-dev

Los registros HTTP también deben examinarse en busca de solicitudes sospechosas que contengan:

root@kitploit:~
User-Agentt

o

root@kitploit:~
zerodium

Muchos sistemas de detección de intrusiones y productos IPS ahora incluyen firmas específicas para este patrón de ataque. :contentReference[oaicite:2]{index=2}


Indicadores de Compromiso (IOCs)

Los posibles indicadores incluyen:

  • Solicitudes que contienen User-Agentt
  • Valores de cabecera que comienzan con zerodium
  • Ejecución inesperada de comandos
  • Archivos PHP desconocidos
  • Nuevas webshells
  • Procesos hijo sospechosos generados por PHP
  • Conexiones de red salientes inexplicables

Complejidad de Explotación

PropiedadValor
AutenticaciónNinguna
Interacción del UsuarioNinguna
ComplejidadMuy Baja
Privilegios Requeridos

Esta se considera una de las vulnerabilidades de Ejecución Remota de Código más fáciles de explotar porque el atacante simplemente envía una solicitud HTTP manipulada.


Mitigación

Nunca implemente snapshots de desarrollo de PHP en sistemas de producción.

Si se encontró un servidor ejecutando el build comprometido:

  1. Elimine la versión vulnerable inmediatamente.
  2. Actualice a una versión estable de PHP.
  3. Asuma un compromiso total.
  4. Rote todas las credenciales.
  5. Audite en busca de webshells.
  6. Revise los registros de autenticación.
  7. Inspeccione las tareas programadas y los mecanismos de persistencia.
  8. Reconstruya el servidor si no se puede descartar el compromiso.

Lecciones de Seguridad

Este incidente demostró varias lecciones importantes:

  • Los builds de desarrollo nunca deben exponerse públicamente.
  • Las cadenas de suministro de software son objetivos de ataque de alto valor.
  • La firma de código y la seguridad de la infraestructura son críticas.
  • Los repositorios de código fuente requieren monitoreo continuo.
  • Pequeños cambios de código pueden ocultar vulnerabilidades catastróficas.
  • La confianza en el software ascendente siempre debe verificarse.

El compromiso aceleró los cambios en la infraestructura de desarrollo de PHP y destacó la creciente importancia de la seguridad de la cadena de suministro de software en toda la industria. :contentReference[oaicite:3]{index=3}


Referencias

  • Discusión interna de PHP sobre los commits maliciosos
  • Informes de incidentes del repositorio fuente de PHP
  • Publicación del exploit de Packet Storm Security
  • Firma IPS de Juniper Threat Labs
  • Análisis técnicos de la comunidad
  • Investigación pública de exploits

Conclusión

El Backdoor User-Agentt de PHP 8.1.0-dev sigue siendo uno de los ejemplos más significativos de un ataque a la cadena de suministro de software que afecta a un importante proyecto de código abierto. En lugar de explotar una falla de programación, los atacantes insertaron un backdoor oculto directamente en el código fuente del lenguaje, permitiendo la ejecución remota no autenticada de código PHP arbitrario a través de una cabecera HTTP User-Agentt especialmente manipulada. Aunque los snapshots de desarrollo comprometidos se eliminaron rápidamente y ninguna versión estable de PHP se vio afectada, el incidente subrayó la importancia crítica de asegurar la infraestructura de desarrollo de software, verificar la procedencia del código y evitar la implementación de builds de desarrollo en entornos de producción. Hoy en día, la vulnerabilidad es ampliamente estudiada como un caso emblemático en la seguridad de la cadena de suministro y sirve como recordatorio de que la integridad del proceso de compilación de software es tan importante como la seguridad del propio código.

Descargar herramienta
TécnicaDescripción
T1195Compromiso de la Cadena de Suministro
T1059Intérprete de Comandos y Scripts
T1505Componente de Software de Servidor
T1105Transferencia de Herramientas de Entrada
T1071Protocolo de Capa de Aplicación
T1106API Nativa
T1055Inyección de Procesos (posible post-explotación)
T1027Archivos o Información Ofuscados
Ninguno
RemotoSí