PCPJack ist modular aufgebaut, wobei jedes Modul eine eigene Aufgabe übernimmt. Den Einstieg übernimmt ein Modul namens „bootstrap": Es richtet Persistenz ein, lädt die übrigen Python-Module nach und sucht zugleich gezielt nach Prozessen von TeamPCP, um diese zu entfernen.

Anschließend läuft das Hauptsteuerungsskript „monitor", das zunächst Systemkennzahlen sammelt — ähnlich einem harmlosen Überwachungswerkzeug. Diese Daten sind für die Angreifer zwar nützlich, doch nach Einschätzung der Forscher dient der Scan vor allem der Tarnung. Danach stiehlt das Modul lokale Konfigurations- und Umgebungsdateien sowie Wallets, Tokens und Schlüssel aus Cloud-, Container- und Kryptobereichen. Die Masse der erbeuteten Geheimnisse reicht „monitor" an ein Modul namens „utils" weiter, das sie sortiert und kategorisiert.

Das Zielspektrum ist breit: E-Mail-Dienste wie Gmail, Microsoft Outlook und Mailchimp, weitverbreitete Cloud-Anwendungen wie AWS, GitHub, Slack und WordPress sowie bekannte Namen aus dem Kryptobereich — Währungen wie Bitcoin und Ethereum, Börsen wie Coinbase und Binance und Fintech-Dienste wie Stripe.

PCPJack bewegt sich sowohl innerhalb eines Netzwerks als auch auf neue Ziele zu. Das Modul „lat" nutzt frisch gestohlene Geheimnisse, um Zugang zu Kubernetes-Umgebungen, Docker-Containern, Redis und entfernten Maschinen via SSH zu erlangen. Der Wurm dringt in offene Cloud-Dienste ein, um Geheimnisse zu stehlen, und stiehlt Geheimnisse, um in weitere Cloud-Dienste einzudringen.

Neuartiger ist die externe Verbreitungslogik. Das Steuerungsmodul lädt Parquet-Dateien von Common Crawl herunter — einem gemeinnützigen Dienst, der Daten aus dem offenen Web sammelt und in Datenanalyse und KI-Entwicklung beliebt ist. Aus diesen Daten filtert die Malware mögliche Ziele heraus; ein Modul namens „csc" übernimmt das Ausnutzen bekannter Schwachstellen. PCPJack merkt sich dabei, welche Hosts es bereits gescannt hat, und verhindert, dass mehrere Instanzen denselben Host abarbeiten.

„PCPJacks neuartigstes Merkmal ist die Nutzung von Parquet-Dateien, um neue Ziele zu finden", sagt Alex Delamotte, leitende Bedrohungsforscherin bei SentinelLabs. Das Werkzeug nutze die Parquet-Dateien von Common Crawl für eine leisere, vorab geprüfte Zielfindung; es filtere auf Hosts mit gültigen HTTP-Antworten und erlaube Angreifern, die Zielauswahl anzupassen. Ihres Wissens habe kein anderes Werkzeug Parquet-Dateien bislang auf diese Weise verwendet.

Bemerkenswert ist auch, was fehlt: PCPJack enthält keinerlei Krypto-Mining. In diesem Bereich der Cloud-Kriminalität setze sonst nahezu jeder auf XMRig oder Vergleichbares, schreibt SentinelLabs. Das Fehlen deute darauf hin, dass die Täter schnelle Erträge durch den Diebstahl von Anmeldedaten und Wallets vorziehen, statt langfristig Rechenleistung abzuschöpfen — mit geringerem Entdeckungsrisiko.

Anders als typische „Konkurrenz-Killer" in Malware zielt PCPJack nicht auf Schadsoftware allgemein, sondern ausschließlich auf das Werkzeugset von TeamPCP. Da Begegnungen mit dieser Gruppe in freier Wildbahn selten sind, fragten sich die Forscher zunächst, ob PCPJack von jemandem stamme, der TeamPCP-Infektionen bekämpfen wolle — was die übrigen Schadfunktionen rasch widerlegten.

SentinelLabs vermutet nun, dass PCPJack von einer Person stammen könnte, die früher mit TeamPCP zu tun hatte und deren Taktiken, Techniken und Vorgehensweisen genau kennt. Kurz bevor das X-Konto von TeamPCP gesperrt wurde, spielte die Gruppe in einem Beitrag auf einen „Identitätsdiebstahl" unter Bedrohungsakteuren an. Laut Delamotte deuten Hinweise aus der Infrastruktur der Angreifer darauf hin, dass die PCPJack-Kampagne in der Woche des 20. April begann.