SOC Prime Bias: Élevé

19 Jan 2026 18:45

DeadLock : Le Gang de Ransomware Utilise les Contrats Intelligents pour Masquer Son Travail

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Suivre
DeadLock : Le Gang de Ransomware Utilise les Contrats Intelligents pour Masquer Son Travail
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Le ransomware DeadLock a adopté les contrats intelligents Polygon comme moyen résilient de publier et de faire pivoter les URL de proxy utilisées pour le commandement et le contrôle (C2), permettant à l’infrastructure de backend de changer rapidement sans dépendre des domaines conventionnels. Après le chiffrement, les acteurs déposent un conteneur HTML « paiement/communication » qui oriente les victimes vers le messager décentralisé Session pour des instructions et interactions supplémentaires. La technique ressemble au modèle EtherHiding précédemment rapporté dans des activités liées à la Corée du Nord, utilisant les données de blockchain comme une couche d’indirection pour une infrastructure malveillante. Notamment, DeadLock semble déprioriser les sites traditionnels de fuites publiques et monétise à la place les données volées via des ventes sur des marchés clandestins.

Enquête

Les analystes de Group-IB ont documenté l’approche de DeadLock soutenue par des contrats intelligents pour dissimuler les points d’extrémité C2, y compris le dépôt après chiffrement d’un fichier HTML qui référence explicitement Session comme canal de communication. Le rapport cite également un rapport antérieur de Cisco Talos qui associe l’activité de DeadLock aux techniques BYOVD (bring-your-own-vulnerable-driver) et à la terminaison des processus EDR, bien que les vecteurs d’accès initiaux précis n’aient pas été identifiés de manière concluante. Un commerce similaire de « contrat intelligent en tant que répertoire C2 » a également été discuté par le groupe de Renseignement sur les Menaces de Google dans le contexte des campagnes nord-coréennes, renforçant la tendance générale à tirer parti des blockchains publiques pour l’agilité de l’infrastructure.

Atténuation

Surveiller les points d’extrémité pour des artefacts HTML inattendus qui lancent ou référencent Session (ou d’autres messagers décentralisés) après une activité de fichiers suspecte. Appliquer une liste blanche stricte des applications et restreindre l’exécution d’outils non approuvés qui peuvent faciliter l’accès à distance, la mise en scène des charges utiles ou l’installation de messagers. Côté réseau, examiner les sorties pour les connexions aux URL de proxy ou aux domaines qui semblent être dérivés de pointeurs stockés en blockchain et traiter les changements soudains dans les destinations sortantes comme une anomalie à signal élevé. Mettre à jour en continu les détections des points d’extrémité pour identifier le chargement de pilotes BYOVD, les installations suspectes de pilotes et les comportements compatibles avec la manipulation EDR ou la terminaison forcée des services de sécurité.

Réponse

Si des indicateurs de DeadLock sont identifiés, isoler immédiatement les systèmes impactés pour éviter un chiffrement ultérieur et tout mouvement latéral. Collecter et préserver le conteneur HTML déposé, les notes de chiffrement et tout binaire ou script connexe, puis bloquer le trafic sortant vers toutes les URL de proxy observées et l’infrastructure référencée par contrat intelligent. Initier les procédures de réponse aux incidents formelles, valider l’intégrité et la disponibilité des chemins de récupération hors ligne/sauvegardés avant la remédiation, et évaluer l’exposition potentielle de données pour déterminer le risque d’extorsion. Lorsque cela est approprié, coordonner les communications avec les parties prenantes et engager un support spécialisé en réponse à un ransomware tout en menant l’extension complète et l’éradication.

