
Cadre modulaire de collecte et de corrélation d'artefacts d'analyse de logiciels malveillants
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 à utiliser Subparse, quelques programmes requis/recommandés doivent être installés et configurés avant d'essayer de travailler avec notre logiciel.
| Logiciel | Statut | Lien |
|---|---|---|
| Docker | Requis | Installation Guide |
| Python3.8.1 | Requis | Installation Guide |
| Pyenv | Recommandé | Installation Guide |
Après avoir installé les logiciels requis/recommandés sur votre système, quelques autres étapes doivent être suivies pour installer Subparse.
sudo get apt install build-essential pip3 install -r ./requirements.txt
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.
Options de ligne de commande disponibles pour subparse/parser/subparse.py :
| Argument | Alternative | Requis | Description |
|---|---|---|---|
| -h | --help | Non | Affiche le menu d'aide |
| -d SAMPLES_DIR | --directory SAMPLES_DIR | Oui | Répertoire des échantillons à analyser |
| -e ENRICHER_MODULES | --enrichers ENRICHER_MODULES | Non | Modules d'enrichissement à utiliser pour une analyse supplémentaire |
| -r | --reset | Non | Réinitialiser/supprimer toutes les données dans le cluster Elasticsearch configuré |
| -v | --verbose | Non | Afficher la sortie détaillée de la ligne de commande |
| -s | --service-mode | Non | Entre en mode service permettant d'ajouter des échantillons au SAMPLES_DIR pendant le traitement |
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.
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 :
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.
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.