nimbus manticore noderabbit pollcat

Nimbus Manticore usa falsi recruiter per distribuire NodeRabbit e PollCat

🛡️ Executive Summary

  • Nimbus Manticore impersona recruiter e consegna test di programmazione trojanizzati a sviluppatori nei settori aviation e fintech.
  • NodeRabbit e PollCat introducono RAT multipiattaforma basati su Node.js e JavaScript con persistenza su Windows, Linux e macOS.
  • Kaspersky collega la campagna con alta confidenza a Mirage Kitten attraverso C2, comandi, timing e infrastruttura già associati al gruppo.

Nimbus Manticore, gruppo iraniano conosciuto anche come Mirage Kitten, Tortoiseshell e UNC1549, amplia ancora il proprio arsenale e adotta una tecnica ormai consolidata nello spionaggio contro sviluppatori: falsi recruiter, prove tecniche credibili e progetti software apparentemente legittimi che nascondono il malware. La nuova campagna documentata da Kaspersky introduce due famiglie finora sconosciute, NodeRabbit e PollCat, entrambe progettate per funzionare su Windows, Linux e macOS. Le vittime individuate si trovano in Afghanistan, Egitto ed Etiopia e appartengono soprattutto ai settori aviation, aerospace e fintech. La novità più rilevante è tecnologica: Nimbus Manticore abbandona temporaneamente la propria tradizione di impianti nativi in C, C++ e Go per sperimentare una singola base di codice multipiattaforma costruita su Node.js e JavaScript.

Il falso colloquio porta direttamente dentro un progetto Node.js trojanizzato

Annuncio

La catena di infezione comincia da account che si presentano come recruiter o talent acquisition specialist su LinkedIn e altre piattaforme professionali. La vittima viene invitata a completare una prova tecnica per una posizione da software engineer e riceve un archivio ZIP ospitato su infrastruttura legittima Amazon S3. Nel primo caso ricostruito da Kaspersky, Front-Technical-Challenge.zip contiene TaskFlow, un’applicazione Express, React e Vite presentata come esercizio di debugging. Le istruzioni chiedono al candidato di correggere i bug del frontend entro tre ore e, dettaglio particolarmente significativo, vietano l’uso di strumenti di AI coding assistant.

image 40
Nimbus Manticore usa falsi recruiter per distribuire NodeRabbit e PollCat 6

Allo stesso tempo il README raccomanda esplicitamente di non modificare server.js, sostenendo che il file sia già corretto. È proprio lì che si trova il punto di ingresso: la prima riga importa un pacchetto npm trojanizzato chiamato colorized_terminal versione 2.1.0, distribuito direttamente nella directory node_modules e mai pubblicato sul registro npm. L’analisi tecnica di Kaspersky mostra che l’import avvia silenziosamente un impianto nascosto in .cache, trasformando un normale npm install o avvio del progetto in un’esecuzione malevola. La tecnica riprende lo stesso modello osservato nelle campagne Contagious Interview che infettano gli sviluppatori attraverso repository e prove di coding, ma in questo caso l’attribuzione conduce all’ecosistema iraniano.

NodeRabbit porta Nimbus Manticore su Windows, Linux e macOS

NodeRabbit è un RAT scritto in Node.js che Kaspersky ha individuato inizialmente su un sistema in Afghanistan e successivamente in varianti più evolute in Egitto ed Etiopia. Una volta avviato genera un identificatore della macchina combinando hostname, username, versione del sistema operativo, architettura e MAC address, quindi stabilisce un meccanismo di persistenza specifico per ogni piattaforma. Su Windows copia se stesso sotto %APPDATA%\Microsoft\EdgeUpdate, modifica il sottosistema del binario Node per nascondere la console e crea una chiave Run che imita Microsoft Edge Update.

image 41
Nimbus Manticore usa falsi recruiter per distribuire NodeRabbit e PollCat 7

