Ataque a la Cadena de Suministro Compromete Paquetes de Laravel Lang con Malware Ladrón de Credenciales
Un sofisticado ataque a la cadena de suministro ha comprometido los paquetes de localización **Laravel Lang**, exponiendo a los desarrolladores a malware ladrón de credenciales. Los atacantes abusaron de las etiquetas de versión de **GitHub** para distribuir código malicioso a través de paquetes **Composer**, afectando a múltiples repositorios.

Las firmas de seguridad **StepSecurity**, **Aikido Security** y **Socket** emitieron advertencias sobre el compromiso, destacando que los atacantes reescribieron las etiquetas de **GitHub** en cuatro repositorios mantenidos por la organización **Laravel Lang**, en lugar de publicar versiones maliciosas completamente nuevas. Esto les permitió inyectar código malicioso en lo que parecían ser lanzamientos legítimos.
### Paquetes Afectados
Los paquetes afectados incluyen `laravel-lang/lang`, `laravel-lang/http-statuses`, `laravel-lang/attributes` y posiblemente `laravel-lang/actions`. Estos son paquetes de localización de terceros y no forman parte del proyecto oficial **Laravel**.
**Aikido Security** informó que los atacantes comprometieron 233 versiones en tres repositorios, mientras que **Socket** indicó que aproximadamente 700 versiones históricas podrían haber sido impactadas.
### Mecanismo del Ataque
La característica distintiva del ataque radica en el hecho de que el código fuente del proyecto no fue modificado directamente. En cambio, los atacantes explotaron una función de **GitHub** que permite que las etiquetas apunten a commits en forks del mismo repositorio.
**StepSecurity** explicó: "En lugar de publicar una nueva versión maliciosa, el atacante reescribió cada etiqueta git existente en cada repositorio para apuntar a un nuevo commit malicioso."
Esta técnica permitió a los atacantes publicar lo que parecían ser etiquetas de lanzamiento legítimas para el proyecto, que en realidad conducían a commits maliciosos almacenados en un fork del repositorio controlado por el atacante. Cuando los desarrolladores instalaban el paquete a través de **Composer**, descargaban el código malicioso mientras parecían instalar lanzamientos legítimos de **Laravel Lang**.
### Ejecución del Ladrón de Credenciales
Los investigadores descubrieron que los lanzamientos maliciosos introdujeron un archivo llamado `src/helpers.php`, cargado automáticamente por **Composer**.

*Payload de helpers.php agregado a la sección autoload de composer.json*
El código inyectado actuó como un dropper, descargando un segundo payload del servidor de comando y control del atacante en `flipboxstudio[.]info`.
El payload PHP descargado era un ladrón de credenciales multiplataforma de gran tamaño para Linux, macOS y Windows. Recopila credenciales de la nube, secretos de Kubernetes, tokens de Vault, credenciales de Git, secretos de CI/CD, claves SSH, datos del navegador, billeteras de criptomonedas, administradores de contraseñas, configuraciones de VPN y archivos de configuración locales `.env`.

*Patrones de expresiones regulares utilizados para robar secretos. Fuente: BleepingComputer*
El malware también contiene patrones de expresiones regulares para extraer claves de **AWS**, tokens de **GitHub**, tokens de **Slack**, secretos de **Stripe**, credenciales de bases de datos, JWTs, claves privadas SSH y frases de recuperación de criptomonedas de archivos y variables de entorno.
En sistemas Windows, el payload PHP extrae un ejecutable codificado en base64, escrito en la carpeta `%TEMP%` con un nombre de archivo `.exe` aleatorio, y luego se lanza.
El análisis de **BleepingComputer** identificó el infostealer de Windows como 'DebugElevator', dirigido a Chrome, Brave y Edge para extraer claves de cifrado de aplicaciones (App-Bound Encryption keys) para descifrar credenciales almacenadas en el navegador.

*Ejecutable DebugElevator. Fuente: BleepingComputer*
Una ruta PDB incrustada hace referencia al nombre de cuenta de Windows 'Mero' y contiene 'claude', lo que podría indicar asistencia de IA en el desarrollo del malware de Windows:
C:\Users\Mero\OneDrive\Desktop\stuff\claude\Chromium-DebugElevator\x64\Release\DebugChromium.pdb
Una vez extraídos, los datos sensibles se cifran y se envían de vuelta al servidor C2.
### Mitigación
**Aikido Security** informó del incidente a **Packagist**, que eliminó rápidamente las versiones maliciosas y deslistó temporalmente los paquetes afectados.
Se recomienda a los desarrolladores que utilizan paquetes de **Laravel Lang** que:
* Revisen las versiones de los paquetes instalados.
* Roten las credenciales expuestas.
* Inspeccionen los sistemas en busca de indicadores de compromiso.
* Verifiquen conexiones salientes históricas a `flipboxstudio[.]info`.
<div>
<p><a rel="noopener nofollow" href="https://hubs.li/Q048zztN0"><img src="https://www.bleepstatic.com/c/p/validation-gap.jpg" data-src="https://www.bleepstatic.com/c/p/validation-gap.jpg" alt="imagen del artículo"></a></p>
<div>
<h2><a rel="noopener nofollow" href="https://hubs.li/Q048zztN0">La Brecha de Validación: Las Pruebas de Penetración Automatizadas Responden Una Pregunta. Necesitas Seis.</a></h2>
<p>Las herramientas automatizadas de pruebas de penetración brindan valor real, pero fueron creadas para responder una pregunta: ¿puede un atacante moverse por la red? No fueron creadas para probar si tus controles bloquean amenazas, si tus reglas de detección se activan o si tus configuraciones en la nube son seguras.</p>
<p>Esta guía cubre las 6 superficies que realmente necesitas validar.</p>
<p><a rel="noopener nofollow" href="https://hubs.li/Q048zztN0">Descargar Ahora</a></p>
</div>
</div>