Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
munin — Online-Hash-Prüfer für Virustotal und andere Dienste | Kitploit
Tools/GitHubGitHub/neo23x0/munin
OSINT (Open-Source-Intelligence)SchwachstellenanalyseHash-AnalyseInformationsbeschaffungMalware-AnalyseBedrohungsanalyse
GitHubneo23x0/munin

munin

Online-Hash-Prüfer für Virustotal und andere Dienste

Repository anzeigen
8521504vor 1 TagVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Actively Maintained

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

Online-Hash-Checker für Virustotal und andere Dienste
Florian Roth

Was ist Munin?

Munin ist ein Online-Hash-Checker, der wertvolle Informationen aus verschiedenen Online-Quellen abruft.

Die aktuelle Version von Munin fragt die folgenden Dienste ab:

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

Screenshot

Standardmodus – Hashes aus Datei lesen

Munin Screenshot

Verwendung

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]

Online-Hash-Checker

optionale Argumente:
  -h, --help            Zeigt diese Hilfemeldung an und beendet das Programm
  -f path               Zu verarbeitende Datei (Hash zeilenweise ODER CSV mit Hash
                        in jeder Zeile – erkennt Position und Kommentar automatisch)
  --vh search-string    Valhalla nach Hashes durchsuchen nach Schlüsselwort, Tags,
                        YARA-Regelname, Mitre ATT&CK-Software (z. B. S0154),
                        Technik (z. B. T1023) oder Bedrohungsgruppe (z. B. G0049)
  --vhrule search-string
                        Valhalla nach Hashes über Regeln durchsuchen nach Schlüsselwort,
                        Tags, YARA-Regelname, Mitre ATT&CK-Software (z. B.
                        S0154), Technik (z. B. T1023) oder Bedrohungsgruppe
                        (z. B. G0049)
  -o output             Ausgabedatei für Ergebnisse (CSV)
  --vtwaitquota         Nicht fortsetzen, wenn VT-Kontingent überschritten ist, sondern
                        auf den nächsten Tag warten
  --vtminav min-matches
                        Minimale Anzahl von AV-Treffern, um Hash-Info von VT abzufragen
  --limit hash-limit    Beenden nach Verarbeitung dieser vielen neuen Hashes im Batch-
                        Modus (Cache ignoriert).
  --vhmaxage days       Maximales Alter des Samples auf Valhalla, das verarbeitet werden soll
  -c cache-db           Name der Cache-Datenbankdatei (Standard: vt-hash-
                        db.json)
  -i ini-file           Name der INI-Datei, die die API-Schlüssel enthält
  -s sample-folder      Ordner mit zu verarbeitenden Samples
  --comment             Postet einen Kommentar für den analysierten Hash, der den
                        Kommentar aus der Log-Zeile enthält
  -p vt-comment-prefix  Virustotal-Kommentar-Präfix
  --download            Aktiviert Sample-Download von Hybrid Analysis.
                        SHA256 des Samples erforderlich.
  -d download_path      Ausgabepfad für Sample-Download von Hybrid
                        Analysis. Ordner muss existieren
  --nocache             Cache-Datenbankdatei nicht verwenden
  --nocsv               Keine CSV mit den Ergebnissen schreiben
  --verifycert          SSL/TLS-Zertifikate überprüfen
  --sort                Die Eingabezeilen sortieren
  --web                 Munin als Webdienst ausführen
  -w port               Webdienst-Port
  --cli                 Munin im Kommandozeilen-Interface-Modus ausführen
  --rescan              Ein erneutes Scannen jeder analysierten Datei auslösen
  --debug               Debug-Ausgabe

Funktionen

  • Ruft wertvolle Informationen von Virustotal über die API (JSON-Antwort) und andere Informationen über Permalink (HTML-Parsing) ab
  • Ruft zusätzliche Informationen von einer Liste von Plattformen ab
  • Führt eine Historie (Cache), um die Dienste nur einmal für einen Hash abzufragen, der möglicherweise mehrfach in der Textdatei vorkommt
  • Cache-Objekte werden in JSON gespeichert
  • Erstellt CSV-Datei mit den Ergebnissen für einfache Nachbearbeitung und Berichterstellung
  • Hängt Ergebnisse an eine vorhandene CSV an, falls verfügbar

Anzeigen

  • Hash und Kommentar (Kommentar ist der Rest der Zeile, aus der der Hash extrahiert wurde)
  • AV-Anbieter-Treffer basierend auf einer benutzerdefinierten Liste
  • Dateinamen, die im Umlauf verwendet wurden
  • PE-Informationen wie Beschreibung, ursprünglicher Dateiname und Copyright-Hinweis
  • Signierer einer signierten portablen ausführbaren Datei
  • Ergebnis basierend auf dem Virustotal-Verhältnis
  • Erste und letzte Einreichung
  • Tags für bestimmte Indikatoren: Harmlos, Signiert, Abgelaufen, Widerrufen, MSSoftware

