🔍 Contexte

PubliĂ© le 7 aoĂ»t 2026 par l’Ă©quipe OpenSourceMalware (opensourcemalware.com), cet article prĂ©sente une analyse technique approfondie d’une campagne de supply chain ciblant l’Ă©cosystĂšme npm. En 48 heures, un acteur a publiĂ© plus de 700 paquets malveillants (788 confirmĂ©s) en utilisant des noms gĂ©nĂ©rĂ©s par IA ou par typosquatting.

🎯 Vecteur d’infection

Le paquet analysĂ©, checkout-mobile-bnpl@35.6.9, se prĂ©sente comme un SDK mobile BNPL. Il ne nĂ©cessite aucun script d’installation (preinstall/postinstall) : le simple appel require() suffit Ă  dĂ©clencher la chaĂźne d’infection via le fichier _helpers.js.

📩 Architecture du malware (NUL1DROPPER)

Le downloader, nommé NUL1DROPPER, supporte Windows, Linux et macOS :

  • Livraison primaire : requĂȘtes HTTPS GET vers trois hĂŽtes Cloudflare Workers (oob-worker.cf103-070.workers.dev, oob-worker.cf102-baf.workers.dev, oob-worker.cf99-9b3.workers.dev)
  • Canal de repli DNS : reconstruction du payload depuis des enregistrements TXT DNS hĂ©bergĂ©s sous wel1.ru (domaines spĂ©cifiques par plateforme : sdk.dl.wel1.ru, ext.dl.wel1.ru, pkg.dl.wel1.ru, net.dl.wel1.ru)
  • Les chunks Base64 sont assemblĂ©s et dĂ©codĂ©s en binaire exĂ©cutable
  • Aucune vĂ©rification d’intĂ©gritĂ© du payload reçu

đŸ–„ïž ExĂ©cution et persistance

  • Linux/macOS : payload Ă©crit dans /var/tmp/.cache_<8 hex>, lancĂ© via /bin/sh -c
  • Windows : payload Ă©crit dans %TEMP%\dotnet_diag_<8 hex>.exe, lancĂ© via cmd.exe /c start /b
  • Fichier marqueur anti-rĂ©exĂ©cution : /tmp/.analytics_state (TTL ~6h)
  • macOS : persistance via LaunchAgent com.apple.windowserver.helper.plist, exĂ©cutable stockĂ© sous ~/.local/share/runtime/com.apple.runtime

🔬 Payloads natifs

  • Linux x86-64 : ELF statiquement liĂ©, UPX 3.96, table de sections supprimĂ©e
  • macOS : Mach-O universel (x86-64 + ARM64), tĂ©lĂ©charge un beacon supplĂ©mentaire (/pkg/beacon_mac.bin) via 5 hĂŽtes Cloudflare Workers supplĂ©mentaires, strings obfusquĂ©es par XOR 0x9c
  • Le payload macOS effectue des contrĂŽles anti-analyse : dĂ©tection de lldb, debugserver, dtrace, frida, Wireshark, VMware Fusion, vĂ©rification de la mĂ©moire RAM
  • Le dernier stage serait un implant Sliver (non confirmĂ©)

đŸ—ș Attribution

L’utilisation du domaine wel1.ru et les rĂ©fĂ©rences Ă  des institutions financiĂšres russes (cloudpayments.ru, tcsbank.ru) suggĂšrent une origine russophone. La campagne est potentiellement liĂ©e Ă  Moika tech, une campagne antĂ©rieure (avril/mai 2026, 250+ paquets NPM) partageant plusieurs TTPs : usage du prĂ©fixe “oob”, focus sur la finance russe, leurre telemetry, kill switch similaire.

📄 Type d’article

Analyse technique dĂ©taillĂ©e publiĂ©e par une plateforme de threat intelligence open source, visant Ă  documenter les IOCs, TTPs et la chaĂźne d’infection complĂšte d’une campagne de supply chain npm active.