Su Linux utilizza invece una voce @reboot in cron, mentre su macOS crea un LaunchAgent sotto ~/Library/LaunchAgents. Il malware comunica con infrastruttura C2 ospitata su Azure Websites e protegge le richieste con AES-256-GCM. La prima variante supporta 11 comandi per raccogliere informazioni sul sistema, enumerare processi e rete, leggere e scrivere file, creare directory ed eseguire comandi shell arbitrari. Può inoltre ricevere uno script Node.js codificato in Base64, scriverlo temporaneamente su disco, eseguirlo e cancellarlo subito dopo. Questa architettura segna una differenza importante rispetto alle precedenti operazioni di Tortoiseshell basate su backdoor native, reverse SSH e tunnel dedicati: il gruppo ottiene ora un impianto unico capace di vivere su tre sistemi operativi senza mantenere tre codebase completamente separate.

Leggi anche: Sandworm usa falsi colloqui e una VPN trojanizzata contro gli IT ucraini

Le varianti successive cercano proxy aziendali, WSL e repository Git

Le versioni più recenti di NodeRabbit mostrano quanto rapidamente il malware stia maturando. La seconda variante sostituisce colorized_terminal con un altro pacchetto trojanizzato, pretty-log, e aggiunge controlli anti-analysis basati su memoria disponibile, numero di CPU, uptime, hostname, username e presenza di strumenti utilizzati dagli analisti. Prima di terminare genera richieste HEAD verso domini legittimi di Google, Microsoft e Cloudflare, probabilmente per rendere meno sospetta l’attività osservabile. Implementa inoltre supporto parziale ai proxy aziendali, leggendo variabili HTTP(S), Windows Internet Settings, PAC URL e configurazione WinHTTP, arrivando a delegare a curl.exe l’autenticazione NTLM o Negotiate attraverso la sessione dell’utente.

nimbus manticore noderabbit pollcat infografica
Nimbus Manticore usa falsi recruiter per distribuire NodeRabbit e PollCat 8

La terza variante amplia ulteriormente il comando remoto e considera anche Windows Subsystem for Linux, creando un task giornaliero che invoca wsl.exe e uno script VBS. Può enumerare drive Windows e mount WSL, sostituire dinamicamente il C2, raccogliere indirizzi dagli archivi Outlook OST e PST, installare una falsa estensione VS Code denominata GitHub Copilot Helper e cercare repository Git in directory comuni. Quando trova un progetto può inserire un launcher nei Git hook, trasformando il repository in un ulteriore meccanismo di persistenza. È una tecnica particolarmente pericolosa per sviluppatori con accesso a codice aziendale, token, chiavi cloud e repository sensibili, lo stesso profilo di vittima già preso di mira nelle campagne basate su falsi repository GitHub e tool apparentemente professionali.

PollCat usa un secondo test tecnico e aggiunge 22 comandi remoti

Parallelamente NodeRabbit, Nimbus Manticore distribuisce PollCat, RAT scritto in JavaScript offuscato e consegnato attraverso un diverso coding challenge. Il progetto utilizza terminologia CTF in modo incoerente e comprende un tutorial PDF che obbliga il candidato a inserire un OTP di sei cifre, aggiornato ogni 30 secondi, per avviare una sessione di un’ora. La pressione temporale sembra progettata per spingere la vittima a eseguire il codice rapidamente senza ispezionarlo. La validazione OTP, però, è sostanzialmente una scenografia: PollCat viene eseguito indipendentemente dall’esito dell’autenticazione, e una validazione riuscita avvia addirittura un’ulteriore istanza dell’impianto. Il malware crea persistenza giornaliera sulle tre piattaforme e comunica con il C2 attraverso sette endpoint distinti. Supporta 22 comandi che comprendono esecuzione shell, gestione dei file, upload e download, esecuzione JavaScript, caricamento DLL, creazione ed estrazione di archivi ZIP, enumerazione di processi, drive e volumi. Alcune funzioni, tra cui elevation e persistence aggiuntiva, risultano ancora dichiarate ma non implementate. PollCat cerca inoltre directory associate a 24 vendor software e di sicurezza, tra cui Microsoft, Cisco, Palo Alto Networks, VMware, Fortinet, Check Point, CrowdStrike, SentinelOne, Sophos, Kaspersky e altri, inviandone al C2 l’inventario di primo livello.

Kaspersky collega la nuova campagna a Mirage Kitten con alta confidenza

