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
munin — Vérificateur de hash en ligne pour Virustotal et autres services | Kitploit
Outils/GitHubGitHub/neo23x0/munin
OSINT (Renseignement de Sources Ouvertes)Analyse des VulnérabilitésAnalyse de HachageCollecte d'InformationsAnalyse de MalwareRenseignement sur les Menaces
GitHubneo23x0/munin

munin

Vérificateur de hash en ligne pour Virustotal et autres services

Voir le dépôt
8521504il y a 1 anVé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

Actively Maintained

root@kitploit:~
 _________   _    _   ______  _____  ______
| | | | | \ | |  | | | |  \ \  | |  | |  \ \     /.)
| | | | | | | |  | | | |  | |  | |  | |  | |    /)\|
|_| |_| |_| \_|__|_| |_|  |_| _|_|_ |_|  |_|   // /
                                              /'" "

Vérificateur de hachages en ligne pour Virustotal et autres services
Florian Roth

Qu'est-ce que Munin ?

Munin est un utilitaire de vérification de hachages en ligne qui récupère des informations précieuses auprès de diverses sources en ligne

La version actuelle de Munin interroge les services suivants :

  • Virustotal
  • HybridAnalysis
  • Any.Run
  • URLhaus
  • MISP
  • CAPE
  • Malshare
  • Valhalla
  • Hashlookup

Capture d'écran

Mode par défaut - Lire les hachages depuis un fichier

Munin Screenshot

Utilisation

root@kitploit:~
usage: munin.py [-h] [-f path] [--vh search-string]
                [--vhrule search-string] [-o output] [--vtwaitquota]
                [--vtminav min-matches] [--limit hash-limit]
                [--vhmaxage days] [-c cache-db] [-i ini-file]
                [-s sample-folder] [--comment] [-p vt-comment-prefix]
                [--download] [-d download_path] [--nocache] [--nocsv]
                [--verifycert] [--sort] [--web] [-w port] [--cli]
                [--rescan] [--debug]

Vérificateur de hachages en ligne

arguments optionnels :
  -h, --help            affiche ce message d'aide et quitte
  -f path               Fichier à traiter (hachage ligne par ligne OU csv avec hachage dans chaque ligne - détecte automatiquement la position et le commentaire)
  --vh search-string    Interroge Valhalla pour les hachages par mot-clé, tags, nom de règle YARA, logiciel Mitre ATT&CK (ex. S0154), technique (ex. T1023) ou groupe de menace (ex. G0049)
  --vhrule search-string
                        Interroge Valhalla pour les hachages via des règles par mot-clé, tags, nom de règle YARA, logiciel Mitre ATT&CK (ex. S0154), technique (ex. T1023) ou groupe de menace (ex. G0049)
  -o output             Fichier de sortie pour les résultats (CSV)
  --vtwaitquota         Ne pas continuer si le quota VT est dépassé mais attendre le jour suivant
  --vtminav min-matches
                        Nombre minimum de correspondances AV pour interroger les informations de hachage depuis VT
  --limit hash-limit    Quitter après avoir traité ce nombre de nouveaux hachages en mode batch (cache ignoré).
  --vhmaxage days       Âge maximum de l'échantillon sur Valhalla à traiter
  -c cache-db           Nom du fichier de base de données cache (par défaut : vt-hash-db.json)
  -i ini-file           Nom du fichier ini contenant les clés API
  -s sample-folder      Dossier contenant les échantillons à traiter
  --comment             Publie un commentaire pour le hachage analysé contenant le commentaire de la ligne de log
  -p vt-comment-prefix  Préfixe de commentaire Virustotal
  --download            Active le téléchargement d'échantillons depuis Hybrid Analysis. SHA256 de l'échantillon requis.
  -d download_path      Chemin de sortie pour le téléchargement d'échantillons depuis Hybrid Analysis. Le dossier doit exister
  --nocache             Ne pas utiliser le fichier de base de données cache
  --nocsv               Ne pas écrire de CSV avec les résultats
  --verifycert          Vérifier les certificats SSL/TLS
  --sort                Trier les lignes d'entrée
  --web                 Lancer Munin en tant que service web
  -w port               Port du service web
  --cli                 Lancer Munin en mode interface en ligne de commande
  --rescan              Déclencher une nouvelle analyse de chaque fichier analysé
  --debug               Sortie de débogage

