Den Ursprung von PCPJack verorten die Forscher in der Nähe von TeamPCP: Viele der angegriffenen Dienste ähnelten den frühen TeamPCP- beziehungsweise PCPCat-Kampagnen, bevor stark beachtete Kampagnen die Gruppe ins Rampenlicht rückten und angeblich zu Veränderungen in deren Zusammensetzung führten. „Wir glauben, dass es sich um einen früheren Akteur handeln könnte, der mit den Werkzeugen der Gruppe bestens vertraut ist“, erklären die Forscher.
Laut dem Bericht von SentinelLabs befällt PCPJack Linux-basierte Cloud-Systeme über ein Shell-Skript namens bootstrap.sh. Beim Ausführen legt es ein verstecktes Arbeitsverzeichnis an, installiert Python-Abhängigkeiten, lädt weitere Module nach, richtet Persistenz ein und startet den zentralen Orchestrator monitor.py.
Bereits in dieser Anfangsphase sucht PCPJack gezielt nach TeamPCP-Werkzeugen und versucht, sämtliche Spuren zu entfernen. Dazu zählen Prozesse, Dienste, Container, Dateien und Persistenz-Artefakte der Gruppe – die bestehenden Infektionen werden den Forschern zufolge vollständig beseitigt.
Im Zentrum der Fähigkeiten steht der Diebstahl von Zugangsdaten. Ins Visier geraten Cloud-Umgebungen, Entwicklersysteme, Messenger-Apps, Finanzdienste, Datenbanken, SSH-Schlüssel, Slack-Tokens, WordPress-Konfigurationen sowie Schlüssel für OpenAI, Anthropic, Discord und DigitalOcean. Die erbeuteten Daten werden mit X25519 ECDH und ChaCha20-Poly1305 verschlüsselt, in 2800 Byte große Blöcke aufgeteilt – passend zum Zeichenlimit von Telegram-Nachrichten – und an Telegram-Kanäle ausgeleitet.
Zur Verbreitung durchsucht PCPJack externe Cloud-Infrastruktur nach exponierten Diensten wie Docker, Kubernetes, Redis, MongoDB und RayML und versucht anschließend, bekannte Schwachstellen auszunutzen. Zusätzlich lädt die Malware Hostnamen aus Parquet-Dateien von Common Crawl und nutzt sie als neue Ziele für den Scan-Vorgang.
Innerhalb kompromittierter Umgebungen bewegt sich die Schadsoftware seitwärts, indem sie SSH-Schlüssel und Zugangsdaten sammelt, Kubernetes-Cluster und Docker-Daemons aufzählt und sich selbst auf erreichbaren internen Hosts ausführt. Für die Persistenz nutzt sie systemd-Dienste, Cron-Jobs, umgeschriebene Redis-Cron-Einträge oder privilegierte Container. Auf der Infrastruktur des Angreifers fanden die Forscher zudem eine auf Sliver basierende Backdoor in Varianten für die Architekturen x86_64, x86 und ARM.
Zur Risikominderung empfiehlt SentinelLabs unter anderem den Einsatz von Multi-Faktor-Authentifizierung, die Nutzung von IMDSv2 in AWS, eine korrekte Authentifizierung für Docker- und Kubernetes-Dienste, die Beachtung des Least-Privilege-Prinzips sowie den Verzicht auf das Speichern von Geheimnissen im Klartext.
