Paquetes Laravel Lang secuestrados para distribuir malware robacredenciales

Un ataque a la cadena de suministro dirigido a los paquetes de localización Laravel Lang ha expuesto a desarrolladores a una campaña sofisticada de malware robacredenciales, después de que los atacantes abusaran de las etiquetas de versión de GitHub para distribuir código malicioso a través de paquetes Composer.

Las firmas de seguridad StepSecurity, Aikido Security y Socket advirtieron sobre el compromiso el viernes, señalando que los atacantes reescribieron etiquetas de GitHub en cuatro repositorios mantenidos por la organización Laravel Lang, en lugar de publicar versiones maliciosas completamente nuevas.

Los paquetes afectados incluyen laravel-lang/lang, laravel-lang/http-statuses, laravel-lang/attributes y posiblemente laravel-lang/actions. Los paquetes Laravel Lang son paquetes de localización de terceros y no forman parte del proyecto oficial de Laravel.

Según Aikido, los atacantes comprometieron 233 versiones en tres repositorios, mientras que Socket estima que aproximadamente 700 versiones históricas podrían haber sido afectadas.

Lo que hizo destacar al ataque es que el código fuente real del proyecto no fue modificado para incluir código malicioso; en cambio, los atacantes abusaron de una función de GitHub que permite que las etiquetas apunten a commits en forks del mismo repositorio.

En lugar de publicar una nueva versión maliciosa, el atacante reescribió cada etiqueta Git existente en cada repositorio para que apuntara a un nuevo commit malicioso, explicó StepSecurity.

Las reescrituras comenzaron a las 22:32 UTC contra laravel-lang/lang (el paquete principal de traducciones de Laravel, con 502 etiquetas) y finalizaron a las 00:00 UTC contra laravel-lang/actions. Los cuatro repositorios comparten la misma identidad de autor falsa, los mismos archivos modificados y el mismo comportamiento de carga útil, lo que los hace casi con certeza obra de un solo actor que utilizó una credencial comprometida con acceso de push a toda la organización.

Esto permitió a los atacantes publicar lo que parecían ser etiquetas de lanzamiento legítimas del proyecto, que en realidad conducían a commits maliciosos almacenados en un fork del repositorio controlado por los atacantes. Cuando los desarrolladores instalaban el paquete a través de Composer, descargaban el código malicioso mientras parecía instalar versiones legítimas de Laravel Lang.

Ejecuta un ladrón de credenciales

Los investigadores encontraron que las versiones maliciosas introducían un archivo malicioso llamado 'src/helpers.php', que era cargado automáticamente por Composer. El código inyectado actuaba como un dropper que descargaba una segunda carga útil desde el servidor de comando y control del atacante en flipboxstudio[.]info.

La carga útil PHP descargada era un ladrón de credenciales multiplataforma de gran tamaño para Linux, macOS y Windows, que recolecta credenciales en la nube, secretos de Kubernetes, tokens de Vault, credenciales Git, secretos de CI/CD, claves SSH, datos de navegadores, billeteras de criptomonedas, gestores de contraseñas, configuraciones VPN y archivos de configuración locales .env.

El malware también contiene patrones de expresiones regulares utilizados 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, la carga útil PHP también extrae un ejecutable codificado en base64 incrustado en el archivo, que se escribe en la carpeta %TEMP% con un nombre de archivo .exe aleatorio y luego se ejecuta. El análisis de BleepingComputer del ladrón de información para Windows muestra que se llama 'DebugElevator' y está diseñado para atacar Chrome, Brave y Edge, y extraer las claves de cifrado App-Bound necesarias para descifrar las credenciales almacenadas en el navegador.

Una ruta PDB incrustada también hace referencia al nombre de cuenta de Windows 'Mero' y contiene 'claude', lo que indica potencialmente que se utilizó IA para ayudar a desarrollar el malware para Windows. Los investigadores afirman que una vez que los datos sensibles han sido extraídos, el malware los cifra y los envía de vuelta al servidor C2.

Aikido dice que reportaron el incidente a Packagist, que respondió rápidamente eliminando las versiones maliciosas y dando de baja temporalmente los paquetes afectados para prevenir instalaciones adicionales. Se recomienda a los desarrolladores que utilizan paquetes Laravel Lang que revisen las versiones de los paquetes instalados, roten las credenciales expuestas, inspeccionen los sistemas en busca de indicadores de compromiso y, si es posible, verifiquen las conexiones salientes históricas a flipboxstudio[.]info.

image
image
helpers.php added to autoload section of composer.json
helpers.php added to autoload section of composer.json
Regular expression patterns used to steal secrets
Regular expression patterns used to steal secrets
DebugElevator executable
DebugElevator executable
article image
article image

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *