Source: Socket (Socket Threat Research Team). Contexte: publication détaillant une campagne npm où un acteur (« dino_reborn ») combine cloaking Adspect, anti‑analyse JavaScript et faux CAPTCHAs pour trier visiteurs/victimes et orchestrer des redirections vers des sites d’arnaques crypto.

🪤 Vue d’ensemble. Sept paquets npm sont impliqués: six contiennent un binaire JS (~39 kB) malveillant et un sert de page « blanche » (leurre). Le code s’exécute via IIFE, profile finement le visiteur, puis interroge l’API Adspect via des proxys PHP. Si le visiteur est jugé « chercheur », une page blanche (Offlido) s’affiche; sinon, une fausse CAPTCHA s’affiche puis ouvre un nouvel onglet vers une URL retournée dynamiquement par Adspect. Les marques affichées (standx.com, jup.ag, uniswap.org) servent à rendre la CAPTCHA crédible.

🕵️ Anti‑analyse et fingerprinting. Le script désactive clic droit, F12, Ctrl+U, Ctrl+Shift+I et détecte l’ouverture des DevTools (rechargements en boucle). Il collecte 13 champs (UA, referrer, host, URI, query, méthode, port, HTTPS, time, accept, langue, encodages, etc.), envoie ces données à un proxy (ex. /adspect-proxy.php) pour obtenir l’IP réelle et masquer la structure Adspect, puis applique une logique de décision (ok:false → page blanche; ok:true → fausse CAPTCHA et redirection différée).

🔧 Infrastructure et composants. Les paquets partagent des IDs de conteneur (ex. signals-embed-root) assurant l’interopérabilité entre la charge malveillante et la page « blanche ». Le paquet signals-embed construit une page statique « Offlido » (leurre crédible, long contenu légal, URL fanqut[.]eu[.]com), également injectée en fallback par le malware si la ressource distante échoue. Les configurations diffèrent par ADSPECT_STREAM_ID, PROXY_URL et fileURL, permettant de suivre la performance des paquets et de faire pivoter les cibles côté serveur sans republier.

📈 Portée et finalité. L’usage d’Adspect dans des paquets npm est présenté comme rare, fusionnant cloaking publicitaire et distribution open source. L’objectif apparent est d’orienter les victimes vers des sites d’escroquerie crypto, tout en abaissant la visibilité côté défense (anti‑debug, redirections dynamiques, étape de « vérification humaine »). L’article fournit TTPs MITRE et IOCs pour la détection et la corrélation.

Type d’article: analyse de menace visant à documenter en détail la chaîne d’infection, la logique de cloaking et à partager des IOCs/TTPs pour la communauté.

🧠 TTPs et IOCs détectés

TTP

T1190 (Exploit Public-Facing Application), T1203 (Exploitation for Client Execution), T1027 (Obfuscated Files or Information), T1071 (Application Layer Protocol), T1081 (Credentials in Files), T1070 (Indicator Removal on Host), T1202 (Indirect Command Execution), T1566 (Phishing), T1568 (Dynamic Resolution), T1592 (Gather Victim Host Information), T1595 (Active Scanning), T1608 (Stage Capabilities), T1609 (Container Administration Command), T1614 (System Location Discovery)

IOC

fanqut[.]eu[.]com, signals-embed-root, standx.com, jup.ag, uniswap.org


🔗 Source originale : https://socket.dev/blog/npm-malware-campaign-uses-adspect-cloaking-to-deliver-malicious-redirects