🔍 Contexte
Publié le 2 septembre 2026 par Jan Michael Alcantara (Netskope Threat Labs), cet article présente l’analyse technique d’une nouvelle variante de Python NodeStealer découverte en août 2026. Ce malware est suivi par Netskope depuis 2023, initialement comme infostealer ciblant les données de navigateur et les comptes Facebook.
🦠 Nouvelles capacités spyware
La variante d’août 2026 intègre des fonctionnalités spyware inédites :
- Keylogger : utilisation de la bibliothèque
pynput, enregistrement des frappes danskeylog({ip}).txt(dossier temporaire), exfiltration vers le C2 Telegram toutes les 120 secondes, persistance indéfinie - Surveillance du presse-papiers : via la bibliothèque
pyperclip, capture de tout texte collé avec l’IP de la victime - Capture d’écran : via
pyautogui, deux captures effectuées (début et fin d’exécution), envoyées au C2 Telegram - Nouveaux vecteurs de vol : mots de passe Wi-Fi, dossier Pictures complet, deux navigateurs web supplémentaires
📡 Architecture C2 duale Telegram
La variante introduit deux bots Telegram distincts :
- Bot principal : reçoit l’archive ZIP contenant les credentials de navigateur, mots de passe et bases de cookies
- Bot secondaire : reçoit exclusivement les données Facebook
Cette séparation vise la spécialisation opérationnelle et la résilience (si un token est brûlé, l’autre reste actif).
🎯 Ciblage Facebook étendu (20+ endpoints Graph API)
La variante interroge désormais plus de 20 endpoints de l’API Facebook Graph (contre 2 précédemment), couvrant :
- Identité :
/me(id, name, email, birthday, gender, location, education, work),/me/picture - Graphe social :
/me/friends,/me/following,/me/likes - Contenu :
/me/posts,/me/groups,/me/events,/me/videos,/me/activities - Pages :
/me/accounts(name, category, fan_count, roles, website) - Publicité :
/me/adcampaigns,/me/adaccounts(spend_cap, amount_spent, account_status, currency) - Commerce :
/me/businesses(products, orders) - Sécurité du compte :
/me/integrations,/me/logins,/me/feedback
Ce ciblage permet de construire un dossier complet sur l’individu gérant les comptes, ouvrant la voie à des prises de contrôle inter-plateformes, des arnaques par usurpation et de la revente de données.
🤖 Assistance IA détectée
Des indicateurs suggèrent que les nouvelles fonctions ont été générées avec assistance LLM :
- Utilisation systématique d’emojis décoratifs dans les logs de sortie, absente dans les versions précédentes
- La méthode
save_additional_infoénumère 20+ endpoints Facebook en un seul bloc avec des appels identiquement structurés - Cohérence avec un prompt large du type “collecte toutes les données Facebook disponibles”
🛡️ Obfuscation technique
Le malware est distribué en format .pyc (bytecode CPython 3.12+) avec les champs d’en-tête (timestamp, taille source) nullifiés, visant à tromper les chercheurs sur la timeline de compilation et à perturber les pipelines de décompilation automatisée.
🌍 Victimologie
Les victimes sont principalement localisées en Asie et en Amérique du Nord, avec une prédominance du secteur des services financiers.
📋 Type d’article
Analyse technique approfondie publiée par Netskope Threat Labs, visant à documenter l’évolution d’un infostealer actif et à fournir des IOCs et détections aux équipes de sécurité.
🧠 TTPs et IOCs détectés
TTP
- T1056.001 — Input Capture: Keylogging (Collection)
- T1115 — Clipboard Data (Collection)
- T1113 — Screen Capture (Collection)
- T1539 — Steal Web Session Cookie (Credential Access)
- T1555.003 — Credentials from Password Stores: Credentials from Web Browsers (Credential Access)
- T1552.002 — Unsecured Credentials: Credentials in Registry (Credential Access)
- T1041 — Exfiltration Over C2 Channel (Exfiltration)
- T1071.001 — Application Layer Protocol: Web Protocols (Command and Control)
- T1027 — Obfuscated Files or Information (Defense Evasion)
- T1005 — Data from Local System (Collection)
- T1552.001 — Unsecured Credentials: Credentials In Files (Credential Access)
IOC
- Fichiers :
keylog({ip}).txt
⚠️ À propos de ces IOC — ils sont extraits automatiquement de l’article original le 5 septembre 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
- Python NodeStealer (stealer)
🟡 Indice de vérification factuelle : 46/100 (moyenne)
- ⬜ netskope.com — source non référencée (0pts)
- ✅ 9537 chars — texte complet (fulltext extrait) (15pts)
- ✅ 1 IOC(s) (6pts)
- ⬜ pas d’IOC vérifié (0pts)
- ✅ 11 TTPs MITRE identifiées (15pts)
- ✅ date extraite du HTML source (10pts)
- ⬜ aucun acteur de menace nommé (0pts)
- ⬜ pas de CVE à vérifier (0pts)
🔗 Source originale : https://www.netskope.com/jp/blog/python-nodestealer-ai-assisted-to-full-spyware