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
subparse — Cadre modulaire de collecte et de corrélation d'artefacts d'analyse de logiciels malveillants | Kitploit
Outils/GitHubGitHub/jstrosch/subparse
Analyse StatiqueAnalyse Dynamique (Sandboxing)Analyse ForensiqueCollecte d'InformationsAnalyse de MalwareRenseignement sur les Menaces
GitHubjstrosch/subparse

subparse

Cadre modulaire de collecte et de corrélation d'artefacts d'analyse de logiciels malveillants

Voir le dépôt
5612il y a 2 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
Site web

subparse

Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge Generic badge

Subparse est un framework modulaire développé par Josh Strochein, Aaron Baker et Odin Bernstein. Le framework est conçu pour analyser et indexer des fichiers malveillants et présenter les informations trouvées lors de l'analyse dans un visualiseur web consultable. Le framework est modulaire, utilisant un moteur d'analyse principal, des modules d'analyse et une variété d'enrichisseurs qui ajoutent des informations supplémentaires aux index de malwares. Les principales valeurs d'entrée du framework sont des répertoires de fichiers malveillants, que le moteur d'analyse principal ou un moteur d'analyse spécifié par l'utilisateur analyse avant d'ajouter des informations supplémentaires provenant de tout moteur d'enrichissement spécifié par l'utilisateur, le tout avant d'indexer les informations analysées dans un index Elasticsearch. Les informations recueillies peuvent ensuite être recherchées et visualisées via un visualiseur web, qui permet également de filtrer sur toute valeur recueillie à partir de n'importe quel fichier. Il existe actuellement 3 moteurs d'analyse, les moteurs d'analyse par défaut (PEParser, OLEParser et ELFParser), et 2 moteurs d'enrichissement (ABUSEEnricher et CAPEEnricher).

 

Pour commencer

Prérequis logiciels

Pour commencer à utiliser Subparse, quelques programmes requis/recommandés doivent être installés et configurés avant d'essayer de travailler avec notre logiciel.

LogicielStatutLien

Prérequis supplémentaires

Après avoir installé les logiciels requis/recommandés sur votre système, quelques autres étapes doivent être suivies pour installer Subparse.

Prérequis Python
Python nécessite l'installation de certains autres paquets dont Subparse dépend pour ses processus. Pour terminer la configuration Python, accédez à l'emplacement de votre installation Subparse et allez dans le dossier *parser*. Les commandes suivantes que vous devrez utiliser pour installer les prérequis Python sont :
root@kitploit:~
sudo get apt install build-essential
pip3 install -r ./requirements.txt
Prérequis Docker
Comme Subparse utilise Docker pour son backend et son interface web, la configuration des conteneurs Docker doit être effectuée avant de pouvoir utiliser le programme. Pour ce faire, accédez au répertoire racine de l'emplacement d'installation de Subparse et utilisez la commande suivante pour configurer les instances Docker :
root@kitploit:~
docker-compose up

Remarque : Cela peut prendre un certain temps en raison du téléchargement des images et de la configuration des conteneurs nécessaires à Subparse.

 

Étapes d'installation

  • Étapes d'installation

Utilisation

Options de ligne de commande

Options de ligne de commande disponibles pour subparse/parser/subparse.py :

Visualisation des résultats

Pour visualiser les résultats des analyseurs de Subparse, accédez à localhost:8080. Si vous rencontrez des difficultés pour accéder au site, assurez-vous que le conteneur est démarré dans Docker et qu'aucun autre processus ne tourne sur le port 8080, ce qui pourrait empêcher l'accès au site.

 

Informations générales collectées

Avant l'exécution de tout analyseur, des informations générales sont collectées sur l'échantillon, quel que soit le type de fichier sous-jacent. Ces informations comprennent :

  • Hash MD5 de l'échantillon
  • Hash SHA256 de l'échantillon
  • Nom de l'échantillon
  • Taille de l'échantillon
  • Extension de l'échantillon
  • Extension dérivée de l'échantillon

Modules d'analyse

Les analyseurs ne sont exécutés QUE sur les échantillons qui correspondent au type de fichier. Par exemple, les fichiers PE seront par défaut soumis au PEParser en raison du type de fichier correspondant à ceux que le PEParser peut examiner.

Modules par défaut

ELFParser
Il s'agit du module d'analyse par défaut qui sera exécuté sur les fichiers ELF. Les informations collectées sont :
  • Informations générales
  • En-têtes de programme
  • En-têtes de section
  • Notes
  • Données spécifiques à l'architecture
  • Informations de version
  • Informations de déroulement ARM
  • Données de relocalisation
  • Étiquettes dynamiques