L’attribuzione non si basa soltanto sulla scelta del bersaglio o sul tema del falso recruiting. Kaspersky collega l’attività a Mirage Kitten con alta confidenza attraverso elementi strutturali molto specifici. PollCat condivide con MiniFast/Retrograde, backdoor precedentemente associata al gruppo, il processo di handshake con il C2, l’uso di un socketId come token di sessione, la struttura della registrazione dell’host e le modalità di polling dei comandi. Coincidono anche i valori temporali: intervallo di beacon di 120 secondi, jitter di 5 secondi e timeout di retry di 60 secondi. Alcuni ID dei comandi sono identici, così come la gestione dell’autenticazione verso proxy corporate. Anche l’infrastruttura ripete un modello noto: Azure Websites, domini protetti da Cloudflare e servizi legittimi utilizzati per ospitare i lure. La vittimologia rafforza ulteriormente il quadro, perché Middle East e Africa restano aree di interesse storico dell’attore. L’evoluzione si collega direttamente alla recente espansione di Tortoiseshell con nuove backdoor, tunnel SSH e infrastruttura europea, mostrando che il gruppo non sta sostituendo il vecchio arsenale, ma sta aggiungendo un nuovo ramo multipiattaforma.

Il modello del recruiter malevolo non è più una firma esclusiva della Corea del Nord

La tecnica dei falsi recruiter è diventata particolarmente nota grazie alle operazioni nordcoreane come Operation Dream Job e Contagious Interview, ma il caso Nimbus Manticore mostra quanto sia ormai pericoloso utilizzare l’esca stessa come indicatore di attribuzione. Gruppi iraniani, russi e nordcoreani stanno convergendo verso processi di selezione simulati perché gli sviluppatori rappresentano bersagli ideali: ricevono normalmente repository, build non firmate, pacchetti npm, script di installazione e istruzioni per eseguire codice locale. Un progetto malevolo inserito in questo contesto produce meno attrito di un allegato eseguibile inviato via email. La stessa dinamica è stata evidenziata anche dall’allerta italiana sui falsi colloqui LinkedIn rivolti a sviluppatori e professionisti IT. Nel caso di Nimbus Manticore c’è inoltre un dettaglio quasi paradossale: il README vieta l’uso dell’AI durante la prova, mentre Kaspersky osserva che un assistente di code review avrebbe probabilmente individuato l’import sospetto del pacchetto npm alla prima riga di server.js. Un’altra prova tecnica mostra invece segni compatibili con codice generato o adattato con strumenti AI, segnalando come gli attaccanti possano contemporaneamente sfruttare e temere l’automazione del controllo del codice.

Continua con:

Gli sviluppatori diventano un punto d’ingresso strategico nelle reti aziendali

La difesa contro questa campagna richiede di trattare ogni coding challenge ricevuto da un soggetto esterno come codice non attendibile, anche quando arriva all’interno di un processo di selezione apparentemente legittimo. Repository e archivi dovrebbero essere eseguiti soltanto in ambienti isolati, senza credenziali personali o aziendali, token cloud, chiavi SSH, wallet, sessioni browser e accesso ai repository reali. La presenza di node_modules già popolato nel pacchetto deve essere considerata una red flag, così come import verso pacchetti sconosciuti non presenti nel registro ufficiale, script di startup anomali, modifiche a Git hook, LaunchAgent, cron, chiavi Run o task WSL. Per i SOC diventano rilevanti anche connessioni anomale da node.exe verso Azure Websites, installazioni di estensioni VS Code non approvate e processi Node.js che leggono archivi Outlook o enumerano repository Git. NodeRabbit e PollCat mostrano soprattutto un cambiamento operativo: Nimbus Manticore non sta più cercando soltanto un endpoint Windows da compromettere, ma un professionista capace di aprire contemporaneamente accessi a codice, infrastruttura cloud e reti aziendali. Colpire lo sviluppatore attraverso il colloquio di lavoro significa quindi trasformare una pratica quotidiana del settore tecnologico in un vettore di cyberspionaggio multipiattaforma.

Iscriviti alla Newsletter

Non perdere le analisi settimanali: Entra nella Matrice Digitale.

Matrice Digitale partecipa al Programma Affiliazione Amazon EU. In qualità di Affiliato Amazon, ricevo un guadagno dagli acquisti idonei. Questo non influenza i prezzi per te.

Torna in alto