Video Screencast Help
Protect Your POS Environment Against Retail Data Breaches. Learn More.
Security Response

Backdoor.Korplug: 信頼できるアプリケーションを通じて悪質なコンポーネントがロードされる

Created: 12 Jul 2012 05:43:10 GMT • Translations available: English
Andrea Lelli's picture
0 0 Votes
Login to vote

バックドア型の新しいトロイの木馬 Backdoor.Korplug を使った限定的な標的型攻撃が、現在確認されています。このバックドアが明らかになったのは今年はじめ、2012 年 3 月のことでした。この攻撃では、悪質なファイルを添付して特別に細工された電子メールが標的に送信されます。添付ファイルは、悪質な実行可能ファイルを圧縮してパスワードで保護された zip ファイルの形か、Microsoft Windows コモンコントロールの ActiveX コントロールに存在するリモートコード実行の脆弱性(CVE-2012-0158)を悪用する Office 文書の形を取ります。ここでは、ペイロードの起動に使われる興味深い手法について詳しく説明します。

攻撃者が、バイナリに一定レベルの信頼性を加味しようとして正規の企業から盗み出した証明書を使う方法は、以前から確認されています。Korplug は盗み出した証明書を利用する代わりに、署名された正規の実行可能ファイルに便乗して特権プロセス内でコードを実行します。その仕組みを見てみましょう。
 

標的型の電子メール

図 1. 悪質なファイルが添付された標的型の電子メール
 

典型的な攻撃経路として、悪質な文書を添付した標的型の電子メールが被害者に送信されます。この文書を開くと MSCOMCTL.OCX RCE の脆弱性が悪用され、それが成功すると悪質なペイロードが投下されて実行されます。

ペイロードの投下と実行に使われるシェルコードの一部を以下に示します。
 

図 2. シェルコードの投下とペイロードの実行
 

ペイロードは、警告を表示する無害な文書も投下して実行します。これは表示できない文書であるとユーザーに思い込ませるための仕掛けですが(図 3)、最新バージョンの Microsoft Word をインストールし Microsoft のパッチを適用していれば、攻撃者はそもそもこの脆弱性を利用できず、ユーザーは保護されます。
 

図 3. おとりの文書

 

段階的なペイロード

このペイロードをシマンテックは Backdoor.Korplug として検出しますが、そのコードは標的型攻撃で一般的に使われるバックドアより複雑です。またその構造から、Backdoor.Korplug は複数の種類のコンポーネントとして編成されるフレームワークに由来していることがわかります。これらのコンポーネントのそれぞれが、キーロガープラグインやスクリーンキャプチャプラグインなど特定のタスクを実行します。

ペイロードには、暗号化された 3 つのモジュールが格納されています。

  • rc.exe
  • rc.dll
  • rc.hlp

 

図 4. 悪質な攻撃の構造
 

注目に値するのは、rc.exe ファイルが正規の Windows ファイルであり、それが悪質な rc.dll をロードするという点です。悪質な rc.dll は次に、ペイロードのコピー(rc.hlp ファイルに含まれる BLOB)をロードします。
 

図 5. 正規の rc.exe ファイルの証明書

 

正規の rc.exe ファイルに便乗する手口

rc.exe が正規の実行可能ファイルなのであれば、悪質な DLL ファイルをロードするのはなぜでしょうか。rc.exe のインポートテーブルを調べてみましょう。
 

図 6. rc.dll ファイルからインポートされた関数
 

この実行可能ファイルは、rc.dll モジュールから 2 つの関数をインポートしていることがわかります。通常であれば、rc.exe ファイルはロードの際に正規の rc.dll ファイル(rc.exe ファイルの正常な実行に必要な Windows コンポーネント)をインポートします。ところが、悪質な rc.exe ファイルと同じディレクトリに悪質な rc.dll ファイルが存在すると、rc.exe は Windows システムディレクトリから正規の DLL ファイルをロードするより前に、同じディレクトリにある悪質な DLL をロードすることになります。これが、Windows の本来の動作です。

rc.dll は、攻撃者が選択した他のコンポーネントを任意にロードするためのブリッジになります。
 

図 7. rc.hlp ペイロードをロードする rc.dll ファイルのコード
 

DLL ファイルは、rc.hlp ファイルからバイナリ BLOB を読み込み、実行します。
 

まとめ

攻撃全体の手順は以下のとおりです。

  1. 悪質なペイロードを含む悪用文書が開かれる。
  2. ペイロードが rc.exe、rc.dll、rc.hlp の各ファイルを投下する。
  3. ペイロードが正規の rc.exe ファイルを実行する。これは Microsoft によって署名されているので無制限で実行される。
  4. 信頼できる rc.exe のプロセスに悪質な DLL ファイルがロードされる。
  5. 信頼できる rc.exe のプロセスに、rc.hlp ファイルに含まれるバイナリ BLOB(ペイロードのコピー)がロードされる。
  6. 信頼できる rc.exe のプロセスで、本体のペイロード(Backdoor.Korplug)が実行される。

ここまで進むと、Backdoor.Korplug は任意のコンポーネントをロードできるようになります。他の特権プロセスを実行したい場合には、同じ手口を再利用するだけです。
 

最後に

このように、rc.exe ファイルは正規の Windows コンポーネントです。脆弱性も、隠されたバックドアもバグもなく、記述内容に誤りがあるわけでもありません。理論上、この手口は、外部モジュールからコードをインポートするどのような署名済み実行可能ファイルにも適用できます。ただし、そのためには一定の条件が必要です。

手軽でありながら実効性が高いため、この便乗手法が攻撃に使われる頻度は増えつつあります。もちろんシマンテックは、この脅威の悪質なコンポーネントをすべて検出します。標的型の電子メールから悪質な文書、ペイロードの実行可能ファイル、悪質な DLL ファイルまですべてが対象です。

シマンテックは、このマルウェアを Backdoor.Korplug および Bloodhound.Exploit.457 として検出します。安全を確保するために、疑わしい電子メールや知らない相手から届いた電子メールは開かないようにすると共に、ウイルス定義も最新の状態に保つようにしてください。

標的型攻撃の最新の傾向については、最新の『シマンテックインテリジェンスレポート』(英語)をご覧ください。

 

* 日本語版セキュリティレスポンスブログの RSS フィードを購読するには、http://www.symantec.com/connect/ja/item-feeds/blog/2261/feed/all/ja にアクセスしてください。