日本の学術研究者と 組織を狙った新たな攻撃

By and

Category: Unit 42

Tags:

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

概要

パロアルトネットワークスの脅威インテリジェンスチーム「Unit 42」は、2016年の9月から11月にかけて、「menuPass」として知られる攻撃グループによるAPT攻撃(持続型の標的型攻撃)が、日本の学術研究者および製薬企業、米国に子会社を置く製造業を対象にしていたことを確認しました。この攻撃では、トランプ氏の選挙での勝利に便乗した件名などを使用した、スピアフィッシング攻撃が用いられています。

この攻撃者グループが、PlugXおよびPoison Ivy (PIVY)といったマルウェアを使用していることは知られていますが、これら2つに加え、JPCERTコーディネーションセンター(JPCERT/CC)が「ChChes」と呼んでいる新型トロイの木馬も使用していたことを確認しました。複数の攻撃活動で使用されているPlugXおよびPIVYとは対照的に、ChChesはこの攻撃グループが独自に使用しているマルウェアだと考えられます。

興味深いことに、Unit 42が確認したChChesのサンプルは、元々イタリア企業HackingTeamによる証明書、およびHackingTeamがハッキングを受けたときに漏えいしたデータの後半部を使用してデジタル署名されていました。セキュリティ企業のWapack labsも、日本を標的とする類似サンプルを11月に確認しています。攻撃者がこの証明書を使用した理由は不明です。この証明書は古く、ネット上に漏えいしたものであり、すでに失効済みです。一般的に、デジタル証明書は正当性の印象を与える理由から攻撃において使用されますが、このデジタル証明書は決してそうではありません。

menuPassは、笹川平和財団およびホワイトハウスに関連のある公式アドレスなどに送信者メールアドレスを偽装し、スピアフィッシングメールを送信しました。このスピアフィッシングは、標的および見せかけの送信者にふさわしい件名を使い、情報の入手を目的としていました。ホワイトハウス関連アドレスを装った攻撃では、「“[UNCLASSIFIED] The impact of Trump’s victory to Japan”([非機密扱い] トランプ氏勝利の日本への衝撃)」という件名が使われており、米大統領選の2日後に送信されました。これまでの学術研究者に対する攻撃の大多数は、関係する学術研究者の名前によるメールアドレスを用いていましたが、今回の一連の攻撃はこうした学術研究者とは表立った結び付きはありません。一方、スピアフィッシングの受信者は、学術関係者と関連するメールアドレスの持ち主でした。

図1.最近のmenuPassの活動と古いインフラストラクチャとのいくつかの関係
図1.最近のmenuPassの活動と古いインフラストラクチャとのいくつかの関係

これらの攻撃におけるC2インフラストラクチャは、大半が攻撃者によって登録されたもので、ごく少数のみがDynamic Domain Name System (ダイナミックドメインネームシステム - DDNS)のドメインを使っていました。一般的に、攻撃活動においてmenuPassはDDNSと攻撃者が登録したドメインを折り混ぜて使用しています。関連するハッシュおよびC2は、このブログ記事の参考情報に記載しました。

menuPassとChChesとの関係性

menuPass (別名はStone PandaおよびAPT10)と呼ばれるAPT攻撃(持続型の標的型攻撃)に関する公の情報はそれほどありません。2013年にFireEyeが公表したレポートに、PIVYを使った攻撃活動のひとつとしてmenuPassをそうした攻撃活動のひとつとして挙げていました。その後のブログ記事にも、新たな詳細情報がいくつか加えられました。menuPassというグループ名は、攻撃におけるPIVY用に使ったパスワードの1つに由来しています。menuPassは2009年に活動を開始し、中国で生まれたと考えられているため、当初米国や海外の防衛関連企業を標的にしていることで知られていましたが、時が経つにつれ標的を拡げていきました。そして遅くとも2014年から、日本の組織を標的にしています。

