(https://i.imgur.com/PP3tO0f.jpeg)
La comunidad de desarrollo PHP y Laravel enfrenta una nueva amenaza de ciberseguridad tras descubrirse un sofisticado ataque a la cadena de suministro que comprometió varios paquetes de localización de Laravel Lang utilizados ampliamente en proyectos web y aplicaciones empresariales.
Investigadores de seguridad de StepSecurity, Aikido Security y Socket revelaron que atacantes lograron manipular etiquetas de versiones en GitHub para distribuir malware mediante Composer, el gestor de dependencias más utilizado en el ecosistema PHP.
El incidente representa una evolución alarmante en los ataques supply chain, ya que los ciberdelincuentes no publicaron nuevas versiones maliciosas visibles, sino que aprovecharon una funcionalidad legítima de GitHub para redirigir etiquetas existentes hacia commits controlados por los atacantes.
Como resultado, miles de desarrolladores pudieron instalar código malicioso creyendo que descargaban versiones legítimas de paquetes Laravel Lang.
Qué paquetes Laravel Lang fueron comprometidosLos investigadores confirmaron que los siguientes paquetes fueron afectados:
- laravel-lang/lang
- laravel-lang/http-statuses
- laravel-lang/attributes
- Posiblemente laravel-lang/actions
Es importante destacar que Laravel Lang es un proyecto de terceros y no forma parte oficial del framework Laravel. Sin embargo, estos paquetes son ampliamente utilizados para implementar traducciones y localización en aplicaciones PHP.
Según Aikido Security, el ataque comprometió al menos 233 versiones distribuidas en tres repositorios diferentes, mientras que Socket estima que aproximadamente 700 versiones históricas pudieron verse afectadas.
Cómo funcionó el ataque a la cadena de suministroEl aspecto más peligroso de este incidente es la técnica utilizada para comprometer las versiones de los paquetes.
En lugar de modificar directamente el código fuente principal o publicar nuevas versiones sospechosas, los atacantes aprovecharon una característica de GitHub que permite que las etiquetas (tags) apunten a commits almacenados en forks del mismo repositorio.
Esto permitió a los actores maliciosos:
- Reescribir etiquetas existentes
- Mantener nombres legítimos de versiones
- Evadir sospechas inmediatas
- Distribuir malware silenciosamente mediante Composer
Los investigadores explicaron que los atacantes reescribieron todas las etiquetas Git existentes para apuntar a commits maliciosos almacenados en forks bajo su control.
La operación comenzó a las 22:32 UTC contra el paquete principal laravel-lang/lang y finalizó alrededor de las 00:00 UTC afectando otros repositorios relacionados.
Todos los repositorios comprometidos compartían:
- La misma identidad falsa de autor
- Archivos modificados idénticos
- El mismo comportamiento malicioso
- Infraestructura C2 compartida
Esto indica que probablemente un único actor obtuvo acceso privilegiado a nivel organizacional mediante credenciales comprometidas.
Composer descargaba malware sin alertar al desarrolladorCuando un desarrollador instalaba o actualizaba uno de los paquetes afectados mediante Composer, el sistema descargaba automáticamente el código malicioso creyendo que se trataba de una versión oficial y legítima.
El ataque era especialmente efectivo porque:
- Las versiones aparentaban ser legítimas
- No existían nuevos releases sospechosos
- Los hashes parecían válidos
- Composer confiaba en las etiquetas manipuladas
Este método permitió a los atacantes comprometer entornos de desarrollo, servidores y pipelines CI/CD sin generar alertas inmediatas.
El malware utilizaba un archivo malicioso llamado helpers.phpLos investigadores identificaron que las versiones comprometidas agregaban un archivo malicioso denominado:
Este archivo era cargado automáticamente por Composer durante la instalación del paquete.
El código actuaba como un dropper encargado de descargar una segunda carga útil desde el servidor de comando y control:
Una vez descargado, el malware iniciaba operaciones de robo de credenciales y exfiltración de datos sensibles.
Malware diseñado para robar secretos cloud y credenciales DevOpsLa carga útil PHP utilizada por los atacantes funcionaba como un infostealer multiplataforma compatible con:
El malware estaba diseñado para recolectar información extremadamente sensible relacionada con infraestructura cloud y entornos de desarrollo modernos.
Entre los datos robados destacan:
Credenciales cloud- Claves AWS
- Tokens de acceso
- Secretos cloud
Secretos DevOps- Variables .env
- Tokens CI/CD
- Credenciales Git
- Configuraciones Kubernetes
- Tokens Vault
Información de navegadores- Cookies
- Credenciales almacenadas
- Sesiones activas
Datos criptográficos- Wallets de criptomonedas
- Frases de recuperación
- Claves privadas SSH
Gestores y herramientas corporativas- Tokens GitHub
- Tokens Slack
- Secretos Stripe
- JWTs
- Configuraciones VPN
El malware incluía expresiones regulares avanzadas específicamente diseñadas para localizar automáticamente credenciales sensibles dentro de archivos locales y variables de entorno.
El componente para Windows utilizaba DebugElevatorEn sistemas Windows, el malware desplegaba una segunda etapa aún más peligrosa.
La carga PHP extraía un ejecutable codificado en Base64 y lo escribía en la carpeta temporal del sistema con un nombre aleatorio .exe.
El análisis reveló que el ejecutable se denominaba:
Este componente estaba específicamente diseñado para atacar navegadores basados en Chromium como:
- Google Chrome
- Brave
- Microsoft Edge
Su objetivo era extraer claves de cifrado vinculadas a la aplicación necesarias para descifrar credenciales almacenadas en el navegador.
Evidencias del uso de inteligencia artificial en el malwareUno de los detalles más llamativos encontrados por los investigadores fue una ruta PDB integrada dentro del ejecutable malicioso:
- C:\Users\Mero\OneDrive\Desktop\stuff\claude\Chromium-DebugElevator\x64\Release\DebugChromium.pdb
La referencia al término "claude" sugiere que los atacantes podrían haber utilizado herramientas de inteligencia artificial para asistir en el desarrollo del malware.
Aunque esto no constituye una confirmación definitiva, refleja una tendencia creciente donde actores maliciosos utilizan IA para:
- Automatizar desarrollo de malware
- Mejorar evasión
- Crear loaders personalizados
- Optimizar robo de credenciales
El malware cifraba y exfiltraba los datos robadosUna vez recopilada la información sensible, el malware:
- Cifraba los datos robados
- Establecía conexión con el servidor C2
- Exfiltraba la información a la infraestructura controlada por los atacantes
Esto dificultaba la inspección del tráfico y aumentaba las posibilidades de que el robo pasara desapercibido.
Packagist eliminó rápidamente las versiones maliciosasTras descubrir el incidente, Aikido notificó a Packagist, repositorio principal de paquetes PHP utilizado por Composer.
Packagist respondió rápidamente:
- Eliminando versiones comprometidas
- Deshabilitando temporalmente paquetes afectados
- Bloqueando nuevas instalaciones potencialmente maliciosas
Sin embargo, cualquier sistema que hubiera instalado versiones comprometidas antes de la mitigación podría seguir afectado.
Qué deben hacer los desarrolladores afectadosLos expertos recomiendan actuar de inmediato si se utilizaron paquetes Laravel Lang recientemente.
Revisar versiones instaladasVerificar si los sistemas descargaron versiones comprometidas.
Rotar todas las credencialesCambiar inmediatamente:
- Tokens cloud
- Claves SSH
- Contraseñas
- Secretos CI/CD
- Tokens GitHub y Slack
Buscar indicadores de compromisoInspeccionar:
- Procesos sospechosos
- Conexiones salientes
- Archivos temporales
- Modificaciones en .env
Revisar tráfico históricoBuscar conexiones hacia:
Analizar endpoints Windows
Especialmente aquellos con:
Los ataques supply chain siguen creciendoEl compromiso de Laravel Lang demuestra nuevamente que los ataques a la cadena de suministro continúan evolucionando y apuntando directamente a ecosistemas de desarrollo ampliamente utilizados.
La capacidad de manipular etiquetas Git legítimas sin modificar aparentemente el código fuente representa un cambio peligroso en las tácticas utilizadas por los ciberdelincuentes.
Los desarrolladores y organizaciones deberán reforzar sus procesos de validación de dependencias, monitoreo de integridad y protección de secretos para reducir el riesgo frente a futuras campañas similares.
El incidente también evidencia cómo Composer, GitHub y los ecosistemas open source continúan siendo objetivos prioritarios para actores maliciosos interesados en comprometer masivamente entornos corporativos, infraestructura cloud y proyectos de software críticos.
Fuente: https://www.bleepingcomputer.com/