Packages Npm - Interview contagieuse

Des paquets NPM se font passer pour des bibliothèques d'interface utilisateur inoffensives dans l'attaque de la chaîne d'approvisionnement « Contagious Interview » en Corée du Nord.

Les packages npm malveillants récemment détectés se font passer pour des assistants frontaux inoffensifs mais contiennent du code obscurci malveillant.

L'équipe de recherche en sécurité de Xygéni déterminé que ces packages npm : 'react-ui-notify', 'react-tmedia', 'react-ui-animates', 'react-medias', 'react-mandes' sont des dérivés modifiés de 'bingo-logger', lui-même un fork malveillant qui imite la structure et la documentation du package de journalisation populaire 'pin' afin de paraître légitime. Cette couverture est utilisée pour exploiter la confiance des développeurs et attirer des téléchargements. En réalité, la base de code contient un fichier obscurci sans rapport avec le sujet, exécuté dans les environnements Node. 

Contexte de l'acteur menaçant : la campagne « Interview contagieuse »

Le Campagne d'interviews contagieuses est associé au groupe de menaces connu sous le nom de 'UNC4034', qui signale des liens avec des acteurs affiliés à la Corée du Nord Groupe Lazarus or APT38, un groupe bien connu, soutenu par l'État et lié au régime nord-coréen. Les acteurs malveillants à l'origine de cette campagne ciblent régulièrement les développeurs via des écosystèmes open source, distribuant des packages similaires exécutant des charges utiles cachées. Ils exfiltrent ensuite des données cryptographiques, du code source et des identifiants des systèmes infectés.

Le tactiques, techniques et procédures (TTP) observés dans ces packages npm suivent le même modèle :

  • Imitez des noms de projets légitimes pour paraître digne de confiance.
  • Intégrez du code obscurci dans les fichiers de test et les scripts auxiliaires.
  • Exécutez des charges utiles cachées qui collectent des données sensibles et les envoient à un serveur de commande et de contrôle (C2) distant.

Résultats techniques : analyse de la charge utile obscurcie

La charge utile trouvée à l'intérieur »/test/fixtures/eval/node_modules/test.list' utilise du JavaScript obscurci (recherches de chaînes d'index/tableau, blocs codés) pour masquer les chaînes lisibles et le flux de contrôle sera exécuté une fois le package installé en raison du script de post-installation 'npm run test || npm transpile || npm run skip' dans le paquet.json. 

Notre analyse a révélé que ces packages contiennent un malware adaptatif conçu pour se déplacer entre les systèmes d'exploitation (Windows, macOS ou Linux) et les environnements utilisateur. Cette capacité suggère une focalisation délibérée sur les utilisateurs techniques travaillant souvent dans des environnements variés.

Une fois établi sur un système, le logiciel malveillant surveille son environnement et collecte informations détaillées sur le système comme nom d'hôte, , répertoire personnel et répertoire système tmp avant d'étendre sa portée aux applications qui stockent des données sensibles telles que navigateurs (Chrome/Brave/Edge/Opéra) et portefeuilles numériquesIl recherche de manière récursive les emplacements courants pour les profils de navigateur, les fichiers de portefeuille, les trousseaux d'accès et de nombreux types de documents/fichiers. Les mots-clés de recherche incluent les portefeuilles, les termes liés aux semences et de nombreuses extensions de fichiers susceptibles de contenir des informations d'identification ou des secrets.*.env, *.key, *.wallet, *.json, *.txt, *.doc, etc.). Il contient des listes d'exclusion pour les répertoires communs afin d'éviter les fichiers système évidents.

La charge utile écrit un marqueur/fichier de verrouillage local pour empêcher plusieurs exécutions simultanées et écrit ses données dans les répertoires temporaires du système d'exploitation pour éviter la détection.

La charge utile obscurcie contient également un canal de communication vers un serveur distant servant de centre de commande et de contrôle. Grâce à ce canal, elle peut exfiltrer des informations volées et recevoir des instructions supplémentairesBien que l’infrastructure elle-même semble limitée et conçue à cet effet, son existence confirme l’intention de l’attaquant de maintenir un contrôle persistant sur les systèmes infectés.

