【情シス必見】マルウェア「Emotet」の感染検出ツールをバッチでダウンロードして実行

Tips
スポンサーリンク

今回は企業のシステム管理者向け記事として、「JPCERT」が提供している「Emotet感染検出ツール」を社内端末で効率的に実行させるバッチプログラムを紹介します。

現在感染が拡大しだしている「Emotet」とは

まずは以下のリンク先のページを参照してください。

■最恐のマルウェア”Emotet”を徹底解剖。特徴と今必要な対策を解説します。 by MOTEX
最恐のマルウェア“Emotet”を徹底解剖。特徴と今必要な対策を解説します。 | wizLanScope
関連記事 流行中のマルウェアEmotetについて、感染有無を確認できるツール“EmoCheck”をご紹介していますのでご活用ください。 自社ネットワーク内に潜むEmotet(エモテット)を一網打尽!感染有無確認ツール「E …
■マルウェア Emotet の感染拡大および新たな攻撃手法について by JPCERT
マルウェア Emotet の感染拡大および新たな攻撃手法について
■【注意喚起】猛威をふるっているマルウェアEmotet検知数の急増と対策について by ラック
【注意喚起】猛威をふるっているマルウェアEmotet検知数の急増と対策について | セキュリティ対策のラック
2020年7月中旬ごろから再開したマルウェア「Emotet(エモテット)」の活動が9月に入ってさらに活発になり、メールの配信量が急増していることをJSOCで確認しています。注意喚起を目的として、観測状況や攻撃の手口、対策をご紹介します。

「Emotet」は2019年末頃から世に出回り始め、いったん沈静化した後、最近になって再度活性化して被害が拡大しだしているマルウェアです。
主にEメールに添付されたWord等のファイルをマクロが有効な状態で開いたり、本文内に貼られているURLのリンクを開くことで感染します。
※最近は、セキュリティ製品による検知や検疫をすり抜けるためにパスワード付きZipで添付されるケースもあるそうです。

正確にはこの時点ではまだ感染はしておらず、添付ファイルに組み込まれたマクロがインターネット上のC&Cサーバなどを介してEmotet本体をダウンロードして実行します。
そこで所謂「感染」状態になります。

このマルウェアの恐ろしいところは、感染端末のOutlookからメールのやり取りをしているメールアドレスを収集し、そこに対してスパムメールを送りつけたり、感染を広げるためのメールを送り付けたりします。
そのため、マルウェアの被害者だったのが一転して取引先や顧客にマルウェアの感染を広げる加害者になり得るというところです。

また、ばらまかれるメールの文面は非常に巧妙で、以前によくあった明らかに日本語が怪しいといったあからさまな内容ではなく、日本の商習慣なども考慮された、一見しただけでは正常なメールと見分けが付かない場合もあります。

詳しい特徴や仕組みについては上記の各リンクをご確認ください。

JPCERTが提供している「Emotet感染検出ツール」とは

「JPCERT」について
日本国内のコンピューターセキュリティインシデントに対する発生報告の受付窓口や国内外の他組織との調整、技術支援、セキュリティ対策の推進活動や各種啓蒙活動などを行う非営利団体であり、日本のサイバーセキュリティの要です。
参考までにWikipediaのリンクも貼っておきます。
JPCERT/CC -Wikipedia-

JPCERTは、「Emotet」に感染した端末を検出するツールをWindowsの実行ファイル形式(.exe)やコンパイル前のソースとしてインターネット上で公開してくれています。
そのため、誰でも無償でそのツールを取得して実行することが可能です。

対象のツールは「GitHub」で公開されており、以下のURLからダウンロードが可能です。

■GitHub JPCERTCC/EmoCheck ※現時点(2020年9月時点)での最新バージョンはv1.0
Release v1.0 · JPCERTCC/EmoCheck
New added support the April 2020 updated of Emotet Update update code obfuscation emocheck_v1.0_x86.exe MD5 : 00f7612ff7e571115638206dd5b32f2c SHA256: 54...

Windowsの64bit版であれば「emocheck_v1.0_x64.exe」を、32bit版であれば「emocheck_v1.0_x86.exe」をダウンロードしてください。

「Emotet感染検出ツール」の基本的な使い方

何も難しい操作や設定は不要で、実行環境のOSのアーキテクチャに合わせて64bit用か32bit用の上記exeを実行するだけです。
実行するとコマンドプロンプトが起動し、コンソールで実行結果を表示します。

また、実行ファイルのカレントディレクトリに実行結果をテキストファイル形式で出力してくれます。
通常の使い方としてはこれだけです。

非常に簡単に使用できますが、もしシステム管理者が「社内の全端末にこのツールを実行させて、その実行結果を一元的に収集したい」と考えた場合は色々と問題が発生します。

問題1:実行ファイルが64bit用と32bit用で分かれている
社内の端末が64bitと32bitで混在している環境の場合、社内の各社員が自身の端末のOSを確認し、どちらの実行ファイルを使用すべきか判断することが必要になるが、非IT系職種の社員にその作業を正確に実施させることは困難。
問題2:テキスト形式で実行結果を出力するが、そのファイルの回収が手間
当実行ファイルは実行後、既定値では実行ファイルが置かれているカレントディレクトリにテキストファイルで実行結果を出力します。
システム管理者としてはそのファイルをすべての端末から回収する必要がありますが、そのファイルの回収作業を各端末を使用している社員に頼んでも適切に実施してもらえるか不確かであり、その管理や調整は対象端末が多いほど大きな労力が必要になる。
問題3:実行ファイルがバージョンアップした場合に再配布が必要になる
実行ファイルは過去に何度かバージョンアップしており、今後も新しいバージョンがリリースされる可能性があります。
その場合は社内の端末に配布した実行ファイルも置き換える必要がありますが、初回の配布と同様に多大な労力が必要になる。

