2022/03/24 m-FILTER,サイバー攻撃
マクロつきOfficeファイルに注意!EmotetとxlsmファイルとExcel4.0マクロ
過去にこのようなレポートを執筆いたしました。
マクロつき「doc」「xls」ファイルは要注意 Emotet拡散にも利用
現在もマクロつき「doc」「xls」が注意すべきファイルであることに変わりありません。さらに、末尾がmの「docm」「xlsm」もマクロつきファイルであるため当然ながら要注意です。
※「doc」や「xlsm」は拡張子です。拡張子については記事後半にて説明しております。
Emotetのダウンローダーは「xlsm」ファイルがメインに
Emotetが2021年11月に再開して以後、メールでの拡散活動では「doc」「docm」「xls」「xlsm」の添付ファイルと、これらを格納した「パスワードzip」ファイル、メール内のURLリンクからダウンロードさせるものなど、様々な変化が見られました。
そして、執筆時の2022年3月中旬でのメールでの拡散活動は、「xlsm」ファイルが添付されているパターンとxlsmを格納した「パスワードzip」ファイルが添付されているパターンの2種類のみとなっているようです(※追記あり)。
※2022/03/25 追記
これらに加え、2022年3月23日ごろからは「xls」ファイルとxlsを格納した「パスワードzip」ファイルも観測され始めております。


【図1-2】デジタルアーツが受信したEmotetメールの例
パスワードzipファイルも解凍すると同様のxlsmファイルが現れます。ファイルを開くと【図3】のようになります。

このxlsmファイルがEmotetのダウンローダーです。一般的なExcelの設定では【図3】のように、黄色の警告バーにマクロが無効化された旨の表示がされますが、「コンテンツの有効化」をクリックしてしまうと不正なマクロが実行されてしまい、Emotetへ感染してしまいます。なお、シート内に警告のように見える赤色の部分は、攻撃者側が準備したフェイク画像です。
マクロは「VBAマクロ」ではなく「Excel4.0マクロ」へ
xlsmファイルには、非表示となっているシートが存在しています。非表示にされたシートを再表示させると、「セルに文字をばらばらに記述したシート」や「Excel4.0マクロシート」(※1)があります。




(※1)「Excel4.0(XLM)マクロ」とは、現在ではあまり使われなくなった古いマクロの記述方法で、VBAマクロとは異なった形式です。しかし新しいバージョンのExcelでもいまだに実行可能となっており、アンチウイルス回避や解析妨害のため、このマクロを悪用した攻撃が多く存在します。
xlsmファイルを開いてコンテンツを有効化(マクロを有効に)すると、非表示のシートにばらばらに記述された文字を使って組み立てられたコードで、Excel4.0マクロが実行されます【図7】。このマクロでは、URLからEmotetをダウンロードし、それをregsvr32.exeで実行させて感染へと至ります。従来ではVBAマクロ実行後にPowerShellを呼び出して実行することを多用していましたが、Excel4.0マクロを使用しかつPowerShellは使っていません。
2022年2月下旬まではVBAマクロを使うものも、PowerShellを使うものもどちらも確認していましたが、3月時点では確認していません。2022年3月中旬時点のEmotetは以下のようになっています(※追記あり)。
- メール添付ファイルは「xlsm」「パスワードzip」
- ダウンローダーは「xlsm」ファイル
- マクロはVBAマクロではなく「Excel4.0マクロ」
- 「PowerShellを使わない」
※2022/03/25 追記
2022年3月23日ごろからは、メール添付ファイルに「xls」と(xlsを格納した)「パスワードzip」も観測、ダウンローダーに「xls」も観測しています。
近年のOffice製品側における、不正なマクロを実行させないようにする施策
Microsoftは昨年と今年に2つの特徴的な発表をしています。これらは、利用者をEmotetに限らず多くのマルウェアから守るための非常に良い施策だと思います。
まず、「インターネットから取得したOfficeファイルのVBAマクロをデフォルトで無効化」について、2022年4月以後に適用させる予定であることを発表しています(後述リンク1)。「インターネットから取得したOfficeファイル」とは、メールの添付ファイルも含まれます。ExcelだけでなくWordやPowerPointなども対象です。最新バージョンだけでなく過去のバージョンのOffice(例えばOffice2013)にも適用するとのことです。そして、マクロが無効化されたファイルは簡単には有効にできない仕様になるとのことですので、現在のように利用者がワンクリックで簡単にマクロを有効にできてしまう状況が改善されるでしょう。
次に、「Excel4.0マクロの無効化」です(後述リンク2)。VBAマクロが有効であっても、Excel4.0マクロだけを無効にできる、というものです。こちらはすでに適用されており、2021年末までにMS365ではデフォルトで無効となっています。
- Helping users stay safe: Blocking internet macros by default in Office - Microsoft Tech Community
- Excel 4.0 (XLM) macros now restricted by default for customer protection - Microsoft Tech Community
Emotetに効果は?
ただし上記の施策も、Emotetにおいては懸念事項があります。それぞれ下の表にまとめました。

