Blog bannar

親ロシア派APT「Winter Vivern」によるZimbraの既知の脆弱性を利用したNATO加盟欧州政府Webメールポータルへの攻撃

Share with your network!

主なポイント

  • プルーフポイントは、TA473による最新のサイバースパイ活動(米国選出された公務員や職員を標的としたTA473の未報告の事例を含む)を確認しています。
  • TA473はプルーフポイントが新たに追跡している攻撃グループで、すでに報告されているWinter Vivernに関する攻撃活動と一致しています。
  • TA473は、少なくとも2023年2月以降、WebメールシステムであるZimbraの既知の脆弱性を悪用してWebメールポータルを攻撃し、欧州政府機関のメール受信箱に対する不正アクセスをおこないました。
  • TA473は、各政府機関のWebメールポータル用に設計されたカスタマイズされたJavaScriptペイロードを再作成し、リバースエンジニアリングしています。
  • プルーフポイントは、TA473の標的が、ロシア・ウクライナ戦争に関連するロシアやベラルーシの地政学的な利益に一致しているというSentinel Oneの分析に同意します。

概要

プルーフポイント がTA473として追跡しているAPT (高度標的型攻撃グループ)が、Zimbra の脆弱性 CVE-2022-27926 を悪用して、一般公開されている Zimbra ホストのWebメールポータルを攻撃していることをプルーフポイントのリサーチャーが確認しました。この活動の目的は、ロシア・ウクライナ戦争に関与するヨーロッパ各地の軍、政府、外交機関のEメールにアクセスすることであると評価されています。このグループは、Acunetixのようなスキャンツールを利用し、これらの組織に属するパッチ未適用のWebメールポータルを特定し、被害者を標的とするための実行可能な方法を特定します。最初のスキャンによる偵察の後、攻撃グループは、関連する政府リソースを装った良性のフィッシングメールを配信します。そのメール本文には、既知の脆弱性を悪用して被害組織のWebメールポータル内でJavaScriptペイロードを実行する不正なURLのハイパーリンクが記載されています。さらに、攻撃グループは、ターゲットの各Webメールポータルのインスタンスを調査し、Webアプリケーションに存在する脆弱性、もしくはその脆弱性を利用した攻撃方法であるクロスサイト リクエスト フォージェリー(CSRF: Cross Site Request Forgery)を行うためのカスタマイズされたJavaScriptペイロードを作成するために、かなりの時間を費やしているようです。これらの手間のかかるカスタマイズされたペイロードにより、攻撃グループはユーザー名、パスワードを盗み、CookieからアクティブなセッションとCSRFトークンを保存し、NATOと連携する組織の公開されたWebメールポータルへのログインを容易にすることができます。

プルーフポイントのリサーチチームは最近、TA473を公に追跡する攻撃グループにカテゴリを昇格させました。オープンソースリサーチではWinter Vivernとして知られており、プルーフポイントは少なくとも2021年からこの活動群を追跡しています。

攻撃グループTA473とは?

TA473は、DomainTools、 Lab52Sentinel OneUkrainian CERTなどのセキュリティベンダーによって、Winter VivernおよびUAC-0114として公表されている攻撃グループです。この攻撃グループは、歴史的にフィッシングキャンペーンを活用してPowerShellとJavaScriptの両方のペイロードを配信しており、またフィッシングメールを使ったクレデンシャルハーベスティングキャンペーン(認証情報を窃取する攻撃キャンペーン)を繰り返し行っています。2021年以降、プルーフポイントは、積極的なフィッシングキャンペーンにおいて、欧州政府、軍、外交機関への集中的な攻撃を観測しています。しかし、2022年後半には、プルーフポイントのリサーチャーは、米国内の選出議員や職員を標的としたフィッシングキャンペーンも観測しています。ロシア・ウクライナ戦争が始まって以来、リサーチャーは、観測されたターゲット、ソーシャルエンジニアリングのルアー、なりすましに使われている人物には共通点があることを確認しています。多くの場合、標的となった人物は、現在進行中の紛争の影響を受けている地域に関連するヨーロッパの政治や経済の一面に詳しい専門家です。ソーシャルエンジニアリングで使われるルアー(おとり)の内容やなりすましに使われている組織は、武力紛争中のウクライナに関連することが多いものになっています。

TA473フィッシング キャンペーンの詳細