Zusätzliche Prüfungen

  • Fragt Malshare.com nach Sample-Uploads ab
  • Fragt Hybrid-Analysis.com nach Berichten ab
  • Fragt mehrere MISP-Instanzen nach verfügbaren Ereignissen ab
  • Fragt die Any.run-Sandbox nach Berichten ab
  • Fragt die CAPE-Sandbox nach Berichten ab
  • Fragt URLhaus nach Berichten ab
  • Fragt Malshare nach verfügbaren Samples ab
  • Fragt Valhalla nach YARA-Regel-Treffern ab
  • Imphash-Duplikate im aktuellen Batch – ermöglicht das Erkennen von Überschneidungen in Importtabellen-Hashes
  • PE-Signatur-Duplikatprüfungen

Betriebsmodi

  1. Standard – durch Angabe einer Eingabedatei (-f) mit Hashes oder eines Sample-Verzeichnisses (-s)
  2. Abfrage – Hashes aus Valhalla nach Schlüsselwort, Tags, ATT&CK-Technik (z. B. T1023), ATT&CK-Bedrohungsgruppe (z. B. G0049) oder Regelname durchsuchen (-q)
  3. Kommandozeilen-Interface – mit dem Parameter --cli
  4. Webdienst-Modus – mit dem Parameter --web

Erste Schritte

  1. Das Repository herunterladen / klonen
  2. Erforderliche Pakete installieren: pip3 install -r requirements.txt (unter macOS --user hinzufügen)
  3. Die API-Schlüssel für die verschiedenen Dienste in Ihrer benutzerdefinierten INI-Datei festlegen: cp munin.ini my.ini (siehe Abschnitt API-Schlüssel abrufen für Hilfe)
  4. Die Demodatei für einen ersten Lauf verwenden: python munin.py -i my.ini -f munin-demo.txt

Anforderungen

  • Python 3.7 und höher
  • Internetverbindung (Proxy-Unterstützung; SSL/TLS-Interception kann problematisch sein)

Typische Befehlszeilen

Ein Virustotal Retrohunt-Ergebnis verarbeiten und die Zeilen vor der Prüfung sortieren, sodass übereinstimmende Signaturen in Blöcken geprüft werden

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

Ein Verzeichnis mit Samples verarbeiten und deren Hashes online prüfen

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

Den Kommandozeilen-Interface-Modus verwenden (neu in v0.14)

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

API-Schlüssel abrufen

Virustotal

  1. Ein Konto erstellen unter https://www.virustotal.com/#/join-us
  2. Unter Profil > Mein API-Schlüssel Ihren öffentlichen API-Schlüssel prüfen

MalShare

Hier registrieren: https://malshare.com/register.php

Malware Bazaar

Hier registrieren: https://bazaar.abuse.ch/. Ihren API-Schlüssel finden Sie dann in Ihrer Kontoübersicht.

Hybrid Analysis

  1. Ein Konto erstellen unter https://www.hybrid-analysis.com/signup
  2. Nach dem Login unter Profil > API-Schlüssel prüfen

MISP

  1. In Ihr MISP einloggen
  2. Zu Ihrem Profil "Mein Profil" gehen
  3. Der Wert von Authkey wird als API-Schlüssel verwendet
  4. Beachten Sie, dass die .ini-Datei sowohl eine Liste für die MISP-Instanzen als auch für die entsprechenden API-Schlüssel verwendet

Valhalla

Derzeit nur für Kunden oder eingeladene Forscher
https://valhalla.nextron-systems.com/

Hashlookup

Hashlookup Die CIRCL-Instanz wird kostenlos zur Verfügung gestellt und nach bestem Gewissen betrieben.

Kommandozeilen-Interface-Modus

Munin mit --cli starten und den Anweisungen folgen.

Z. B.

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

Inhalt mit Hash-Werten einfügen und dann CTRL+D drücken, um die Eingabe abzuschließen. Die letzte Zeile benötigt am Ende einen Zeilenumbruch.

Im Standardmodus wird eine CSV-Datei mit dem aktuellen Datum im Dateinamen erstellt.

Munin CLI

Webdienst-Modus

Munin mit --web und optional einem Port -w port starten.

Z. B.

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

Der Webdienst wartet auf Zeichenfolgen im folgenden URL-Schema.

root@kitploit:~
http://server:port/<string>

Der String kann ein beliebiger String ohne Zeilenumbrüche sein, z. B.

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

