🔍 Contexte

Publié le 2 avril 2026 par Takahiro Takeda sur le blog Cisco Talos Intelligence, cet article constitue une analyse technique approfondie du composant msimg32.dll malveillant déployé dans les attaques du ransomware Qilin. Il documente des détails techniques inédits de la chaîne d’infection, notamment les techniques SEH/VEH et la manipulation d’objets noyau.

🎯 Mécanisme d’infection

Le fichier msimg32.dll est vraisemblablement chargé par DLL side-loading via une application légitime. Son exécution démarre dès le chargement via la fonction DllMain. La chaîne d’infection se déroule en 4 étapes :

  • Stage 1 (PE Loader) : Neutralise les hooks user-mode sur ntdll, supprime la génération d’événements ETW, utilise des techniques SEH/VEH pour masquer le flux de contrôle, implémente Halo’s Gate pour contourner les syscalls hookés par les EDR, et déchiffre le payload en mémoire.
  • Stage 2 : Mécanisme de transition furtif qui décode les données en mémoire et détourne l’entrée ExitProcess dans l’IAT du processus hôte.
  • Stage 3 : Décompresse et charge un PE embarqué en mémoire, utilise des VEH avec hardware breakpoints sur NtOpenSection et NtMapViewOfSection pour charger le PE via les routines internes de ntdll (LdrpMinimalMapModule), en écrasant shell32.dll en mémoire.
  • Stage 4 (EDR Killer PE) : Composant principal capable de désactiver plus de 300 drivers EDR.

🛡️ Techniques d’évasion

  • Slot-policy table basée sur les stubs syscall de ntdll pour classifier et contourner les hooks EDR
  • Écrasement du dispatcher d’exceptions dans la section .mrdata de ntdll via LdrProtectMrdata
  • Résolution furtive de LdrProtectMrdata par scan d’instructions depuis une fonction exportée connue
  • Géo-fencing : exclusion des systèmes configurés pour des langues de pays post-soviétiques
  • Anti-debugging : vérification de breakpoints sur KiUserExceptionDispatcher
  • Deux vues mémoire d’une même section pour masquer les permissions RWX

⚙️ Composant EDR Killer (Stage 4)

Le PE extrait charge deux drivers :

  • rwdrv.sys : version renommée de ThrottleStop.sys (TechPowerUp LLC, signé), exposant un accès direct à la mémoire physique via IOCTLs (lecture/écriture mémoire physique, accès MSR, ports I/O, espace PCI)
  • hlpdrv.sys : driver utilisé pour terminer les processus EDR protégés via IOCTL 0x2222008

Le composant utilise NtQuerySystemInformation pour obtenir les métadonnées Superfetch/PFN des pages physiques, puis opère directement sur la mémoire physique (via rwdrv.sys) pour :

  • Supprimer les callbacks EDR (création de processus, threads, chargement d’images) en itérant sur une liste de plus de 300 noms de drivers
  • Cibler le callback cng!CngCreateProcessNotifyRoutine
  • Écraser CiValidateImageHeader avec ArbPreprocessEntry (retourne toujours vrai) pour désactiver la vérification d’intégrité du code, puis le restaurer après
  • Terminer les processus EDR (ex: Windows Defender)

📋 Couverture de détection

Signatures ClamAV : Win.Malware.Bumblebee-10056548-0, Win.Tool.EdrKiller-10059833-0, Win.Tool.ThrottleStop-10059849-0 Règles Snort2 SIDs : 1:66181, 1:66180 — Snort3 SID : 1:301456

📌 Nature de l’article

Il s’agit d’une analyse technique publiée par Cisco Talos, dont le but principal est de documenter en détail les mécanismes inédits de la chaîne d’infection du loader msimg32.dll associé au ransomware Qilin, notamment les techniques SEH/VEH et la manipulation de mémoire physique noyau.

🧠 TTPs et IOCs détectés

Acteurs de menace

  • Qilin (cybercriminal)

