マルウェア

KRBanker、アドウェアとエクスプロイト キットを介して韓国を標的に

Clock Icon 2 min read

This post is also available in: English (英語)

概要

オンライン バンキング サービスは長年にわたりサイバー犯罪の一番の標的となっており、攻撃が増加し続けています。この攻撃の背後にいる犯罪者にとっては、オンライン バンキングの利用者を標的にして資格情報を盗めば莫大な利益を得ることができます。Unit 42 は昨年の終わりから「KRBanker」、別名「Blackmoon」を追跡調査しています。この攻撃は特に大韓民国の銀行を標的にしています。4月23日、Fortinetのリサーチャーがブログを公開し、最近の「Blackmoon」攻撃の諸機能について解説しました。本ブログの目的は、KRBankerまたはBlackmoonマルウェアの攻撃の配信およびKRBankerサンプルの兆候となるものに関してさらに詳細を共有することにあります。

この攻撃の初期における亜種は、2015年9月終わりに姿を現し始めました。2015年ではKRBankerへの感染の試行回数は比較的少ないものでしたが、私たちは2016年の初めからセッション数が徐々に増加してきていることを認識しており、KRBankerの2,000個近い一意的なサンプルおよび200個あまりのファーミング サーバ アドレスをこの6か月間で確認しました。

図1 AutofocusでのKRBankerダウンロード セッション
図1 AutofocusでのKRBankerダウンロード セッション

マルウェアの配布

私たちの分析から、KRBankerはWebエクスプロイト キット(EK)および悪意のあるアドウェア攻撃を介して配信されてきたことが伺えます。KRBankerのインストールに使われているこのエクスプロイト キットはKaiXinとして知られており、KRBankerを配信するアドウェアはNEWSPOTと呼ばれています。

2016年3月、Unit 42のBrad DuncanはSANSおよびMalware-Traffic-Analysis.Netのために2つの記事を書きましたが、その際、KaiXin EKが大韓民国で確認されていることに言及しました。それらの事例では、侵害を受けたWebサイトまたは広告を介して、悪意のあるJavaScriptがAdobe Flashの脆弱性CVE-2014-0569またはCVE-2015-3133を突くEKへと誘導しました。私たちは、2つの事例における最後のペイロードがKRBankerであることを確認しました。

別の配布経路としてNEWSPOTと呼ばれる悪意のあるアドウェア プログラムがあります。NEWSPOTという商品のマーケティング資料によれば、オンライン ショッピング サイトに関して300%の収益増大が保証されています。NEWSPOTはブラウザに広告を表示する基本的な広告プログラムですが、少なくとも2015年11月以降、マルウェアのインストールを開始しました。韓国の一部のWebサイトを訪れた際、ユーザーはNEWSPOTのインストールを要求するブラウザ アドオンのポップアップに気付く場合があります。

図2 NEWSPOTツールをインストール
図2 NEWSPOTツールをインストール

インストールされると、このアドウェアはコンピューター上で実行され、下記URLから設定の取得を開始します。

www.newspot[.]kr/config.php?sUID=[web site name]

サーバが返してきた設定データには<update>セクションが含まれているので、そこに記述されているURLからファイルをダウンロードします。

図3 設定ファイルにはマルウェアをダウンロードするためのリンクが含まれている
図3 設定ファイルにはマルウェアをダウンロードするためのリンクが含まれている 

これは元来NEWSPOTソフトウェアの更新に使われてきたものかもしれませんが、KRBankerおよびVenikのようなバンキング用トロイの木馬がこの更新経路を介してインストールされていることを私たちは確認しました。図4にそうしたURLを示します。

図4 NEWSPOT更新経路からバンキング用トロイの木馬をダウンロード
図4 NEWSPOT更新経路からバンキング用トロイの木馬をダウンロード

実行

KRBankerはProcess Hollowingを利用して感染していない(疑わしくない)実行形式ファイルの中のメイン コードを実行します。プロセスは、以下のように動作します。

  1. KRBankerはシステム ディレクトリにある感染していないPEファイルを実行する。
  2. WindowsがこのPEファイルをメモリにロードする。
  3. KRBankerは自身の(悪意のある)メイン モジュールでこの感染していないプロセスを丸ごと上書きする。
  4. 上書きされたプロセスが悪意のある活動を開始する。
図5 実行ステップ
図5 実行ステップ
図6 実行ステップ(続き)
図6 実行ステップ(続き)

実行が成功すると、このプロセスがインターネットにアクセスしようとしていることがWindowsファイアウォールからユーザーに通知されます。このプロセスが、元々、感染していないMicrosoftファイルに関連したものであるため、多くのユーザーはこの活動を許可してしまいがちです。

図7 Windowsファイアウォールの通知
図7 Windowsファイアウォールの通知

ファーミング

