本文へスキップ

Officeマクロ検査

Office Macro Inspector

.docm/.xlsm/.pptmと旧式の.doc/.xlsからVBAプロジェクトを取り出し、モジュールごとの原文を自動実行の手続きと危ない呼び出しを強調して見せ、外部リンク・DDEフィールド・Excel 4.0マクロシートも挙げます。

マクロを有効にできる文書は、「コンテンツの有効化」を押したときに何をするのかを教えてくれません。その判断は、コードが走る前に下さなければならないものです。ここではOfficeで文書を開かずにVBAのプロジェクトを取り出し、その原文を見せます。文書が実行可能な振る舞いを運びうるほかの場所も、合わせて示します。

🔒 ブラウザの中だけで動きますmacrovbaofficethreat

ファイルはブラウザの中だけで開きます。マクロは実行しませんし、どこにも送りません。これは構造の検査であってウイルス対策ではありません。文書がどんな形をしているかは分かりますが、既知のマルウェアかどうかは分かりません。

Office のファイルを置いてください

.docm .xlsm .pptm .dotm .xlam のようなマクロ文書と、古い .doc .xls。.docx や .xlsx も受け付け、マクロがないことを確かめます。

使い方

  1. 文書を置きます

    `.docm`、`.xlsm`、`.pptm`と、旧来のOLE形式である`.doc`/`.xls`のいずれも読みます。文書をOfficeに渡すことはないので、何も実行されません。

  2. 自動実行の入口を探します

    `AutoOpen`、`Document_Open`、`Workbook_Open`とその仲間は、マクロが有効になれば追加のクリックなしに走ります。敵意ある文書が動き出す場所なので、強調して示します。

  3. 印の付いた呼び出しを読みます

    `Shell`、`CreateObject`、`WScript`、`URLDownloadToFile`、難読化した文字列の連結。それらを強調しますし、原文もそのまま全部あるので、実際に何をするのかを自分で読めます。

  4. VBA以外の経路も確かめます

    外部リンク、DDEフィールド、Excel 4.0のマクロシートは、VBAのプロジェクトがまったく存在しなくても実行されます。そのため、別立てで一覧にします。

よくある質問

その文書が悪意あるものかどうかを教えてくれますか。

いいえ。並べるのは、その文書が何を含んでいるかです。判断はあなたのものです。判定も点数も検体のデータベースもありません。「安全です」と言う道具は、まさに肝心な場面で間違うからです。

マクロが見つかりませんでした。このファイルは問題ないということですか。

VBAのプロジェクトも、DDEフィールドも、Excel 4.0のシートも見つからなかった、という意味です。文書はそれでも、埋め込みオブジェクトや、遠隔のテンプレートへの参照や、パーサ自体を突く攻撃コードを運びえます。そのどれも、ここでは探していません。

怪しいファイルをここに置いても大丈夫ですか。

ファイルはブラウザの中でバイト列として解析され、その中身が実行されることもアップロードされることもありません。Officeで開くよりはるかに安全であり、それがこのツールの目的です。

VBAの原文が意味をなしません。

敵意あるマクロでは難読化がふつうです。文字列を分割し、`Chr()`で算術をし、死んだコードを混ぜます。このツールは難読化を解こうとせず、保存されているとおりの原文を見せます。だから見えているものが、そのファイルに入っているものです。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。

圧縮ファイルの中身検査

Archive Inspector

解凍せずにzipの中を開き、パスをはみ出す項目・実行ファイル・マクロ・zip爆弾に印を付けます。

ブラウザの中だけで動きます

ファイルのチェックサム

File Checksum

大きさを問わずファイルを流しながらハッシュし、貼り付けた期待値と突き合わせます。

ブラウザの中だけで動きます

メタデータの一括削除

Metadata Scrubber

文書・画像・音声・動画から、作成者・機器・GPS・改訂履歴のメタデータをまとめて取り除きます。

ブラウザの中だけで動きます

怪しいURLの確認

Suspicious URL Check

開く前にリンクの形(紛らわしい文字・IPそのままのホスト・@のごまかし・深いサブドメイン・妙なポート・短縮サービス)を調べ、望めばリダイレクトをたどってドメインの登録時期も引きます(評判データベースは使いません)。

ローカル処理、必要ならサーバーが補助します

Base64エンコード・デコード

Base64 Encoder & Decoder

テキストでもファイルでもBase64とBase64URLを符号化・復号し、UTF-8も正しく扱います。

ブラウザの中だけで動きます

流出パスワードの照合

Breach Check

そのパスワードがHave I Been Pwnedの流出データにあるかを、SHA-1ハッシュの先頭5文字だけをブラウザから送るk-匿名方式で確かめます。

ブラウザの中だけで動きます