PCPJack Credential Stealer maakt gebruik van 5 CVE’s om wormachtig over cloudsystemen te verspreiden

Cybersecurity-onderzoekers hebben details bekendgemaakt van een nieuw raamwerk voor diefstal van inloggegevens genaamd PCPJack dat zich richt op de blootgestelde cloudinfrastructuur en alle artefacten die verband houden met TeamPCP uit de omgevingen verdrijft.

“De toolset verzamelt inloggegevens van cloud-, container-, ontwikkelaar-, productiviteits- en financiële diensten en exfiltreert de gegevens vervolgens via een door de aanvaller gecontroleerde infrastructuur terwijl ze probeert zich naar extra hosts te verspreiden”, zegt SentinelOne-beveiligingsonderzoeker Alex Delamotte in een vandaag gepubliceerd rapport.

PCPJack is specifiek ontworpen om zich te richten op clouddiensten zoals Docker, Kubernetes, Redis, MongoDB, RayML en kwetsbare webapplicaties, waardoor de operators zich op een wormachtige manier kunnen verspreiden en zich lateraal binnen de aangetaste netwerken kunnen verplaatsen.

Er wordt aangenomen dat het einddoel van de cloudaanvalcampagne het genereren van illegale inkomsten voor de bedreigingsactoren is door diefstal van inloggegevens, fraude, spam, afpersing of wederverkoop van gestolen toegang. De

Wat deze activiteit opmerkelijk maakt, is dat deze aanzienlijke overlap vertoont met TeamPCP, een bedreigingsacteur die eind vorig jaar bekendheid kreeg door bekende beveiligingskwetsbaarheden (bijvoorbeeld React2Shell) en misconfiguraties in clouddiensten te exploiteren om de eindpunten in een steeds groter wordend netwerk in te schakelen voor het uitvoeren van gegevensdiefstal en andere post-exploitatieacties.

Tegelijkertijd mist PCPJack een component voor cryptocurrency-mijnbouw, in tegenstelling tot TeamPCP. Hoewel het niet bekend is waarom deze voor de hand liggende strategie voor het genereren van inkomsten niet werd toegepast, geven de overeenkomsten tussen de twee clusters aan dat PCPJack het werk zou kunnen zijn van een voormalig lid van TeamPCP die bekend is met het vak van de groep.

Het startpunt van de aanval is een bootstrap-shellscript dat wordt gebruikt om de omgeving voor te bereiden (zoals het configureren van de payload-host) en tools voor de volgende fase te downloaden, terwijl tegelijkertijd stappen worden ondernomen om de eigen infrastructuur te infecteren, processen of artefacten te beëindigen en te verwijderen die zijn geassocieerd met TeamPCP, Python te installeren, persistentie tot stand te brengen, zes Python-scripts te downloaden, het orkestratiescript te starten en zichzelf te verwijderen.

De zes Python-payloads zijn als volgt:

  • worm.py (op schijf geschreven als monitor.py), de belangrijkste orkestrator die de speciaal gebouwde modules lanceert, lokale diefstal van inloggegevens uitvoert, de toolset doorgeeft aan andere hosts door bekende fouten te exploiteren (CVE-2025-55182, CVE-2025-29927, CVE-2026-1357, CVE-2025-9501 en CVE-2025-48703), en gebruikt Telegram voor command-and-control (C2)
  • parser.py (utils.py), om de extractie van inloggegevens af te handelen om gestolen sleutels en geheimen te categoriseren
  • lateraal.py (_lat.py), om verkenning te vergemakkelijken, geheimen te verzamelen en zijdelingse verplaatsing mogelijk te maken tussen SSH-, Kubernetes-, Docker-, Redis-, RayML- en MongoDB-services
  • crypto_util.py (_cu.py), om inloggegevens te versleutelen vóór exfiltratie naar het Telegram-kanaal van de aanvaller
  • cloud_ranges.py (_cr.py), om IP-adresbereiken te verzamelen die zijn toegewezen aan Amazon Web Services (AWS), Google Cloud, Microsoft Azure, Cloudflare, Cloudfront en Fastly, en de gegevens elke 24 uur te vernieuwen
  • cloud_scan.py (_csc.py), om cloudpoortscans uit te voeren voor externe verspreiding via Docker-, Kubernetes-, MongoDB-, RayML- of Redis-services

De verspreidingsdoelen voor het Orchestrator-script zijn afkomstig van parketbestanden die de worm rechtstreeks uit Common Crawl haalt, een non-profitorganisatie die het internet doorzoekt en zijn archieven en datasets zonder extra kosten aan het publiek aanbiedt.

“Bij het exfiltreren van systeeminformatie en inloggegevens verzamelt de PCPJack-operator zelfs successtatistieken over de vraag of TeamPCP is uitgezet uit gerichte omgevingen in een veld ‘PCP vervangen’ dat naar de C2 wordt gestuurd”, aldus Delamotte. Dit “impliceert een directe focus op de activiteiten van de dreigingsactor in plaats van puur opportunisme voor cloudaanvallen.”

Verdere analyse van de infrastructuur van de bedreigingsacteur heeft een ander shellscript (“check.sh”) blootgelegd dat de CPU-architectuur detecteert en het juiste Sliver-binaire bestand ophaalt. Het scant ook Instance Metadata Service (IMDS)-eindpunten, Kubernetes-serviceaccounts en Docker-instanties op inloggegevens die zijn gekoppeld aan Anthropic, Digital Ocean, Discord, Google API, Grafana Cloud, HashiCorp Vault, OnePassword en OpenAI, en verzendt deze naar een externe server.

“Over het algemeen zijn de twee toolsets goed ontwikkeld en geven aan dat de eigenaar waarde hecht aan het maken van code als een modulair raamwerk, ondanks enkele redundanties in gedrag”, aldus SentinelOne. “Deze campagne zet geen mijnwerkers in, en verwijdert opzettelijk de mijnwerkersfuncties die verband houden met TeamPCP. Desondanks heeft deze actor goed gedefinieerde mogelijkheden voor het extraheren van cryptocurrency-referenties.”

Thijs Van der Does