DridexやVawtrakなどのバンキング系トロイの木馬は、主に、Man-in-the-browser(MitB)手法を使用して、目的の被害者から認証情報を盗み出します。しかし、KRBankerは「ファーミング」として知られる異なる手法を使用します。この手法では、サイバー犯罪者によって標的にされているバンキング サイトのいずれかにユーザーがアクセスを試みたときに、トラフィックを偽装Webサイトへリダイレクトします。偽のサーバがオリジナルのサーバになりすまし、訪問者に彼らの情報と認証情報を送信するように要求します。

セットアップ

詐欺的なサーバの IP アドレスは、マルウェアにはハード コードされていません。KRBankerは、Web APIを通じて中国のSNS、Qzoneにアクセスすることでサーバ アドレスを取得します。APIは、次のURLにQQ番号を送信することで、基本的なユーザー情報を提供します。

users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=[QQ ID Number]

その後、サーバは、QQ ID番号によって特定されたSNSプロファイルから取得した、QQ ID番号、写真へのリンク、ニックネームおよびその他の情報で応答します。トロイの木馬の作成者は、「nickname(ニックネーム)」フィールドにファーミング サーバ アドレスを入れています。

以下は、後からファーミングのためにKRBankerによって抽出されるIPアドレス、23.107.204[.]38を含む応答例です。

図8 QZoneから受信したファーミング用IPアドレス
図8 QZoneから受信したファーミング用IPアドレス 

次に、KRBankerは、侵入したシステムでGetOEMCP() APIを実行し、埋め込みのVBScriptとコード ページを使用してMACアドレスを取得します。その後、次のHTTP GET要求を送信して、侵入したシステムにC2サーバを登録します。

http://[IP address]/ca.php?m=[encoded MAC Address]&h=[code page]

Proxy Auto-Config

ALYacのリサーチャーが、以前に、ホスト ファイルの変更およびローカルDNSプロキシ手法を使用してHTTPトラフィックをリダイレクトするKRBankerについてレポートしています。最新バージョンの脅威は、JavaScriptを記述することで各URLの適切なプロキシ アドレスを定義できるWindows管理者とネットワーク管理者にとって正規の関数であるProxy Auto-Config (PAC)を利用しています。このことは、Fortinetのブログの投稿でも述べられていました。攻撃者は、ファーミングのためにこの機能を悪用しています。

これを設定するため、トロイの木馬はローカル プロキシ サーバを起動し、次のレジストリ エントリを作成します。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\AutoConfigURL = http://127.0.0.1:[random]/[random]

ローカル プロキシ ホストがJavaScriptを暗号化しています。

図9 Proxy Auto-Config用の悪意あるJavaScript
図9 Proxy Auto-Config用の悪意あるJavaScript

JavaScriptを復号化すると、標的とするサイトのリストを確認するために使用されるPACの関数、FindProxyForURL()を検出できます。

図10 復号化された悪意あるJavaScript
図10 復号化された悪意あるJavaScript 

ブラウザがWebサーバへの接続を試みると、トラフィックはローカル プロキシに送信されます。プロキシPACの悪意あるJavaScriptは、FindProxyForURL()関数を使用し、標的のリストと照合してドメインをチェックします。アクセスしているドメインがリスト内の標的のいずれかと一致する場合は、トラフィックは詐欺的なサーバへ送信されます。一致しない場合は、要求された正規のドメインへ送信されます。

図11 Proxy Auto-Configによるトラフィックのリダイレクト
図11 Proxy Auto-Configによるトラフィックのリダイレクト
現在、KRBankerは、非常に多くの韓国の金融機関を、このファーミング攻撃の標的としています。

侵害されたユーザーが標的とされているWebサイトのいずれかを訪問すると、ユーザーには以下の図12に示すようなページが表示されます。ブラウザのアドレス バーに有効なURLが表示され、正規のWebページであるかのように見えます。ただし、これは被害者の認証情報とアカウント情報を盗むための偽のWebページです。

図12 偽の更新用認証センター
図12 偽の更新用認証センター

また、KRBankerは次の活動も実行できます。

  • オンライン銀行口座にアクセスするためにNPKIディレクトリから認証情報を盗む
  • AhnlabのV3セキュリティ ソフトウェアを終了させる

結論

バンキング系トロイの木馬を使用する攻撃者の第1の動機は、利益です。KRBankerの背後の攻撃者は、被害者からの収益を最大化するために、新たな配信チャネルを開発し、何度もファーミング手法を進化させ、日々新しい亜種をリリースしてきました。

この記事で説明したとおり、脅威は、古い脆弱性を悪用するエクスプロイト キットと手動でインストールする必要があるアドウェアを通じて配信されます。影響を最小限にするには、このような活動の感染経路を理解することが不可欠です。Palo Alto Networks Autofocusユーザーは、「KRBanker」Autofocusタグを使用してこの脅威を追跡できます。

兆候

KRBankerの兆候は、以下のUnit 42のGitHubページで確認できます。

https://github.com/pan-unit42/iocs/blob/master/krbanker/hashes.txt

Enlarged Image