プルーフポイントは、2021年以降、TA473フィッシングキャンペーンの進化を観測しています。この攻撃グループは、2022年5月に公開されたCVE-2022-30190(Follina)エクスプロイトのような人気のあるワンデイ脆弱性を含む脆弱性公開の機会に便乗したエクスプロイトを採用して被害組織を狙っていることが観測されています。しかし、一般的には、この攻撃グループは、すべてのEメール攻撃キャンペーンにおいて、繰り返しフィッシング手法を使用しています。以下のフィッシング手法は、米国と欧州の両方のターゲットに対して一貫して観測されており、クレデンシャル ハーベスティング、マルウェア配信、クロスサイト リクエスト フォージェリ(CSRF)の攻撃キャンペーンでも観察されています。

  1. TA473は、侵害されたEメールアドレスからEメールを送信します。多くの場合、これらのメールはWordPressでホストされたドメインから発信されています。だいたいは侵害時点で、パッチが未適用であったり、設定が安全でなかったものなどです。
  2. TA473は、メールの送信元を偽装して、標的となる組織のユーザーになりすましたり、メールの送信元を偽装して、世界政治に関わる同業者の組織に見せかけます。
  3. TA473は、標的組織または関連する同業組織に対して、良性のURLをメール本文に記載します。
  4. そして、TA473はこの良性のURLを、攻撃者が管理する、あるいは侵害したインフラにハイパーリンクさせ、第一段階のペイロードを配信したり、認証情報の収集用のランディングページにリダイレクトさせたりします。
  5. TA473は、ターゲットとなる個人のハッシュ値、ターゲットとなる組織の非エンコード表示、そして場合によってはターゲットへの最初の電子メールでハイパーリンクされた良性URLのエンコードまたはプレーンテキストバージョンを示す構造化URIパスをしばしば使用します。
Figure 1

図1. 攻撃グループが管理するリソースにリダイレクトするハイパーリンク付きURLを含むTA473のメール

既知のZimbraの脆弱性を悪用した、公開されているWebメールポータルへのエクスプロイト

2023年初頭から、プルーフポイントは、CVE-2022-27926を利用した欧州政府機関を標的としたTA473フィッシングキャンペーンの傾向を観測しました。この脆弱性は、一般向けのWebメールポータルをホストするために使用されるZimbra Collaboration(以前は「Zimbra Collaboration Suite」)のバージョン9.0.0に影響します。この脆弱性は、"Zimbra Collaboration (別名 ZCS) 9.0 の コンポーネントである /public/launchNewWindow.jsp 内のリフレクトXSS(クロスサイト スクリプティング)の脆弱性であり、認証されていない攻撃者がリクエストパラメータを介して任意のウェブスクリプトまたは HTML を実行できる"とされています。

実際には、TA473はフィッシングメールの本文中にある良性のURLから、CVE-2022-27926を利用したURLにリンクさせています。悪意のあるURLは、脆弱なZimbra Collaboration Suiteインスタンスを持つWebメールドメインを使用し、任意の16進数で符号化または平文のJavaScriptスニペットを付加し、最初のWebリクエストで受け取ったときにエラーパラメータとして実行されます。このJavaScriptが解読されると、次の段階の特別に作られたJavaScriptペイロードがダウンロードされ、ユーザー名、パスワード、CSRFトークンをユーザーから取得するためにCSRFが行われます。

CSRF手順

図2. TA473のCSRFによる感染チェーン図

この脆弱性の悪用は、より幅広いZimbra Collaborationバージョンに影響を与えるCVE-2021-35207の悪用と実際には非常に似ており、特にWebメールのログインURLのloginErrorCodeパラメータに実行可能なJavaScriptを追加する必要があるとリサーチャーは述べています。しかし、この悪用はCVE-2022-27926とは異なり、限定的であると考えられています。CVE-2022-27926を利用したTA473のバリエーションは、以下のものが確認されています:

1.  JavaScriptの値を16進数でエンコードしたURL

java

 

 

Figure 3

図3. CyberChef がデコードした16進数のJavaScript

2.  プレーンテキストのJavaScript値を含むURL

java

 

カスタマイズされたクロスサイト リクエスト フォージェリ(CSRF)

