近年、AhnLab SEcurity intelligence Center(ASEC)では ModiLoader(DBatLoader) マルウェアが電子メールで配布される事例を確認した。ModiLoader は、最終的に SnakeKeylogger を実行する。SnakeKeylogger は、.NET 言語で製作された Infostealer タイプのマルウェアであり、電子メール、FTP、SMTP、または Telegram などを利用したデータ流出方法が含まれていることが特徴である。[図1]は、配布された電子メールの本文であり、トルコ語で作成されており、トルコの銀行を詐称して配布された。取引履歴の確認のため、不正な添付ファイルの実行を誘導する。添付された圧縮ファイルの中には、[図2]のように BAT ファイルマルウェアが存在する。

[図1] 電子メールの本文

[図2] rar 圧縮ファイルの内部(bat ファイル)
[図3]は、この BAT コードで Base64 でエンコードされた DBatLoader マルウェア(x.exe)を %temp% パスに作成して実行する機能を遂行する。[図4]は、作成された DBatLoader マルウェア(x.exe)の写真である。

[図3] bat スクリプトの本文(x.exe 作成および実行)

[図4] Temp パスに作成された x.exe (DBatLoader)
[図5]、[図6]は DBatLoader(x.exe)が実行する3つの bat スクリプト(5696.cmd、8641.cmd、neo.cmd)の難読化および復号化された形態である。DBatLoader(x.exe)は、この bat スクリプトと svchost.pif、netutils.dll、wxiygomE.pif などのファイルを利用して、検知回避およびキーロガー実行の攻撃目標を達成する。

[図5] DBatLoader が bat スクリプト(難読化)

[図6] DBatLoader が bat スクリプト(復号化)
攻撃過程
1. 検知回避
[図7]は bat スクリプトのうち 8641.cmd である。Esentutl コマンドを使用して cmd.exe を alpha.pif という名前にコピーし、alpha.pif(cmd.exe)に mkdir コマンドを通じて正常なパスに偽装した空白を含むフォルダー(Windows \SysWow64)を作成する。

[図7] 8641.cmd 機能
DBatLoader(x.exe)は、このパス(Windows \SysWow64)に svchost.pif に偽装した名前のプログラムを作成する。このプログラムは[図8]のように正常なプロセスである easinvoker.exe に同じパスに不正な netutils.dll を作成して、DLL サイドローディングを目的とする。よって、正常なプロセスである easinvoker.exe のプロセスが不正な振る舞いを発現する。[図9]は 5696.cmd スクリプトの復号化された姿である。スクリプトは svchost.pif を実行し、不正な netutils.dll をサイドローディングして dll 振る舞いを発生させる。その後、ping コマンドによって10秒の時間を遅延させたあと、不正な netutils.dll ファイルを削除する。[図10]は不正な netutils.dll の機能であり、エンコードされたコマンドをデコードして neo.cmd ファイルを実行するコマンドを実行する。

[図8] svchost.pif にファイル名を偽装された正常なプログラム(easinvoker.exe)

[図9] 5696.cmd の機能

[図10] 操作された netutils.dll の機能(neo.cmd 実行)
[図11]は neo.cmd スクリプトの内容であり、extrac32 コマンドを使用して powershell.exe を xkn.pif という名前でコピーし、xkn.pif(powershell.exe)にコマンドを通じて「C:\」の下位パスが Windows Defender の例外パスに追加して、検知回避の目的を達成する。

[図11] neo.cmd の機能
2. 情報の窃取(SnakeKeyLogger)
[図12]は DBatLoader(x.exe)から実行された振る舞いのプロセスツリーである。検知回避の目的を達成した後、最後に wxiygomE.pif という名前のファイルを生成し、このプログラムは[図13]のように正常なプログラムである mercurymail プログラムのモジュール(loader.exe)である。その後、偽装された名前の正常プロセス(wxiygomE.pif)を実行したあと、SnakeKeylogger をインジェクションする。

[図12] DbatLoader(x.exe) のプロセスツリー

[図13] wxiygomE.pif にファイル名を偽装された正常なプログラム(loader.exe)
[図14]は正常なプロセス(wxiygomE.pif)にインジェクションして動作される SnakeKeylogger の機能に相当する関数リストである。システム情報およびキーボード入力、クリップボードデータ、キーログデータ窃取などの悪意のある機能が存在する。

[図14] SnakeKeylogger の機能関数リスト
[図15]は SnakeKeylogger の攻撃者設定値であり、設定された Telegram bot token を通じて Telegram C2 に奪取した情報を送信する。

[図15] SnakeKeylogger の攻撃者設定値
結論
フィッシングメールを通じて配布される DbatLoader マルウェアは、巧妙にもほとんどの振る舞いを DLL サイドローディング、インジェクションなどの手法を通じて正常なプロセス(easinvoker.exe、loader.exe)を悪用し、ファイルコピーおよびポリシー変更の振る舞いもまた正常なプロセス(cmd.exe、powershell.exe、esentutl.exe、extrac32.exe)を悪用した。個人を対象に配布されているため感染と認識するのが困難な場合があるが、個人ユーザーはフィッシングのような初期侵入手法に対してスクリプト拡張子の実行に注意するなど、警戒心を高める必要があり、セキュリティ製品の最新アップデートを維持することで類似の攻撃に対して事前に予防する必要がある。