I ricercatori di sicurezza hanno identificato quasi 800 pacchetti nel registro npm che sembrano far parte di una campagna per distribuire malware ad accesso remoto e strumenti per il furto di informazioni su sistemi Windows, macOS e Linux.
Secondo Paul McCarty, ricercatore di OpenSourceMalware, i pacchetti utilizzano una combinazione di nomi ottenuti tramite typosquatting, generati casualmente e creati dall’intelligenza artificiale. Anziché affidarsi agli script del ciclo di vita di npm, come preinstall o postinstall, i pacchetti istruiscono gli sviluppatori a importarli con la funzione JavaScript require(), consentendo l’esecuzione del codice dannoso al caricamento del modulo.
Il componente iniziale, monitorato con il nome WEL1DROPPER, determina il sistema operativo e l’architettura del processore dell’host prima di recuperare un payload corrispondente. La sua infrastruttura principale per il download utilizza diversi Cloudflare Workers. Se queste richieste falliscono, il malware può usare i record DNS TXT associati al dominio wel1[.]ru per ricostruire un payload a partire da più frammenti codificati in Base64.
Funzionalità specifiche per piattaforma
- Secondo quanto riferito, il malware per Windows interferisce con il monitoraggio ETW e AMSI, verifica la presenza di ambienti virtualizzati o sandbox, stabilisce la persistenza tramite una chiave Run del Registro di sistema e un’attività pianificata, quindi recupera un eseguibile crittografato.
- La variante per macOS esegue controlli anti-analisi, crea un LaunchAgent e scarica un binario separato, con la possibilità di ricorrere alla distribuzione basata su DNS come metodo alternativo.
- Il campione per Linux è un eseguibile ELF compresso con UPX, in grado di recuperare componenti aggiuntivi e infine distribuire Sliver, un framework open source di comando e controllo.
I ricercatori hanno inoltre individuato un file denominato lib/telemetry.js. Sebbene assomigli a una libreria di analisi legittima e non venga importato dal punto di ingresso principale del pacchetto, contiene funzionalità di download. Gli analisti ritengono che le dimensioni eccessive del file possano servire a nascondere il codice dannoso durante revisioni superficiali.
I riferimenti a società finanziarie e di pagamento russe presenti nel payload per macOS potrebbero indicare il targeting di organizzazioni di quel settore. Sonatype, che definisce questa attività Flooding Dropper, ha affermato che l’operazione potrebbe rappresentare la continuazione di una precedente campagna di dependency confusion nota come Moika.
I risultati si aggiungono a una più ampia ondata di attività dannose che colpisce npm e PyPI, tra cui il furto di credenziali, il furto di criptovalute, la raccolta di segreti cloud e il furto di token CI/CD. I ricercatori hanno inoltre segnalato separatamente che alcune estensioni di Chrome pubblicizzate come strumenti di produttività o utilità incorporano software per la condivisione della banda, trasformando i browser in proxy per il crawling web controllati da remoto.