プルーフポイントのリサーチャーは、上記のCVE-2022-27926の悪用と、フィッシングメール本文の良性URLのハイパーリンクから生じるTA473制御のインフラ配信などの以前の配信メカニズムの両方を通じて、カスタマイズされたCSRF JavaScriptペイロードと思われる複数の事例を確認しました。これらのCSRF JavaScriptコードブロックは、脆弱なWebメールインスタンスをホストするサーバーで実行されます。さらに、このJavaScriptは、ターゲットのユーザー名、パスワード、CSRFトークンを示す主要なWebリクエストの詳細を返すために、ネイティブのWebメールポータルのJavaScriptを複製し、エミュレーションに依存しています。いくつかの例では、TA473がRoundCubeのWebメールリクエストトークンを特にターゲットにしていることも確認されています。このように、標的となる欧州の政府機関がどのWebメールポータルを使用しているかを詳細に調べることは、TA473が組織にフィッシングメールを送信する前に行う偵察のレベルを示しています。これらの次の段階のTA473 CSRF JavaScriptペイロードは、JavaScriptの機能を難読化するために、何層ものBase64エンコーディングを使用しています。この攻撃グループは、配信されたペイロードの分析を複雑にするために、Base64エンコードされたJavaScriptのインスタンスを3つ入れ子にして挿入します。しかし、スクリプトを解読することは簡単で、意図した悪意のある機能を明らかにすることができます。

Figure 4

図4. Base64エンコードされたCSRF JavaScriptのペイロード(長さを考慮して抜粋)

特定された悪意のあるJavaScriptの各ペイロードは、ネイティブのWebメールポータルで実行される正規のJavaScriptを大きく取り込んでいます。これらのキャンペーンによって影響を受けた欧州政府機関を特定しないために、プルーフポイントのリサーチャーは、スクリプトの高レベルの機能、特にクロスサイトリクエストフォージェリーを実現するためにTA473によって挿入された部分に焦点を当てました。リサーチャーは、2023年2月に配信された悪意のあるJavaScriptを観察し、以下の機能を備えていることを確認しました:

  1. ユーザー名の窃取
  2. ユーザー パスワードの窃取
  3. Webリクエストのレスポンスに含まれるCookieから、アクティブなCSRFトークンを窃取
  4. 盗んだ値を攻撃グループが管理するサーバーにキャッシュ
  5. アクティブトークンで正規のメールポータルへのログインを試みる
  6. スクリプトは、その機能において追加のURLを利用する:
    1. 攻撃グループが管理するサーバーにホストされているPop3およびIMAPの指示を表示する。
    2. ネイティブURL経由で正規のWebメールポータルへのログインを試みる。

観察されたスクリプトの動作の拡張シーケンスは以下の通りです:

  1. 盗まれたユーザー値のキャッシュのために悪意のあるサーバーのドメインを確立する
  2. 対象となるアカウント名を参照する
  3. 日付と時刻を取得する
  4. アカウント名の変数を取得する
  5. タイムアウトウィンドウを1000秒に設定
  6. "クリック時 "にクレデンシャルを送信する機能
    1. ユーザー名とパスワードをURIエンコードして送信
    2. パスワードの長さが0で失敗した場合 (別名 no password)、スクリプトはユーザーに次のようなプロンプトを表示: "The username or password is incorrect. Verify that CAPS LOCK is not on, and then retype the current username and password."(ユーザー名またはパスワードが正しくありません。CAPS LOCKがオンになっていないことを確認し、現在のユーザー名とパスワードを再入力してください。) ; return;"
    3. 次に、スクリプトは、Webリクエストのレスポンスから、ユーザー名、パスワード、およびCSRFトークンをログに記録
  7. JavaScriptは再びログインに失敗したことを確認しようとし、攻撃者が入力したエラーメッセージを表示し、記録されたCSRトークンを正規のWebメールサーバーにポスト(ログインの試み)。
    1. この試みが失敗した場合、スクリプトは再び対象サーバーへの投稿を試み、ElementbyID "lic34yo8o" を取得し、レスポンス内の "body" というタグが付いたこの要素を削除
    2. その後、再び「accountname」変数、「username」変数、「password」変数の保存を試みる
  8. スクリプトは、ターゲットドメインに固有と思われるハードコードされたカスタムURI構造を使用して、正規のWebメールポータルにログインしようとし、ユーザー名、パスワード、CSRFトークンを、以前に取得したURI構造に付加する
  9. スクリプトには、盗んだクレデンシャルとトークンの内容でログインする機能あり
  10. スクリプトには、攻撃者が管理するインフラにホストされたZimbra Pop3およびIMAPのログイン情報ページを表示する機能あり
  11. スクリプトには、正規のウェブメールポータルのログインウィンドウを表示する機能あり
  12. スクリプトには「initLoginField」という関数があり、正規のウェブメールのログインウィンドウにユーザー名とアカウント名を入力するよう表示される
  13. メールサーバーをログオフし、ログアウト時にCSRFトークンの取得を試み、攻撃者が管理するサーバーに送信する機能あり
  14. スクリプトには、CSRFトークンを取得する関数あり
  15. JavaScriptのリクエストレスポンスドキュメントから要素を解析するDOMParser機能を利用して、文字列からCSRFトークンを取得する機能あり
