Solana FakeFix : 25 packages npm et PyPI malveillants se font passer pour des versions stables
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Une campagne de paquets malveillants cible les développeurs Solana à travers des bibliothèques npm et PyPI typosquattées, promues comme des correctifs de construction stable. Le malware exploite l’exécution du cycle de vie des paquets et les hooks d’importation pour voler les secrets des portefeuilles, les identifiants de cloud, et les clés SSH des environnements infectés. Certains échantillons vont au-delà du vol en agissant comme des portes dérobées complètes via un commandement et un contrôle basé sur Telegram ou en déployant des chargeurs axés sur Windows construits autour de Deno.
Enquête
Des chercheurs en sécurité de JFrog ont découvert deux opérations distinctes mais liées. La première, suivie sous le nom de Solana FakeFix, utilisait des paquets de style SDK contrefaits pour collecter des secrets sensibles auprès des développeurs et des systèmes de construction. La seconde utilisait des paquets npm thématiques CMS pour charger des exécutables Windows. Leur analyse a montré que le code malveillant était souvent ajouté à des bibliothèques qui semblaient fonctionnelles pour aider les paquets à paraître légitimes tout en récupérant discrètement des charges utiles de deuxième étape de manière dynamique via Deno.
Atténuation
Les organisations devraient supprimer tous les paquets affectés des stations de travail des développeurs, des pipelines CI/CD et des caches de paquets internes. Toute identification potentiellement exposée devrait être immédiatement renouvelée, y compris les clés de portefeuilles Solana, les clés SSH, les identifiants AWS, et les jetons GitHub. Les équipes de sécurité devraient également auditer les hôtes pour les méthodes de persistance telles que les clés de registre Run, les tâches planifiées et les modifications des profils shell.
Réponse
Les défenseurs devraient désinstaller les paquets malveillants identifiés et examiner les fichiers de verrouillage des dépendances pour des bibliothèques non autorisées ou inattendues. Tous les secrets exposés doivent être renouvelés immédiatement, et toute cryptomonnaie stockée dans des portefeuilles potentiellement compromis doit être transférée vers de nouvelles adresses de confiance. Les systèmes de CI et ceux des développeurs doivent ensuite être reconstruits à partir d’images propres pour s’assurer qu’aucune porte dérobée cachée ou mécanisme de persistance ne subsiste.
Flux d’attaque
Détections
Points de persistance possible [ASEPs – Logiciel/NTUSER Hive] (via evenement_registre)
Voir
LOLBAS Conhost (via ligne de commande)
Voir
Possibilité d’abus de Telegram en tant que canal de Commandement et Contrôle (via requête_dns)
Voir
Communications C2 possibles sur HTTP vers une IP directe avec port inhabituel (via proxy)
Voir
IOCs (SourceIP) à détecter : Solana FakeFix : 25 paquets npm et PyPI malveillants attirent les développeurs avec de fausses constructions stables
Voir
IOCs (DestinationIP) à détecter : Solana FakeFix : 25 paquets npm et PyPI malveillants attirent les développeurs avec de fausses constructions stables
Voir
Détection d’activités de paquets malveillants impliquant des charges utiles dynamiques à distance et C2 Telegram [Connexion réseau Windows]
Voir
Exécution de conhost.exe en mode sans tête pour l’exécution de scripts malveillants [Création de processus Windows]
Voir
Détection de persistance via la clé Run du registre du chargeur Windows CMS [Événement registre Windows]
Voir
Détection de persistance du hook de profil PowerShell et exécution PowerShell cachée [Windows Powershell]
Voir
Exécution de simulation
Préalable : la vérification préliminaire de la télémétrie et des bases de référence doit avoir été réussie.
Raisonnement : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTPs identifiés et visent à générer la télémétrie exacte attendue par la logique de détection. Des exemples abstraits ou non liés conduiront à un mauvais diagnostic.
-
Narratif de l’Attaque & Commandes : L’attaquant a obtenu un accès initial et a l’intention de maintenir une présence. Il décide d’utiliser une charge utile basée sur Deno. Pour masquer l’exécution du terminal, il utilise le
--headlessflag pourconhost.exe. Il exécute une commande qui modifie la clé de registreHKCUSoftwareMicrosoftWindowsCurrentVersionRun, ajoutant une valeur nomméeDenoUpdaterqui exécuteconhost.exe --headless deno.exe [malicious_script]. Cela garantira que la charge utile s’exécute silencieusement en arrière-plan lors de la connexion utilisateur. -
Script de Test de Régression :
# Simulation de persistance basée sur Deno via la clé Run du registre $RegistryPath = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun" $Name = "DenoUpdater" $Value = "C:WindowsSystem32conhost.exe --headless C:UsersPublicdeno.exe malicious_payload.js" Write-Host "[*] Simulation du mécanisme de persistance..." New-ItemProperty -Path $RegistryPath -Name $Name -Value $Value -PropertyType String -Force Write-Host "[+] Clé de registre créée. Vérifiez l'alerte dans le SIEM." -
Commandes de Nettoyage :
# Nettoyer la persistance simulée $RegistryPath = "HKCU:SoftwareMicrosoftWindowsCurrentVersionRun" $Name = "DenoUpdater" if (Get-ItemProperty -Path $RegistryPath -Name $Name -ErrorAction SilentlyContinue) { Remove-ItemProperty -Path $RegistryPath -Name $Name -Force Write-Host "[+] Nettoyage terminé. Clé de registre supprimée." } else { Write-Host "[-] Échec du nettoyage : Clé de registre non trouvée." }