Das Ergebnis sieht dann wie folgt aus:

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"
}

Die Abfragen an Virustotal müssen gedrosselt werden. Daher wendet der Webdienst eine Abkühlzeit an, die minimiert wird, indem die Zeit, die für die Verarbeitung aller anderen Plattformen benötigt wurde, von der Wartezeit von 15 Sekunden abgezogen wird.

root@kitploit:~
cooldown_time = vt_wait_time - process_time

Während der Abkühlzeit geben Anfragen diese Antwort zurück:

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

Die Abkühlzeit ist nicht relevant, wenn Hashes abgefragt werden, die sich bereits im Lookup-Cache befinden.

Munin Hosts

Das Munin-Host- und IP-Prüf-Skript (munin-host.py) ruft weitere Informationen zu IP-Adressen und Host-/Domainnamen in IOC-Listen ab.

Verwendung

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]

    Virustotal Online Checker (IP/Domain)

    optionale Argumente:
      -h, --help        Zeigt diese Hilfemeldung an und beendet das Programm
      -f path           Zu verarbeitende Datei (Hash zeilenweise ODER CSV mit Hash in
                        jeder Zeile – erkennt Position und Kommentar automatisch)
      -o output         Ausgabedatei für Ergebnisse (CSV)
      -m max-items      Maximale Anzahl von Elementen (URLs, Hosts, Samples) zum Anzeigen
      -c cache-db       Name der Cache-Datenbankdatei (Standard: vt-hosts-
                        db.json)
      -i ini-file       Name der INI-Datei, die die API-Schlüssel enthält
      --nocache         Die Cache-Datenbank nicht laden (vt-check-cache.pkl)
      --nocsv           Keine CSV mit den Ergebnissen schreiben
      --recursive       Die aufgelösten IPs ebenfalls verarbeiten
      --download        Versuchen, die URLs herunterzuladen (Verzeichnisse mit Host/IP-Namen)
      -d download_path  Die Downloads im angegebenen Verzeichnis speichern
      --dups            Doppelte Hashes nicht überspringen
      --noresolve       Keinen DNS-Resolver-Test für gefundene Domainnamen durchführen
      --ping            Ping-Check für IPs durchführen (beschleunigt den Vorgang, wenn viele
                        öffentliche, aber intern geroutete IPs in der Textdatei erscheinen)
      --debug           Debug-Ausgabe

Screenshot

Munin Hosts_Screenshot

Beispiele

Die Demodatei parsen, IPs und Hosts extrahieren, nur die Domains prüfen, die noch auflösbar sind, und Samples direkt von den entfernten Systemen herunterladen.

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

Warnung

Die Verwendung von munin-host.py in einem IDS-überwachten Netzwerk wird zahlreiche Alarme auslösen, da munin-host.py DNS-Lookups für bösartige Domains durchführt und die Option bietet, bösartige Samples herunterzuladen.

Probleme

pycurl auf macOS

Das Skript munin-host.py benötigt das Modul pycurl. Es kann unter macOS manchmal schwierig sein, es zum Laufen zu bringen, da ein installiertes OpenSSL erforderlich ist, das dann im Build-Prozess verwendet wird.

Wenn Fehler auftreten, versuchen Sie Folgendes (manche Umgebungen erfordern 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 für Virustotal Retrohunts

Das Hugin-Skript (hugin.py) ruft Informationen zu allen Samples ab, die in einem Retrohunt zurückgegeben werden, und zeigt sie an. Der große Vorteil ist, dass Sie nicht 15 Sekunden zwischen jeder Sample-Anfrage warten müssen, sondern die vollständige JSON-Ergebnisdatei über v3 der Virustotal-API abrufen. Auf diese Weise erhalten Sie Ihre Ergebnisse sofort. Der Nachteil ist, dass andere Dienste wie Any.run, Hybrid-Analysis, MISP oder Valhalla mit Hugin nicht abgefragt werden.

Verwendung

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

Retrohunt-Checker

optionale Argumente:
  -h, --help           Zeigt diese Hilfemeldung an und beendet das Programm
  -r retrohunt-name    Name für den abgefragten Retrohunt
  -i ini-file           Name der INI-Datei, die den VT-API-Schlüssel enthält
  --csv-path CSV_PATH  Eine CSV mit den Ergebnissen schreiben
  --debug              Debug-Ausgabe
  --no-comments        VirusTotal-Kommentare überspringen

Beispiele

Einen Retrohunt analysieren und eine CSV-Datei mit den Ergebnissen exportieren.

root@kitploit:~
python3 hugin.py -i config-with-your-key.ini -r retrohunt-123456789
Tool herunterladen