Dans un billet technique publié le 14 janvier 2026, l’auteur analyse la dernière version du loader Kazuar v3 attribué à Turla, faisant écho à une campagne évoquée par ESET (étiquette d’agent AGN-RR-01).

Le point d’entrée est un VBScript (8RWRLT.vbs) qui crée des répertoires sous %LOCALAPPDATA%\Programs\HP\Printer\Driver, télécharge plusieurs fichiers depuis 185.126.255[.]132, exécute un exécutable HP signé (hpbprndi.exe) pour déclencher un DLL sideloading, et établit une persistance via une clé Run. Le script collecte ensuite des infos hôte (OS, uptime, archi CPU, nom machine/utilisateur/domaine, liste des processus, inventaire du dossier créé) et les envoie en POST vers /requestor.php.

Le loader natif (hpbprndiLOC.dll) est orchestré par DllMain et réparti en quatre exports (Fxmbrfqx, Qtupnngh, Iotnj, Waoqmz). Il emploie une obfuscation de flux (callbacks API, branches et boucles factices, chaînes XOR), suspend les threads concurrents, et met en place une redirection de flux en détournant l’adresse de retour de LoadLibraryExA/W (deuxième passage dans Qtupnngh) avant de restaurer le code d’origine.

Lors du « second run » de Qtupnngh, le loader applique des contournements ETW/AMSI « patchless » via hardware breakpoints et Vectored Exception Handler ciblant NtTraceControl et AmsiScanBuffer (GetThreadContext/NtContinue pour armer Dr0/Dr1/Dr7). Il déchiffre en mémoire les charges Kazuar v3 (KERNEL, WORKER, BRIDGE) et s’appuie sur un assembly .NET COM-visible (jtjdypzmb.yqg) pour exécuter les payloads .NET.

L’infrastructure C2 relève d’un hôte en Ukraine (South Park Networks LLC / hostiko.com.ua) avec un certificat Let’s Encrypt émis pour esetcloud[.]com. Le billet fournit une chaîne d’exécution claire et des artefacts complets, appuyés par des hachés et noms de fichiers, afin d’illustrer les techniques d’évasion et de chargement.

IOCs

  • IP/C2: 185.126.255[.]132, chemin: /requestor.php
  • Certificat: Let’s Encrypt pour esetcloud[.]com
  • Chemins: %LOCALAPPDATA%\Programs\HP\Printer\Driver\ ; journal: %LOCALAPPDATA%\Temp\dksuluc.hpn
  • Exécutable légitime: hpbprndi.exe (HP signé)
  • DLL malveillante: hpbprndiLOC.dll
  • Payloads chiffrés: jayb.dadk (KERNEL), kgjlj.sil (WORKER), pkrfsu.ldy (BRIDGE)
  • Assembly .NET: jtjdypzmb.yqg (COM-visible)
  • Script initial: 8RWRLT.vbs
  • Persistance: HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run\Hewlett Packard Drivers
  • User-Agent: “Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; Win64; x64; Trident/7.0; .NET4.0C; .NET4.0E)”
  • Label agent: AGN-RR-01
  • SHA-256: • hpbprndi.exe: 34b7df7919dbbe031b5d802accb566ce6e91df4155b1858c3c81e4c003f1168c • hpbprndiLOC.dll: 69908f05b436bd97baae56296bf9b9e734486516f9bb9938c2b8752e152315d4 • jayb.dadk: befa1695fcee9142738ad34cb0bfb453906a7ed52a73e2d665cf378775433aa8 • kgjlj.sil: 458ca514e058fccc55ee3142687146101e723450ebd66575c990ca55f323c769 • pkrfsu.ldy: b755e4369f1ac733da8f3e236c746eda94751082a3031e591b6643a596a86acb

TTPs

  • Abus de COM pour exécuter des payloads .NET
  • DLL sideloading MFC via un binaire HP légitime (LOLBAS)
  • Contournements ETW/AMSI patchless par hardware breakpoints + VEH (NtTraceControl, AmsiScanBuffer)
  • Redirection de flux en accrochant l’adresse de retour de LoadLibraryExA/W
  • Suspension des threads concurrents; obfuscation (chaînes XOR, junk code)
  • Persistance via clé Run; collecte d’empreinte système et exfiltration HTTP

Type d’article: Analyse technique/menace visant à documenter la chaîne d’exécution, les techniques d’évasion et les IOCs du loader Kazuar v3.

🧠 TTPs et IOCs détectés

TTP

[‘Abus de COM pour exécuter des payloads .NET’, ‘DLL sideloading MFC via un binaire HP légitime (LOLBAS)’, ‘Contournements ETW/AMSI patchless par hardware breakpoints + VEH (NtTraceControl, AmsiScanBuffer)’, ‘Redirection de flux en accrochant l’adresse de retour de LoadLibraryExA/W’, ‘Suspension des threads concurrents’, ‘Obfuscation (chaînes XOR, junk code)’, ‘Persistance via clé Run’, ‘Collecte d’empreinte système et exfiltration HTTP’]

IOC

{‘hash’: [‘34b7df7919dbbe031b5d802accb566ce6e91df4155b1858c3c81e4c003f1168c’, ‘69908f05b436bd97baae56296bf9b9e734486516f9bb9938c2b8752e152315d4’, ‘befa1695fcee9142738ad34cb0bfb453906a7ed52a73e2d665cf378775433aa8’, ‘458ca514e058fccc55ee3142687146101e723450ebd66575c990ca55f323c769’, ‘b755e4369f1ac733da8f3e236c746eda94751082a3031e591b6643a596a86acb’], ‘domaine’: ’esetcloud[.]com’, ‘ip’: ‘185.126.255[.]132’}


🔗 Source originale : https://r136a1.dev/2026/01/14/command-and-evade-turlas-kazuar-v3-loader/