SOC Prime Bias: Critique

05 Aug 2026 07:20 UTC

NullReceiver Avance EtherHiding avec Transferts Cryptographiques Vides

Author Photo
SOC Prime Team linkedin icon Suivre
NullReceiver Avance EtherHiding avec Transferts Cryptographiques Vides
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Les acteurs de la menace liés à la RPDC utilisent une nouvelle méthode de résolution C2 basée sur la blockchain connue sous le nom de NullReceiver. La technique intègre les adresses IP C2 dans les octets d’adresse du destinataire des transferts Ethereum de valeur nulle, rendant la détection plus difficile qu’avec l’EtherHiding traditionnel. Le malware associé est distribué par le biais de packages npm trojanisés.

Enquête

Les chercheurs ont enquêté sur l’activité par une analyse statique des tarballs npm publiés et un examen en lecture seule des transactions contrôlées par l’attaquant sur la blockchain publique. L’analyse a identifié deux packages npm malveillants, bianira-ui and fluid-type-ui, qui utilisent NullReceiver pour résoudre l’infrastructure de commande et de contrôle.

Atténuation

Les défenseurs doivent surveiller l’activité de la blockchain associée aux portefeuilles Ethereum contrôlés par des attaquants connus et inspecter les adresses de destinataire utilisées dans les transferts de valeur nulle. Les organisations devraient également renforcer les contrôles de la chaîne d’approvisionnement logicielle pour les dépendances npm afin de prévenir l’installation de packages trojanisés.

Réponse

Si une activité NullReceiver est détectée, les environnements Node.js affectés doivent être isolés immédiatement. Les enquêteurs doivent identifier la source du package npm malveillant et bloquer les adresses IP C2 et les adresses des portefeuilles Ethereum correspondantes à la fois au niveau du réseau et de l’application.

Flux d’attaque

Exécution de simulation

Prérequis : La vérification pré-vol des télémétrie et base doit avoir réussi.

Justification : 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 la narration DOIVENT refléter directement les TTP identifiés et viser à générer la télémétrie exacte attendue par la logique de détection. Des exemples abstraits ou sans rapport entraîneront une erreur de diagnostic.

  • Narration & commandes d’attaque : L’adversaire cherche à établir un canal C2 furtif qui contourne le blacklistage traditionnel basé sur les adresses IP. Pour ce faire, il déploie un package npm malveillant utilisant la technique « NullReceiver ». Le script initialise les variables globales en utilisant une syntaxe obfusquée spécifique (global.i = "A10-npm3!", global.r = require) et contacte immédiatement le https://1rpc.io/eth point de terminaison. Cela permet au malware de lire le champ « recipient » d’une transaction Ethereum spécifique, contenant l’adresse IP codée du serveur C2 réel. Cette méthode utilise l’infrastructure de blockchain légitime pour dissimuler l’intention malveillante.

  • Script de test de régression :

    #!/bin/bash
    # Script de simulation pour la détection de technique C2 NullReceiver
    # Créer un script node malveillant qui imite les modèles spécifiques dans la règle de détection
    cat << 'EOF' > malicious_npm_payload.js
    // Imitation des modèles exacts définis dans la règle Sigma
    global.i = "A10-npm3!"; 
    global.r = require;
    const https = require('https');
    // Le malware contacte le point de terminaison RPC spécifique pour récupérer des instructions
    const url = 'https://1rpc.io/eth';
    console.log("[!] Début de la consultation C2 basée sur la blockchain...");
    https.get(url, (res) => {
      console.log("[!] Connexion réussie. Analyse de l'état de la blockchain...");
      res.on('data', (d) => {
        // Dans une attaque réelle, cela analyserait le champ 'recipient' pour l'IP du C2
        console.log("[!] Instruction reçue via la technique NullReceiver.");
      });
    }).on('error', (e) => {
      console.error(`[X] Connexion échouée : ${e.message}`);
    });
    EOF
    # Exécuter le script malveillant en utilisant node
    echo "[*] Exécution de la simulation malveillante..."
    node malicious_npm_payload.js
    # Nettoyer le fichier de script
    rm malicious_npm_payload.js
  • Commandes de nettoyage :

    # Supprimer tout artefact créé lors de la simulation
    rm -f malicious_npm_payload.js