Investigadores de ciberseguridad han señalado paquetes maliciosos de PHP en Packagist que se hacen pasar por utilidades de Laravel y actúan como conducto para un troyano de acceso remoto multiplataforma (RAT) funcional en sistemas Windows, macOS y Linux.

  • nhattuanbl/lara-helper (37 descargas)
  • nhattuanbl/simple-queue (29 descargas)
  • nhattuanbl/lara-swagger (49 descargas)

Según Socket, el paquete "nhattuanbl/lara-swagger" no contiene código malicioso directamente, pero lista "nhattuanbl/lara-helper" como dependencia de Composer, lo que provoca la instalación del RAT. Los paquetes aún están disponibles para descarga en el registro de paquetes PHP.

Tanto lara-helper como simple-queue contienen un archivo PHP llamado "src/helper.php" que emplea diversas técnicas para complicar el análisis estático, como ofuscación del flujo de control, codificación de nombres de dominio, nombres de comandos y rutas de archivos, e identificadores aleatorios para variables y funciones.

"Una vez cargado, el payload se conecta a un servidor C2 en helper.leuleu[.]net:2096, envía datos de reconocimiento del sistema y espera comandos, otorgando al operador acceso remoto completo al host", dijo el investigador de seguridad Kush Pandya.

Esto incluye el envío de información del sistema y el análisis de comandos recibidos del servidor C2 para su posterior ejecución en el host comprometido. La comunicación ocurre sobre TCP utilizando PHP stream_socket_client(). Los comandos compatibles son:

  • ping: enviar un heartbeat automáticamente cada 60 segundos
  • info: enviar datos de reconocimiento del sistema al servidor C2
  • cmd: ejecutar un comando de shell
  • powershell: ejecutar un comando de PowerShell
  • run: ejecutar un comando de shell en segundo plano
  • screenshot: capturar la pantalla usando imagegrabscreen()
  • download: leer un archivo del disco
  • upload: escribir un archivo en el disco y otorgarle permisos de lectura, escritura y ejecución a todos los usuarios
  • stop: cerrar el socket y salir

"Para la ejecución de shell, el RAT sondea disable_functions y elige el primer método disponible entre: popen, proc_open, exec, shell_exec, system, passthru", dijo Pandya. "Esto lo hace resistente a configuraciones comunes de hardening de PHP".

Aunque el servidor C2 actualmente no responde, el RAT está configurado para reintentar la conexión cada 15 segundos en un bucle persistente, lo que lo convierte en un riesgo de seguridad. Se recomienda a los usuarios que hayan instalado los paquetes asumir que están comprometidos, eliminarlos, rotar todos los secretos accesibles desde el entorno de la aplicación y auditar el tráfico saliente hacia el servidor C2.

Además de los tres paquetes mencionados, el actor de amenazas detrás de la operación ha publicado otras tres librerías limpias ("nhattuanbl/lara-media", "nhattuanbl/snooze" y "nhattuanbl/syslog"), probablemente para ganar credibilidad y engañar a los usuarios para que instalen las maliciosas.

"Cualquier aplicación Laravel que haya instalado lara-helper o simple-queue está ejecutando un RAT persistente. El actor de amenazas tiene acceso completo remoto al shell, puede leer y escribir archivos arbitrarios, y recibe un perfil continuo del sistema para cada host conectado", dijo Socket. "Debido a que la activación ocurre al inicio de la aplicación (a través del proveedor de servicios) o mediante la autocarga de clases (a través de simple-queue), el RAT se ejecuta en el mismo proceso que la aplicación web, con los mismos permisos del sistema de archivos y variables de entorno, incluyendo credenciales de base de datos, claves API y el contenido de .env".
Cybersecurity
Cybersecurity
Cybersecurity
Cybersecurity