Fonctionnalités

  • Récupère des informations précieuses de Virustotal via API (réponse JSON) et d'autres informations via permalien (analyse HTML)
  • Récupère des informations supplémentaires depuis une liste de plateformes
  • Conserve un historique (cache) pour n'interroger les services qu'une seule fois pour un hachage pouvant apparaître plusieurs fois dans le fichier texte
  • Les objets mis en cache sont stockés en JSON
  • Crée un fichier CSV avec les résultats pour un post-traitement et un rapport faciles
  • Ajoute les résultats à un CSV précédent si disponible

Affichages

  • Hachage et commentaire (le commentaire est le reste de la ligne dont le hachage a été extrait)
  • Correspondances de fournisseurs AV basées sur une liste définie par l'utilisateur
  • Noms de fichiers utilisés dans la nature
  • Informations PE comme la description, le nom de fichier original et la déclaration de copyright
  • Signataire d'un exécutable portable signé
  • Résultat basé sur le ratio Virustotal
  • Première et dernière soumission
  • Tags pour certains indicateurs : Inoffensif, Signé, Expiré, Révoqué, LogicielMicrosoft

Vérifications supplémentaires

  • Interroge Malshare.com pour les téléchargements d'échantillons
  • Interroge Hybrid-Analysis.com pour les rapports
  • Interroge plusieurs instances MISP pour les événements disponibles
  • Interroge le bac à sable Any.run pour les rapports
  • Interroge le bac à sable CAPE pour les rapports
  • Interroge URLhaus pour les rapports
  • Interroge Malshare pour les échantillons disponibles
  • Interroge Valhalla pour les correspondances de règles YARA
  • Doublons Imphash dans le lot actuel > vous permet de repérer les chevauchements dans les hachages de table d'importation
  • Vérifications de doublons de signature PE

Modes de fonctionnement

  1. Par défaut - en fournissant un fichier d'entrée (-f) avec des hachages ou un répertoire d'échantillons (-s)
  2. Requête - pour rechercher des hachages depuis Valhalla par mot-clé, tags, technique ATT&CK (ex. T1023), groupe de menace ATT&CK (ex. G0049) ou nom de règle (-q)
  3. Interface en ligne de commande - en utilisant le paramètre --cli
  4. Mode service web - en utilisant le paramètre --web

