Grobios トロイの木馬を配信する RIG エクスプロイト キットの詳細

Check for blacklisted processes news

以前のブログで説明したように、エクスプロイト キットの活動は 2016 年の後半から減少傾向にあります。しかし、この分野では依然として重要な進展が定期的に観察されており、RIG Exploit Kit (EK) に関連する興味深い進行中の活動が観察されています。実際に観測されたトラフィックの量は減少傾向にありますが、RIG EK は引き続き活動しており、関連するクライムウェア ペイロードは多岐にわたります。

この最近の発見では、RIG EK が Grobios という名前のトロイの木馬を配信していることが確認されました。このブログ投稿では、このトロイの木馬について、その回避とサンドボックス対策技術に焦点を当てて詳しく説明しますが、最初に攻撃の流れを簡単に見てみましょう。図 1 は、私たちが観察した活動の感染チェーン全体を示しています。

 

感染連鎖

図 1: 感染チェーン

2018 年 3 月 10 日に、悪意のある iframe が挿入された侵害されたドメイン latorre[.]com[.]au からの RIG EK へのリダイレクトを最初に確認しました (図 2)。

 

latorre[.]com に挿入された悪意のある Iframe

図 2: latorre[.]com に挿入された悪意のある Iframe

iframe は、SSL 経由で通信する悪意のある広告ドメインを読み込み (図 3 に示す証明書)、悪意のある Flash ファイルを読み込む RIG EK ランディング ページに誘導します (図 4)。

 

悪意のある SSL フロー

図 3: 悪意のある SSL フロー

 

RIG EK SWF ダウンロード リクエスト

図 4: RIG EK SWF ダウンロード リクエスト

Flash ファイルを開くと、Grobios トロイの木馬が投下されます。図 5 は、Grobios トロイの木馬からのコールバック トラフィックを示しています。

 

Grobios コールバック

図 5: Grobios コールバック

ドロップされたマルウェアの分析

Grobios は、さまざまな手法を使用して検出を回避し、マシン上で持続性を獲得します。これにより、Grobios をアンインストールしたり、被害者のマシンで非アクティブにしたりすることが困難になります。また、複数のアンチデバッグ、アンチ分析、およびアンチ VM 技術を使用して、その動作を隠します。標的のマシンへのインストールが成功すると、コマンド アンド コントロール (C2) サーバーに接続し、コマンドで応答します。

静的検出を回避するために、作成者はサンプルを PECompact 2.xx でパックしました。解凍されたサンプルには、インポート テーブルに関数エントリがありません。 API ハッシュを使用して、呼び出す API 関数の名前を難読化し、DLL ファイルの PE ヘッダーを解析して、関数の名前をそのハッシュに一致させます。このマルウェアは、スタック文字列も使用します。図 6 は、ハッシュを使用して WinApi を呼び出すマルウェアの例を示しています。

 

ハッシュを使用して WinAPI を呼び出す例。

図 6: ハッシュを使用して WinAPI を呼び出す例。

読み込み中

マルウェアのサンプルは自身のコピーを開始し、ユーザーの権限レベルに応じて svchost.exe または IEXPLORE.EXE にさらにコードを挿入します。注射終了後は親子ともども終了。 svchost.exe/IEXPLORE.EXE のみが実行され続けます。図 7 にプロセス ツリーを示します。

 

マルウェアのプロセスツリー

図 7: マルウェアのプロセス ツリー

持続性

このマルウェアは持続性に対して攻撃的なアプローチをとっています。次の手法を採用しています。

  • 自身のコピーを %APPDATA% フォルダにドロップし、被害者のマシンにインストールされている正規のソフトウェアのバージョンを装います。 Windows スタートアップ フォルダに Autorun レジストリ キーとショートカットを作成します。分析中に、それは次のパスに落ちました。

%APPDATA%Googlev2.1.13554<ランダム名>.exe.

パスは、マルウェアが %APPDATA% で見つけたフォルダーによって異なります。

  • パス %ProgramFiles%/%PROGRAMFILES(X86)% にあるプログラムのサブフォルダーに自分自身の複数のコピーをドロップし、インストールされたプログラムの別のバージョンになりすまして、Autorun レジストリ キーを設定するか、スケジュールされたタスクを作成します。
  • コピー自体を %Temp% フォルダーにドロップし、スケジュールされたタスクを作成して実行します。

図 8 に示すように、マルウェアは感染したシステム上で 2 つのスケジュールされたタスクを作成します。

 

マルウェアによって作成されたスケジュールされたタスク

図 8: マルウェアによって作成されたスケジュールされたタスク

このマルウェアは、ドロップしたすべてのコピーの作成、変更、およびアクセス時刻を、ntdll.dll の最終更新時刻に変更します。 「インターネットからダウンロードされたファイル」の警告を回避するために、マルウェアは図 9 に示すように、DeleteFile API を使用して :Zone.Identifier フラグを削除します。

 

