Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
munin — Comprobador de hash en línea para Virustotal y otros servicios | Kitploit
Herramientas/GitHubGitHub/neo23x0/munin
OSINT (Inteligencia de Fuentes Abiertas)Análisis de VulnerabilidadesAnálisis de HashRecopilación de InformaciónAnálisis de MalwareInteligencia de Amenazas
GitHubneo23x0/munin

munin

Comprobador de hash en línea para Virustotal y otros servicios

Ver Repositorio
8521504hace 1 añoRevisado por Kitploit

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Activamente Mantenido

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

Comprobador de Hashes en Línea para Virustotal y Otros Servicios
Florian Roth

¿Qué es Munin?

Munin es una utilidad de comprobación de hashes en línea que recupera información valiosa de diversas fuentes en línea

La versión actual de Munin consulta los siguientes servicios:

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

Captura de Pantalla

Modo Predeterminado - Leer Hashes desde Archivo

Munin Screenshot

Uso

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]

Comprobador de Hashes en Línea

argumentos opcionales:
  -h, --help            muestra este mensaje de ayuda y sale
  -f path               Archivo a procesar (hash línea por línea O csv con hash
                        en cada línea - detecta automáticamente posición y comentario)
  --vh search-string    Consulta Valhalla para hashes por palabra clave, etiquetas,
                        nombre de regla YARA, software de Mitre ATT&CK (ej. S0154),
                        técnica (ej. T1023) o grupo de amenazas (ej. G0049)
  --vhrule search-string
                        Consulta Valhalla para hashes mediante reglas por palabra clave,
                        etiquetas, nombre de regla YARA, software de Mitre ATT&CK (ej.
                        S0154), técnica (ej. T1023) o grupo de amenazas (ej. G0049)
  -o output             Archivo de salida para los resultados (CSV)
  --vtwaitquota         No continuar si se excede la cuota de VT, sino esperar
                        hasta el día siguiente
  --vtminav min-matches
                        Número mínimo de coincidencias de AV para consultar info
                        del hash desde VT"
  --limit hash-limit    Salir después de procesar esta cantidad de hashes nuevos en modo
                        por lotes (ignora caché).
  --vhmaxage days       Edad máxima de la muestra en Valhalla a procesar
  -c cache-db           Nombre del archivo de base de datos de caché (defecto: vt-hash-
                        db.json)
  -i ini-file           Nombre del archivo ini que contiene las claves de API
  -s sample-folder      Carpeta con muestras a procesar
  --comment             Publica un comentario para el hash analizado que
                        contiene el comentario de la línea de registro
  -p vt-comment-prefix  Prefijo de comentario de Virustotal
  --download            Habilita la descarga de muestras desde Hybrid Analysis.
                        Se necesita SHA256 de la muestra.
  -d download_path      Ruta de salida para la descarga de muestras desde Hybrid
                        Analysis. La carpeta debe existir
  --nocache             No usar archivo de base de datos de caché
  --nocsv               No escribir un CSV con los resultados
  --verifycert          Verificar certificados SSL/TLS
  --sort                Ordenar las líneas de entrada
  --web                 Ejecutar Munin como servicio web
  -w port               Puerto del servicio web
  --cli                 Ejecutar Munin en modo interfaz de línea de comandos
  --rescan              Activar un nuevo escaneo de cada archivo analizado
  --debug               Salida de depuración

Características

  • Recupera información valiosa de Virustotal mediante API (respuesta JSON) y otra información mediante enlace permanente (análisis HTML)
  • Recupera información adicional de una lista de plataformas
  • Mantiene un historial (caché) para consultar los servicios solo una vez por un hash que pueda aparecer múltiples veces en el archivo de texto
  • Los objetos en caché se almacenan en JSON
  • Crea un archivo CSV con los hallazgos para facilitar el postprocesamiento y la generación de informes
  • Agrega resultados a un CSV anterior si está disponible

