Los desarrolladores están siendo el blanco de un ataque a la cadena de suministro. Paquetes maliciosos disfrazados de herramientas legítimas otorgan acceso remoto total a los servidores web.
La confianza en los repositorios de código abierto vuelve a pasar factura a los equipos de desarrollo. Hoy, 4 de marzo de 2026, se ha revelado que investigadores de ciberseguridad han detectado paquetes PHP maliciosos en la plataforma Packagist que se hacen pasar por utilidades inofensivas para el popular framework Laravel.
Estos paquetes no son simples errores de código; actúan como un conducto directo para instalar un troyano de acceso remoto (RAT) de forma encubierta. El malware desplegado es multiplataforma, siendo completamente funcional en sistemas operativos Windows, macOS y Linux.
Los Paquetes Infiltrados y la Estrategia del Atacante
Se identificó los siguientes paquetes maliciosos, los cuales, sorprendentemente, aún se encuentran disponibles para su descarga en el registro oficial de PHP:
- nhattuanbl/lara-helper (37 descargas registradas).
- nhattuanbl/simple-queue (29 descargas registradas).
- nhattuanbl/lara-swagger (49 descargas registradas).
La trampa es particularmente astuta en el caso del paquete lara-swagger. Según el informe, este paquete no incrusta directamente el código malicioso en sus propios archivos. En su lugar, enumera estratégicamente a lara-helper como una dependencia interna de Composer, lo que provoca que el sistema instale el RAT de forma automática e inadvertida al descargar la librería padre.
Para construir credibilidad y engañar a los usuarios, el actor de amenazas detrás de esta operación también publicó otras tres bibliotecas complementarias (nhattuanbl/lara-media, nhattuanbl/snooze y nhattuanbl/syslog) que están completamente limpias de malware.
Anatomía del RAT: Ofuscación y Control Total
Los investigadores descubrieron que los paquetes infectados (lara-helper y simple-queue) contienen un archivo PHP específico llamado src/helper.php.
- Este archivo emplea numerosas artimañas técnicas para complicar el análisis estático.
- Hace uso intensivo de técnicas de ofuscación del flujo de control.
- Codifica activamente los nombres de dominio, los nombres de los comandos y las rutas de los archivos internos.
- Genera identificadores aleatorizados tanto para los nombres de las variables como para las funciones.
Una vez que la aplicación web carga el código de este archivo, la carga útil se conecta a un servidor de Comando y Control (C2) alojado en helper.leuleu[.]net:2096. Esta comunicación inicial envía datos de reconocimiento del sistema y luego entra en un estado de espera para recibir comandos, otorgándole al operador un control remoto absoluto sobre el host comprometido. La comunicación de red se realiza sobre TCP utilizando la función nativa de PHP stream_socket_client().
El arsenal de comandos que el operador puede ejecutar remotamente es devastador:
- cmd / run: Ejecuta comandos de consola estándar de forma directa o en segundo plano.
- powershell: Permite ejecutar secuencias de comandos de PowerShell.
- screenshot: Captura la pantalla del servidor utilizando la función imagegrabscreen().
- upload / download: Sube archivos al disco otorgándoles permisos universales de lectura, escritura y ejecución para todos los usuarios, o lee archivos existentes en la máquina.
- ping / info / stop: Envía un latido automático cada 60 segundos, extrae datos de reconocimiento, o cierra el socket y sale del proceso.
Investigadores de seguridad destacan que el malware es increíblemente resistente a las configuraciones comunes de endurecimiento (hardening) de PHP. Para lograr la ejecución en consola, el RAT sondea de forma inteligente la directiva disable_functions y selecciona dinámicamente el primer método que encuentre disponible en el servidor entre: popen, proc_open, exec, shell_exec, system o passthru.
Impacto Letal y Medidas Inmediatas
Cualquier aplicación de Laravel que haya instalado lara-helper o simple-queue actualmente está ejecutando un RAT persistente. El peligro radica en que la activación ocurre durante el arranque mismo de la aplicación (a través del service provider) o mediante la carga automática de clases (class autoloads).
Por lo tanto, el RAT se ejecuta exactamente en el mismo proceso que la aplicación web, heredando los mismos permisos del sistema de archivos y obteniendo acceso total a las variables de entorno. Esto incluye la exposición crítica de credenciales de bases de datos, llaves de API de terceros y el contenido completo de los archivos .env.
Aunque el servidor C2 actualmente se encuentra sin respuesta, el malware está programado para reintentar la conexión en un bucle persistente cada 15 segundos, lo que lo mantiene como un riesgo de seguridad latente.
A los equipos que hayan instalado estos paquetes se les aconseja asumir que su infraestructura ha sido comprometida por completo. Deben eliminar las dependencias de inmediato, rotar todos los secretos y contraseñas accesibles desde el entorno de la aplicación, y realizar una auditoría exhaustiva del tráfico saliente hacia el servidor C2.




