Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
EvilClippy — Un assistant multiplateforme pour créer des documents MS Office malveillants. Peut cacher les macros VBA, écraser le code VBA (via P-Code) et confondre les outils d'analyse de macros. Fonctionne sous Linux, OSX et Windows. | Kitploit
Outils/GitHubGitHub/outflanknl/evilclippy
Analyse des VulnérabilitésExploitationAnalyse de MalwareTests d'IntrusionApprentissage et ÉducationRed TeamingDéveloppement de Charges Utiles
GitHuboutflanknl/evilclippy

EvilClippy

Un assistant multiplateforme pour créer des documents MS Office malveillants. Peut cacher les macros VBA, écraser le code VBA (via P-Code) et confondre les outils d'analyse de macros. Fonctionne sous Linux, OSX et Windows.

Voir le dépôt
2.3k398il y a 5 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Cet outil a été publié lors de notre présentation à BlackHat Asia (28 mars 2019). Un enregistrement vidéo de cette présentation est disponible sur https://www.youtube.com/watch?v=9ULzZA70Dzg.

Evil Clippy

Un assistant multiplateforme pour créer des documents MS Office malveillants. Peut masquer les macros VBA, écraser le code VBA (via P-Code) et tromper les outils d'analyse de macros. Fonctionne sous Linux, OSX et Windows.

Si vous débutez avec cet outil, vous voudrez peut-être commencer par lire notre article de blog sur Evil Clippy : https://outflank.nl/blog/2019/05/05/evil-clippy-ms-office-maldoc-assistant/

Ce projet ne doit être utilisé qu'à des fins de tests autorisés ou éducatives.

Fonctionnalités actuelles

  • Masquer les macros VBA de l'éditeur GUI
  • Écrasement VBA (abus de P-code)
  • Tromper les outils d'analyse
  • Servir des modèles VBA écrasés via HTTP
  • Activer/Désactiver la protection Verrouillé/Invisible du projet VBA

Si vous n'avez aucune idée de ce que tout cela signifie, consultez d'abord les ressources suivantes :

  • Notre présentation MS Office Magic Show à Derbycon 2018
  • Ressources sur l'écrasement VBA par l'équipe sécurité de Walmart
  • Pcodedmp par Dr. Bontchev

Quelle est son efficacité ?

Au moment de la rédaction, cet outil est capable de faire passer une macro Cobalt Strike par défaut pour contourner la plupart des principaux antivirus et divers outils d'analyse de documents malveillants (en utilisant l'écrasement VBA combiné à des noms de modules aléatoires).

Technologie

Evil Clippy utilise la bibliothèque OpenMCDF pour manipuler les fichiers au format binaire composé de MS Office (CFBF) et abuse des spécifications et fonctionnalités de MS-OVBA. Il réutilise du code de Kavod.VBA.Compression pour implémenter l'algorithme de compression utilisé dans les flux dir et module (voir MS-OVBA pour les spécifications pertinentes).

Evil Clippy se compile parfaitement avec le compilateur Mono C# et a été testé sur Linux, OSX et Windows.

Compilation

OSX et Linux

Assurez-vous d'avoir Mono installé. Exécutez ensuite la commande suivante depuis la ligne de commande :

mcs /reference:OpenMcdf.dll,System.IO.Compression.FileSystem.dll /out:EvilClippy.exe *.cs

Exécutez maintenant Evil Clippy depuis la ligne de commande :

mono EvilClippy.exe -h

Windows

Assurez-vous d'avoir Visual Studio installé. Exécutez ensuite la commande suivante depuis une invite de commande développeur Visual Studio :

csc /reference:OpenMcdf.dll,System.IO.Compression.FileSystem.dll /out:EvilClippy.exe *.cs

Exécutez maintenant Evil Clippy depuis la ligne de commande :

EvilClippy.exe -h

Exemples d'utilisation

Afficher l'aide

EvilClippy.exe -h

Masquer/Afficher les macros de l'interface graphique

Masque tous les modules de macro (sauf le module par défaut 'ThisDocument') de l'éditeur GUI VBA. Ceci est réalisé en supprimant les lignes de module du flux de projet [MS-OVBA 2.3.1].

EvilClippy.exe -g macrofile.doc