新しいChChesマルウェアファミリはインポートハッシュ(bb269704ba8647da97377440d403ae4d)を使っており、このハッシュを、menuPassが利用する他のツールと共有しています。そして、インポートハッシュは最初のリンクを提供します。一方、インフラストラクチャ分析を通して、menuPassとの関係が最も強く立証されました。インフラストラクチャ分析から、これらの攻撃で使用された新しい方のインフラストラクチャと、このグループとの関連が公になっている従来のインフラストラクチャとの間に、多数のリンクがあることが明らかになりました。図2にて丸で囲んだ3つのドメインは、menuPassとの関連性があると公式に報告されているC2であり、公式に関係性が指摘されていないドメインとリンク付けされています。これらは、Unit 42のアナリストがmenuPassのインフラストラクチャをリサーチしている中で発見することができた、ごくわずかな複数の共通部分です。丸で囲んだ既知のドメインは以下のうちの最初の3つです。

  • apple[.]cmdnetview[.]com
  • fbi[.]sexxxy[.]biz
  • cvnx[.]zyns[.]com
  • cia[.]toh[.]info
  • 2014[.]zzux[.]com
  • iphone[.]vizvaz[.]com
図2. menuPassインフラストラクチャの共通部分
図2. menuPassインフラストラクチャの共通部分

さらに、これらのドメインのうち2つは、新しい方のC2インフラストラクチャと関連付けることができました。やはりこれらも、menuPassが使っているインフラストラクチャを分析することで明らかにすることができた、ごくわずかな共通部分です。下の図のドメインは以下のとおりです。

  • cia[.]toh[.]info
  • 2014[.]zzux[.]com
  • wchildress[.]com
  • lion[.]wchildress[.]com
  • kawasaki[.]unham[.]com
  • sakai[.]unhamj[.]com
  • kawasaki[.]cloud-maste[.]com
  • fukuoka[.]cloud-maste[.]com
  • yahoo[.]incloud-go[.]com
  • msn[.]incloud-go[.]com
  • www[.]mseupdate[.]ourhobby[.]com
  • contractus[.]qpoe[.]com
図3.新旧のインフラストラクチャ間の関係
図3.新旧のインフラストラクチャ間の関係

このほか、PIVYサンプルのパスワードも、グループが使っている既知のパスワードに当てはまります。すなわち、3個のサンプルは“menuPass”を使い、それ以外のサンプルは“keaidestone”を使っています。こうしたデータをもとに、Unit 42は、最近の攻撃がmenuPassグループによって行われたと強く確信しています。

マルウェア分析

ChChesマルウェア ファミリの分析結果は以下のとおりです。この分析用に、Unit 42は以下のファイルを調査しました。

MD5 c0c8dcc9dad39da8278bf8956e30a3fc
SHA1 009b639441ad5c1260f55afde2d5d21fc5b4f96c
SHA256 6605b27e95f5c3c8012e4a75d1861786fb749b9a712a5f4871adbad81addb59e
コンパイル時刻 2016-11-24 01:31:37 UTC

このマルウェアは、図4の画像のようなMicrosoft Wordのように見えるアイコンによって配布されています。

図4.ChChes用に使われているアイコン
図4.ChChes用に使われているアイコン

日本の組織への攻撃で特定されたサンプルは、イタリア企業HackingTeamが元々使っていた証明書を使ってデジタル署名されていたことが分かりました。読者の中には、HackingTeamが2015年7月にセキュリティ侵害を受け、その後、大量の内部データが漏洩したことを思い出す方もいるでしょう。漏洩したデータには、この企業が使用していた大量のコードが含まれており、その中に証明書もありました。今回使われた証明書は極めて古く、2012年8月4日に有効期限が切れていました。2015年7月10日には失効しています。

図5. ChChesのデジタル署名
図5. ChChesのデジタル署名
図6. 証明書の失効
図6. 証明書の失効

HackingTeamの証明書が2015年に漏えいして以来、複数のマルウェアでこの証明書が使われていることが明らかになっています。menuPassが、既知の悪意あるサンプルと関係のあるこの証明書を自分たちのサンプル用に使用した理由はわかりません。1つの可能性として、「これらの脅威をリサーチしているアナリストから見て攻撃者の特定がさらに困難になるのを狙った」ということが考えられます。

