Cisco Japan Blog
Share

マトリョーシカ人形のような偵察フレームワーク


2017年2月1日


この投稿は David Maynorpopup_icon Paul Rascagneres Alex McDonnellpopup_icon Matthew Molyett の協力のもと執筆しました。

概要

Talos は、標準的でない複数の機能と高度なワークフローを持つ悪意ある Microsoft Word ドキュメントを特定しました。このドキュメントは、ターゲット システムを偵察してサンドボックス検出と仮想分析を回避し、非埋め込み型 Flash ペイロードからエクスプロイトを実行します。
このドキュメントは、クリスマスと年末年始の不正活動において、NATO 加盟国をターゲットとして送信されました。Talos の調査員は、そのファイル名から、ドキュメントのターゲットが NATO 加盟国の政府であると推測しました。この攻撃に関して注目すべきことがもう 1 つあります。それは、ペイロードが、一部のシンプルなセキュリティ デバイスにおいてリソースの問題を引き起こすように設計された、大量のジャンク データに置き換えられたことです。

入れ子構造のドキュメント

分析されたドキュメントは、階層的に埋め込まれたオブジェクトを含む RTF ドキュメントです。最初の埋め込みオブジェクトは OLE オブジェクトです。

Office ドキュメントに含まれている OLE オブジェクト

この OLE オブジェクトには Adobe Flash オブジェクトが含まれています。この Adobe Flash は、ActionScript を実行して自身に埋め込まれているバイナリ BLOB を展開することを目的としています。この BLOB は、エンコードされ圧縮された第 2 の Adobe Flash オブジェクトとなります。エンコード アルゴリズムは、XOR と zlib 圧縮をベースにしています。これが、ドキュメント内に組み込まれている最終的なペイロードとなる第 2 の Adobe Flash です。

ペイロードの分析

ペイロードに関連する部分は ActionScript に組み込まれています。まず、コマンド & コントロールの URL を含むグローバル定数が設定されます。

C&C の設定

第 1 の手順:

ActionScript の最初のアクションは、C&C に対する HTTP 要求の実行です。

C&C への HTTP 要求

URI は「/nato」で、ファイル名のパターンに完全に一致しています。

Cisco Umbrella クラウド セキュリティ ソリューションでは、この特定の C&C に関連付けられた DNS トラフィックを特定することができます。以下に示すスクリーンショットから、2016 年 12 月 29 日から 2017 年 1 月 12 日までに行われた不正活動のターゲットの性質がわかります。1 月 16 日から始まる膨大な量の要求は、セキュリティ調査コミュニティによって行われたものです。

Cisco Umbrella における CC の DNS 要求の表示

要求には、flash.system.Capabilities.serverString API を使用して、ターゲットに関する情報が組み込まれます。Adobe ドキュメントをベースにしてこの API を利用することで、このドキュメントの開発者は、インストールされているバージョンの Adobe Flash の機能を取得することができます。ドキュメントの例を次に示します。

A=t&SA=t&SV=t&EV=t&MP3=t&AE=t&VE=t&ACC=f&PR=t&SP=t&SB=f&DEB=t&V=WIN%209%2C0%2C0%2C0&M=Adobe%20Windows&R=1600×1200&DP=72&COL=color&AR=1.0&OS=Windows%20XP&L=en&PT=ActiveX&AVD=f&LFD=f&WD=f&IME=t&DD=f&DDP=f&DTS=f&DTE=f&DTH=f&DTM=f

攻撃者は、このクエリによって、オペレーティング システムのバージョンあるいは Adobe Flash のバージョンなど、攻撃対象マシンに関する情報を取得することができます。この情報を利用して、攻撃者はシステムに攻撃を行うかどうかを決定します。感染したシステムがサンドボックスまたは仮想マシンのようであれば、オペレータは要求を無視することができ、ActionScript が終了します。

第 2 の手順:

ActionScript は、vars という変数の中に最初のクエリの応答を格納します。次に、第 2 の URI で第 2 の HTTP 要求を実行します。

