Aikido

Supply-Chain-Angriff zielt auf Laravel-Lang-Pakete mit Credential Stealer ab

Verfasst von
Ilyas Makari

Am 22. Mai 2026 entdeckten wir einen aktiven Supply-Chain-Angriff auf Laravel-Lang. Wir reichten sofort einen Bericht bei den Maintainern ein. Der Angreifer veröffentlichte bösartige Version-Tags in drei weit verbreiteten Repositories und injizierte Code zum Stehlen von Zugangsdaten, der automatisch über die Autoloader-Funktion von Composer geladen wird.

Was dies besonders heimtückisch macht, ist, dass der bösartige Code überhaupt nie in den offiziellen Repositories committet wurde. GitHub erlaubt es, Version-Tags auf Commits aus einem Fork desselben Repositorys zu verweisen. Der Angreifer nutzte dies aus, um Tags zu erstellen, die auf Commits in einem von ihm kontrollierten bösartigen Fork zeigten.

233 Versionen sind derzeit kompromittiert in:

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

Wir meldeten den Angriff auch an Packagist, die sofort reagierten, indem sie die bösartigen Versionen entfernten und die betroffenen Pakete vorübergehend aus der Liste nahmen, um weitere Installationen zu verhindern.

Phase 1: Der Dropper

Der Angreifer führte eine Datei namens src/helpers.php in die betroffenen Version-Tags ein. Oberflächlich betrachtet sieht es aus wie ein routinemäßiger Laravel-Lokalisierungshelfer, der zwei harmlose Funktionen definiert: laravel_lang_locale() und laravel_lang_fallback(). Unterhalb dieser Funktionen beginnt die eigentliche Arbeit.

Ein selbstausführender Codeblock läuft einmal auf jeder infizierten Maschine. Er identifiziert den Host anhand eines Hashs des Dateipfads, Hostnamens und der Inode und schreibt dann eine Marker-Datei in das temporäre Systemverzeichnis, damit er nur einmal ausgeführt wird. Die C2-Domain ist in einem Integer-Array versteckt, das zur Laufzeit dekodiert wird, um statische Scanner zu umgehen. Es löst auf zu flipboxstudio[.]info.

Der Dropper lädt dann eine Payload von flipboxstudio[.]info/payload mittels file_get_contents mit einem cURL-Fallback, wobei bei beiden die SSL-Verifizierung deaktiviert ist. Unter Windows legt er einen .vbs-Launcher ab und führt die Payload stillschweigend über cscript aus. Unter Linux und macOS wird die Payload im Hintergrund über exec().

Stufe 2: Der Stealer

Die abgerufene Payload ist ein PHP-Credential-Stealer mit ca. 5.900 Zeilen Code, der in fünfzehn spezialisierte Sammlermodule unterteilt ist. Nachdem er alles gesammelt hat, was er finden konnte, verschlüsselt er die Ergebnisse mit AES-256 und sendet sie an flipboxstudio[.]info/exfil. Anschließend löscht er sich selbst von der Festplatte, um forensische Beweise zu begrenzen.

Was es stiehlt

Cloud Credentials

  • AWS-Zugriffsschlüssel, Secret Keys und Session-Tokens (aus der Umgebung, ~/.aws/credentials und Live-EC2-Instanz-Metadaten)
  • GCP Application Default Credentials, Access-Token-Datenbanken und alle benannten CLI-Konfigurationen
  • Azure Access-Tokens, MSAL-Cache und Service-Principal-Profile
  • DigitalOcean, Heroku, Vercel, Netlify, Railway und Fly.io Auth-Tokens

Infrastruktur-Secrets

  • Alle kubeconfig-Dateien einschließlich /etc/kubernetes/admin.conf
  • HashiCorp Vault Tokens
  • Helm-Repository-Konfigurationen
  • Docker config.json

Entwickelnde Credentials

  • SSH-Private Keys
  • Alle .git-credentials und .gitconfig Dateien
  • .netrc, .npmrc, .yarnrc, .pypirc, .gem/credentials, .composer/auth.json
  • GitHub CLI, GitLab CLI und Hub CLI Auth-Tokens
  • Shell-History-Dateien (bash, zsh, psql, mysql, python, node)
  • Alle .env Dateien und Konfigurationsdateien, die durch rekursives Scannen des Arbeitsverzeichnisses gefunden wurden (wp-config.php, settings.py, docker-compose.yml, Secrets.yaml und mehr)