🧠 TTPs et IOCs dĂ©tectĂ©s

Acteurs de menace

  • Moika tech (unknown) —

TTP

  • T1195.002 — Supply Chain Compromise: Compromise Software Supply Chain (Initial Access)
  • T1204.002 — User Execution: Malicious File (Execution)
  • T1059.007 — Command and Scripting Interpreter: JavaScript (Execution)
  • T1059.001 — Command and Scripting Interpreter: PowerShell (Execution)
  • T1071.004 — Application Layer Protocol: DNS (Command and Control)
  • T1071.001 — Application Layer Protocol: Web Protocols (Command and Control)
  • T1027 — Obfuscated Files or Information (Defense Evasion)
  • T1027.002 — Obfuscated Files or Information: Software Packing (Defense Evasion)
  • T1543.001 — Create or Modify System Process: Launch Agent (Persistence)
  • T1497.001 — Virtualization/Sandbox Evasion: System Checks (Defense Evasion)
  • T1036.005 — Masquerading: Match Legitimate Name or Location (Defense Evasion)
  • T1105 — Ingress Tool Transfer (Command and Control)
  • T1140 — Deobfuscate/Decode Files or Information (Defense Evasion)

IOC

  • IPv4 : 127.0.0.1 — AbuseIPDB · VT · ThreatFox
  • Domaines : oob-worker.cf103-070.workers.dev — VT · URLhaus · ThreatFox
  • Domaines : oob-worker.cf102-baf.workers.dev — VT · URLhaus · ThreatFox
  • Domaines : oob-worker.cf99-9b3.workers.dev — VT · URLhaus · ThreatFox
  • Domaines : package-proxy.cf5oobworker.workers.dev — VT · URLhaus · ThreatFox
  • Domaines : package-proxy.cf6oobworker.workers.dev — VT · URLhaus · ThreatFox
  • Domaines : package-proxy.cf7oobworker.workers.dev — VT · URLhaus · ThreatFox
  • Domaines : package-proxy.cf8oobworker.workers.dev — VT · URLhaus · ThreatFox
  • Domaines : package-proxy.cf11oobworker.workers.dev — VT · URLhaus · ThreatFox
  • Domaines : sdk.dl.wel1.ru — VT · URLhaus · ThreatFox
  • Domaines : ext.dl.wel1.ru — VT · URLhaus · ThreatFox
  • Domaines : pkg.dl.wel1.ru — VT · URLhaus · ThreatFox
  • Domaines : net.dl.wel1.ru — VT · URLhaus · ThreatFox
  • Domaines : dl.wel1.ru — VT · URLhaus · ThreatFox
  • Domaines : wel1.ru — VT · URLhaus · ThreatFox
  • URLs : https://oob-worker.cf103-070.workers.dev/pkg/package — URLhaus
  • URLs : https://oob-worker.cf103-070.workers.dev/pkg/package-arm64 — URLhaus
  • URLs : https://oob-worker.cf103-070.workers.dev/pkg/loader_mac — URLhaus
  • URLs : https://oob-worker.cf103-070.workers.dev/pkg/package.exe — URLhaus
  • URLs : https://oob-worker.cf102-baf.workers.dev/pkg/package — URLhaus
  • URLs : https://oob-worker.cf102-baf.workers.dev/pkg/package-arm64 — URLhaus
  • URLs : https://oob-worker.cf102-baf.workers.dev/pkg/loader_mac — URLhaus
  • URLs : https://oob-worker.cf102-baf.workers.dev/pkg/package.exe — URLhaus
  • URLs : https://oob-worker.cf99-9b3.workers.dev/pkg/package — URLhaus
  • URLs : https://oob-worker.cf99-9b3.workers.dev/pkg/package-arm64 — URLhaus
  • URLs : https://oob-worker.cf99-9b3.workers.dev/pkg/loader_mac — URLhaus
  • URLs : https://oob-worker.cf99-9b3.workers.dev/pkg/package.exe — URLhaus
  • URLs : http://127.0.0.1:4444/health — URLhaus
  • SHA256 : 7e486657f30594afda379b97030252a09a19fe8055e25c9e371544f59bd8e9e3 — VT · MalwareBazaar
  • SHA256 : c214746c74cae8ece8bdaf69aa05da4db6ce013f9e77452d1eed1a002fd9ba00 — VT · MalwareBazaar
  • SHA256 : 0fc30f82e1fa5e51a6c0c43f3ed7f13592ea731cb331e43a4d085df60a4db8b6 — VT · MalwareBazaar
  • SHA256 : 94ef6b1c4a9d31f78f446d053048bcef34fd88f4376a1a46f7f777a9e9c83a29 — VT · MalwareBazaar
  • SHA256 : b74c5675725911c62091bdf40714df760cc2af7a88360d21065f4e1c878aa8f0 — VT · MalwareBazaar
  • SHA256 : e2650e9aa2f924433ba422857b22ee7c5996b5ad306f3f903283f6a13e248935 — VT · MalwareBazaar
  • SHA256 : a3e2ffb440b779d30da3ff282affd649731088e8570df7b1aa72742d995b782c — VT · MalwareBazaar
  • Fichiers : checkout-mobile-bnpl
  • Fichiers : _helpers.js
  • Fichiers : index.js
  • Fichiers : lib/telemetry.js
  • Fichiers : package.json
  • Fichiers : com.apple.windowserver.helper.plist
  • Chemins : /tmp/.analytics_state
  • Chemins : /var/tmp/.cache_
  • Chemins : %TEMP%\analytics_state
  • Chemins : ~/.local/share/runtime/.lock
  • Chemins : ~/.local/share/runtime/com.apple.runtime
  • Chemins : ~/Library/LaunchAgents/com.apple.windowserver.helper.plist

