Aikido

Ataque a la cadena de suministro dirigido a paquetes Laravel-Lang con un ladrón de credenciales

Escrito por
Ilyas Makari

El 22 de mayo de 2026, detectamos un ataque activo a la cadena de suministro contra Laravel-Lang. Inmediatamente presentamos un informe a los mantenedores. El atacante publicó etiquetas de versión maliciosas en tres repositorios ampliamente utilizados, inyectando código de robo de credenciales que se carga automáticamente a través de la función de autocarga de composer.

Lo que hace esto particularmente sigiloso es que el código malicioso nunca fue enviado a los repositorios oficiales. GitHub permite que las etiquetas de versión apunten a commits de un fork del mismo repositorio. El atacante explotó esto para crear etiquetas que apuntaban a commits en un fork malicioso que controlaban.

Actualmente hay 233 versiones comprometidas en:

  • laravel-lang/lang (7.8k estrellas)
  • laravel-lang/attributes
  • laravel-lang/http-statuses

También informamos del ataque a Packagist, quien respondió inmediatamente retirando las versiones maliciosas y deslistando temporalmente los paquetes afectados para evitar nuevas instalaciones.

Etapa 1: El dropper

El atacante introdujo un archivo llamado src/helpers.php en las etiquetas de versión afectadas. Superficialmente, parece un ayudante de localización de Laravel rutinario, que define dos funciones inofensivas: laravel_lang_locale() y laravel_lang_fallback(). Debajo de esas funciones, comienza el trabajo real.

Un bloque de código autoexecutable se ejecuta una vez en cada máquina que infecta. Identifica el host utilizando un hash de la ruta del archivo, el nombre de host y el inodo, y luego escribe un archivo marcador en el directorio temporal del sistema para que solo se active una vez. El dominio C2 está oculto dentro de un array de enteros decodificado en tiempo de ejecución para evadir los escáneres estáticos. Se resuelve en flipboxstudio[.]info.

El dropper luego obtiene una carga útil de flipboxstudio[.]info/payload utilizando file_get_contents con un fallback de curl, ambos con la verificación SSL deshabilitada. En Windows, suelta un lanzador .vbs y ejecuta la carga útil silenciosamente a través de cscript. En Linux y macOS, ejecuta la carga útil en segundo plano a través de exec().

Etapa 2: El stealer

La carga útil obtenida es un stealer de credenciales PHP de unas 5.900 líneas, organizado en quince módulos colectores especializados. Después de recopilar todo lo que puede encontrar, cifra los resultados con AES-256 y los envía a flipboxstudio[.]info/exfil. Luego se elimina del disco para limitar la evidencia forense.

Qué roba

Credenciales cloud

  • Claves de acceso de AWS, claves secretas y tokens de sesión (del entorno, ~/.aws/credentials y metadatos de instancias EC2 en vivo)
  • Credenciales predeterminadas de aplicación de GCP, bases de datos de tokens de acceso y todas las configuraciones CLI nombradas
  • Tokens de acceso de Azure, caché de MSAL y perfiles de entidad de servicio
  • Tokens de autenticación de DigitalOcean, Heroku, Vercel, Netlify, Railway y Fly.io

Secretos de infraestructura

  • Todos los archivos kubeconfig, incluyendo /etc/kubernetes/admin.conf
  • tokens de HashiCorp Vault
  • Configuraciones de repositorios Helm
  • Docker config.json

Credenciales de desarrollador

  • Claves privadas SSH
  • Todo .git-credentials y .gitconfig archivos
  • .netrc, .npmrc, .yarnrc, .pypirc, .gem/credentials, .composer/auth.json
  • Tokens de autenticación de GitHub CLI, GitLab CLI y Hub CLI
  • Archivos de historial de shell (bash, zsh, psql, mysql, python, node)
  • Todo .env archivos y archivos de configuración encontrados al escanear recursivamente el directorio de trabajo (wp-config.php, settings.py, docker-compose.yml, secrets.yaml y más)

