Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
munin — VirusTotalやその他のサービスのオンラインハッシュチェッカー | Kitploit
ツール/GitHubGitHub/neo23x0/munin
OSINT (オープンソースインテリジェンス)脆弱性分析ハッシュ分析情報収集マルウェア分析脅威インテリジェンス
GitHubneo23x0/munin

munin

VirusTotalやその他のサービスのオンラインハッシュチェッカー

リポジトリを見る
85215041年前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

Actively Maintained

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

Online Hash Checker for Virustotal and Other Services
Florian Roth

Munin とは?

Munin は、さまざまなオンラインソースから有益な情報を取得するオンラインハッシュチェッカーユーティリティです。

現在のバージョンの Munin は以下のサービスを照会します。

  • VirusTotal
  • Hybrid Analysis
  • Any.Run
  • URLhaus
  • MISP
  • CAPE
  • MalShare
  • Valhalla
  • Hashlookup

スクリーンショット

デフォルトモード - ファイルからハッシュを読み取り

Munin スクリーンショット

使用法

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

optional arguments:
  -h, --help            このヘルプメッセージを表示して終了
  -f path               処理するファイル(ハッシュを一行ずつ、または各行にハッシュを含むCSV - 位置とコメントを自動検出)
  --vh search-string    キーワード、タグ、YARAルール名、Mitre ATT&CKソフトウェア(例:S0154)、テクニック(例:T1023)、脅威グループ(例:G0049)でValhallaのハッシュを検索
  --vhrule search-string
                        キーワード、タグ、YARAルール名、Mitre ATT&CKソフトウェア(例:S0154)、テクニック(例:T1023)、脅威グループ(例:G0049)でValhallaのルールによるハッシュを検索
  -o output             結果の出力ファイル(CSV)
  --vtwaitquota         VTのクォータを超えた場合、終了せずに翌日まで待機
  --vtminav min-matches VTからハッシュ情報を取得するための最低AV一致数
  --limit hash-limit    バッチモードでこれだけの新しいハッシュを処理したら終了(キャッシュは無視)
  --vhmaxage days       Valhallaで処理するサンプルの最大経過日数
  -c cache-db           キャッシュデータベースファイルの名前(デフォルト:vt-hash-db.json)
  -i ini-file           APIキーを保持するiniファイルの名前
  -s sample-folder      処理するサンプルを含むフォルダ
  --comment             分析されたハッシュに対して、ログ行のコメントを含むコメントを投稿
  -p vt-comment-prefix  VirusTotalコメントのプレフィックス
  --download             Hybrid Analysisからのサンプルダウンロードを有効にする。サンプルのSHA256が必要
  -d download_path       Hybrid Analysisからのサンプルダウンロードの出力パス。フォルダは存在している必要がある
  --nocache              キャッシュデータベースファイルを使用しない
  --nocsv                結果のCSVを書き出さない
  --verifycert           SSL/TLS証明書を検証
  --sort                 入力行をソート
  --web                  MuninをWebサービスとして実行
  -w port                Webサービスポート
  --cli                  Muninをコマンドラインインターフェースモードで実行
  --rescan               分析された各ファイルの再スキャンをトリガー
  --debug                デバッグ出力

機能

  • VirusTotalからAPI(JSON応答)を介して、またパーマリンク(HTML解析)を介して他の情報から有益な情報を取得
  • プラットフォームのリストから追加情報を取得
  • テキストファイルに複数回出現する可能性があるハッシュを、サービスに一度だけ照会するために履歴(キャッシュ)を保持
  • キャッシュされたオブジェクトはJSONで保存
  • 結果をCSVファイルに出力し、簡単な後処理とレポート作成が可能
  • 可能であれば以前のCSVに結果を追加

表示内容

  • ハッシュとコメント(コメントはハッシュが抽出された行の残りの部分)
  • ユーザー定義リストに基づくAVベンダー一致
  • 実際に使用されたファイル名
  • 説明、元のファイル名、著作権表示などのPE情報
  • 署名付きポータブル実行ファイルの署名者
  • VirusTotalの比率に基づく結果
  • 最初と最後の提出
  • 特定の指標に対するタグ:Harmless、Signed、Expired、Revoked、MSSoftware

追加チェック

  • MalShare.comへのサンプルアップロードの照会
  • Hybrid-Analysis.comへのレポートの照会
  • 複数のMISPインスタンスへの利用可能なイベントの照会
  • Any.runサンドボックスへのレポートの照会
  • CAPEサンドボックスへのレポートの照会
  • URLhausへのレポートの照会
  • MalShareへの利用可能なサンプルの照会
  • ValhallaへのYARAルール一致の照会
  • 現在のバッチ内のImphash重複チェック → インポートテーブルのハッシュの重複を発見可能
  • PE署名の重複チェック

動作モード

  1. デフォルト - 入力ファイル(-f)によるハッシュの指定、またはサンプルディレクトリ(-s)の指定
  2. クエリ - キーワード、タグ、ATT&CKテクニック(例:T1023)、ATT&CK脅威グループ(例:G0049)、ルール名(-q)でValhallaからハッシュを検索
  3. コマンドラインインターフェース - --cli パラメータを使用
  4. Webサービスモード - --web パラメータを使用

はじめに

  1. リポジトリをダウンロード/クローン
  2. 必要なパッケージをインストール: pip3 install -r requirements.txt(macOSの場合は --user を追加)
  3. カスタムiniファイルに各サービスのAPIキーを設定: cp munin.ini my.ini(ヘルプとして「APIキーの取得」セクションを参照)
  4. デモファイルで初回実行: python munin.py -i my.ini -f munin-demo.txt

