Selon Socket (Socket Threat Research Team), une opération de spearphishing ciblée et soutenue a détourné le registre npm comme couche d’hébergement et de distribution pendant au moins cinq mois, avec 27 paquets malveillants publiés sous six alias, visant des personnels commerciaux de secteurs industriels et santé aux États-Unis et dans des pays alliés.
— Portée et objectifs. La campagne cible des individus spécifiques (25 identités) dans des fonctions commerciales (vente, account management, business dev.) de secteurs adjacents aux infrastructures critiques (manufacturing, automatisation industrielle, plasturgie, santé/pharma). Les leurres imitent des portails de partage de documents et des pages de connexion Microsoft pour la capture d’identifiants.
— Technique d’abus de npm/CDN. Les paquets livrent des composants HTML/JavaScript exécutés côté navigateur qui remplacent le contenu de la page (document.open/write/close), affichent un faux portail « MicroSecure » puis une page Microsoft avec e‑mail prérempli, et redirigent vers une infrastructure contrôlée par l’attaquant avec l’identifiant de la victime dans le fragment d’URL. Exemple: le paquet adril7123 embarque assets/refinered.bundles.js, détecté comme composant de phishing.
— Anti‑analyse et AiTM. Les scripts intègrent des défenses côté client: détection de bots/sandboxes (navigator.webdriver, plugins vides, dimensions d’écran anormales, UA headless/crawlers), gating par interaction humaine (souris/touch), champs honeypot « company », et fail‑closed (écran noir) en cas de suspicion. Plusieurs domaines observés recoupent des schémas Evilginx (AiTM) tels que /wlc/, /load/, /success/, permettant le vol de cookies/tokens et le contournement de la MFA.
— Sélection des cibles. Les e‑mails ciblés sont hardcodés dans les paquets. Socket émet l’hypothèse que des salons professionnels (Interpack, K‑Fair) et l’OSINT (LinkedIn, formats d’e‑mails) ont aidé à identifier et profiler les contacts commerciaux susceptibles d’ouvrir des RFQ et documents entrants.
— Recommandations et perspective. Le rapport souligne le risque d’abus des registres/CDN comme hébergement durable et bon marché, et recommande de durcir l’ingestion de dépendances, surveiller les requêtes CDN hors contexte dev, appliquer une MFA résistante au phishing (WebAuthn/passkeys), et monitorer les signaux de vol de sessions. Il s’agit d’une analyse de menace visant à documenter la campagne, ses IOCs et TTPs, et à informer la défense.
IOC (Indicateurs de compromission)
- Paquets npm malveillants:
- adril7123 2) ardril712 3) arrdril712 4) androidvoues 5) assetslush 6) axerification 7) erification 8) erificatsion 9) errification 10) eruification 11) hgfiuythdjfhgff 12) homiersla 13) houimlogs22 14) iuythdjfghgff 15) iuythdjfhgff 16) iuythdjfhgffdf 17) iuythdjfhgffs 18) iuythdjfhgffyg 19) jwoiesk11 20) modules9382 21) onedrive-verification 22) sarrdril712 23) scriptstierium11 24) secure-docs-app 25) sync365 26) ttetrification 27) vampuleerl
- Alias npm de l’acteur: dimkpa, fineboi231, kenkenjoe, nuelvamp, michael.shaw119, briandmooree
- Adresses e‑mail de l’acteur: icpc12@proton[.]me, michael.shaw119@proton[.]me, nuelvamp@proton[.]me, briandmooree@proton[.]me, fineboi231@proton[.]me, safehavenbill@proton[.]me
- Infrastructure C2/redirecteurs: extfl[.]roundupactions[.]shop, livestore[.]click, hexrestore[.]online, hexrestore[.]online/load/, leoclouder[.]online, leoclouder[.]online/load/, leoclouder[.]online/success/, jigstro[.]cloud
TTPs (MITRE ATT&CK)
- T1195.002 — Supply Chain Compromise: Compromise Software Supply Chain
- T1608.001 — Stage Capabilities: Upload Malware
- T1589.002 — Gather Victim Identity Information: Email Addresses
- T1589.003 — Gather Victim Identity Information: Employee Names
- T1591.004 — Gather Victim Org Information: Identify Roles
- T1059.007 — Command and Scripting Interpreter: JavaScript
- T1036 — Masquerading
- T1656 — Impersonation
- T1566.002 — Phishing: Spearphishing Link
- T1583.006 — Acquire Infrastructure: Web Services
- T1027 — Obfuscated Files or Information
- T1557 — Adversary-in-the-Middle
- T1562 — Impair Defenses
- T1480 — Execution Guardrails
- T1497 — Virtualization/Sandbox Evasion
- T1078 — Valid Accounts
- T1539 — Steal Web Session Cookie
🧠 TTPs et IOCs détectés
TTP
[‘T1195.002 — Supply Chain Compromise: Compromise Software Supply Chain’, ‘T1608.001 — Stage Capabilities: Upload Malware’, ‘T1589.002 — Gather Victim Identity Information: Email Addresses’, ‘T1589.003 — Gather Victim Identity Information: Employee Names’, ‘T1591.004 — Gather Victim Org Information: Identify Roles’, ‘T1059.007 — Command and Scripting Interpreter: JavaScript’, ‘T1036 — Masquerading’, ‘T1656 — Impersonation’, ‘T1566.002 — Phishing: Spearphishing Link’, ‘T1583.006 — Acquire Infrastructure: Web Services’, ‘T1027 — Obfuscated Files or Information’, ‘T1557 — Adversary-in-the-Middle’, ‘T1562 — Impair Defenses’, ‘T1480 — Execution Guardrails’, ‘T1497 — Virtualization/Sandbox Evasion’, ‘T1078 — Valid Accounts’, ‘T1539 — Steal Web Session Cookie’]
IOC
{’npm_packages’: [‘adril7123’, ‘ardril712’, ‘arrdril712’, ‘androidvoues’, ‘assetslush’, ‘axerification’, ’erification’, ’erificatsion’, ’errification’, ’eruification’, ‘hgfiuythdjfhgff’, ‘homiersla’, ‘houimlogs22’, ‘iuythdjfghgff’, ‘iuythdjfhgff’, ‘iuythdjfhgffdf’, ‘iuythdjfhgffs’, ‘iuythdjfhgffyg’, ‘jwoiesk11’, ‘modules9382’, ‘onedrive-verification’, ‘sarrdril712’, ‘scriptstierium11’, ‘secure-docs-app’, ‘sync365’, ’ttetrification’, ‘vampuleerl’], ‘aliases’: [‘dimkpa’, ‘fineboi231’, ‘kenkenjoe’, ’nuelvamp’, ‘michael.shaw119’, ‘briandmooree’], ’emails’: [‘icpc12@proton.me’, ‘michael.shaw119@proton.me’, ’nuelvamp@proton.me’, ‘briandmooree@proton.me’, ‘fineboi231@proton.me’, ‘safehavenbill@proton.me’], ‘domains’: [’extfl.roundupactions.shop’, ’livestore.click’, ‘hexrestore.online’, ‘hexrestore.online/load/’, ’leoclouder.online’, ’leoclouder.online/load/’, ’leoclouder.online/success/’, ‘jigstro.cloud’]}
🔗 Source originale : https://socket.dev/blog/spearphishing-campaign-abuses-npm-registry