Navegadores y gestores de contraseñas

  • Contraseñas guardadas de 17 navegadores basados en Chromium: Chrome, Edge, Brave, Opera, Opera GX, Vivaldi, Chromium, Yandex y más. En Windows, un asistente incluido .exe se descarga para descifrar la base de datos de inicio de sesión de Chrome protegida por DPAPI
  • Firefox y Thunderbird logins.json y key4.db en todos los perfiles
  • KeePass .kdbx y .kdb archivos de base de datos
  • Archivos de bóveda local de 1Password y Bitwarden

Carteras de criptomonedas

  • Archivos de carteras de Bitcoin, Ethereum, Monero, Litecoin, Dash, Dogecoin y Zcash
  • Carteras Electrum, Exodus, Atomic, Ledger Live, Trezor, Wasabi y Sparrow
  • Carteras de extensión de navegador por ID de extensión: MetaMask, Phantom, Trust Wallet, Ronin, Keplr, Solflare y Rabby

Específico de Windows

  • Entradas del Administrador de credenciales y la Bóveda de Windows
  • Sesiones guardadas de PuTTY y WinSCP (las contraseñas de WinSCP se descifran activamente)
  • .rdp Archivos de Escritorio, Documentos y Descargas
  • Perfiles de registro de Outlook, inventario de archivos OST/PST y entradas del Administrador de credenciales para servicios de Microsoft

Plataformas de comunicación

  • Tokens de Slack
  • Tokens de bot de Discord 
  • Tokens de bot de Telegram

Configuraciones de VPN

  • Archivos de configuración y credenciales extraídas para NordVPN, ExpressVPN, ProtonVPN, CyberGhost, Private Internet Access, Windscribe, Mullvad, Surfshark, WireGuard y OpenVPN

Cómo Aikido detecta esto

Si es usuario de Aikido, revise su feed central y filtre por problemas de malware. Esto aparecerá como un problema crítico de 100/100. Aikido realiza reescaneos cada noche, pero recomendamos activar un reescaneo manual ahora.

Si aún no es usuario de Aikido, puede crear una cuenta y conectar sus repositorios. Nuestra cobertura de malware está incluida en el plan gratuito, sin necesidad de tarjeta de crédito.

Para una cobertura más amplia en todo su equipo, el Endpoint Protection de Aikido le proporciona visibilidad y control sobre los paquetes de software instalados en los dispositivos de su equipo. Cubre extensiones de navegador, librerías de código, plugins de IDE y dependencias de compilación, todo en un solo lugar. Detenga el malware antes de que se instale.

Para una protección futura, considere Aikido Safe Chain (código abierto). Safe Chain se integra en su flujo de trabajo existente, interceptando comandos npm, npx, yarn, pnpm y pnpx y verificando los paquetes con Aikido Intel antes de la instalación.

Indicadores de compromiso

Red

  • flipboxstudio.info (Dominio C2)
  • flipboxstudio.info/payload (Recuperación del dropper)
  • flipboxstudio.info/exfil (Endpoint de exfiltración)

Archivos y rutas

  • <tmp>/.laravel_locale/<md5_hash> (Marcador de infección)
  • <tmp>/.laravel_locale/<12 random hex chars>.php (Stealer desplegado)
  • <tmp>/.laravel_locale/<8 random hex chars>.vbs (Lanzador de Windows)
Compartir:

https://www.aikido.dev/blog/supply-chain-attack-targets-laravel-lang-packages-with-credential-stealer

Escanear en busca de malware

Empieza gratis
4.7/5
¿Cansado de los falsos positivos?

Prueba Aikido como otros 100k.
Empiece ahora
Obtenga un recorrido personalizado

Con la confianza de más de 100k equipos

Reservar ahora
Escanee su aplicación en busca de IDORs y rutas de ataque reales

Con la confianza de más de 100k equipos

Empezar a escanear
Vea cómo el pentesting de IA prueba su aplicación

Con la confianza de más de 100k equipos

Empezar a probar

Asegura tu plataforma ahora

Protege tu código, la nube y el entorno de ejecución en un único sistema central.
Encuentra y corrije vulnerabilidades de forma rápida y automática.

No se requiere tarjeta de crédito | Resultados del escaneo en 32 segundos.