DeleteFileW を呼び出して、ドロップされたコピーから :Zone.Identifier フラグを削除します

図 9: DeleteFileW を呼び出して、ドロップされたコピーから :Zone.Identifier フラグを削除する

このマルウェアの興味深い動作は、図 10 に示すように、EFS (Windows 暗号化ファイル システム) を使用して %TEMP% フォルダー内のコピーを保護することです。

 

Cipher コマンドは、EFS によって保護されたマルウェアのコピーを示しています

図 10: Cipher コマンドは、EFS によって保護されたマルウェアのコピーを示しています

VM およびマルウェア分析ツールの検出

C2 に接続する直前に、マルウェアは一連のチェックを実行して VM とマルウェア分析環境を検出します。 Xen、QEMU、VMWare、Virtualbox、Hyper-V など、よく知られているほぼすべての VM ソフトウェアを検出できます。以下は、被害者のシステムで実行されるチェックのリストです。

  • FindWindowEx API を使用して、表 1 の分析ツールのいずれかがシステムで実行されているかどうかをチェックします。

分析ツール

パケットスニファー

ファイルモン

WinDbg

プロセス エクスプローラー

OllyDbg

スマートスニフ

モニター

スニファー

ワイヤーシャーク

表 1: マルウェアによって検出された分析ツール

  • このマルウェアには、ブラックリストに登録されたプロセス名のハッシュのリストが含まれています。図 11 に示すように、実行中のプロセスのハッシュがブラックリストのハッシュと一致するかどうかをチェックします。

 

Check for blacklisted processes

図 11: ブラックリストに登録されたプロセスを確認する

表 2 に示すブラックリストに登録されたプロセスのハッシュをクラックすることができました。

ハッシュ

プロセス

283ADE38h

vmware.exe

8A64214Bh

vmount2.exe

13A5F93h

vmusrvc.exe

0F00A9026h

vmsrvc.exe

0C96B0F73h

vboxservice.exe

0A1308D40h

vboxtray.exe

0E7A01D35h

xenservice.exe

205FAB41h

joeboxserver.exe

6F651D58h

joeboxcontrol.exe

8A703DD9h

ワイヤーシャーク.exe

1F758DBh

Sniffhit.exe

0CEF3A27Ch

sysAnalyzer.exe

6FDE1C18h

ファイルモン.exe

54A04220h

procexp.exe

0A17C90B4h

Procmon.exe

7215026ああ

Regmon.exe

788FCF87h

autoruns.exe

0A2BF507Ch

0A9046A7Dh

表 2: ブラックリストに登録されたプロセス

  • マルウェアは、次のパスのレジストリ キーを列挙して、xen または VBOX という単語が含まれているかどうかを確認します。
    • HKLMハードウェアACPIDSDT
    • HKLMハードウェアACPIFADT
    • HKLMハードウェアACPIRSDT
  • システムにインストールされているサービスに、表 3 のいずれかのキーワードが含まれているかどうかを確認します。

vmmouse

vmdebug

vmicexchange

vmicshutdown

vmicvss

vmicheartbeat

msvmmouf

VBoxマウス

vpcuhub

vpc-s3

vpcbus

vmx86

VMware

VMMEMCTL

VMツール

XenVMM

xenvdb

xensvc

xennet6

ゼネット

xenevtchn

VBoxSF

VBoxGuest

表 3: ブラックリストに登録されたサービス名

  • ユーザー名に次の単語が含まれているかどうかをチェックします: MALWARE、VIRUS、SANDBOX、MALTEST
  • ブラックリストに登録されたドライバー名のハッシュのリストがあります。表 4 に示すように、FindFirstFile/FindNextFile API を使用して Windows ドライバー ディレクトリ %WINDIR%system32drivers を走査し、ドライバーの名前のハッシュがブラックリストに登録されているドライバーの名前のハッシュと一致するかどうかを確認します。

ハッシュ

運転者

0E687412Fh

hgfs.sys

5A6850A1h

vmhgfs.sys

0CA5B452h

プレレス.sys

0F9E3EE20h

prlfs.sys

0E79628D7h

prlmouse.sys

68C96B8ああ

prlvideo.sys

0EEA0F1C2h

prl_pv32.sys

443458C9h

vpcs3.sys

2F337B97h

vmsrvc.sys

4D95FD80h

vmx86.sys

0EB7E0625h

vmnet.sys

表 4: ブラックリストに登録されたドライバー名のハッシュ

  • ProductId のハッシュを計算し、それをブラックリストに登録された 3 つのハッシュと照合して、表 5 に示すパブリック サンドボックスを検出します。

ハッシュ

