【分析レポート】 バンキングマルウェアをダウンロードする 「Bebloh」 (「Bebloh」、「Ursnif」、「Dreambot」)
01. 概要
分析の対象となるサンプルは、次のとおりである。各ファイルのハッシュを含む詳細情報は、[04. 対策と予防] で確認できる。

02. 流布方法
Ursnif をダウンロードすると推定される Bebloh は、[図 1] のようにソーシャルエンジニアリング手法を (※発注書、報告書、納品書、請求書など) を利用して流布された。
マルウェアの流布および感染の流れは [図 2] のとおりである。
[図 2] Bebloh & Ursnif の流布および感染の流れ
添付された Excel ファイルは日本語で作成されており、お見積りを装っている。

文書プログラムのセキュリティ設定が低く設定されている場合、別途通知なくマクロが実行されるので、意図しない機能が実行されないようにするためには、セキュリティ設定を高いレベルに設定することを推奨する。
Excel ファイル内のマクロが実行されると、難読化されたデータを組み合わせて、追加でマルウェアをダウンロードする。
[図 4] Excel に含まれたマクロ
[図 5] は、ダウンロード過程のプロセス一覧であり、各段階のコマンド因子値は、[表 2] のとおりである。
[図 5] ダウンロード過程のプロセス一覧

CMD-2 からダウンロードされるファイルは 656,028 Byte の PNG ファイルであり、正常なファイルに見えるが実は PNG ファイルを構成する各ピクセルデータに有効な値を追加したステガノグラフィー (Steganography) 手法を使用した悪性ファイルである。

[図 6] ダウンロードされる PNG イメージ
[図 6] は、PNG イメージファイルを構成するバイナリを表すもので、正常なヘッダー構造およびイメージデータを持っている。
[図 7] PNG ファイルバイナリデータ
PNG ファイルの各ピクセル情報を構成する R (=Red)、G (=Green)、B (=Blue) の 3Byte のうち、G、B に該当する値に各 4Bit ずつ分かれて有効データが含まれている。

CMD-2 では該当データをデコードして PowerShell コマンド因子として実行する。デコードおよび難読化を解除したスクリプトは次のとおりである。
[表 3] PowerShell スクリプト
該当スクリプトは PowerShell Get-Culture コマンドを遂行して、システム言語が日本語 (ja) である場合のみ、追加でダウンロードを実行する。
2018年9月に報告された亜種との違いは、ダウンロードを遂行する CMD / PowerShell コマンドの構造にある。
[図 8] は、2018年9月の亜種でのスクリプトを実行する構造であり、cmd.exe 因子でハードコーディングされたダウンロードを含む POWERSHELL スクリプトを実行する。
11月の最新の亜種では Bebloh をダウンロードするアドレスが Excel ファイル内にハードコーディングされていなく、ステガノグラフィーを適用したイメージをダウンロードし、デコードを完了した後にダウンロードアドレスを入手できるようになっている。
難読化が解除された Powershell スクリプトは PIPE コマンド ('|') を通じて Windows クリップボード (CLIP.EXE) に送信され、PowerShell で [System.Windows.Forms.Clipboard]::GetText() 関数を通じて因子として使用される。

最終ダウンロードされる実行ファイルは Bebloh であり、主に Ursnif 流布の中間段階で使用されている。Bebloh の主要な役割は EXPLORER.EXE、iexplore.exe プロセスのインジェクションを通じた Ursnif のダウンロードであり、追加動作のための別途 C&C 運営により攻撃者の指示を実行する。
インジェクションに成功したら、追加動作に必要な Config ダウンロードのために以下の C&C アドレスへのアクセスを試み、システム情報、ユーザー名、ブラウザの Cookie 情報などを転送する。以後、攻撃者の指示に従い Ursnif をダウンロードする。
- oaril.com/auth/
情報を搾取するマルウェア 「Ursnif」 については、[03. 分析] で詳しく説明する。
03. 分析
1) 要約
Dreambot、Cozi、ISFB, Bebloh とも呼ばれる Trojan/Win32.Ursnif (以下、Ursnif) は、ユーザー情報を搾取し、C&C サーバーからデータを受信して悪性行為を遂行するマルウェアである。金融情報を搾取することを主な目的としている。

