Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
munin — Controllo hash online per Virustotal e altri servizi | Kitploit
Strumenti/GitHubGitHub/neo23x0/munin
OSINT (Open Source Intelligence)Analisi delle VulnerabilitàAnalisi HashRaccolta InformazioniAnalisi MalwareThreat Intelligence
GitHubneo23x0/munin

munin

Controllo hash online per Virustotal e altri servizi

Vedi Repository
85215041 anno faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Activamente Mantenuto

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

Controllo online di hash per Virustotal e altri servizi
Florian Roth

Cos'è Munin?

Munin è un'utilità di controllo online degli hash che recupera informazioni preziose da varie fonti online

La versione attuale di Munin interroga i seguenti servizi:

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

Schermata

Modalità predefinita - Leggi hash da file

Schermata di Munin

Utilizzo

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]

Controllo online di hash

argomenti opzionali:
  -h, --help            mostra questo messaggio di aiuto ed esci
  -f path               File da elaborare (hash riga per riga OPPURE csv con hash
                        in ogni riga - rileva automaticamente posizione e commento)
  --vh search-string    Interroga Valhalla per hash tramite parola chiave, tag, nome
                        regola YARA, software Mitre ATT&CK (es. S0154),
                        tecnica (es. T1023) o gruppo di minaccia (es. G0049)
  --vhrule search-string
                        Interroga Valhalla per hash tramite regole tramite parola
                        chiave, tag, nome regola YARA, software Mitre ATT&CK (es.
                        S0154), tecnica (es. T1023) o gruppo di minaccia
                        (es. G0049)
  -o output             File di output per i risultati (CSV)
  --vtwaitquota         Non continuare se la quota VT è superata, ma attendi
                        il giorno successivo
  --vtminav min-matches
                        Numero minimo di corrispondenze AV per interrogare le info
                        hash da VT"
  --limit hash-limit    Esci dopo aver gestito questo numero di nuovi hash in modalità
                        batch (cache ignorata).
  --vhmaxage days       Età massima del campione su Valhalla da elaborare
  -c cache-db           Nome del file di database della cache (default: vt-hash-
                        db.json)
  -i ini-file           Nome del file ini che contiene le chiavi API
  -s sample-folder      Cartella con campioni da elaborare
  --comment             Invia un commento per l'hash analizzato che
                        contiene il commento dalla riga di log
  -p vt-comment-prefix  Prefisso commento Virustotal
  --download            Abilita il download dei campioni da Hybrid Analysis.
                        È necessario lo SHA256 del campione.
  -d download_path      Percorso di output per il download dei campioni da Hybrid
                        Analysis. La cartella deve esistere
  --nocache             Non utilizzare il file di database della cache
  --nocsv               Non scrivere un CSV con i risultati
  --verifycert          Verifica i certificati SSL/TLS
  --sort                Ordina le righe di input
  --web                 Esegui Munin come servizio web
  -w port               Porta del servizio web
  --cli                 Esegui Munin in modalità interfaccia a riga di comando
  --rescan              Attiva una nuova scansione di ogni file analizzato
  --debug               Output di debug

Caratteristiche

  • Recupera informazioni preziose da Virustotal tramite API (risposta JSON) e altre informazioni tramite permalink (analisi HTML)
  • Recupera informazioni aggiuntive da un elenco di piattaforme
  • Mantiene uno storico (cache) per interrogare i servizi una sola volta per un hash che potrebbe apparire più volte nel file di testo
  • Gli oggetti in cache sono memorizzati in JSON
  • Crea un file CSV con i risultati per una facile post-elaborazione e reportistica
  • Aggiunge i risultati a un CSV precedente se disponibile

