01. 概要
分析の対象となるサンプルは、次のとおりである。各ファイルのハッシュを含む詳細情報は、[03. 対策と予防] で確認できる。
[表 1] サンプル情報
02. 分析
1) 要約
Panda Banker は、オンラインバンキングのアカウント情報を搾取する代表的なボットネット (Bot Net) 作成キット Zeus の亜種である。
機能および動作方式などの多くの部分が Zeus に基づいており、Web インジェクション (Injection) ・ Web ブラウザフッキング (Hooking) などを利用して金融情報を搾取する。 また、Plug-in 方式を使用しており、攻撃者がさまざまな悪性行為を遂行することができる。
これまで、イギリス、オーストラリア、ドイツなどの金融機関で被害が発生し、最近では日本をターゲットにした Panda Banker が発見された。
流布方式は、大きく2つに分けられる。
1つ目は脆弱性を利用したドライブ・バイ・ダウンロード (Drive by Download) 方式であり、関連する脆弱性としてランサムウェアの流布で知られた 「Angler EK」、「Nuclear EK」、「Neutrino EK」、「Rig EK」 などがある。
2つ目は社会工学的手法 (Social Engineering) であるスパムメールであり、マルウェアの流布に広く使用される方式である。
Panda Banker には、ワーム (Worm) のような自らをコピーして増殖する機能はないことが確認された。
全体の動作方式は [図 1] のとおりである。
[図 1] Panda Banker の動作方式
Panda Banker は、実行時に svchost.exe を実行してインジェクションを遂行する。
全部で2つの svchost.exe が実行・インジェクションされるが、1つは C&C (Command and Control) サーバーとの通信を、残りの1つは外部からリモート制御できるモジュールをダウンロードして実行する役割をする。
主な目的である金融情報の搾取は、C&C サーバーと通信して追加のデータおよびモジュールをダウンロードして行われるが、現在は C&C サーバーに接続できない。
2) 動作の流れ
ア) 分析システムの有無を確認
Sandbox 環境 (Wine、Sandbox) および分析プログラム (Process Hacker、IDA、Wireshark など) の実行有無を確認し、分析システム環境であることを確認したら直ちに実行を中断させ、自らを削除する。
※ 比較項目の詳細は 「04. 追加情報」 を参照
イ) 自己複製およびレジストリの Run キーへの登録
マルウェアは、攻撃の成功率を高めるために以下の方法を使用する。
1. 正常なファイルに偽装
正常なファイルに偽装するための自己複製ファイルの作成ルールは、以下のとおりである。
1) %AppData% パス内で、以下の例外条件に基づいて再帰探索し、ファイル作成位置を選択
- 空フォルダー
- 「microsoft」、「firefox」、「chrome」 のいずれかが1つ以上含まれているパス
- パスの長さが150文字以下

[表 2] 自己複製パス
2. 自動実行のためのレジストリキーの登録
[表 3] レジストリキーの登録
ウ) プロセスインジェクション
Windows OS の主要サービスプログラムである svchost.exe をサスペンド (suspend) 状態で2つ作成し、それぞれのプロセスメモリに自ら (マルウェア) をインジェクションする。
1つ目の svchost.exe は、C&C サーバーとの通信を通じてさまざまな悪性行為を遂行するスレッド (thread) を実行させ、2つ目の svchost.exe は、Plug-in 方式で動作する VNC Server、Socks Server などを実行するスレッドを実行させる。
エ) C&C サーバーへの接続および構成ファイルのダウンロード
C&C サーバーに接続し、悪性行為を行うために必要な構成データ (Configuration Data) およびモジュールファイルをダウンロードする。
C&C サーバーアドレスは以下のとおりである。
1つのサーバーアドレス当たり5分単位で3回接続を試み、失敗した場合は次のアドレスへの接続を試みる。
[表 4] C&C サーバー一覧
接続に成功した場合は、以下のようにシステム情報を収集して転送する。

[表 5] システム情報 (例)
C&C サーバーは、応答として以下の構成データ情報を返す。
構成データ情報には、追加機能のアクティブ化の有無およびモジュールとデータファイルのダウンロードに必要なアドレスが含まれている。

[表 6] 構成データ情報 (例)
システム情報および構成データ項目に関する詳細は、「04.追加情報」 で確認できる。
オ) 追加悪性行為の遂行
C&C サーバーから送信された構成データファイルを利用して以下の悪性行為を追加で遂行する。
[表 7] 構成データ項目による追加悪性機能
3) 主要機能
ア) Web ブラウザを利用した金融情報の搾取
実行中のプロセス一覧を1秒ごとに確認し、[表 8] のいずれかが実行中である場合はインジェクションを遂行する。
[表 8] インジェクション対象 Web ブラウザプロセス
インジェクションされたプロセスは、Web サーバーとの通信に使用される次の API をフックする。
Panda Banker は、ユーザーが金融サイトに接続した際、フックした API を利用してターゲットサイトと一致するかを確認する。一致する場合は、あらかじめ用意しておいた偽の入力フォームを表示させ、ユーザーが入力するように誘導する。
ターゲットサイトのアドレスおよび偽入力フォームに使用されるスクリプトコードは、C&C サーバーからダウンロードした構成データの webinjects 項目に含まれている。このような攻撃方式を MiTB (Man in the Browser) という。
イ) 画面イメージの搾取
構成データの screen_process 項目に記録されたプロセスが実行中である場合、マウスカーソルが位置した領域の全体スクリーンショットを作成し、JPEG フォーマットのイメージファイルに変換して60秒単位で C&C サーバーに転送する。
ウ) リモートコマンドの実行
攻撃者は以下のコマンドを利用して、感染したシステムを制御する。
エ) 自らをアップデート
構成データの url_update 項目に記録されたパスに接続して、新しい Panda Banker をダウンロードした後、実行する。既存の Panda Banker は削除される。
1. パス : %temp%
2. ファイル名 : updXXXXXXXX.exe (‘X’ - ランダムな16進数文字)
3. 実行コマンド : “updXXXXXXXX.exe -f update”
オ) Plug-in 方式の追加機能
構成データの設定により、リモート制御サーバー(VNC) と SOCKS サーバー Plug-in モジュールをダウンロードする。
Plug-in モジュールは DLL 形式であり、Panda Banker が実行中の svchost.exe にロード・実行される。
[表 11] Plug-in モジュールのダウンロードアドレス
その後、url_plugin_vnc_backserver、url_plugin_backsocks_backserver に記録された攻撃者のリモートサーバーへの接続を試みる。接続に成功すると、攻撃者は VNC Client および SOCKS Client プログラムを利用して感染システムをリモート制御することや、感染システムのネットワークを経由して内部に接続することができるようになる。
03. 対策と予防
1) アンラボにおける対策
アンラボでは、当該マルウェアを以下のように検知できる。
2) 予防対策
- アンチウイルス製品のエンジンを最新バージョンにアップデートし、定期的にシステムスキャンを実行する。
- OS を含め、Adobe Flash、JAVA など、主要プログラムを最新の状態に維持する。
- メールに添付されたファイルやダウンロードしたファイルが実行ファイルである場合は、再度確認した後に実行する。
04. 追加情報
1) 分析システムの有無の確認
2) 構成データ
3) システム収集情報
* ボット ID の作成過程
ボット IDは、一連の値の組み合わせを利用したハッシュ値で作成される。構成要素は以下のとおりである。
1. コンピューター名
2. レジストリキー値
1) SOFTWARE\Microsoft\Windows NT\CurrentVersion\IstallDate
2) SOFTWARE\Microsoft\Windows NT\CurrentVersion\DigitalProductId
3. OS バージョン