マルウェアは最初に実行されたときに、中に埋め込まれたコードのスタブを復号化してから、それを実行します。このスタブは、シェルコードに多数の特徴が見られ、新しいインポート アドレス テーブル(IAT)を作成することから開始します。この新しいIATは、コードの残り部分を通じて、Windows APIを呼び出したときに参照されます。以下のアセンブリのスニペットは、GetProcessHeap、RtlAllocateHeap、RtlReAllocateHeap、InternetReadFileなどのさまざまな関数を呼び出すために参照されている新たに作成されたIATを示しています。

図7 Windows API関数を呼び出すために使用される新たに作成されたIAT
図7 Windows API関数を呼び出すために使用される新たに作成されたIAT

IATを生成した後、マルウェアは%TEMP%のパスを判別し、現在の作業ディレクトリをこの値に設定します。ChChesは、被害者に関する以下の情報の収集に進みます。

  • ホスト名
  • プロセスID (PID)
  • 現在の作業ディレクトリ(%TEMP%)
  • ウィンドウの解像度
  • Microsoft Windowsのバージョン

この情報は以下のような文字列に集約されます。

WBQTLJRH9553618*2564?3618468394?C:\\Users\\ADMINI~1\\AppData\\Local\\Temp?1.4.1 (1024×768)*6.1.7601.17514

上記の文字列で、文字列‘3618468394’および‘1.4.1’はマルウェア自体にハードコード化されている点に注意してください。これらは、マルウェアのバージョンまたは攻撃活動のIDを示している可能性がありますが、確認されていません。

このデータは集約された後、HTTPを介してハードコード化されたC2サーバーにアップロードされます。データは、以下に示すように、‘Cookie’ HTTPヘッダーに埋め込まれます。

図8 ChChesの初期HTTPビーコン
図8 ChChesの初期HTTPビーコン

上記で使用されたURIは、ChChesによってHTTPリクエストが作成されるたびにランダムに生成されます。Cookieヘッダーに埋め込まれたデータは独自の手法を使って暗号化されます。キー/値ペアごとに‘;’で区切られ、マルウェアは最初にキーのMD5ハッシュを実行し、中間の16バイトを抽出します。値は、文字列の引用符を外した後に、base64でデコードされます。最後に、base64でデコードされたデータは、以前に取得した16バイトとともにRC4を使用して、復号化されます。データはすべて結合され、最終的な復号化されたデータを形成します。

以下のPythonコードは、提供されたCookieフィールドをデコードする例を示しています。

上記スクリプトは、以下の出力を生成します。

上記の出力に見られる最初の‘A’文字は、これが初期ビーコンであること、または最初に予期されたChChesによって送信されるリクエストであることをリモート サーバーに知らせています。

C2は、ホスト名とPIDに対して実行されたMD5ハッシュの中間16バイトを含む‘Set-Cookie’ヘッダーで応答します。上記の例を使用すると、C2は‘WBQTLJRH9553618*2564’に対してMD5を実行しています。

結果の中間の16文字は、‘b331106210b6364c’です。

ChChesによって作成されたそれ以降のリクエストは、以下のようになります。

図9 ChChesによって作成された2番目のネットワーク リクエスト
図9 ChChesによって作成された2番目のネットワーク リクエスト

復号化すると、Cookieフィールドに保存された以下のコンテンツが確認されます。

Bb331106210b6364c

最初の文字‘B’は、これが2番目のリクエストであることを示しており、残りのデータはC2レスポンスで以前に目にしたSet-Cookieヘッダー内の16バイトです。

この段階では、C2サーバーは、以下の形式でコンテンツを返すものと予期されます。

[Middle MD5][Base64-Encoded Data][Middle MD5]

‘Middle MD5’フィールドには、‘b331106210b6364c’文字列に対するMD5ハッシュの中間の16バイトが含まれます。この特定の例では、結果として文字列‘500089dadf52ae0b’になります。‘Base64-Encoded Data’フィールドには、かなり複雑な構造が含まれ、それにはChChesによってロードされ、その後実行されるモジュールが保存されます。

このネットワーク通信を視覚化すると、以下の図に示すようになります。

図10 ChChesのネットワーク フロー
図10 ChChesのネットワーク フロー