製品番号

サンドボックス名

4D8711F4h

76487-337-8429955-22614

アヌビスサンボックス

7EBAB69Ch

76487-644-3177037-23510

CWサンドボックス

D573F44D

55274-640-2673064-23950

ジョー・サンドボックス

表 5: ブラックリストに登録された製品 ID

  • マルウェアは、読み込まれたモジュール (DLL) 名のハッシュを計算し、表 6 に示すブラックリストに登録されたモジュール名のハッシュのリストと比較します。これらは、dbhelp.dll や api_log.dll など、デバッグ中のプロセスに一般的に読み込まれる DLL です。 .

6FEC47C1h

6C8B2973h

0AF6D9F74h

49A4A30h

3FA86C7Dh

表 6: ブラックリストに登録されたモジュール名のハッシュ

図 12 は、ブラックリストに登録されたモジュール ハッシュをチェックするコード フローを示しています。

 

ブラックリストに登録されたモジュール ハッシュのコード チェック

図 12: ブラックリストに登録されたモジュール ハッシュのコード チェック

  • パス HKLMSYSTEMCurrentControlSetServicesDiskEnum および HKLMSYSTEMControlSet001ServicesDiskEnum に存在するレジストリ キーに、QEMU、VBOX、VMWARE、VIRTUAL のいずれかの単語が含まれているかどうかを確認します。
  • パス HKLMSOFTWAREMicrosoft、HKLMSOFTWARE のレジストリ キーに次の単語が含まれているかどうかをチェックします: VirtualMachine、vmware、Hyber-V
  • レジストリ パス HKLMHARDWAREDESCRIPTIONSystemSystemBiosVersion に存在するシステム BIOS バージョンに、QEMU、BOCHS、VBOX という単語が含まれているかどうかをチェックします。
  • レジストリ パス HKLMHARDWAREDESCRIPTIONSystemVideoBiosVersion に存在するビデオ BIOS バージョンに VIRTUALBOX サブストリングが含まれているかどうかをチェックします。
  • パス HKLMHARDWAREDEVICEMAPScsiScsi Port 0Scsi Bus 0Target Id 0Logical Unit Id 0Identifier のレジストリ キーに、QEMU、vbox、vmware のいずれかの単語が含まれているかどうかを確認します。
  • レジストリ キー HKLMSOFTWAREOracleVirtualBox Guest Additions がシステムに存在するかどうかを確認します。

ネットワーク通信

このマルウェアには、ハードコードされた難読化された 2 つの C2 が含まれています。 C2 URL の難読化を解除した後、20 文字のランダムな文字列を生成し、URL の末尾に追加して、コマンドのリクエストを送信します。コマンドを実行する前に、マルウェアは C2 の身元を確認します。 CALG_MD5 アルゴリズムを使用して、4 バイトのデータのハッシュを計算します。次に、CERT コマンドからの Base64 データを CryptVerifySignature の公開鍵として使用して、ハッシュ署名を検証します (図 13)。署名が検証されると、マルウェアはコマンドを実行します。

 

マルウェアは C2 ハッシュを検証します

図 13: C2 ハッシュを検証するマルウェア

最初の分析で、マルウェアが表 7 に示すコマンドをサポートしていることがわかりました。

指示

説明

CERT <Base64データ>

C2の身元を確認するために使用されるデータが含まれています

接続 <IP:ポート>

さらにコマンドを実行するために、指定されたホストに接続します

切断する

すべての接続を閉じる

WAIT <秒数>

次のコマンドを実行する前に秒数待機します

拒絶

NOPの一種。 5 秒待ってから次のコマンドに進む

表 7: マルウェアがサポートするコマンド

図 14 は、C2 サーバーによって発行されるコマンドを示しています。

 

C2サーバーが発行するコマンド

図 14: C2 サーバーによって発行されたコマンド

結論

活動が減少しているにもかかわらず、エクスプロイト キットは依然としてユーザーを危険にさらし続けています。特に古いバージョンのソフトウェアを実行しているユーザーはなおさらです。企業は、ネットワーク ノードに完全にパッチが適用されていることを確認する必要があります。

FireEye のすべての製品は、MVX エンジンでマルウェアを検出します。さらに、 FireEye Network Securityは感染ポイントで配信をブロックします。

侵害の痕跡 (IOC)

  • 30f03b09d2073e415a843a4a1d8341af
  • 99787d194cbd629d12ef172874e82738
  • 169.239.129 [.] 17
  • grobiosgueng[.] su

謝辞

悪意のあるトラフィックの分析に関するブログへの貢献について、マリアム・ムンタハに感謝します。

参照: https://www.mandiant.com/resources/blog/deep-dive-into-rig-exploit-kit-delivering-grobios-trojan

Comments

Copied title and URL