[図 9] Ursnif 動作方式
ア) 実行遅延
- サンドボックスを回避するため、実行遅延手法を活用
Ursnif は、%temp% に [ランダムな4文字].tmp ファイルを生成する。ファイルの生成時間が、暗号化された .bss セクションに対する復号化キーとして使用される。復号化キーを探すため、%temp% に多数のファイルが生成および削除される。
[図 10] 実行遅延および .bss セクション復号化
イ) Anti-VM
- VM が使用するレジストリキーの参照のため、SetupDiGetDeviceRegistryPropertyA API を活用
亜種によって Ursnif は、SetupDiGetDeviceRegistryPropertyA API を活用して、VM で使用するハードウェア情報を確認する。
[図 11] Ursnif に使用された VM 回避手法
ウ) レジストリ登録
- 自動実行のためのレジストリに自らを登録

エ) DLL インジェクション
- 悪性行為の遂行に必要な DLL を Explorer.exe または Iexplore.exe のような Web ブラウザプロセスにインジェクション
Ursnif のリソースセクションには、次のような暗号化された PE ファイルバイナリが含まれている。
[図 12] 暗号化された DLL
上記のバイナリは、Ursnif の復号化ルーチンにより復号化され、実行中の Explorer.exe プロセスまたは Iexplore.exe、 chrome.exe などにインジェクションされる。本レポートでは、インジェクションされた DLL ファイルを Decoded DLL と表記する。
[図 13] は、復号化された Decoded DLL の一部である。
[図 13] 復号化された DLL
最初にパワーシェルによりダウンロードされる undocument.exe ファイルおよび追加でダウンロードされる実行ファイルでは、共通して上記のような DLL インジェクション方式を使用する。悪性行為に必要なデータも該当 DLL 内部にエンコード・保存されている。
Decoded DLL は、別途のファイルで作成されず、インジェクションされメモリに常駐する。Decoded DLL は実行中のプロセス名に対する CRC 演算によりインジェクション対象を探す。
[図 14] プロセス名に対する CRC 値でインジェクション対象の確認
各 CRC 値に対する意味を確認した結果、インジェクション対象プロセスは以下のとおりである。
Ursnif に感染した時点で Internet Explorer、Chrome などの Web ブラウザが実行されている場合は、Decoded DLLがそれぞれのプロセスにインジェクションされ、追加で悪性行為を行う。
3) 主要機能および特徴
ア) API フック
- Decoded DLL は、インジェクションされたプロセスの API をフックして追加で悪性行為を遂行
Decoded DLL がフックする API 対象はインジェクションされたプロセスによって異なる。プロセス名に対する API フック対象は以下のとおりである。

Explorer.exe にインジェクションされる場合、CreateProcessA、CreateProcessW、CreateProcessAsUserA、CreateProcessAsUserW をフックし、Explorer.exe を親プロセスとするプロセスが実行されると Decoded DLL がインジェクションされる。
つまり、Ursnif に感染している状態で新しくインターネットブラウザプロセスが実行されると、Explorer.exe の CreateProcess API 系列フックにより Decoded DLL が実行時、インジェクションされる。
Iexplore.exe、Chrome.exe、Opera.exe、FireFox.exe API フックは、ユーザーが Config ファイルに保存されている特定サイトにアクセスした際に、Web ページの改ざんまたはサイト情報を %temp% に保存するために行われる。
イ) アクセスするネットワーク情報
- Explorer.exe に対するインジェクションおよびフック過程を経た Decoded DLL は、C&C サーバーからコマンドおよび Config ファイルを受信してさまざまな悪性行為を遂行
スクリプトファイルおよび Decoded DLL は、以下のネットワークにアクセスしてインターネット接続の有無や公認 IP を確認したり、Config ファイルをダウンロードして攻撃者からコマンドを受信する。
[表 6] アクセスするネットワーク情報
また、C&C サーバーと通信を行う際、下位 URL に images、bmp 文字列を含む特徴がある。特に、bmp 拡張子は jpeg、gif にフォーマットが変更される可能性がある。 (※拡張子別意味については、[表 7] を参照)

[図 15] は、%temp%[ランダムな4文字].bin に CAB ファイルで生成されるユーザーシステム情報データファイルである。当該ファイルは、C&C サーバーに最終 .bmp 拡張子として送信される。
[図 15] %TEMP%\[ランダムな4文字].bin ファイルデータ (CAB)
流出されるユーザー情報は次の内容を含む。
- Systeminfo : OS 名、OS インストール日、システム種類、メモリ情報、ネットワーク IP などのシステム情報
- Tasklist /svc : 各プロセスにホストされたサービスリスト
- Driverquery : インストールされたデバイスドライバリスト
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall レジストリ情報
分析時には C&C サーバーが遮断されていたため、その後の動作分析に必要な Config ファイルを確保することができなかった。
04. 対策と予防
1) アンラボにおける対策
2) 予防対策