1.についてはまだ適用前の予定段階ですので、現状考えられる懸念です。これらの施策が現在のEmotetに対して効果がないとは言えませんが期待しておかない方がよいでしょう。特にOffice 2013~2019などはまだまだ利用者は多いと考えられますが気になるところです。
なお、インターネットからのファイルかどうかに関係なくかつVBAマクロもExcel4.0マクロも「警告なしですべてのマクロを無効にすること」は、Excelのどのバージョンでも現時点で可能です。業務でマクロを全く利用しないのであれば、警告なしですべてのマクロを無効にしてしまうことも検討してみてください。
クライアント側で防ぐ以外では、例えば、侵入経路はメールからなのでメールゲートウェイ部分で攻撃メールを防ぐ、マルウェアのダウンロードをWebプロキシで防ぐ、といったことを検討すべきでなないでしょうか。
マクロと拡張子と業務利用メール
ここで、拡張子について述べておきたいと思います。
Microsoftの、Word/Excel 2007以降から採用されている標準形式は「docx」「xlsx」という拡張子のファイルとなっています。さらに マクロつきのファイルには「docm」「xlsm」拡張子が用いられます 。マクロの有無が拡張子だけで判別しやすくなっています。一方で、Word/Excel 2003 以前の標準形式は「doc」「xls」拡張子というファイルであり、マクロの有無にかかわらず同じ拡張子を用いることができます(2007以降のバージョンでも開くことが可能)。
バージョン・製品 | 標準形式 | マクロつきファイル | |
---|---|---|---|
2003 以前 | Word | doc | doc(標準形式と同じ拡張子が利用可能) |
Excel | xls | xls(標準形式と同じ拡張子が利用可能) | |
2007 以降 | Word | docx | docm |
Excel | xlsx | xlsm |
業務利用受信メールでマクロつきファイルは非常に少ない
下で紹介する数値・グラフは、国内75組織が外部から受信したメールデータのうち「何らかのファイルが添付された受信メール」に絞り、その「添付ファイルの拡張子」を調査した結果です(※2)。


(※2)調査はEmotetが流行していない時期に行ったものです。詳細および、他のデータについてはこちらの記事をご覧ください。マクロつき「doc」「xls」ファイルは要注意 Emotet拡散にも利用
この調査によって、マクロつきのOfficeファイルを業務でやりとりすることは非常に少ないということがわかりました。業務利用しないのであれば、あらかじめ受信しないように設定することも検討してよいでしょう。
- 「docm」「xlsm」拡張子の添付ファイルであれば、単純に拡張子だけでマクロの有無が判別しやすいためメールゲートウェイ製品で拒否してしまうことも容易かと考えます。
- 「doc」「xls」の場合は拡張子のみでマクロの有無はわかりませんが、以前のレポートでも述べておりますがそもそも「メール送付しない・組織で利用しない」ということも検討してください。
- ただしメールの添付ファイルが「パスワードzip」であった場合は、メールゲートウェイ製品での判定は困難でしょう。