OLEParser
Il s'agit du module d'analyse par défaut qui sera exécuté sur les fichiers au format OLE et RTF, en utilisant le paquet OLETools pour obtenir les données. Les informations collectées sont :
  • Métadonnées
  • MRaptor
  • RTF
  • Horodatages
  • Indicateurs
  • VBA / Macros VBA
  • Objets OLE
PEParser
Il s'agit du module d'analyse par défaut qui sera exécuté sur les fichiers PE correspondant ou incluant les types de fichiers : PE32 et MS-Dos. Les informations collectées sont :
  • Code de section et comptage
  • Point d'entrée
  • Base d'image
  • Signature
  • Importations
  • Exportations

 

Modules d'enrichissement

Ces modules sont facultatifs et ne seront exécutés que s'ils sont spécifiés via l'option -e | --enrichers sur la ligne de commande.

Modules par défaut

ABUSEEnricher
Cet enrichisseur utilise l'API [Abuse.ch](https://abuse.ch/) et [Malware Bazaar](https://bazaar.abuse.ch) pour collecter plus d'informations sur le(s) échantillon(s) que Subparse analyse. Les informations sont ensuite agrégées et stockées dans la base de données Elastic.
CAPEEnricher
Cet enrichisseur est utilisé pour communiquer avec une instance CAPEv2 Sandbox, afin de collecter plus d'informations sur le(s) échantillon(s) via une analyse dynamique. Les informations sont ensuite agrégées et stockées dans la base de données Elastic en utilisant le service de messagerie Kafka pour le traitement en arrière-plan.
STRINGEnricher
Cet enrichisseur est un enrichisseur de chaînes intelligent qui analyse l'échantillon à la recherche de chaînes potentiellement intéressantes. Les catégories de chaînes recherchées incluent : Audio, Images, Fichiers exécutables, Appels de code, Fichiers compressés, Travail (documents Office), Adresses IP, Adresse IP + Port, URLs de sites Web, Arguments de ligne de commande.
YARAEnricher
Cet enrichisseur utilise un fichier yara pré-compilé situé à : parser/src/enrichers/yara_rules. Ce fichier pré-compilé inclut des règles de VirusTotal et YaraRulesProject.

 

Développement d'analyseurs et d'enrichisseurs personnalisés

La vue web de Subparse a été construite avec Bootstrap pour son CSS, ce qui permet d'utiliser tout CSS Bootstrap intégré lors du développement de vos propres fichiers Vue.js pour analyseur/enrichisseur personnalisé. Nous avons également fourni un exemple pour chacun pour vous aider à démarrer et avons également implémenté quelques widgets personnalisés pour faciliter le processus de développement et promouvoir la standardisation dans la façon dont les informations sont affichées. Tous les fichiers Vue.js sont utilisés pour afficher dynamiquement les informations de l'analyseur/enrichisseur personnalisé et servent de modèles pour les données.

Remarque : Les conventions de nommage, tant pour les noms de classe que pour les noms de fichiers, doivent être strictement respectées ; c'est la première chose à vérifier si vous rencontrez des problèmes pour que votre analyseur/enrichisseur personnalisé soit exécuté. La convention de nommage de votre analyseur/enrichisseur doit utiliser le même nom dans tous les fichiers et noms de classe.

  • Développement Python
  • Développement Vue
  • Aides Vue


Journalisation

L'objet logger est une implémentation singleton du logger Python par défaut. Pour une utilisation approfondie, veuillez vous référer à la Documentation officielle. Pour Subparse, les seules méthodes de journalisation que nous recommandons d'utiliser sont les niveaux de journalisation pour la sortie. Ce sont :

  • debug
  • warning
  • error
  • critical
  • exception
  • log
  • info


REMERCIEMENTS

  • Cette recherche et tous les co-auteurs ont été soutenus par la subvention NSA H98230-20-1-0326.
Télécharger l’outil
DockerRequisInstallation Guide
Python3.8.1RequisInstallation Guide
PyenvRecommandéInstallation Guide
ArgumentAlternativeRequisDescription
-h--helpNonAffiche le menu d'aide
-d SAMPLES_DIR--directory SAMPLES_DIROuiRépertoire des échantillons à analyser
-e ENRICHER_MODULES--enrichers ENRICHER_MODULESNonModules d'enrichissement à utiliser pour une analyse supplémentaire
-r--resetNonRéinitialiser/supprimer toutes les données dans le cluster Elasticsearch configuré
-v--verboseNonAfficher la sortie détaillée de la ligne de commande
-s--service-modeNonEntre en mode service permettant d'ajouter des échantillons au SAMPLES_DIR pendant le traitement