Faux add-ins Office sur SourceForge

Analyse technique approfondie d’une campagne malveillante

Je propose aujourd’hui une analyse détaillée d’une menace récente touchant les utilisateurs Microsoft Office via SourceForge.

Cette campagne combine usurpation de projet open source, techniques avancées de persistance et vol de cryptomonnaie.

Contexte de la campagne et découverte

En avril 2025, les chercheurs de Kaspersky ont révélé une campagne malveillante exploitant la plateforme open-source SourceForge pour distribuer des malwares sous couvert de faux add-ins Microsoft Office.

Les attaquants ont mis en place un projet frauduleux nommé « officepackage » qui reproduisait à l’identique le projet légitime « Office-Addin-Scripts » de Microsoft hébergé sur GitHub.

Ce projet malveillant a été référencé par les moteurs de recherche et optimisé pour apparaître en tête des résultats liés aux recherches sur les compléments Office.

Ce stratagème a conduit à l’infection de plus de 4 600 machines, en majorité situées en Russie. Les attaquants ont profité de l’architecture permissive de SourceForge, qui autorise tout utilisateur à héberger un projet et à créer une page web dédiée sous un sous-domaine en sourceforge.io.

C’est précisément cette fonctionnalité qui a été exploitée à des fins de tromperie.

Méthode de diffusion : SEO, usurpation de projet et hébergement externe

Le projet « officepackage » s’appuyait sur une page web hébergée à l’adresse officepackage.sourceforge.io. Cette page mimait fidèlement l’apparence d’un outil de développement Microsoft, avec boutons de téléchargement et texte descriptif en russe.

Les boutons Download redirigeaient l’utilisateur vers un lien externe hébergé sur taplink[.]cc, où un fichier ZIP nommé « vinstaller.zip » était proposé.

Ce ZIP contenait un autre fichier compressé « installer.zip » protégé par mot de passe, accompagné d’un fichier texte contenant le mot de passe.

L’archive une fois extraite révélait un fichier MSI volumineux (700 Mo) contenant les premières étapes du malware. Cette inflation de taille était intentionnelle pour contourner les solutions antivirus qui évitent souvent l’analyse des fichiers volumineux.

Déroulement de l’infection – chaîne complète

Étape 1 – Installation initiale via MSI

Le fichier MSI, une fois exécuté, dépose :

  • UnRAR.exe : binaire légitime utilisé pour décompresser l’archive RAR chiffrée.
  • 51654.rar : archive contenant la charge utile.
  • Un script Visual Basic qui est immédiatement exécuté.

Étape 2 – Récupération distante et vérification

Ce script VB télécharge un fichier batch externe confvk.bat depuis GitHub. Ce dernier vérifie que l’environnement n’est pas virtualisé (via présence de processus typiques de sandbox ou AV comme avp.exe, vmtoolsd.exe, etc.), et si aucun danger n’est détecté, utilise UnRAR.exe pour décompresser la RAR.

Étape 3 – Collecte et exfiltration des informations

Un premier script PowerShell est invoqué pour collecter :

  • Nom d’hôte
  • Adresse IP publique
  • Nom d’utilisateur
  • Version de Windows
  • Nom du CPU
  • AV actif
  • Géolocalisation via API tierce

Ces données sont ensuite envoyées via l’API Telegram en tant que message à un bot contrôlé par les attaquants.

Étape 4 – Téléchargement et exécution secondaire

Un deuxième batch (confvz.bat) est téléchargé depuis GitHub, et se charge d’implanter les charges utiles et de configurer leur persistance.

Étape 5 – Implémentation de la persistance

Le script crée plusieurs répertoires sous %ProgramData% et %USERPROFILE%\Cookies contenant :

  • Input.exe : interpréteur AutoIt
  • Icon.dll, Kape.dll : DLL contenant les charges utiles
  • ShellExperienceHost.exe : copie de Netcat renommée
  • Scripts ini.cmd, init.cmd

Techniques de persistance :

  • Ajout de clés dans le registre HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths
  • Création de services Windows (NetworkConfiguration, PerformanceMonitor, Update) pointant vers les scripts ou exécutable AutoIt
  • Création de tâches WMI déclenchant périodiquement l’exécution de Netcat avec une connexion sortante vers un serveur distant (C2)
  • Utilisation de msiexec.exe pour détourner le système de gestion des erreurs Windows et exécuter un script distant via Telegram

Charges utiles et capacités malveillantes

Clipper – Vol de cryptomonnaies via détournement du presse-papiers

Ce module surveille le clipboard de Windows et identifie toute chaîne correspondant à une adresse de portefeuille (Bitcoin, Ethereum, etc.). Lorsque l’utilisateur copie une adresse, celle-ci est automatiquement remplacée par une adresse contrôlée par l’attaquant, provoquant l’envoi des fonds à son insu.

Cryptominer – Exploitation des ressources CPU/GPU

Le fichier Icon.dll contient un script AutoIt embarquant un mineur de cryptomonnaie (probablement XMRig ou similaire), conçu pour tourner en arrière-plan avec une priorité réduite, afin de ne pas éveiller de soupçons.

Reverse Shell avec Netcat

ShellExperienceHost.exe est une version renommée de Netcat, outil réseau légitime. Il est utilisé pour ouvrir une connexion TCP inversée vers le serveur C2, permettant aux attaquants d’obtenir un shell distant sur la machine.

Un contrôle via Telegram

L’ensemble de la communication est chiffrée et transitant via l’API Telegram, difficile à bloquer sans affecter d’autres usages légitimes. L’attaquant peut envoyer des commandes, recevoir des informations, ou pousser des charges utiles additionnelles.

Quelques campagnes similaires et historique

  • GitVenom (2023–2025) : campagne massive sur GitHub avec des dépôts clonés hébergeant des stealers, clippers et botnets. Communication par Telegram, très proche techniquement.
  • Octopus Scanner (2020) : infection de la chaîne de compilation de projets Java sur GitHub.
  • 3CX – SmoothOperator (2023) : GitHub utilisé comme C2 chiffré dans une attaque contre l’application VoIP 3CX, touchant plusieurs entreprises.

Les risques et enjeux

  • Abus des plateformes open source : SourceForge, GitHub, GitLab ne vérifient pas toujours le contenu ou l’identité des auteurs. Tout le monde peut publier du code ou des binaires.
  • Techniques Living off the Land : utilisation d’outils système (cmd, PowerShell, WMI, Netcat) pour éviter la détection.
  • Diffusion via SEO : les moteurs de recherche référencent souvent les projets SourceForge en haut des résultats, donnant une apparence de légitimité.

Recommandations opérationnelles

  • Bloquer les sous-domaines SourceForge.io non explicitement autorisés
  • Détecter les connexions sortantes vers Telegram, taplink.cc, GitHub hors périmètre
  • Mettre en place des règles YARA ciblant : ShellExperienceHost.exe, Input.exe, scripts AutoIt et batch connus
  • Rechercher les clés de registre suspectes dans App Paths et les services installés récemment
  • Surveiller les tâches WMI et l’utilisation anormale de msiexec

La réaction de SourceForge

SourceForge a supprimé immédiatement le projet frauduleux et a précisé qu’aucun fichier malicieux n’était hébergé sur son domaine principal (sourceforge.net). Les sous-domaines de projet (sourceforge.io) font désormais l’objet de restrictions : interdiction des liens vers fichiers externes et des redirections non sécurisées.

Enjoy

Sources