Visualizzazioni

  • Hash e commento (il commento è il resto della riga da cui è stato estratto l'hash)
  • Corrispondenze dei vendor AV basate su un elenco definito dall'utente
  • Nomi file utilizzati in natura
  • Informazioni PE come descrizione, nome file originale e dichiarazione di copyright
  • Firmatario di un eseguibile portatile firmato
  • Risultato basato sul rapporto di Virustotal
  • Prima e ultima sottomissione
  • Tag per alcuni indicatori: Harmless, Signed, Expired, Revoked, MSSoftware

Controlli aggiuntivi

  • Interroga Malshare.com per caricamenti di campioni
  • Interroga Hybrid-Analysis.com per report
  • Interroga più istanze MISP per eventi disponibili
  • Interroga Any.run per report sandbox
  • Interroga CAPE sandbox per report
  • Interroga URLhaus per report
  • Interroga Malshare per campioni disponibili
  • Interroga Valhalla per corrispondenze di regole YARA
  • Duplicati Imphash nel lotto corrente > permette di individuare sovrapposizioni negli hash delle tabelle di importazione
  • Controlli duplicati firma PE

Modalità operative

  1. Predefinita - fornendo un file di input (-f) con hash o una directory di campioni (-s)
  2. Query - per cercare hash da Valhalla per parola chiave, tag, tecnica ATT&CK (es. T1023), gruppo di minaccia ATT&CK (es. G0049) o nome regola (-q)
  3. Interfaccia a riga di comando - usando il parametro --cli
  4. Modalità servizio web - usando il parametro --web

Per iniziare

  1. Scarica/clona il repository
  2. Installa i pacchetti richiesti: pip3 install -r requirements.txt (su macOS aggiungi --user)
  3. Imposta le chiavi API per i diversi servizi nel tuo file ini personalizzato cp munin.ini my.ini (vedi sezione Ottenere le chiavi API per aiuto)
  4. Usa il file demo per una prima esecuzione: python munin.py -i my.ini -f munin-demo.txt

Requisiti

  • Python 3.7 e superiore
  • Connessione Internet (Supporto proxy; l'intercettazione SSL/TLS può essere un problema)

Righe di comando tipiche

Elabora un risultato di Retrohunt di Virustotal e ordina le righe prima del controllo in modo che le firme corrispondenti vengano controllate in blocchi

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

Elabora una directory con campioni e verifica i loro hash online

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

Usa la modalità interfaccia a riga di comando (novità nella v0.14)

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

Ottenere le chiavi API

Virustotal

  1. Crea un account qui https://www.virustotal.com/#/join-us
  2. Controlla Profilo > La mia chiave API per la tua chiave API pubblica

MalShare

Registrati qui https://malshare.com/register.php

Malware Bazaar

Registrati qui https://bazaar.abuse.ch/. Puoi poi trovare la tua chiave API nella tua Panoramica account.

Hybrid Analysis

  1. Crea un account qui https://www.hybrid-analysis.com/signup
  2. Dopo l'accesso, controlla Profilo > Chiave API

MISP

  1. Accedi al tuo MISP
  2. Vai al tuo profilo "Il mio profilo"
  3. Il valore di Authkey viene usato come chiave API
  4. Nota che il file .ini utilizza sia un elenco per le istanze MISP che per le rispettive chiavi API

Valhalla

Attualmente solo per clienti o ricercatori invitati
https://valhalla.nextron-systems.com/

Hashlookup

Hashlookup L'istanza di CIRCL è fornita gratuitamente e servita secondo il criterio del miglior sforzo.

Modalità interfaccia a riga di comando

Avvia munin con --cli e segui le istruzioni.

Es.

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

Incolla il contenuto con valori hash e poi premi CTRL+D per finalizzare l'input. L'ultima riga necessita di un'interruzione di riga alla fine.

Nella modalità predefinita, verrà creato un file CSV con la data corrente nel nome.

Munin CLI

Modalità servizio web

Avvia munin con --web e opzionalmente seleziona una porta -w port.

Es.

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

Il servizio web attende stringhe nel seguente schema URL.

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

La stringa può essere qualsiasi stringa senza interruzioni di riga, es.

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

Il risultato sarà simile a questo:

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

Le query a Virustotal devono essere limitate. Pertanto il servizio web applica un tempo di raffreddamento, che è minimizzato sottraendo il tempo impiegato per elaborare tutte le altre piattaforme dal tempo di attesa di 15 secondi.

root@kitploit:~
cooldown_time = vt_wait_time - process_time

Durante il raffreddamento, le richieste restituiranno questa risposta:

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

Il raffreddamento non è rilevante quando si richiedono hash già presenti nella cache di ricerca.

Host Munin

Lo script di controllo host e IP di Munin (munin-host.py) recupera maggiori informazioni su indirizzi IP e nomi host/dominio negli elenchi IOC.

Utilizzo

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)

    argomenti opzionali:
      -h, --help        mostra questo messaggio di aiuto ed esci
      -f path           File da elaborare (hash riga per riga OPPURE csv con hash in
                        ogni riga - rileva automaticamente posizione e commento)
      -o output         File di output per i risultati (CSV)
      -m max-items      Numero massimo di elementi (url, host, campioni) da mostrare
      -c cache-db       Nome del file di database della cache (default: vt-hosts-
                        db.json)
      -i ini-file       Nome del file ini che contiene le chiavi API
      --nocache         Non utilizzare il caricamento del database cache (vt-check-cache.pkl)
      --nocsv           Non scrivere un CSV con i risultati
      --recursive       Elabora anche gli IP risolti
      --download        Prova a scaricare gli URL (directory con nomi host/ip)
      -d download_path  Salva i download nella directory specificata
      --dups            Non saltare hash duplicati
      --noresolve       Non eseguire il test di risoluzione DNS sui nomi di dominio trovati
      --ping            Esegui controllo ping sugli IP (accelera il processo se molti
                        IP pubblici ma instradati internamente appaiono nel file di testo)
      --debug           Output di debug

Schermata

Schermata Host Munin

Esempi

Analizza il file demo, estrai IP e host, non controllare solo i domini che sono ancora risolvibili e scarica i campioni direttamente dai sistemi remoti.

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

Avvertenza

Usare munin-host.py in una rete monitorata da IDS causerà numerosi avvisi poiché munin-host.py esegue ricerche DNS per domini malevoli e ha l'opzione per scaricare campioni malevoli.

Problemi

pycurl su macOS

Lo script munin-host.py richiede il modulo pycurl. A volte è complicato farlo funzionare su macOS poiché richiede un openssl installato, che viene poi utilizzato nel processo di compilazione.

Se si verificano errori, prova quanto segue (alcuni ambienti richiederanno 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 per Retrohunt di Virustotal

Lo script Hugin (hugin.py) recupera e visualizza informazioni su tutti i campioni restituiti in un retrohunt. Il grande vantaggio è che non devi aspettare 15 secondi tra ogni richiesta di campione, ma puoi ottenere il file JSON completo dei risultati tramite v3 dell'API di Virustotal. In questo modo ottieni i risultati immediatamente. Lo svantaggio è che altri servizi come Any.run, Hybrid-Analysis, MISP o Valhalla non vengono interrogati con Hugin.

Utilizzo

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

Retrohunt Checker

argomenti opzionali:
  -h, --help           mostra questo messaggio di aiuto ed esci
  -r retrohunt-name    Nome per il retrohunt interrogato
  -i ini-file           Nome del file ini che contiene la chiave API VT
  --csv-path CSV_PATH  Scrivi un CSV con i risultati
  --debug              Output di debug
  --no-comments        Salta i commenti di VirusTotal

Esempi

Analizza un retrohunt ed esporta un file CSV con i risultati.

root@kitploit:~
python3 hugin.py -i config-with-your-key.ini -r retrohunt-123456789
Scarica lo strumento