Figure 5

図5. CSRFトークンを盗む方法を詳しく説明したCSRF JavaScriptのスニペット

先進的な機能が理想的だが、迷ったときは粘り強さが重要

TA473は、一般公開されているWebメールポータルに影響を与えるパッチ未適用の脆弱性をスキャンし、悪用するための持続的なアプローチをとっています。このグループは、ユーザー名、パスワード、CSRFトークンを盗むためのJavaScriptをリバースエンジニアリングするために、一般に公開されているWebメールポータルを継続的に偵察し、丹念に研究することに注力しており、特定のターゲット(この場合は欧州政府部門)を侵害することへの投資を示しています。TA473は、1つのツールやペイロードですべてをまかなうのではなく、特定のエンティティを侵害するために時間とリソースを費やし、各JavaScriptペイロードは標的となるWebメールポータル用にカスタマイズされています。

プルーフポイントのリサーチャーは、特に欧州の政府機関において、一般に公開されているWebメールポータルで使用されているZimbra Collaborationのすべてのバージョンにパッチを適用することを強く推奨します。さらに、TA473のようなグループが、認証情報を盗んでユーザーのWebメールアカウントにログインすることができるカスタムスクリプトを再構築し、エンジニアリングするのを防ぐために、一般に公開されているWebメールポータルのリソースを公共のインターネットから制限することを強く推奨します。TA473は、欧州のサイバー環境を標的とするAPT攻撃グループの中で、洗練された集団の先頭に立つことはありませんが、集中力、持続力、そして地政学的な標的を侵害するための反復可能なプロセスを示しています。中世に語られたドラゴンの頭を持ち2本の足と1対の翼しか持たない冬のモンスターであるヴァイヴァーンのように、この脅威は1年中存続する可能性があります。

 

IOC ( 侵害の痕跡 / Indicators of Compromise)  

IOC

Type of IOC

Description

hxxps://oscp-avanguard[.]com/asn15180YHASIFHOP_<redacted>_ASNfas21/auth.js

 

hxxps://oscp-avanguard[.]com/settingPopImap/SettingupPOPandIMAPaccounts.html

 

hxxps://troadsecow[.]com/cbzc.policja.gov.pl

 

hxxps://bugiplaysec[.]com/mgu/auth.js

 

hxxps://nepalihemp[.]com/assets/img/images/623930va

 

hxxps://ocs-romastassec[.]com/redirect/?id=[target specific ID]&url=[Base64 Encoded Hyperlink URL hochuzhit-com.translate.goog/?_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=en-US&x_tr_pto=wapp]

 

hxxps://ocspdep[.]com/inotes.sejm.gov.pl?id=[Target Specific SHA256 Hash]

URLs

Observed payload delivery URLs

ocspdep[.]com

bugiplaysec[.]com

oscp-avanguard[.]com

troadsecow[.]com

nepalihemp[.]com

Domain

C2 Domains

ET Signatures

2034117 – ET TROJAN Wintervivern Activity M5 (GET)

2034116 – ET TROJAN Wintervivern Activity M4 (GET)

2034115 – ET TROJAN Wintervivern Retrieving Commands

2034109 – ET TROJAN Wintervivern Activity (GET) M3

2034108 – ET TROJAN Wintervivern Checkin

2034107 – ET TROJAN Wintervivern Retrieving Task­

2034106 – ET TROJAN Wintervivern Activity M2 (GET)

2034105 – ET TROJAN Wintervivern Activity (GET)