Lorsque le logiciel malveillant trouve des données sensibles, il les regroupe et tente de les télécharger vers un point de terminaison distant hébergé sur un serveur cloud à l'aide de multipart/form-data afin que les fichiers volés soient joints aux requêtes.

Indicateurs de compromission et recommandations d'atténuation

Il est conseillé aux organisations de supprimer ces dépendances malveillantes (react-ui-notify, react-tmedia, react-ui-animates, react-medias, react-mandes, bingo-logger) et actualisez ces environnements pour garantir leur intégrité. Les systèmes potentiellement exposés doivent être immédiatement soumis à une rotation de tous leurs identifiants et jetons d'accès.

Les administrateurs réseau doivent restreindre le trafic sortant vers ces adresses IP 23.227.202.24, 131.153.22.25 et vérifier les connexions récentes pour détecter les anomalies. Il est fortement recommandé de reconstruire les environnements affectés à partir de sources vérifiées et propres afin de prévenir une nouvelle infection et de garantir l'intégrité de la chaîne d'approvisionnement.

Contexte plus large

Dans l’ensemble, ces packages sont un autre exemple Face au nouveau niveau de maturité des attaques de la chaîne d'approvisionnement basées sur JavaScript, les adversaires créent de plus en plus de packages similaires qui empruntent la structure et la documentation de projets de confiance, l'extension modulaire et l'adoption de meilleures techniques pour faire de la détection et de l'atténuation un défi. 

Cette évolution augmente la probabilité d'une installation accidentelle par des développeurs sans méfiance et accorde aux adversaires un accès plus approfondi aux environnements de construction, CI/CD systèmes et référentiels de codes sources.

Les écosystèmes open source sont devenus une plateforme de distribution privilégiée pour de telles campagnes. En exploitant la confiance intrinsèque des développeurs envers les logiciels communautaires, les attaquants peuvent infiltrer la chaîne d'approvisionnement logicielle avec un minimum d'efforts et souvent sans détection ni conséquence immédiate.

Alerte précoce contre les logiciels malveillants (MEW) par Xygeni

Cet incident a été initialement identifié par Xygeni Alerte précoce contre les logiciels malveillants système qui surveille en permanence les registres de packages open source tels que npm, PyPI, Maven pour détecter les packages malveillants.

Notre moteur de détection a automatiquement signalé ces paquets comme suspects en raison de leur structure inhabituelle, de leur script de post-installation et de leur charge utile obscurcie. Par conséquent, les paquets malveillants (react-ui-notify, react-tmedia, react-ui-animates, react-medias et react-mandes) ont été confirmés comme étant malveillants par notre équipe de sécurité et signalés à npm avant qu'ils ne puissent atteindre une adoption plus large.

Comment Xygeni Early Warning protège votre pipelines

  • Détection des menaces en temps réel:Analyse chaque nouveau package ou package mis à jour dans votre graphique de dépendances et signale les comportements suspects tels que les appels système du système d'exploitation, l'exécution de commandes, le code obscurci, le typosquatting, entre autres.
  • Alertes immédiates: Avertit vos équipes de sécurité et DevOps dans Slack, Jira ou par e-mail dès qu'une nouvelle menace apparaît dans votre environnement.
  • Correction en un clic: Génère pull requests qui suppriment ou remplacent les versions de dépendances vulnérables dans vos projets.
  • Écosystèmes pris en charge : Inclut actuellement npm, PyPI, Maven et Packagist.
  • Xygeni vous aide à garder une longueur d'avance sur les attaques de la chaîne d'approvisionnement en détectant les packages malveillants le plus tôt possible, avant qu'ils n'atteignent votre build.

👉 Essayez gratuitement Xygeni Malware Early Warning et voyez à quelle vitesse vous pouvez détecter et neutraliser les menaces de la chaîne d'approvisionnement dans votre propre pipelines.

sca-tools-logiciel-outils-d'analyse-de-composition
Priorisez, corrigez et sécurisez vos risques logiciels
Essai gratuit 7 jours
Pas de carte bleue requise

Sécurisez le développement et la livraison de vos logiciels

avec la suite de produits Xygeni