Visualizaciones

  • Hash y comentario (el comentario es el resto de la línea de la cual se ha extraído el hash)
  • Coincidencias de proveedores AV basadas en una lista definida por el usuario
  • Nombres de archivo utilizados en la naturaleza
  • Información PE como la descripción, el nombre de archivo original y la declaración de derechos de autor
  • Firma de un ejecutable portátil firmado
  • Resultado basado en la proporción de Virustotal
  • Primera y última presentación
  • Etiquetas para ciertos indicadores: Inofensivo, Firmado, Expirado, Revocado, SoftwareMS

Comprobaciones Adicionales

  • Consulta Malshare.com para cargas de muestras
  • Consulta Hybrid-Analysis.com para informes
  • Consulta múltiples instancias MISP para eventos disponibles
  • Consulta el sandbox de Any.run para informes
  • Consulta el sandbox CAPE para informes
  • Consulta URLhaus para informes
  • Consulta Malshare para muestras disponibles
  • Consulta Valhalla para coincidencias de reglas YARA
  • Duplicados de Imphash en el lote actual > permite detectar superposiciones en hashes de tabla de importación
  • Verificaciones de duplicados de firma PE

Modos de Operación

  1. Predeterminado - proporcionando un archivo de entrada (-f) con hashes o un directorio de muestras (-s)
  2. Consulta - para buscar hashes desde Valhalla por palabra clave, etiquetas, técnica ATT&CK (ej. T1023), grupo de amenazas ATT&CK (ej. G0049) o nombre de regla (-q)
  3. Interfaz de Línea de Comandos - usando el parámetro --cli
  4. Modo Servicio Web - usando el parámetro --web

Primeros Pasos

  1. Descargar / clonar el repositorio
  2. Instalar los paquetes requeridos: pip3 install -r requirements.txt (en macOS agregar --user)
  3. Configurar las claves de API para los diferentes servicios en su archivo ini personalizado cp munin.ini my.ini (ver la sección Obtener las Claves de API para ayuda)
  4. Usar el archivo de demostración para una primera ejecución: python munin.py -i my.ini -f munin-demo.txt

Requisitos

  • Python 3.7 y superior
  • Conexión a Internet (Soporte Proxy; la interceptación SSL/TLS puede ser un problema)

Líneas de Comando Típicas

Procesar un resultado de Retrohunt de Virustotal y ordenar las líneas antes de la verificación para que las firmas coincidentes se verifiquen en bloques

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

Procesar un directorio con muestras y verificar sus hashes en línea

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

Usar el modo de interfaz de línea de comandos (nuevo en v0.14)

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

Obtener las Claves de API

Virustotal

  1. Crear una cuenta aquí https://www.virustotal.com/#/join-us
  2. Revisar Perfil > Mi clave de API para su clave API pública

MalShare

Registrarse aquí https://malshare.com/register.php

Malware Bazaar

Registrarse aquí https://bazaar.abuse.ch/. Luego puede encontrar su clave de API en Resumen de la Cuenta.

Hybrid Analysis

  1. Crear una cuenta aquí https://www.hybrid-analysis.com/signup
  2. Después de iniciar sesión, revisar Perfil > Clave de API

MISP

  1. Iniciar sesión en su MISP
  2. Ir a su perfil "Mi Perfil"
  3. El valor de Authkey se usa como clave de API
  4. Notar que el archivo .ini usa tanto una lista para las instancias MISP como para las respectivas claves de API

Valhalla

Actualmente solo para clientes o investigadores invitados
https://valhalla.nextron-systems.com/

Hashlookup

Hashlookup la instancia de CIRCL se proporciona de forma gratuita y se sirve bajo el mejor esfuerzo.

Modo Interfaz de Línea de Comandos

Iniciar munin con --cli y seguir las instrucciones.

Ej.

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

Pegar contenido con valores hash y luego presionar CTRL+D para finalizar la entrada. La última línea necesita un salto de línea al final.

Por defecto, creará un archivo CSV con la fecha actual en el nombre del archivo.

Munin CLI

Modo Servicio Web

