本ブログでは、BMOF(Binary Managed Object File)タイプの紹介と、それによって XMRig コインマイナーを配布する事例について紹介する。
BMOF(Binary Managed Object File)
BMOF(Binary Managed Object File)は、WMI(Windows Management Instrumentation)と関連する情報の定義と管理に使用されるファイルである MOF(Managed Object File)のコンパイルされた形式である。ファイル自体は不正なものではなく、「C:\Windows\System32\wbem」パスにも最初から数百個のファイルが存在するが、JScript、VBScript を実行できる機能があるため、マルウェアに利用することが可能である。そこで、攻撃者は「Permanent Event Subscription」を同時に使用し、マルウェアの持続性維持に使用する。
参考に、Permanent Event Subscription は特定のイベントやデータの変更に対する通知を受けるために使用される構造であり、対象イベントを定義して当該イベントが発生する際に通知を受信するルールを意味する。
MOF の構成例は以下の通りである。

1行の「#pragma namespace(“\\\\.\\root\\subscription”)」は Permanent Event Subscription を登録するという意味であり、システムの再起動および WMI Repository 再構成にも常時 MOF が含まれ、当該ルールを永久的に使用することができる。
そして、イベントフィルター(Event Filter)、コンシューマー(Consumer)、バインディング(Binding)の3つで構成されており、まず最初に、3行に記述されたイベントフィルターは、「イベントをフィルタリングする条件」を指定する。例えば、特定のプロセスが開始されるイベントだけをモニタリングするように設定できる。
2つ目、11行に記述されたコンシューマーは、「イベントが発生したときに遂行する動作」を定義し、イベントが発生すると特定のプログラムを実行するように設定できる。
3つ目、18行に記述されたバインディングは、「イベントフィルターとコンシューマーを紐づけ」して Subscription を作成する。このようにすることで、イベントフィルターに該当するイベントが発生したときにコンシューマーが実行されるように設定できる。これをもとにまとめると、上記の例は電卓を起動するたびにメモ帳が実行される MOF である。

上記図から分かる通り、電卓を起動すると Windows の内蔵プログラムである「scrcons.exe」の子プロセスとしてメモ帳が実行されることが確認できる。しかし、プログラムの実行時はシステム権限で実行されるため、マルウェアが実行されると甚大な影響を及ぼす場合がある。
攻撃事例
最初の攻撃事例は、2010年にイランの核燃料施設を攻撃したスタックスネット(Stuxnet)が自己伝播する際に使用した方式と推定され、現在でも2017年に初登場した BondNet (外部サイト、英語にて提供)というマルウェアが BMOF を使用し、XMRig コインマイナーを配布している。初期侵入方式は Exploit や SQL サーバーの SA アカウントに対する総当たり攻撃によって侵入するものと認知された。
侵入に成功すると、不正な BMOF(Binary Managed Object File)を生成して実行するが、BMOF はファイル単体では実行できないため、Windows の標準内蔵プログラムである「mofcomp.exe」で実行する。

BMOF が実行されると「hosts」ファイルの削除、Guest アカウントの生成、追加 VBE ファイルのダウンロード、システムが高性能の場合は RDP 接続設定などを実行し、XMRig コインマイナーを「C:\Windows\Temp」の下位パスに生成して実行する。プロセスツリーは以下の通りである。

MDS 製品による検知
AhnLab MDS のサンドボックス環境では、当該タイプを「DefenseEvasion/MDP.Delete.M11648」の検知名で検知している。

[ファイル検知]
CoinMiner/Win.XMRig.R649143 (2024.05.23.01)
CoinMiner/Win.XMRig.R636370 (2024.02.25.00)
Downloader/FOMB.Agent (2024.02.27.00)
Trojan/BAT.RUNNER.SC203192 (2024.08.20.03)
Trojan/VBS.Agent.SC199715 (2024.06.08.02)
Trojan/Win.Proxy.R661576 (2024.08.20.02)
[振る舞い検知]
DefenseEvasion/MDP.Delete.M11648
Execution/MDP.Event.M12052
Execution/MDP.Event.M12053
IOC 関連情報
MD5
0c8622c4871541e89d0173d5be0db8aa
2407c4ef1588fa67dd5bd7c64f419abd
2513eb59c3db32a2d5efbede6136a75d
561cadadc4aebc67e6186a009aea8943
914857733785f39647f6081c3c5d2048
追加 IoC は ATIP で提供しています。
FQDN
d[.]mymst[.]top
m[.]mymst[.]top
mst[.]my03[.]com
mst2[.]mymst007[.]info