必要条件

  • Python 3.7 以上
  • インターネット接続(プロキシ対応。SSL/TLSインターセプションが問題になる可能性あり)

一般的なコマンドライン例

VirusTotal Retrohuntの結果を処理し、チェック前に行をソートして、一致したシグネチャがブロック単位でチェックされるようにする

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

サンプルを含むディレクトリを処理し、そのハッシュをオンラインでチェック

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

コマンドラインインターフェースモードを使用(v0.14 の新機能)

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

APIキーの取得

VirusTotal

  1. こちらでアカウントを作成: https://www.virustotal.com/#/join-us
  2. 「プロフィール > My API key」で公開APIキーを確認

MalShare

こちらで登録: https://malshare.com/register.php

Malware Bazaar

こちらで登録: https://bazaar.abuse.ch/。その後、アカウント概要でAPIキーを確認できます。

Hybrid Analysis

  1. こちらでアカウントを作成: https://www.hybrid-analysis.com/signup
  2. ログイン後、「プロフィール > API key」を確認

MISP

  1. MISPにログイン
  2. プロフィール「My Profile」に移動
  3. 「Authkey」の値をAPIキーとして使用
  4. iniファイルでは、MISPインスタンスのリストとそれぞれのAPIキーのリストの両方を使用することに注意

Valhalla

現在は顧客または招待された研究者のみ対象
https://valhalla.nextron-systems.com/

Hashlookup

Hashlookup CIRCLのインスタンスは無料で提供され、ベストエフォートベースで運用されています。

コマンドラインインターフェースモード

--cli を指定してmuninを起動し、指示に従ってください。

例:

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

ハッシュ値を含むコンテンツを貼り付け、CTRL+D で入力を確定します。最終行の末尾には改行が必要です。

デフォルトでは、現在の日付を含むファイル名でCSVファイルが作成されます。

Munin CLI

Webサービスモード

--web を指定してmuninを起動し、オプションでポート -w port を選択します。

例:

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

Webサービスは以下のURLスキームで文字列を待ち受けます。

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

文字列は改行を含まない任意の文字列です。例:

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

結果は次のようになります:

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

VirusTotalへのクエリはスロットル制御が必要です。そのため、Webサービスにはクールダウン時間が適用され、これは15秒の待機時間から他のすべてのプラットフォームの処理にかかった時間を差し引くことで最小化されます。

root@kitploit:~
cooldown_time = vt_wait_time - process_time

クールダウン中、リクエストは次の応答を返します:

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

クールダウンは、ルックアップキャッシュに既に存在するハッシュを要求する場合には関係ありません。

Munin Hosts

MuninホストおよびIPチェッカースクリプト (munin-host.py) は、IOCリスト内のIPアドレスとホスト/ドメイン名に関する追加情報を取得します。

使用法

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)

    optional arguments:
      -h, --help        このヘルプメッセージを表示して終了
      -f path           処理するファイル(ハッシュを一行ずつ、または各行にハッシュを含むCSV - 位置とコメントを自動検出)
      -o output         結果の出力ファイル(CSV)
      -m max-items      表示する最大アイテム数(URL、ホスト、サンプル)
      -c cache-db       キャッシュデータベースファイルの名前(デフォルト:vt-hosts-db.json)
      -i ini-file       APIキーを保持するiniファイルの名前
      --nocache         キャッシュDB(vt-check-cache.pkl)を読み込まない
      --nocsv           結果のCSVを書き出さない
      --recursive       解決されたIPも処理
      --download        URL(ホスト/IP名のディレクトリ)をダウンロード試行
      -d download_path  ダウンロードを指定されたディレクトリに保存
      --dups            重複ハッシュをスキップしない
      --noresolve       見つかったドメイン名に対してDNS解決テストを実行しない
      --ping            IPに対してpingチェックを実行(テキストファイルにパブリックだが内部ルーティングされているIPが多い場合に処理を高速化)
      --debug           デバッグ出力

スクリーンショット

Munin Hosts スクリーンショット

例

デモファイルを解析し、IPとホストを抽出し、解決可能なドメインのみをチェックし、リモートシステムから直接サンプルをダウンロードします。

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

警告

IDS監視ネットワークで munin-host.py を使用すると、munin-host.pyが悪意のあるドメインに対してDNSルックアップを実行し、悪意のあるサンプルをダウンロードするオプションがあるため、多数のアラートが発生します。

問題点

macOSでのpycurl

スクリプト munin-host.py はモジュール pycurl を必要とします。macOSで動作させるのは時々トリッキーで、opensslをインストールし、それをビルドプロセスで使用する必要があります。

エラーが発生した場合は、以下を試してください(一部の環境では 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"

VirusTotal Retrohunt 用の Hugin

Hugin スクリプト (hugin.py) は、Retrohuntで返されたすべてのサンプルに関する情報を取得して表示します。大きな利点は、各サンプル要求の間に15秒待つ必要がなく、VirusTotal API v3を介して完全なJSON結果ファイルをプルできることです。これにより、結果を即座に取得できます。欠点は、Any.run、Hybrid-Analysis、MISP、Valhallaなどの他のサービスはHuginでは照会されないことです。

使用法

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

Retrohunt Checker

optional arguments:
  -h, --help           このヘルプメッセージを表示して終了
  -r retrohunt-name    照会するRetrohuntの名前
  -i ini-file          VT APIキーを保持するiniファイルの名前
  --csv-path CSV_PATH  結果をCSVに書き出す
  --debug              デバッグ出力
  --no-comments        VirusTotalのコメントをスキップ

例

Retrohuntを解析し、結果をCSVファイルにエクスポートします。

root@kitploit:~
python3 hugin.py -i config-with-your-key.ini -r retrohunt-123456789
ツールをダウンロード