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
flashmingo — Analyse automatique de fichiers SWF basée sur certaines heuristiques. Extensible via des plugins. | Kitploit
Outils/GitHubGitHub/mandiant/flashmingo
Analyse StatiqueAnalyse Dynamique (Sandboxing)Analyse des VulnérabilitésRétro-ingénierieScripting et AutomatisationAnalyse ForensiqueAnalyse de MalwareAnalyse de BinairesApprentissage et ÉducationArchived
GitHubmandiant/flashmingo

flashmingo

12036il y a 7 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

Analyse automatique de fichiers SWF basée sur certaines heuristiques. Extensible via des plugins.

Voir le dépôt

FLASHMINGO

Installation

NOTE : Les instructions suivantes concernent Python3.

Si vous avez besoin d'installer FLASHMINGO sur Python2.7, vous pouvez consulter la version 1.0 sous l'onglet releases. Les étapes d'installation sont essentiellement les mêmes.

Installez les paquets Python3 listés dans requirements.txt.

Vous pouvez utiliser la commande suivante : pip3 install -r requirements.txt

Si vous souhaitez utiliser la fonctionnalité de décompilation, vous devez installer Jython. Les utilisateurs d'Ubuntu/Debian peuvent exécuter apt install jython

Clonez le projet ou téléchargez le fichier zip.

Qu'est-ce que c'est

FLASHMINGO est un framework d'analyse pour les fichiers SWF. L'outil trie automatiquement les fichiers Flash suspects et guide le processus d'analyse ultérieur, libérant ainsi des ressources précieuses dans votre équipe. Vous pouvez facilement intégrer les modules d'analyse de FLASHMINGO dans votre flux de travail.

Pourquoi

Encore aujourd'hui, les enquêteurs judiciaires et les analystes de malwares doivent traiter des fichiers SWF suspects. Si l'histoire se répète, la menace de sécurité pourrait même devenir plus grande après la fin de vie de Flash en 2020. Les systèmes continueront à prendre en charge un format de fichier hérité qui ne sera plus mis à jour avec des correctifs de sécurité. L'automatisation est la meilleure façon de gérer ce problème, et c'est là que FLASHMINGO peut vous aider. FLASHMINGO est un framework d'analyse pour traiter automatiquement les fichiers SWF, vous permettant de signaler des échantillons Flash suspects et de les analyser avec un effort minimal. Il s'intègre dans divers flux de travail d'analyse en tant qu'application autonome ou bibliothèque puissante. Les utilisateurs peuvent facilement étendre les fonctionnalités de l'outil via des plugins Python personnalisés.

Comment ça marche

Architecture

FLASHMINGO est conçu dans un souci de simplicité. Il lit un fichier SWF et crée un objet (SWFObject) représentant son contenu et sa structure. Ensuite, FLASHMINGO exécute une série de plugins agissant sur cet SWFObject et renvoyant leurs valeurs au programme principal.

Ci-dessous un diagramme de flux ASCII obligatoire :

root@kitploit:~
                                                 +----------+
                                                 |          |
                       +------------+----------->+ PLUGIN 1 +------------+
                       |            |            |          |            |
                       |            |            +----------+            |
                       |            |                                    |
                       |            |            +----------+            |
                       |            |            |          |            |
+---------+            |            +----------->+ PLUGIN 2 +--------+   |
|SWF FILE +----------->+ FLASHMINGO |            |          |        |   |
+---------+            |            |            +----------+        |   |
                       |            |                                |   |
                       |            |                                |   |
                       |            |                          +-----v---v-+
                       |            |                          |           |
                       |            |                          |           |
                       +-----+------+------------------------->+ SWFOBJECT |
                             ^                                 |           |
                             |                                 |           |
                             |                                 +-----+-----+
                             |                                       |
                             |                                       |
                             |                                       |
                             +---------------------------------------+

Lorsque vous utilisez FLASHMINGO comme bibliothèque dans vos propres projets, vous n'avez à vous soucier que de deux types d'objets :

  • un ou plusieurs SWFObject(s), représentant le(s) échantillon(s)
  • un objet Flashmingo. Celui-ci agit essentiellement comme un harnais connectant les plugins et les SWFObject(s).

Plugins !

Les plugins de FLASHMINGO sont stockés dans leurs propres répertoires sous... vous l'avez deviné : plugins Lorsqu'un objet Flashmingo est instancié, il parcourt ce répertoire et traite tous les manifestes des plugins. Si cela indique que le plugin est actif, il est enregistré pour une utilisation ultérieure. Au niveau du code, cela signifie qu'un petit dictionnaire plugin_info est ajouté à la liste plugins.

Les plugins sont invoqués via l'API run_plugin avec deux arguments :

  • le nom du plugin
  • l'instance de SWFObject

En option, la plupart des plugins vous permettent de passer vos propres données utilisateur. Cela dépend du plugin (lisez la documentation) et cela peut être expliqué plus facilement avec un exemple. Le plugin par défaut SuspiciousNames recherche dans tous les pools de constantes les chaînes contenant des sous-chaînes suspectes (par exemple : 'overflow', 'spray', 'shell', etc.). Il existe une liste de sous-chaînes courantes déjà codée en dur dans le plugin afin qu'il puisse être utilisé tel quel. Cependant, vous pouvez passer une liste de vos propres sous-chaînes définies, dans ce cas via le paramètre names.

Exemple de code :

root@kitploit:~
fm = Flashmingo()
print fm.run_plugin('DangerousAPIs', swf=swf)
print fm.run_plugin('SuspiciousNames', swf=swf, names=['spooky'])

Plugins par défaut

FLASHMINGO est fourni avec quelques plugins utiles prêts à l'emploi :

  • binary_data
  • dangerous_apis
  • decompiler
  • suspicious_constants
  • suspicious_loops
  • suspicious_names
  • template :)

Étendre FLASHMINGO

Un plugin template est fourni pour un développement facile. Étendre FLASHMINGO est assez simple. Suivez ces étapes simples :

  • Copiez le template
  • Modifiez le manifeste
  • Surchargez la méthode run
  • Ajoutez votre code personnalisé

Vous êtes prêt à partir :)

FLASHMINGO en tant que bibliothèque

API

  • Consultez le répertoire docs pour la documentation générée automatiquement
  • Consultez l'article de blog de FireEye pour un exemple

Frontaux

  • Console

Créer la documentation

$ pip install sphinxcontrib-napoleon

Après avoir configuré Sphinx pour construire votre documentation, activez napoleon dans le fichier conf.py de Sphinx :

Dans conf.py, ajoutez napoleon à la liste des extensions

root@kitploit:~
extensions = ['sphinxcontrib.napoleon']

Utilisez sphinx-apidoc pour construire votre documentation d'API :

$ sphinx-apidoc -f -o docs/source projectdir

Ceci crée des fichiers .rst que Sphinx traitera

$ make html

C'est tout ! :)

Télécharger l’outil