Pour commencer

  1. Téléchargez / clonez le dépôt
  2. Installez les paquets requis : pip3 install -r requirements.txt (sur macOS ajoutez --user)
  3. Définissez les clés API pour les différents services dans votre fichier ini personnalisé cp munin.ini my.ini (voir section Obtenir les clés API pour de l'aide)
  4. Utilisez le fichier de démonstration pour un premier essai : python munin.py -i my.ini -f munin-demo.txt

Prérequis

  • Python 3.7 et supérieur
  • Connexion Internet (support proxy ; l'interception SSL/TLS peut poser problème)

Lignes de commande typiques

Traiter un résultat Virustotal Retrohunt et trier les lignes avant la vérification afin que les signatures correspondantes soient vérifiées par blocs

root@kitploit:~
python3 munin.py -i my.ini -f ~/Downloads/retro_hunt

Traiter un répertoire contenant des échantillons et vérifier leurs hachages en ligne

root@kitploit:~
python3 munin.py -i my.ini -s ~/malware/case34

Utiliser le mode interface en ligne de commande (nouveau dans v0.14)

root@kitploit:~
python3 munin.py -i my.ini

Obtenir les clés API

Virustotal

  1. Créez un compte ici https://www.virustotal.com/#/join-us
  2. Vérifiez Profil > Ma clé API pour votre clé API publique

MalShare

Inscrivez-vous ici https://malshare.com/register.php

Malware Bazaar

Inscrivez-vous ici https://bazaar.abuse.ch/. Vous pouvez ensuite trouver votre clé API dans votre Aperçu du compte.

Hybrid Analysis

  1. Créez un compte ici https://www.hybrid-analysis.com/signup
  2. Après connexion, vérifiez Profil > Clé API

MISP

  1. Connectez-vous à votre MISP
  2. Allez dans votre profil "Mon profil"
  3. La valeur de Authkey est utilisée comme clé API
  4. Notez que le fichier .ini utilise à la fois une liste pour les instances MISP et pour les clés API respectives

Valhalla

Actuellement réservé aux clients ou chercheurs invités uniquement
https://valhalla.nextron-systems.com/

Hashlookup

Hashlookup L'instance CIRCL est fournie gratuitement et servie au mieux.

Mode Interface en Ligne de Commande

Lancez munin avec --cli et suivez les instructions.

Exemple :

root@kitploit:~
python3 munin.py -i my.ini --cli

Collez le contenu contenant des valeurs de hachage, puis appuyez sur CTRL+D pour finaliser l'entrée. La dernière ligne doit avoir un saut de ligne à sa fin.

Par défaut, il créera un fichier CSV avec la date du jour dans le nom du fichier.

Munin CLI

Mode Service Web

Lancez munin avec --web et sélectionnez éventuellement un port -w port.

Exemple :

root@kitploit:~
python3 munin.py -i my.ini --web -w 8080

Le service web attend des chaînes dans le schéma d'URL suivant.

root@kitploit:~
http://server:port/<chaîne>

La chaîne peut être n'importe quelle chaîne sans sauts de ligne, par exemple

root@kitploit:~
Emotet:1585ad28f7d1e0ca696e6c6c2f1d008a
ed01ebfbc9eb5bbea545af4d01bf5f1071661840480439c6e5babe8e080e41aa;IOC1
dc9b5e8aa6ec86db8af0a7aa897ca61db3e5f3d2e0942e319074db1aaccfdc83

Le résultat ressemblera à ceci :

root@kitploit:~
{
    "comment": "Emotet",
    "commenter": "-",
    "comments": "0",
    "copyright": "Copyright (C) America Online, Inc. 1999 - 2004",
    "description": "Utilities",
    "expired": false,
    "filenames": "sourcedev.exe, MISCUTIL, x8ykNnr_9WofXq7Nh_xuEzSPW.exe, jwuKBLWN681ztj6Zks.exe",
    "filetype": "Win32 EXE",
    "first_submitted": "2019-01-19 13:46:21 UTC ( 2 months, 2 weeks ago )",
    "firstsubmission": "2019-01-19 13:46:21 UTC ( 2 months, 2 weeks ago )",
    "harmless": false,
    "hash": "1585ad28f7d1e0ca696e6c6c2f1d008a",
    "hybrid_available": false,
    "hybrid_compromised": "-",
    "hybrid_date": "-",
    "hybrid_score": "-",
    "imphash": "2820d9bdc397f88a8a1e957e1a824482",
    "last_submitted": "2019-02-27 09:44:03",
    "malshare_available": false,
    "md5": "1585ad28f7d1e0ca696e6c6c2f1d008a",
    "misp_available": true,
    "misp_events": "",
    "misp_info": [],
    "mssoft": false,
    "origname": "-",
    "positives": 48,
    "rating": "malicious",
    "res_color": "\u001b[41m",
    "result": "48 / 64",
    "revoked": false,
    "sha1": "4561d0ad575d5f02fb06e062a37de15861c3bd89",
    "sha256": "35e304d10d53834e3e41035d12122773c9a4d183a24e03f980ad3e6b2ecde7fa",
    "signed": false,
    "signer": "-",
    "total": 64,
    "urlhaus_available": true,
    "vendor_results": {
        "CrowdStrike": "win/malicious_confidence_100% (W)",
        "ESET-NOD32": "a variant of Win32/Kryptik.GOUY",
        "F-Secure": "Trojan.TR/AD.Emotet.pdiuu",
        "GData": "Trojan.GenericKD.40960256",
        "Kaspersky": "HEUR:Trojan.Win32.Generic",
        "McAfee": "Emotet-FLL!1585AD28F7D1",
        "Microsoft": "Trojan:Win32/Emotet.DN",
        "Sophos": "Mal/Emotet-Q",
        "Symantec": "Trojan.Gen.2",
        "TrendMicro": "-"
    },
    "virus": "Microsoft: Trojan:Win32/Emotet.DN / Kaspersky: HEUR:Trojan.Win32.Generic / McAfee: Emotet-FLL!1585AD28F7D1 / CrowdStrike: win/malicious_confidence_100% (W) / ESET-NOD32: a variant of Win32/Kryptik.GOUY / Symantec: Trojan.Gen.2 / F-Secure: Trojan.TR/AD.Emotet.pdiuu / Sophos: Mal/Emotet-Q / GData: Trojan.GenericKD.40960256",
    "virusbay_available": false,
    "vt_positives": 48,
    "vt_queried": false,
    "vt_total": 64,
    "vt_verbose_msg": "Scan finished, information embedded"
}

Les requêtes vers Virustotal doivent être limitées. Par conséquent, le service web applique un temps de refroidissement, minimisé en soustrayant le temps de traitement de toutes les autres plateformes du temps d'attente de 15 secondes.

root@kitploit:~
cooldown_time = vt_wait_time - process_time

Pendant le refroidissement, les requêtes renverront cette réponse :

root@kitploit:~
{"status": "VT cooldown active"}

Le refroidissement n'est pas pertinent lors de la demande de hachages déjà présents dans le cache de recherche.

Hôtes Munin

Le script de vérification d'hôte et d'IP Munin (munin-host.py) récupère plus d'informations sur les adresses IP et les noms d'hôtes/domaines dans les listes d'IOC.

Utilisation

root@kitploit:~
    usage: munin-host.py [-h] [-f path] [-o output] [-m max-items] [-c cache-db]
                        [-i ini-file] [--nocache] [--nocsv] [--recursive]
                        [--download] [-d download_path] [--dups] [--noresolve]
                        [--ping] [--debug]

    Vérificateur en ligne Virustotal (IP/Domaine)

    arguments optionnels :
      -h, --help        affiche ce message d'aide et quitte
      -f path           Fichier à traiter (hachage ligne par ligne OU csv avec hachage dans chaque ligne - détecte automatiquement la position et le commentaire)
      -o output         Fichier de sortie pour les résultats (CSV)
      -m max-items      Nombre maximum d'éléments (urls, hôtes, échantillons) à afficher
      -c cache-db       Nom du fichier de base de données cache (par défaut : vt-hosts-db.json)
      -i ini-file       Nom du fichier ini contenant les clés API
      --nocache         Ne pas utiliser le chargement de la base de cache (vt-check-cache.pkl)
      --nocsv           Ne pas écrire de CSV avec les résultats
      --recursive       Traiter également les IP résolues
      --download        Essayer de télécharger les URLs (répertoires avec noms d'hôte/ip)
      -d download_path  Stocker les téléchargements dans le répertoire donné
      --dups            Ne pas ignorer les hachages en double
      --noresolve       Ne pas effectuer de test de résolution DNS sur les noms de domaine trouvés
      --ping            Effectuer un test ping sur les IP (accélère le processus si de nombreuses IP publiques mais routées en interne apparaissent dans le fichier texte)
      --debug           Sortie de débogage

Capture d'écran

Munin Hosts_Screenshot

Exemples

Analyser le fichier de démonstration, extraire les IP et les hôtes, ne pas vérifier uniquement les domaines encore résolvables et télécharger les échantillons directement depuis les systèmes distants.

root@kitploit:~
python3 munin-host.py -i your-key.ini -f ./munin-hosts-demo.txt --noresolve --download

Avertissement

L'utilisation de munin-host.py dans un réseau surveillé par IDS déclenchera de nombreuses alertes car munin-host.py effectue des requêtes DNS pour des domaines malveillants et a la possibilité de télécharger des échantillons malveillants.

Problèmes

pycurl sur macOS

Le script munin-host.py nécessite le module pycurl. Il est parfois difficile de le faire fonctionner sur macOS car il nécessite qu'un openssl soit installé, qui est ensuite utilisé dans le processus de construction.

Si des erreurs se produisent, essayez ce qui suit (certains environnements nécessiteront pip3)

root@kitploit:~
pip uninstall pycurl
brew update
brew reinstall openssl
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"
export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
export PYCURL_SSL_LIBRARY=openssl
pip install pycurl --global-option="--with-openssl"

Hugin pour les rétrochasses Virustotal

Le script Hugin (hugin.py) récupère et affiche les informations de tous les échantillons renvoyés dans une rétrochasse. Le grand avantage est que vous n'avez pas à attendre 15 secondes entre chaque demande d'échantillon, mais que vous récupérez le fichier JSON complet via la v3 de l'API Virustotal. De cette façon, vous obtenez vos résultats immédiatement. L'inconvénient est que les autres services comme Any.run, Hybrid-Analysis, MISP ou Valhalla ne sont pas interrogés avec Hugin.

Utilisation

root@kitploit:~
usage: hugin.py [-h] [-r retrohunt-name] [-i ini-file]
                [--csv-path CSV_PATH] [--debug] [--no-comments]

Vérificateur de rétrochasse

arguments optionnels :
  -h, --help           affiche ce message d'aide et quitte
  -r retrohunt-name   Nom de la rétrochasse interrogée
  -i ini-file           Nom du fichier ini contenant la clé API VT
  --csv-path CSV_PATH  Écrire un CSV avec les résultats
  --debug              Sortie de débogage
  --no-comments        Ignorer les commentaires VirusTotal

Exemples

Analyser une rétrochasse et exporter un fichier CSV avec les résultats.

root@kitploit:~
python3 hugin.py -i config-with-your-key.ini -r retrohunt-123456789
Télécharger l’outil