ChChesは、被害者のマシンの初期潜入ポイントとして動作します。追加のコードをロードし、その後、多数のタスクを遂行する機能を備えています。分析時には、アクティブなC2サーバーは見つかりませんでした。Unit 42は、ChChesによってロードされるモジュールを特定できませんでしたが、JPCERTが最近このファミリを分析し、ChChesに機能を提供しているモジュールを収集しました。

  • AESによる通信の暗号化
  • シェル コマンドの実行
  • ファイルのアップロードとダウンロード
  • DLLのロードと実行
  • ボット コマンドのタスク リスト

現状では、ChChesに持続性のある機能が組み込まれていない点は、被害者のマシンで長期間実行する意図がないことを示唆しています。侵入を成功させ、ネットワーク内の足場として正しい方向に向かうために、攻撃者が使用する第1段階のツールに過ぎないのかもしれません。攻撃者がネットワーク内を移動するにつれ、他のマルウェアが持続性と追加のアクセスの機能を持った第2段階のレイヤーとして導入されるのでしょう。

結論

これらの攻撃は、依然として日本がAPT攻撃活動にとって関心の高い標的であることを示しています。menuPassは遅くとも2014年以降から日本の個人と組織を標的とし、同じ組織と教育機関を主な標的とし毎月攻撃を行ってきました。さらに、menuPassがこれらの標的を侵害する試みに終始していることも明らかになっています。またmenuPassは主に情報入手のためにスピアフィッシング攻撃を仕掛けています。これらの事実と、攻撃の持続性から、標的となりうる個人と組織の両方がスピアフィッシングについてトレーニングを受け、認識を深める必要があります。menuPassは、広範に継続されているAPT攻撃活動で、今後も引き続き日本を標的としてくる可能性があります。

Palo Alto Networksのお客様は、これらのマルウェア ファミリとC2インフラストラクチャから以下によって保護されています。

  • すべてのC2ドメインは、Threat Prevention(脅威防御)機能とPAN-DBで悪意あるものとしてフラグ付けされています。
  • すべてのこれらのファミリは、脅威インテリジェントクラウド「WildFire」によって適切にタグ付けされたマルウェアです。脅威インテリジェントサービス「Autofocus」の利用者は、該当するタグを介して各ファミリの詳細を確認できます。

さらに、Autofocusの利用者は、menuPassタグで紐付けられた活動を調べることで、詳細を確認できます。

セキュリティ侵害の痕跡

SHA256ハッシュ

ChChes
  • 5961861d2b9f50d05055814e6bfd1c6291b30719f8a4d02d4cf80c2e87753fa1
  • e90064884190b14a6621c18d1f9719a37b9e5f98506e28ff0636438e3282098b
  • ae6b45a92384f6e43672e617c53a44225e2944d66c1ffb074694526386074145
  • fd6a956a7708708cddff78c8505c7db73d7c4e961da8a3c00cc5a51171a92b7b
  • 2c71eb5c781daa43047fa6e3d85d51a061aa1dfa41feb338e0d4139a6dfd6910
  • 316e89d866d5c710530c2103f183d86c31e9a90d55e2ebc2dda94f112f3bdb6d
  • efa0b414a831cbf724d1c67808b7483dec22a981ae670947793d114048f88057
  • 6605b27e95f5c3c8012e4a75d1861786fb749b9a712a5f4871adbad81addb59e
  • fadf362a52dcf884f0d41ce3df9eaa9bb30227afda50c0e0657c096baff501f0
  • 2965c1b6ab9d1601752cb4aa26d64a444b0a535b1a190a70d5ce935be3f91699
  • e88f5bf4be37e0dc90ba1a06a2d47faaeea9047fec07c17c2a76f9f7ab98acf0
  • d26dae0d8e5c23ec35e8b9cf126cded45b8096fc07560ad1c06585357921eeed
  • e6ecb146f469d243945ad8a5451ba1129c5b190f7d50c64580dbad4b8246f88e
  • 4521a74337a8b454f9b80c7d9e57b4c9580567f84e513d9a3ce763275c55e691
  • bc2f07066c624663b0a6f71cb965009d4d9b480213de51809cdc454ca55f1a91
  • c21eaadf9ffc62ca4673e27e06c16447f103c0cf7acd8db6ac5c8bd17805e39d
  • f251485a62e104dfd8629dc4d2dfd572ebd0ab554602d682a28682876a47e773
  • b20ce00a6864225f05de6407fac80ddb83cd0aec00ada438c1e354cdd0d7d5df
  • c6b8ed157eed54958da73716f8db253ba5124a0e4b649f08de060c4aa6531afc
  • 9a6692690c03ec33c758cb5648be1ed886ff039e6b72f1c43b23fbd9c342ce8c
  • cb0c8681a407a76f8c0fd2512197aafad8120aa62e5c871c29d1fd2a102bc628
  • 4cc0adf4baa1e3932d74282affb1a137b30820934ad4f80daceec712ba2bbe14
  • 312dc69dd6ea16842d6e58cd7fd98ba4d28eefeb4fd4c4d198fac4eee76f93c3
  • 45d804f35266b26bf63e3d616715fc593931e33aa07feba5ad6875609692efa2
  • 19aa5019f3c00211182b2a80dd9675721dac7cfb31d174436d3b8ec9f97d898b