Annule les modifications effectuées par l'option de masquage (-g) afin que nous puissions déboguer la macro dans l'IDE VBA.

EvilClippy.exe -gg macrofile.doc

Écraser VBA (abuser du P-code)

Place du code VBA factice provenant du fichier texte fakecode.vba dans tous les modules, tout en laissant le P-code intact. Cela abuse d'une fonctionnalité non documentée des flux de modules [MS-OVBA 2.3.4.3]. Notez que la version du projet VBA doit correspondre au programme hôte pour que le P-code soit exécuté (voir l'exemple suivant pour la correspondance de version).

EvilClippy.exe -s fakecode.vba macrofile.doc

Note : L'écrasement VBA ne fonctionne pas pour les fichiers enregistrés au format Classeur Excel 97-2003 (.xls)

Définir la version cible d'Office pour l'écrasement VBA

Identique à ce qui précède, mais ciblant explicitement Word 2016 sur x86. Cela signifie que Word 2016 sur x86 exécutera le P-code, tandis que d'autres versions de Word exécuteront le code de fakecode.vba à la place. Réalisé en définissant les octets de version appropriés dans le flux _VBA_PROJECT [MS-OVBA 2.3.4.1].

EvilClippy.exe -s fakecode.vba -t 2016x86 macrofile.doc

Définir/Réinitialiser des noms de modules aléatoires (tromper les outils d'analyse)

Définit des noms de modules ASCII aléatoires dans le flux dir [MS-OVBA 2.3.4.2]. Cela abuse de l'ambiguïté dans les enregistrements MODULESTREAMNAME [MS-OVBA 2.3.4.2.3.2.3] - la plupart des outils d'analyse utilisent les noms de modules ASCII spécifiés ici, tandis que MS Office utilise la variante Unicode. En définissant un nom de module ASCII aléatoire, la plupart des outils d'analyse de P-code et VBA plantent, tandis que le P-code et la VBA réels continuent de fonctionner correctement dans Word et Excel.

EvilClippy.exe -r macrofile.doc

Note : cela est connu pour être efficace pour tromper pcodedmp et VirusTotal

Définit les noms de modules ASCII dans le flux dir pour correspondre à leurs homologues Unicode. Cela inverse les modifications effectuées avec l'option (-r) d'EvilClippy.

EvilClippy.exe -rr macrofile.doc

Servir un modèle VBA écrasé via HTTP

Sert le modèle macrofile.dot via le port HTTP 8080 après avoir effectué l'écrasement VBA. Si ce fichier est récupéré, il correspond automatiquement à la version Office de la cible (en utilisant ses en-têtes HTTP puis en définissant les octets _VBA_PROJECT en conséquence).

EvilClippy.exe -s fakecode.vba -w 8080 macrofile.dot

Note : Le fichier que vous servez doit être un modèle (.dot au lieu de .doc). Vous pouvez définir un modèle via une URL (l'extension .dot n'est pas requise !) depuis la barre d'outils développeur dans Word. De plus, fakecode.vba doit avoir un attribut VB_Base défini pour une macro provenant d'un modèle (cela signifie que votre fakecode.vba doit commencer par une ligne telle que Attribute VB_Base = "0{00020906-0000-0000-C000-000000000046}").

Activer/Désactiver la protection Verrouillé/Invisible du projet VBA

Pour définir les attributs Verrouillé/Invisible, utilisez l'option '-u' :

EvilClippy.exe -u macrofile.doc

Pour supprimer les attributs Verrouillé/Invisible, utilisez l'option '-uu' :

EvilClippy.exe -uu macrofile.doc

Note : Vous pouvez également supprimer les attributs Verrouillé/Invisible sur des fichiers qui n'ont pas été verrouillés avec EvilClippy.

Limitations

Développé pour la manipulation de documents Microsoft Word et Excel.

Comme indiqué ci-dessus, l'écrasement VBA n'est pas efficace contre le format Classeur Excel 97-2003 (.xls).

Auteurs

Stan Hegt (@StanHacked) / Outflank

Avec des contributions significatives de Carrie Roberts (@OrOneEqualsOne / Walmart).

Remerciements particuliers à Nick Landers (@monoxgas / Silent Break Security) pour m'avoir orienté vers OpenMCDF.

Télécharger l’outil