ChainVeil revient cibler l’écosystème Vite
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Un nouveau cluster npm malveillant récemment identifié, connu sous le nom de ViteVenom, cible l’écosystème de l’outil de construction Vite. La campagne utilise des noms de packages scindés soigneusement conçus pour imiter des outils légitimes et délivre un cheval de Troie d’accès à distance de 77 Ko. Elle s’appuie également sur une architecture de commande et de contrôle résiliente à quatre niveaux basée sur la blockchain, couvrant Tron, Aptos et Binance Smart Chain.
Enquête
Les chercheurs ont identifié sept packages npm malveillants partageant les mêmes clés de déchiffrement XOR et adresses de portefeuille blockchain de Tier-2 précédemment vues dans la campagne ChainVeil. Leur enquête a révélé une chaîne d’exécution en plusieurs étapes dans laquelle les emplacements des charges sont résolus par des transactions blockchain, aidant les opérateurs à éviter les fermetures de domaines traditionnelles. Le logiciel malveillant utilise également un mélange de chaînes indexées par tableau pour compliquer l’analyse statique.
Atténuation
Les organisations devraient examiner les arbres de dépendances pour détecter les packages scindés suspects tels que @vite-pro/*, @vitets/*, et @vite-ts/*. Les étapes d’atténuation immédiate incluent la suppression des packages malveillants identifiés, la rotation de toutes les informations d’identification exposées telles que les clés SSH, les tokens npm, et les clés API, et le blocage des adresses IP de commande et de contrôle associées au niveau du réseau. Les développeurs doivent également vérifier que les dépendances Vite proviennent de l’espace de noms officiel @vitejs/* .
Réponse
Si cette activité est détectée, retirez immédiatement les packages malveillants identifiés et effectuez un examen approfondi des fichiers de verrouillage, y compris package-lock.json, pnpm-lock.yaml, et yarn.lock. Les équipes de sécurité devraient terminer tous les processus node -e exécutés comme processus enfants détachés. Une rotation complète des informations d’identification doit suivre pour chaque environnement accédé par les systèmes affectés, et les fichiers de configuration des shells tels que .bashrc and .zshrc doivent être inspectés pour détecter tout code de persistance injecté.
Flux d’attaque
Détections
Tentative possible d’abus de Publicnode Ethereum comme canal C2 (via dns_query)
Voir
IOCs (HashMd5) à détecter: Suite à la chaîne de logiciels malveillants ChainVeil visant l’écosystème Vite
Voir
IOCs (SourceIP) à détecter: Suite à la chaîne de logiciels malveillants ChainVeil visant l’écosystème Vite
Voir
IOCs (DestinationIP) à détecter: Suite à la chaîne de logiciels malveillants ChainVeil visant l’écosystème Vite
Voir
Détection du blocage IP pour les campagnes ViteVenom et ChainVeil [Pare-feu]
Voir
Détection de l’activité réseau de logiciels malveillants ViteVenom [Connexion réseau Windows]
Voir
Exécution de simulation
Prérequis : La vérification de pré-vol de télémétrie & de référence doit avoir réussi.
Rationale : 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 viser à générer exactement la télémétrie attendue par la logique de détection. Des exemples abstraits ou non liés entraîneront un mauvais diagnostic.
-
Narrative & Commandes de l’attaque : L’adversaire a déployé un logiciel malveillant (simulant la campagne ViteVenom) qui tente d’établir une connexion de pulsation/ C2 avec son serveur de commande. Le logiciel malveillant tente de se connecter à l’IP codée en dur
43.249.154.132. Étant donné que cette IP est déjà sur liste noire dans le pare-feu de l’entreprise, le pare-feu supprime le paquet et génère un événement de ‘blocage’. Cette simulation utilisecurlpour tenter une connexion à l’une des IPs spécifiques identifiées dans la logique de détection pour déclencher l’alerte. -
Script de test de régression : [Provide the exact, self-contained, and executable code snippet for the simulation.]
#!/bin/bash # Simulation d'un adversaire tentant de se connecter à une IP C2 connue ChainVeil # IP cible : 43.249.154.132 (de la logique de détection) TARGET_IP="43.249.154.132" echo "[*] Simulation de tentative de connexion à $TARGET_IP..." # Nous utilisons curl pour tenter une connexion. # Le pare-feu doit intercepter cela et enregistrer une action de 'blocage'. curl -m 5 http://$TARGET_IP/ping > /dev/null 2>&1 if [ $? -ne 0 ]; then echo "[+] La connexion a échoué comme prévu (le pare-feu aurait dû la bloquer)." else echo "[!] Avertissement : Connexion réussie. Le pare-feu n'a pas bloqué l'IP." fi -
Commandes de nettoyage :
# Aucune modification persistante au système. # Assurez-vous simplement que tous les fichiers de test temporaires créés sont supprimés. rm -f /tmp/sim_test_result.txt