PlugX
  • f1ca9998ca9078c27a6dab286dfe25fcdfb1ad734cc2af390bdcb97da1214563
  • 6392e0701a77ea25354b1f40f5b867a35c0142abde785a66b83c9c8d2c14c0c3
  • 6c7e85e426999579dd6a540fcd827b644a79cda0ad50211d585a0be513571586
  • 9f01dd2b19a1032e848619428dd46bfeb6772be2e78b33723d2fa076f1320c57
  • 6c7e85e426999579dd6a540fcd827b644a79cda0ad50211d585a0be513571586
  • 76721d08b83aae945aa00fe69319f896b92c456def4df5b203357cf443074c03
  • dcff19fc193f1ba63c5dc6f91f00070e6912dcec3868e889fed37102698b554b
  • 7eeaa97d346bc3f8090e5b742f42e8900127703420295279ac7e04d06ebe0a04
  • a6b6c66735e5e26002202b9d263bf8c97e278f6969c141853857000c8d242d24
  • 5412cddde0a2f2d78ec9de0f9a02ac2b22882543c9f15724ebe14b3a0bf8cbda
  • 92dbbe0eff3fe0082c3485b99e6a949d9c3747afa493a0a1e336829a7c1faafb
PIVY
  • f0002b912135bcee83f901715002514fdc89b5b8ed7585e07e482331e4a56c06
  • 412120355d9ac8c37b5623eea86d82925ca837c4f8be4aa24475415838ecb356
  • 44a7bea8a08f4c2feb74c6a00ff1114ba251f3dc6922ea5ffab9e749c98cbdce
  • 9edf191c6ca1e4eddc40c33e2a2edf104ce8dfff37b2a8b57b8224312ff008fe
C2s
  • dick[.]ccfchrist[.]com
  • trout[.]belowto[.]com
  • sakai[.]unhamj[.]com
  • zebra[.]wthelpdesk[.]com
  • area[.]wthelpdesk[.]com
  • kawasaki[.]cloud-maste[.]com
  • kawasaki[.]unhamj[.]com
  • fukuoka[.]cloud-maste[.]com
  • scorpion[.]poulsenv[.]com
  • lion[.]wchildress[.]com
  • fbi[.]sexxxy[.]biz
  • cia[.]toh[.]info
  • 2014[.]zzux[.]com
  • nttdata[.]otzo[.]com
  • iphone[.]vizvaz[.]com
  • app[.]lehigtapp[.]com
  • jimin[.]jimindaddy[.]com
  • Jepsen[.]r3u8[.]com
  • inspgon[.]re26[.]com
  • nunluck[.]re26[.]com
  • yahoo[.]incloud-go[.]com
  • msn[.]incloud-go[.]com
  • www[.]mseupdate[.]ourhobby[.]com
  • contractus[.]qpoe[.]com
  • apple[.]cmdnetview[.]com
  • cvnx[.]zyns[.]com