« graph TB %% Class Definitions classDef action fill:#99ccff classDef technique fill:#c2e0ff classDef tool fill:#cccccc classDef malware fill:#ffcccc classDef process fill:#e6e6e6 classDef data fill:#f0e68c classDef operator fill:#ff9900 %% Technique Nodes tech_priv_esc[« <b>Technique</b> – T1068 Exploitation for Privilege Escalation<br/><b>Description</b>: Use vulnerable driver to gain elevated system privileges. »] class tech_priv_esc technique tech_def_evasion[« <b>Technique</b> – T1211 Exploitation for Defense Evasion<br/><b>Description</b>: Exploit driver vulnerabilities to terminate or bypass security agents. »] class tech_def_evasion technique tech_impair[« <b>Technique</b> – T1562 Impair Defenses<br/><b>Description</b>: Disable or tamper with security solutions to reduce detection and response capabilities. »] class tech_impair technique tech_web_comm[« <b>Technique</b> – T1102.002 Web Service Bidirectional Communication<br/><b>Description</b>: Drop encrypted HTML wrapper that launches the Session messenger and obtains a proxy URL from a Polygon smart contract. »] class tech_web_comm technique tech_app_proto[« <b>Technique</b> – T1071.001 Application Layer Protocol Web Protocols<br/><b>Description</b>: Communicate with proxy and C2 server over standard web protocols (HTTP/WebSocket) blending with legitimate traffic. »] class tech_app_proto technique %% Tool Node tool_vuln_driver[« <b>Tool</b> – Name: Vulnerable Driver<br/><b>Purpose</b>: Provides kernelu2011level code execution used for privilege escalation and defense evasion. »] class tool_vuln_driver tool %% Malware Node malware_deadlock[« <b>Malware</b> – Name: DeadLock Ransomware<br/><b>Capability</b>: Performs encryption and C2 communication after initial compromise. »] class malware_deadlock malware %% Process Nodes process_html_wrapper[« <b>Process</b> – Name: HTML Wrapper<br/><b>Action</b>: Decrypts and launches the Session messenger on the victim host. »] class process_html_wrapper process process_session_messenger[« <b>Process</b> – Name: Session Messenger<br/><b>Action</b>: Handles encrypted traffic, retrieves proxy information and talks to C2. »] class process_session_messenger process process_c2_server[« <b>Server</b> – C2 Server<br/><b>Protocol</b>: HTTP/WebSocket »] class process_c2_server process %% Data Node data_proxy_url[« <b>Data</b> – Proxy URL<br/><b>Source</b>: Retrieved from a Polygon smart contract for rotating C2 endpoints. »] class data_proxy_url data %% Connections tech_priv_esc u002du002d>|uses| tool_vuln_driver tech_def_evasion u002du002d>|uses| tool_vuln_driver tool_vuln_driver u002du002d>|enables| tech_priv_esc tool_vuln_driver u002du002d>|enables| tech_def_evasion malware_deadlock u002du002d>|drops| process_html_wrapper process_html_wrapper u002du002d>|launches| process_session_messenger process_session_messenger u002du002d>|retrieves| data_proxy_url data_proxy_url u002du002d>|provides| tech_web_comm tech_web_comm u002du002d>|communicates via| tech_app_proto process_session_messenger u002du002d>|talks to| process_c2_server tech_impair u002du002d>|targets| malware_deadlock « 

Flux d’Attaque

Exécution de la Simulation

Prérequis : Le Contrôle Préliminaire de Télémétrie et de Base de Référence doit avoir été passé.

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. Les exemples abstraits ou non reliés mèneront à un mauvais diagnostic.

  • Narration de l’Attaque & Commandes :

    L’acteur de la menace, ayant compromis un service proxy contrôlé par contrat intelligent, fait tourner l’URL du proxy toutes les quelques minutes pour échapper aux listes de blocage statiques. Chaque rotation publie un nouveau sous-domaine sous deadlock.example.com. Le ransomware interroge le proxy pour récupérer la prochaine adresse C2. Pour émuler cela, nous émettons une série de requêtes HTTP à trois URL distinctes qui contiennent toutes la chaîne littérale « .example.com », imitant le schéma de rotation observé dans la nature.

  • Script de Test de Régression :

    #!/usr/bin/env bash
    # Simulation de Rotation d'URL Proxy de DeadLock – génère une télémétrie qui correspond à la règle Sigma
    
    PROXY="http://proxy.example.local:3128"
    URLs=(
      "http://stage1.example.com/deadlock"
      "http://stage2.example.com/deadlock"
      "http://stage3.example.com/deadlock"
    )
    
    echo "[*] Début de la simulation de rotation d'URL proxy (3 requêtes)..."
    for url in "${URLs[@]}"; do
      echo "[+] Demande à $url via $PROXY"
      curl -s -x "$PROXY" "$url" -o /dev/null
      sleep 2   # pause courte pour émuler un intervalle réaliste
    done
    
    echo "[*] Simulation terminée."
  • Commandes de Nettoyage :

    #!/usr/bin/env bash
    # Supprimer les fichiers temporaires créés lors de la simulation (aucun dans ce cas)
    echo "[*] Aucun artéfact à nettoyer. Configuration du proxy laissée inchangée."