Zu TeamPCP wird auch der jüngste, viel beachtete Einbruch beim Schwachstellen-Scanner Trivy von Aqua Security gezählt. Dieser Vorfall soll zu einer Kette weiterer Kompromittierungen geführt haben, die Docker-Images von Aqua Security, das KICS-Projekt von Checkmarx und nun LiteLLM betrafen. Die Gruppe wurde zudem dabei beobachtet, wie sie Kubernetes-Cluster mit einem Schadskript angreift, das auf Systemen mit Iran-Konfiguration alle Maschinen löscht und andernorts eine neue Backdoor namens CanisterWorm installiert.

Nach Angaben von Endor Labs brachten die Angreifer zwei manipulierte LiteLLM-Versionen in Umlauf, die jeweils eine versteckte Schadlast enthalten, die beim Import des Pakets ausgeführt wird. Der Schadcode wurde als base64-kodierte Nutzlast in die Datei “litellm/proxy/proxy_server.py” eingeschleust; sie wird dekodiert und ausgeführt, sobald das Modul importiert wird.

Version 1.82.8 geht aggressiver vor: Sie legt eine “.pth”-Datei mit dem Namen “litellm_init.pth” in der Python-Umgebung ab. Da Python beim Start des Interpreters automatisch alle “.pth”-Dateien verarbeitet, würde der Schadcode bei jedem Aufruf von Python ausgeführt, selbst wenn LiteLLM gar nicht genutzt wird.

Nach der Ausführung bringt die Nutzlast eine Variante des hauseigenen “TeamPCP Cloud Stealer” sowie ein Persistenz-Skript aus. Eine Analyse von BleepingComputer zeigt, dass die Schadlast nahezu dieselbe Logik zum Abgreifen von Zugangsdaten verwendet wie beim Trivy-Angriff.

“Sobald sie ausgelöst wird, führt die Nutzlast einen dreistufigen Angriff aus: Sie sammelt Zugangsdaten (SSH-Schlüssel, Cloud-Token, Kubernetes-Geheimnisse, Krypto-Wallets und .env-Dateien), versucht durch das Ausrollen privilegierter Pods auf jedem Knoten eine seitliche Bewegung durch Kubernetes-Cluster und installiert eine persistente systemd-Backdoor, die nach weiteren Binärdateien abfragt”, erläutert Endor Labs. Die abgegriffenen Daten würden verschlüsselt an eine von den Angreifern kontrollierte Domain gesendet.

Die Cloud-Stealer-Nutzlast enthält zusätzlich ein weiteres base64-kodiertes Skript, das als systemd-Benutzerdienst getarnt als “System Telemetry Service” installiert wird. Dieser kontaktiert in regelmäßigen Abständen einen Server unter checkmarx[.]zone, um weitere Schadlasten herunterzuladen und auszuführen. Die gestohlenen Daten werden in ein verschlüsseltes Archiv namens tpcp.tar.gz gebündelt und an die Infrastruktur der Angreifer unter models.litellm[.]cloud übertragen.

Organisationen, die LiteLLM einsetzen, wird dringend geraten, umgehend zu handeln. Bei Verdacht auf eine Kompromittierung sollten sämtliche Zugangsdaten auf betroffenen Systemen als offengelegt betrachtet und sofort neu vergeben werden. Sowohl Sicherheitsforscher als auch Angreifer erklärten gegenüber BleepingComputer, dass das Rotieren von Geheimnissen zwar aufwendig, aber eines der besten Mittel gegen kaskadierende Supply-Chain-Angriffe sei.