Iniciar munin con --web y seleccionar opcionalmente un puerto -w port.

Ej.

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

El servicio web espera cadenas en el siguiente esquema de URL.

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

La cadena puede ser cualquier cadena sin saltos de línea, ej.

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

El resultado se verá así:

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

Las consultas a Virustotal deben ser limitadas. Por lo tanto, el servicio web aplica un tiempo de enfriamiento, que se minimiza restando el tiempo que tomó procesar todas las demás plataformas del tiempo de espera de 15 segundos.

root@kitploit:~
cooldown_time = vt_wait_time - process_time

Durante el enfriamiento, las solicitudes devolverán esta respuesta:

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

El enfriamiento no es relevante cuando se solicitan hashes que ya están en el caché de búsqueda.

Hosts de Munin

El script de verificación de hosts e IPs de Munin (munin-host.py) recupera más información sobre direcciones IP y nombres de host/dominio en listas de IOC.

Uso

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]

    Verificador en Línea de Virustotal (IP/Dominio)

    argumentos opcionales:
      -h, --help        muestra este mensaje de ayuda y sale
      -f path           Archivo a procesar (hash línea por línea O csv con hash en
                        cada línea - detecta automáticamente posición y comentario)
      -o output         Archivo de salida para los resultados (CSV)
      -m max-items      Número máximo de elementos (urls, hosts, muestras) a mostrar
      -c cache-db       Nombre del archivo de base de datos de caché (defecto: vt-hosts-
                        db.json)
      -i ini-file       Nombre del archivo ini que contiene las claves de API
      --nocache         No cargar la base de datos de caché (vt-check-cache.pkl)
      --nocsv           No escribir un CSV con los resultados
      --recursive       Procesar también las IPs resueltas
      --download        Intentar descargar las URLs (directorios con nombres de host/ip)
      -d download_path  Almacenar las descargas en el directorio dado
      --dups            No omitir hashes duplicados
      --noresolve       No realizar prueba de resolución DNS en los nombres de dominio encontrados
      --ping            Realizar verificación de ping en IPs (acelera el proceso si muchas IPs
                        públicas pero enrutadas internamente aparecen en el archivo de texto)
      --debug           Salida de depuración

Captura de Pantalla

Munin Hosts_Screenshot

Ejemplos

Analizar el archivo de demostración, extraer IPs y hosts, no solo verificar los dominios que aún son resolubles y descargar muestras directamente de los sistemas remotos.

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

Advertencia

Usar munin-host.py en una red monitoreada por IDS generará numerosas alertas, ya que munin-host.py realiza búsquedas DNS para dominios maliciosos y tiene la opción de descargar muestras maliciosas.

Problemas

pycurl en macOS

El script munin-host.py requiere el módulo pycurl. A veces es complicado hacerlo funcionar en macOS, ya que requiere tener instalado openssl, que luego se usa en el proceso de compilación.

Si ocurren errores, intente lo siguiente (algunos entornos requerirán 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 para Retrohunts de Virustotal

El script Hugin (hugin.py) recupera y muestra información de todas las muestras devueltas en un retrohunt. La gran ventaja es que no tiene que esperar 15 segundos entre cada solicitud de muestra, sino que extrae el archivo JSON de resultados completo a través de v3 de la API de Virustotal. De esta manera, obtiene sus resultados de inmediato. La desventaja es que otros servicios como Any.run, Hybrid-Analysis, MISP o Valhalla no son consultados con Hugin.

Uso

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

Verificador de Retrohunt

argumentos opcionales:
  -h, --help           muestra este mensaje de ayuda y sale
  -r retrohunt-name    Nombre para el retrohunt consultado
  -i ini-file           Nombre del archivo ini que contiene la clave de API de VT
  --csv-path CSV_PATH  Escribir un CSV con los resultados
  --debug              Salida de depuración
  --no-comments        Omitir comentarios de VirusTotal

Ejemplos

Analizar un retrohunt y exportar un archivo CSV con los resultados.

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