Mirage Kitten déploie NodeRabbit et PollCat via des offres d’emploi leurres
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
L’acteur menaçant lié à l’Iran, Mirage Kitten, mène une campagne de cyberespionnage ciblant les ingénieurs logiciels via de faux profils de recruteurs. Les attaquants distribuent des défis de codage trojanisés qui livrent deux RATs multiplateformes nouvellement identifiés, NodeRabbit et PollCat. Les deux familles de malwares abusent des environnements Node.js pour établir une persistance et un accès à distance sur les systèmes Windows, Linux et macOS.
Investigation
Kaspersky a identifié l’activité après avoir découvert un échantillon de NodeRabbit en Afghanistan et ensuite découvert des variantes plus avancées en Égypte et en Éthiopie. L’enquête a révélé une chaîne d’infection sophistiquée impliquant des packages npm malveillants intégrés dans des archives d’applications web en apparence légitimes. Les chercheurs ont également identifié PollCat opérant via un défi de codage séparé basé sur React.
Atténuation
Les organisations devraient appliquer des contrôles stricts sur les dépendances de packages npm tiers et utiliser des outils de revue de code assistés par IA pour identifier les importations ou comportements suspects. Les développeurs devraient être formés pour reconnaître les tentatives d’ingénierie sociale sur les plateformes de réseau professionnel. Les équipes de sécurité devraient également surveiller les extensions non autorisées de Visual Studio Code et les modifications inattendues des hooks Git.
Réponse
Si une activité malveillante est détectée, les stations de travail des développeurs affectées devraient être isolées immédiatement pour empêcher le mouvement latéral et toute communication supplémentaire vers le C2. Les intervenants devraient auditer les node_modules répertoires, hooks Git, et extensions VS Code à la recherche de fichiers non autorisés ou suspects. Les journaux d’infrastructure cloud, en particulier d’Azure et Cloudflare, devraient également être examinés pour des connexions anormales provenant des environnements de développement.
Schéma d’attaque
Détections
Exécution de PowerShell de fichiers dans un répertoire suspect utilisant la politique d’exécution Bypass (via cmdline)
Processus Node Possiblement Engendré Par Un Processus Abusé Connu (via cmdline)
Exécution de fichiers Node.Js situés dans un répertoire inhabituel (via cmdline)
IOCs (HashSha256) à détecter : L’offre d’emploi a des griffes : Mirage Kitten déploie NodeRabbit et PollCat
Inspection des variables d’environnement Proxy NodeRabbit et tunneling HTTP CONNECT [Proxy]
Détection des RAT NodeRabbit et PollCat Mirage Kitten [Création de processus Windows]
Détection de RAT NodeRabbit dans les défis de codage trojanisés [Création de processus Linux]
Exécution de simulation
-
Narratif de l’attaque & Commandes : L’adversaire a réussi à tromper un développeur pour exécuter un « défi de codage » malveillant. Le développeur exécute un script Node.js destiné à simuler un environnement de codage. Cependant, le script contient l’argument
taskflow, qui fait partie de la routine d’initialisation du RAT NodeRabbit. Le but est d’établir un accès à distance en se faisant passer pour un outil de développement légitime. L’exécution denode taskflow.jsproduira la télémétrie exacte de la ligne de commande requise pour déclencher la règle. -
Script de test de régression :
# Script de simulation pour la détection du RAT NodeRabbit # Ce script crée un fichier JavaScript factice et l'exécute en utilisant Node.js # avec l'argument spécifique 'taskflow' pour déclencher la règle de détection. $dummyFile = "challenge_setup.js" "console.log('Initialisation du défi de codage...');" | Out-File -FilePath $dummyFile -Encoding utf8 Write-Host "[+] Simulation de l'exécution du RAT NodeRabbit via l'argument taskflow..." -ForegroundColor Cyan # Déclencher la détection : node <nom_fichier> <chaîne_de_déclenchement> node $dummyFile taskflow Write-Host "[+] Commande de simulation exécutée." -ForegroundColor Green -
Commandes de nettoyage :
# Script de nettoyage pour supprimer les artefacts de simulation Remove-Item -Path "challenge_setup.js" -ErrorAction SilentlyContinue Write-Host "[+] Nettoyage terminé. Artefacts de simulation supprimés." -ForegroundColor Yellow