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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
msidump — MSI Dump - 悪意のあるMSIインストールパッケージを解析し、ファイル、ストリーム、バイナリデータを抽出し、YARAスキャナーを組み込んだツールです。 | Kitploit
ツール/GitHubGitHub/mgeeky/msidump
静的分析フォレンジックマルウェア分析バイナリ解析
GitHubmgeeky/msidump

msidump

MSI Dump - 悪意のあるMSIインストールパッケージを解析し、ファイル、ストリーム、バイナリデータを抽出し、YARAスキャナーを組み込んだツールです。

リポジトリを見るウェブサイト
232203年前Kitploit レビュー済み

人気

すべて見る →

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

すべてのツールを探索

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

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

msidump

MSI Dump - 悪意のあるMSIインストールパッケージを解析し、ファイル、ストリーム、バイナリデータを抽出し、YARAスキャナを組み込んだツールです。

マクロ対応のOffice文書では、oletools mraptorを使って文書が悪意があるかどうかを迅速に判断できます。さらに詳しく解析したい場合は、oletools olevbaやoledumpを使用できます。

悪意のあるMSIファイルを解析するには、これまで信頼できる唯一のツールとしてlessmsiがありました。 しかし、lessmsiには私が求めていた機能が実装されていませんでした:

  • 迅速なトリアージ
  • バイナリデータの抽出
  • YARAスキャン

そこで登場するのがmsidumpです。

特徴

このツールは、悪意のあるMSIコーパスの迅速なトリアージと詳細な調査の両方に役立ちます。 次のことが可能です:

  • ファイルが疑わしいかどうかを迅速に判断
  • すべてのMSIテーブルのリスト表示と特定レコードのダンプ
  • バイナリデータ、CAB内の全ファイル、CustomActionからのスクリプトを抽出
  • YARAルールですべての内部データとレコードをスキャン
  • file/MIMEタイプの推定を使用して内部データの種類を判別

これは、私が公開したブログ記事に付随するツールとして作成されました:

  • MSI Shenanigans. Part 1 - Offensive Capabilities Overview

制限事項

  • 本プログラムはまだ初期アルファ版であり、問題が発生し、トリアージ/パースロジックが変更される可能性があります。
  • このツールはWin32 COMのWindowsInstaller.Installerインターフェースに大きく依存しているため、現時点ではネイティブなLinuxプラットフォームをサポートできません。wine python msidump.pyで動作する可能性はありますが、未検証です。

ユースケース

  1. YARAルールを使用して疑わしいMSIの迅速なトリアージを実行:
root@kitploit:~
cmd> python msidump.py evil.msi -y rules.yara

1.png

ここでは、入力されたMSIに疑わしいVBScriptが注入されており、多数の実行可能ファイルが含まれていることがわかります。

  1. 次に、そのレコードだけを抽出してVBScriptを詳しく見てみましょう。

トリアージテーブルから、それがBinaryテーブルに存在することがわかります。抽出します:

root@kitploit:~
python msidump.py putty-backdoored.msi -l binary -i UBXtHArj

レコードのダンプは、名前/IDまたはインデックス番号(この場合7)で指定できます。

2.png

別の例を見てみましょう。今回は、インストール中に実行される実行可能ファイルがBinaryテーブルに格納されています:

3.png

そのファイルを抽出するには、次のコマンドを使用します

root@kitploit:~
python msidump.py evil2.msi -x binary -i lmskBju -O extracted
  • -x binaryはBinaryテーブルの内容を抽出することを指示
  • -i lmskBjuは抽出するレコードを指定
  • -O extractedは出力ディレクトリを設定

4.png

最良の出力体験を得るには、最大化したコンソールウィンドウでツールを実行するか、出力をファイルにリダイレクトしてください:

root@kitploit:~
python msidump.py [...] -o analysis.log

使用法(全般)

root@kitploit:~
PS D:\> python .\msidump.py --help
options:
  -h, --help            show this help message and exit

Required arguments:
  infile                Input MSI file (or directory) for analysis.

Options:
  -q, --quiet           Surpress banner and unnecessary information. In triage mode, will display only verdict.
  -v, --verbose         Verbose mode.
  -d, --debug           Debug mode.
  -N, --nocolor         Dont use colors in text output.
  -n PRINT_LEN, --print-len PRINT_LEN
                        When previewing data - how many bytes to include in preview/hexdump. Default: 128
  -f {text,json,csv}, --format {text,json,csv}
                        Output format: text, json, csv. Default: text
  -o path, --outfile path
                        Redirect program output to this file.
  -m, --mime            When sniffing inner data type, report MIME types

Analysis Modes:
  -l what, --list what  List specific table contents. See help message to learn what can be listed.
  -x what, --extract what
                        Extract data from MSI. For what can be extracted, refer to help message.

Analysis Specific options:
  -i number|name, --record number|name
                        Can be a number or name. In --list mode, specifies which record to dump/display entirely. In --extract mode dumps only this particular record to --outdir
  -O path, --outdir path
                        When --extract mode is used, specifies output location where to extract data.
  -y path, --yara path  Path to YARA rule/directory with rules. YARA will be matched against Binary data, streams and inner files

------------------------------------------------------

- What can be listed:
    --list CustomAction     - 特定のテーブル
    --list Registry,File    - 複数のテーブルをリスト
    --list stats            - MSIデータベースの統計を表示
    --list all              - すべてのテーブルとその内容
    --list olestream        - すべてのOLEストリームとストレージを表示
                              MSIに埋め込まれたCABを表示するには: --list _Streams
    --list cabs             - 埋め込まれたCABファイルをリスト
    --list binary           - MSI自身の目的で埋め込まれたバイナリデータをリスト
                              通常はEXE、DLL、VBS/JSスクリプトなどが含まれます

- What can be extracted:
    --extract all           - バイナリデータ、CAB内の全ファイル、CustomActionからのスクリプトを抽出
    --extract binary        - バイナリデータを抽出
    --extract files         - ファイルを抽出
    --extract cabs          - キャビネットを抽出
    --extract scripts       - スクリプトを抽出

------------------------------------------------------

TODO

  • トリアージロジックはまだやや不安定で、満足できるものではありません。そのため、常に再設計とさらなる改良の対象となります。
  • より広範なテストサンプルコーパスでテストする
  • パスワード付きのZIPアーカイブの入力をサポートする
  • 単一ファイルだけでなく、YARAルールが入ったディレクトリ全体を取り込むサポートを追加する
  • 現在、ツールは悪意のあるCustomAction Typeを数値に基づいて評価しており、回避されやすいです。
    • タイプ番号を適切に処理し、フラグに分解するように再設計する必要があります。

ツール名

どうやらツールに名前を付ける際、既に使われていないか確認するのを忘れていたようです。 msidumpという名前の別のツールがmsitools GNUパッケージの一部として存在します:

  • msidump

☕ サポートをお願いします ☕

このプロジェクトやその他のプロジェクトは、寝ずの努力と多くのハードワークの成果です。私の活動を気に入り、常にコミュニティに還元していることを評価してくださるなら、コーヒーをご馳走してください (またはビールの方が更好みです) 感謝の気持ちを込めて! 💪


root@kitploit:~
Mariusz Banach / mgeeky, (@mariuszbit)
<mb [at] binary-offensive.com>
ツールをダウンロード