TTP

  • T1574.002 — Hijack Execution Flow: DLL Side-Loading (Defense Evasion)
  • T1562.001 — Impair Defenses: Disable or Modify Tools (Defense Evasion)
  • T1055 — Process Injection (Defense Evasion)
  • T1106 — Native API (Execution)
  • T1014 — Rootkit (Defense Evasion)
  • T1543.003 — Create or Modify System Process: Windows Service (Persistence)
  • T1112 — Modify Registry (Defense Evasion)
  • T1562.004 — Impair Defenses: Disable or Modify System Firewall (Defense Evasion)
  • T1027 — Obfuscated Files or Information (Defense Evasion)
  • T1620 — Reflective Code Loading (Defense Evasion)
  • T1497.001 — Virtualization/Sandbox Evasion: System Checks (Defense Evasion)
  • T1082 — System Information Discovery (Discovery)
  • T1134 — Access Token Manipulation (Privilege Escalation)
  • T1068 — Exploitation for Privilege Escalation (Privilege Escalation)
  • T1486 — Data Encrypted for Impact (Impact)

IOC

  • SHA256 : 7787da25451f5538766240f4a8a2846d0a589c59391e15f188aa077e8b888497VT · MalwareBazaar
  • SHA256 : 16f83f056177c4ec24c7e99d01ca9d9d6713bd0497eeedb777a3ffefa99c97f0VT · MalwareBazaar
  • SHA256 : bd1f381e5a3db22e88776b7873d4d2835e9a1ec620571d2b1da0c58f81c84a56VT · MalwareBazaar
  • SHA256 : 12fcde06ddadf1b48a61b12596e6286316fd33e850687fe4153dfd9383f0a4a0VT · MalwareBazaar
  • SHA1 : 01d00d3dd8bc8fd92dae9e04d0f076cb3158dc9cVT · MalwareBazaar
  • SHA1 : 82ed942a52cdcf120a8919730e00ba37619661a3VT · MalwareBazaar
  • SHA1 : ce1b9909cef820e5281618a7a0099a27a70643dcVT · MalwareBazaar
  • SHA1 : 84e2d2084fe08262c2c378a377963a1482b35ac5VT · MalwareBazaar
  • MD5 : 89ee7235906f7d12737679860264feafVT · MalwareBazaar
  • MD5 : 6bc8e3505d9f51368ddf323acb6abc49VT · MalwareBazaar
  • MD5 : cf7cad39407d8cd93135be42b6bd258fVT · MalwareBazaar
  • MD5 : 1305e8b0f9c459d5ed85e7e474fbebb1VT · MalwareBazaar
  • Fichiers : msimg32.dll
  • Fichiers : rwdrv.sys
  • Fichiers : hlpdrv.sys
  • Chemins : C:\Windows\System32\msimg32.dll

Malware / Outils

  • Qilin (ransomware)
  • msimg32.dll (malicious loader) (loader)
  • rwdrv.sys (ThrottleStop.sys renamed) (tool)
  • hlpdrv.sys (tool)
  • EDRKiller (tool)
  • Shanya (loader)

🟢 Indice de vérification factuelle : 95/100 (haute)

  • ✅ blog.talosintelligence.com — source reconnue (liste interne) (20pts)
  • ✅ 28081 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 16 IOCs dont des hashes (15pts)
  • ✅ 3/3 IOCs confirmés (MalwareBazaar, ThreatFox, VirusTotal) (15pts)
  • ✅ 15 TTPs MITRE identifiées (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ✅ acteur(s) identifié(s) : Qilin (5pts)
  • ⬜ pas de CVE à vérifier (0pts)

IOCs confirmés externellement :

  • 7787da25451f5538… (sha256) → VT (44/77 détections)
  • 16f83f056177c4ec… (sha256) → VT (13/77 détections)
  • bd1f381e5a3db22e… (sha256) → VT (54/77 détections)

🔗 Source originale : https://blog.talosintelligence.com/qilin-edr-killer/