第 2 の HTTP 要求

URI には、最初の要求で得られた「k1」の値が含まれています。この最初の要求が成功すると、expLoaded() 関数(ロードされたエクスプロイト用)が実行されます。

第 3 の手順:

前の要求の結果は、swf 変数に格納されています。この変数に格納されているデータは、暗号化された Adobe Flash オブジェクト(swf)です。ActionScript は、最初の要求で取得したキー(「k3」)を使用して unpack() 関数を実行します。

ダウンロードされた SWF ファイルの復号

この手順で、ActionScript は第 3 の HTTP クエリを実行します。

第 3 の HTTP 要求

要求が成功すると、payLoaded 関数(ペイロードのロード用)が呼び出されます。

第 4 の手順:

前の要求の結果には、エンコードされたペイロードが含まれています。ActionScript は、最初の要求で取得した別のキー(「k4」)を使って、同じ unpack() を実行します。
最後に、flash.display.Loader () API の引数にペイロードを代入することにより、ダウンロードされた悪意ある Adobe Flash ファイルが実行されます。引数の変数は、シェルコードを表して「sh」と呼ばれます。

引数にペイロードを代入した SWF エクスプロイトの実行

落とし穴

最近、この悪意あるペイロードが置き換えられて、調査を妨げる大量のジャンク データが返されるようになっています。これは、シンプルなサンドボックス ベースのセキュリティ システムなどのデバイスにリソース使用率の問題を引き起こすように設計されています。上記の調査データに示すように、セキュリティ コミュニティの多くのメンバーがこれらのドメインにアクセスしています。これは調査を妨害するための直接的な反応である可能性が非常に高いと思われます。

まとめ

Microsoft Office ドキュメントの分析により、高度な感染ワークフローが発見されました。ドキュメントの目的は、まず、サンドボックス システムやアナリストの仮想マシンとの通信を避けるために攻撃対象の偵察を実施することです。次に、Adobe Flash が、ペイロードと、その場でロードされ実行される Adobe Flash エクスプロイトを要求します。これは、攻撃者の視点から見ると、非常に賢いやり方です。エクスプロイトがドキュメントに埋め込まれていないので、一部のセキュリティ デバイスでは、標準的なトロイの木馬と比べて検出が困難です。攻撃者は、セキュリティ調査者がインフラストラクチャを調査したことを認識した上で、一部のセキュリティ デバイスにリソースの問題を引き起こすような手段をインフラストラクチャに加えています。その点に注目することが重要です。これらは、目的をその場で適合させられる効率的な最小限のフレームワークを設計した、比較的高度な攻撃者に見られる特性です。

ハッシュ:
ffd5bd7548ab35c97841c31cf83ad2ea5ec02c741560317fc9602a49ce36a763
7c25a5cd3684c470066291e4dec7d706270a5392bc4f907d50b6a34ecb793f5b

カバレッジ

お客様がこの脅威を検出してブロックできる別の方法を以下に記載します。

image05

Advanced Malware Protection(AMP)は、これらの攻撃者によるマルウェアの実行の阻止に最適です。

CWSWSA の Web スキャンは、悪意のある Web サイトへのアクセスを阻止し、それらの攻撃に使用されたマルウェアを検出します。

E メール セキュリティpopup_icon は、キャンペーンの一環として攻撃者が送りつける悪意のある電子メールをブロックします。

IPSNGFW のネットワーク セキュリティ保護には、攻撃者による不正なネットワーク アクティビティを検出できる最新のシグネチャが備わっています。

AMP Threat Gridは、悪意のあるバイナリを特定し、すべてのシスコ セキュリティ製品に保護機能を組み込みます。

Umbrellapopup_icon は悪意のあるアクティビティに関連付けられているドメインの DNS 解決を防止します。

 

本稿は 2017年1月27日に Talos Grouppopup_icon のブログに投稿された「Matryoshka Doll Reconnaissance Frameworkpopup_icon」の抄訳です。

 

Tags:
コメントを書く