Browser und Passwortmanager

  • Gespeicherte Passwörter von 17 Chromium-basierten Browsern: Chrome, Edge, Brave, Opera, Opera GX, Vivaldi, Chromium, Yandex und mehr. Unter Windows wird ein gebündelter Helfer .exe eingesetzt, um Chromes DPAPI-geschützte Login-Datenbank zu entschlüsseln
  • Firefox und Thunderbird logins.json und key4.db über alle Profile hinweg
  • KeePass .kdbx und .kdb Datenbankdateien
  • 1Password und Bitwarden lokale Vault-Dateien

Kryptowährungs-Wallets

  • Bitcoin, Ethereum, Monero, Litecoin, Dash, Dogecoin und Zcash Wallet-Dateien
  • Electrum, Exodus, Atomic, Ledger Live, Trezor, Wasabi und Sparrow Wallets
  • Browser-Erweiterungs-Wallets nach Erweiterungs-ID: MetaMask, Phantom, Trust Wallet, Ronin, Keplr, Solflare und Rabby

Windows-spezifisch

  • Windows Credential Manager und Vault-Einträge
  • PuTTY und WinSCP gespeicherte Sitzungen (WinSCP Passwörter werden aktiv entschlüsselt)
  • .rdp Dateien von Desktop, Dokumenten und Downloads
  • Outlook-Registrierungsprofile, OST-/PST-Dateibestände und Credential Manager-Einträge für Microsoft-Dienste

Kommunikationsplattformen

  • Slack-Tokens
  • Discord-Bot-Tokens 
  • Telegram-Bot-Tokens

VPN-Konfigurationen

  • Konfigurationsdateien und extrahierte Anmeldeinformationen für NordVPN, ExpressVPN, ProtonVPN, CyberGhost, Private Internet Access, Windscribe, Mullvad, Surfshark, WireGuard und OpenVPN

Wie Aikido dies erkennt

Wenn Sie ein Aikido-Benutzer sind, überprüfen Sie Ihren zentralen Feed und filtern Sie nach Malware-Problemen. Dies wird als kritisches Problem mit 100/100 angezeigt. Aikido führt nächtliche Rescans durch, aber wir empfehlen, jetzt einen manuellen Rescan auszulösen.

Wenn Sie noch kein Aikido-Benutzer sind, können Sie ein Konto erstellen und Ihre Repos verbinden. Unsere Malware-Abdeckung ist im kostenlosen Plan enthalten, keine Kreditkarte erforderlich.

Für eine umfassendere Abdeckung Ihres gesamten Teams bietet Aikidos Endpoint Protection Ihnen Transparenz und Kontrolle über die Softwarepakete, die auf den Geräten Ihres Teams installiert sind. Es deckt Browser-Erweiterungen, Code-Bibliotheken, IDE-Plugins und Build-Abhängigkeiten ab, alles an einem Ort. Stoppen Sie Malware, bevor sie installiert wird.

Für zukünftigen Schutz sollten Sie Aikido Safe Chain (Open Source) in Betracht ziehen. Safe Chain integriert sich in Ihren bestehenden Workflow, indem es npm-, npx-, yarn-, pnpm- und pnpx-Befehle abfängt und Pakete vor der Installation gegen Aikido Intel prüft.

Indicators of Compromise

Netzwerk

  • flipboxstudio.info (C2-Domain)
  • flipboxstudio.info/payload (Dropper-Abruf)
  • flipboxstudio.info/exfil (Exfiltrations-Endpunkt)

Dateien und Pfade

  • <tmp>/.laravel_locale/<md5_hash> (Infektionsmarker)
  • <tmp>/.laravel_locale/<12 random hex chars>.php (abgelegter Stealer)
  • <tmp>/.laravel_locale/<8 random hex chars>.vbs (Windows-Launcher)
Teilen:

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

4.7/5
Falschpositive Ergebnisse leid?

Probieren Sie Aikido, wie 100.000 andere.
Jetzt starten
Erhalten Sie eine personalisierte Führung

Von über 100.000 Teams vertraut

Jetzt buchen
Scannen Sie Ihre App nach IDORs und realen Angriffspfaden

Von über 100.000 Teams vertraut

Scan starten
Erfahren Sie, wie KI-Penetrationstests Ihre App testen

Von über 100.000 Teams vertraut

Testen starten

Sicherheit jetzt implementieren

Sichern Sie Ihren Code, Ihre Cloud und Ihre Laufzeit in einem zentralen System.
Finden und beheben Sie Schwachstellen schnell und automatisch.

Keine Kreditkarte erforderlich | Scan-Ergebnisse in 32 Sek.