⚠ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 8 aoĂ»t 2026 et n’ont pas fait l’objet d’une vĂ©rification externe. Un indicateur peut avoir Ă©tĂ© rĂ©attribuĂ© depuis : une IP de C2 peut redevenir un service lĂ©gitime, un domaine sinkholĂ© peut changer de propriĂ©taire. Aucune garantie d’exactitude ni d’actualitĂ© — contrĂŽlez leur validitĂ© avant tout usage opĂ©rationnel, en particulier avant de les injecter dans une blocklist ou un SIEM.

Malware / Outils

  • NUL1DROPPER (loader)
  • Sliver (framework)

🟱 Indice de vĂ©rification factuelle : 95/100 (haute)

  • ✅ opensourcemalware.com — source reconnue (liste interne) (20pts)
  • ✅ 20059 chars — texte complet (fulltext extrait) (15pts)
  • ✅ 47 IOCs dont des hashes (15pts)
  • ✅ 4/10 IOCs confirmĂ©s (AbuseIPDB, MalwareBazaar, ThreatFox, URLhaus, VirusTotal) (15pts)
  • ✅ 13 TTPs MITRE identifiĂ©es (15pts)
  • ✅ date extraite du HTML source (10pts)
  • ✅ acteur(s) identifiĂ©(s) : Moika tech (5pts)
  • ⬜ pas de CVE Ă  vĂ©rifier (0pts)

IOCs confirmés externellement :

  • 7e486657f30594af
 (sha256) → VT (8/76 dĂ©tections)
  • oob-worker.cf103-070.workers.dev (domain) → VT (5/91 dĂ©tections)
  • oob-worker.cf102-baf.workers.dev (domain) → VT (4/91 dĂ©tections)
  • oob-worker.cf99-9b3.workers.dev (domain) → VT (3/91 dĂ©tections)

🔗 Source originale : https://opensourcemalware.com/blog/russian-ai-slopsquatting-npm-campaign