JPCERTが作成してくれたEmotet感染検出ツールはシンプルで軽快で優秀なツールですが、シンプルがために企業で効率良く活用するには、各利用環境によって何らかの工夫が必要です。

「Emotet感染検出ツール」実行用のバッチプログラムの作成

そこで今回は「Emotet感染検出ツール」を効率的に配布、実行、結果の収集をするためのバッチプログラムを作成します。

バッチ処理で実装する機能

バッチプログラムはどのWindows端末でも実行できるように「bat」形式とします。

batで実装する処理は以下です。

  1. クライアント端末のアーキテクチャを自動判別して適切な64bit、32bit用のファイルを実行する。
  2. 配布する実行ファイルは、Webサーバーの公開ディレクトリに配置し、インターネットを介してダウンロードさせ、実行が完了したらパソコン内から削除する。
  3. 実行結果を出力したテキストファイルはバッチで指定した共有フォルダに吐き出されるようにする。
  4. バッチを端末のバックグランドで自動実行させることも想定し、バッチのプロセスや実行ファイルの処理が完了したら自動的に終了されるようにする。

サンプルプログラム

上項の「バッチ処理で実装する機能」で定義した内容を踏まえて、実際に作成したbatプログラムは以下です。

@echo off

REM 実行結果ファイルの出力先を指定します。※当例では社内ファイルサーバの共有フォルダ
SET output_dir="\\ファイルサーバーホスト名\ファイルサーバ共有フォルダ\emochk_result"

REM 自端末のアーキテクチャが32bitか64bitかを判定して実行ファイル名を変数にセットします。
SET PF32=%ProgramFiles(x86)%
IF EXIST !%PF32%! (
    SET emochk_exe=emocheck_v1.0_x64.exe
) ELSE (
    SET emochk_exe=emocheck_v1.0_x86.exe
)

REM emocheckツールをWebサーバーからダウンロードしてデスクトップに配置します。
CALL bitsadmin /transfer emochk_dl https://www.example.com/emochk/%emochk_exe% %USERPROFILE%\Desktop\%emochk_exe%
REM ダウンロード処理でエラーが出た場合はメッセージを出して処理を中断
IF NOT %errorlevel% equ 0 (
    ECHO emocheckツールダウンロード処理でエラーが発生したため処理を中止します。
    REM メッセージが一瞬で消えないように10秒待機します。
    timeout /t 10 /nobreak >nul
    EXIT
)
REM emocheckツールを実行します。
CALL %USERPROFILE%\Desktop\%emochk_exe% /quiet /output %output_dir%
REM ダウンロードしたemocheckツールを削除します。
DEL %USERPROFILE%\Desktop\%emochk_exe%
REM 処理を終了します。
EXIT

当プログラムのポイントや実装意図を解説します。

4行目:
ツールの実行ファイルを実行した際に実行結果を出力する先の共有フォルダを指定しています。
ここは共有フォルダじゃなくても、ローカルのフォルダでもどこでも記述できます。
後述しますが、ツールの実行ファイル自体はインターネット経由でダウンロードさせるため、その実装を活かすなら、VBScriptなども活用し、実行結果ファイルをインターネット越しにアップロードしたり、メールに添付して送信するのも良いでしょう。

関連する記事を過去に書いているので、良かったら参照してください。

クラシックASPとVBScriptで作るファイルアップロード用WebAPI
今回はクラシックASP(Classic ASP)とVBScriptの利用したファイルアップロード用のWebAPIの作成方法を紹介します。 はじめに 自身の職場ではいまだにクラシックASPを使用した業務システムが稼働中であり、今回...
【VBScript】CDOを使用したメール送信処理
バッチの実行結果やエラー発生時など、メールで通知が出せると便利ですね。 そんな訳で、ソフトのインストールも不要でメール送信が出来るCDOの技術を使用したメール送信のサンプルプログラムを紹介します。 尚、この技術自体は古く、例えば...

8行目:
この辺りで自OSが32bitか64bitかを判別して変数にツールの実行ファイル名を代入していますが、これだと新しいバージョンがリリースされてファイル名が変わってしまうと困りますね。
今気付きました…。
もしもっと汎用的にするならもう一工夫必要そうです。

15行目:
Windows標準ツールのbitsadminを実行してツールの実行ファイルをダウンロードし、ダウンロード先を自端末のデスクトップに指定しています。

24行目:
ツールの実行ファイルを実行させています。
当ツールは実行時に引数を与えることで挙動を変えることができ、引数「/quiet」で処理完了後に自動的に閉じるようになり、引数「/output」で実行結果出力する用のテキストファイルの出力先を変更することができます。

26行目:
ダウンロードして実行も完了したツールの実行ファイルを削除します。

最後に

今回はマルウェア「Emotet」の被害が拡大している状況を踏まえ、JPCERTの様に立派な社会貢献は力不足でできませんが、国内の企業をサイバー攻撃やインシデントから守り、インターネットの健全な発展に微力ながらも貢献できればと思い記事にしました。

今回の記事が誰かの助けになれば幸いです。
今回も読んでいただきましてありがとうございました。

タイトルとURLをコピーしました