- 2021/06/03
- マルウェア
PortDoorマルウェア:ロシア防衛部門を標的とした中国の新たなAPTバックドア攻撃
Post by : Cybereason Nocturnus
サイバーリーズンのNocturnusチームは、RoyalRoadウェポナイザー(別名8.t Dropper/RTFエクスプロイトビルダー)の最近の動向を追跡しています。長年にわたって、このツールは、 Tick、Tonto Team、TA428のような中国関連の脅威アクターが利用する武器の一部となっており、これらのアクターは、高価値のターゲットに対する標的型攻撃におけるスピアフィッシングを行うためにRoyalRoadを定期的に採用しています。
Nocturnusチームは、新たに発見されたRoyalRoadのサンプルを分析する中で、異常な特性を持つだけでなく、PortDoorマルウェアを配信するものを検出しました。PortDoorマルウェアは、これまで文書化されていなかったバックドアであり、中国の国家的利益のために活動していると思われる脅威アクターによって開発されたものだと言われています。
検証されたフィッシングルアーの内容によると、攻撃の標的となったのは、ロシア連邦海軍の原子力潜水艦を設計しているロシアの防衛関連企業であるRubin Design Bureauに勤務する最高責任者でした。
主な調査結果
- 開発中のRoyalRoadバリアント:今回検証されたRoyalRoadウェポナイザーのバリアントは、暗号化されたペイロードを、既知の「8.t」ファイルから「e.o」という新しいファイル名に変更しています。この他にも新たなバリアントが開発中である可能性があります。
- これまで文書化されていないバックドア:新たに発見されたRoyalRoad RTFのバリアントは、PortDoorと呼ばれる、これまで文書化されていなかったステルス性の高いバックドアをドロップします。Portdoorは、難読化とパーシステンスを考慮して設計されています。
- 高度に的を絞った攻撃:脅威アクターは、ロシア海軍の潜水艦を設計するロシアの防衛部門の一部であるRubin Design Bureauを特に標的としています。
- 広範なマルウェア機能:Portdoorは複数の機能(偵察、標的のプロファイリング、追加ペイロードの配信、権限昇格、プロセスの操作、静的検知型アンチウイルスの回避、1バイトのXOR暗号化、AES暗号化データの流出など)を備えたマルウェアです。
- 中国の国家利益のために活動するAPTグループ:今回発見されたバックドアのサンプルと他の既知の中国製APTマルウェアとの間には、感染経路、ソーシャルエンジニアリングのスタイル、類似した標的に対するRoyalRoadの使用、およびその他の件に関して類似点があるという証拠が蓄積されており、これらはすべて、中国の国家的利益を代表して活動する脅威アクターの仕業と思われる特徴を示しています。
スピアフィッシング攻撃の分析:RoyalRoadの導入
RoyalRoadは、Microsoft’のEquation Editorに存在する脆弱性(CVE-2017-11882、CVE-2018-0798、およびCVE-2018-0802)を悪用する、武器化されたRTF文書を生成するツールです。RoyalRoadは、主に中国の国家利益のために活動していると考えられる脅威アクター(Tick、Tonto Team、TA428、Goblin Panda、Rancorなど)によって使用されています。
RoyalRoadには一貫した特徴があり、武器化されたRTF文書の多くは、通常、「8.t」という名前のエンコードされたファイルをドロップします。このファイルは、復号化された時点で、さまざまな脅威アクターに、さまざまな種類のペイロードを提供します。
このレポートでは、「古典的な」RoyalRoadの特性からの逸脱について説明します。ドロップされたオブジェクトの名前は、これまでの「8.t」という一貫したファイル名から、新たに「e.o」というファイル名へと変更されています。
スピアフィッシングメールでRoyalRoadのRTFを配信
最初の感染ベクターは、サンクトペテルブルクにある潜水艦などの水中兵器を設計する国立研究機関「Gidropribor(ギドロプリボル)」の潜水艦設計センターであるRubin Design Bureauの「尊敬する最高責任者Igor Vladimirovich」宛てのスピアフィッシングメールです。
▲スピアフィッシングメールの内容
このメールの添付ファイルは、RoyalRoadペイロードを含む武器化された悪意あるRTF文書であり、これには自律型潜水艇の全体像を記述したコンテンツが含まれています。
▲武器化されたRTF文書の内容
このRTFの作成日時が2007年にタイムスタンプされているのは、おそらく調査や検知の作業を妨害するためだと思われます。タイムスタンピングは、脅威アクターが検知を逃れるために用いる手法として知られています。
▲VirusTotalによるRTFの履歴データ
このRTF文書がオープンされ実行されると、Microsoft WordのアドインファイルがMicrosoft Wordのスタートアップフォルダにドロップされます。この手法は、自動実行パーシステンスの検出を回避するために、さまざまなアクターにより使用されています。アドインファイルをトリガするためには、Wordを再起動する必要があるため、この結果、パーシステンス機構がより「ノイズ」の少ないものになります。
ほとんどのRoyalRoadペイロードに見られる一般的な「8.t」というファイル名ではなく、この新しいRoyalRoadのバリアントは、一時ファイルのペイロードに「e.o」という命名規則を使用しており、このファイルは、最終的に「winlog.wll」としてMS Wordのスタートアップフォルダに出力されます。
▲武器化されたRTFの実行とディスク上のドロップファイル
このRTFファイルの悪意ある実行は、Cybereason Defense Platformによって検知されます。
▲Cybereasonにより検知されたPortDoorバックドア
PORTDOORバックドアの分析
ドロップされたペイロードには「winlog.wll」という名前が付けられており、これは、これまで文書化されていなかったバックドアです。このバックドアの持つ主な機能は次の通りです。
- 被害者のマシンの偵察とプロファイリングの収集
- C2サーバーからのコマンドの受信と追加ペイロードのダウンロード
- rawソケット、およびプロキシ認証をサポートするポート443経由のHTTPを使用したC2サーバーとの通信
- 権限昇格とプロセスの操作
- 静的検知を回避するための動的なAPI解決
- 機密データや構成文字列の1バイトXOR暗号化
- 収集された情報は、C2サーバーに送信される前にAESで暗号化される
詳細な分析
このDLL自体には、DllEntry00からDllEntry33まで複数のエクスポート関数が含まれています。これらのエクスポート関数のほとんどは、スリープループを返すだけであり、これは分析回避の手段だと思われます。メイン関数はDllEntry28とDllEntry18の中にあります。
▲PortDoorバックドアのDLLエクスポート
構成情報を取得するために、このバックドアはまず、ハードコーディングされている0xfe XORキーを使って文字列を復号化します。
▲文字列の復号化ルーチン
復号化されたデータには、次のような構成情報が含まれています。
▲メモリ上の復号化された文字列
復号化された文字列 | 機能 |
---|---|
45.63.27[.]162 | C2アドレス |
Kr*^j4 | 適用不可 |
B-JDUN | 被害者のID |
58097616.tmp | %temp%に出力されるデータファイル名 |
0987654321fedcba | AES-CBC鍵 |
なお、注意すべきは、解析中にC2との通信が成功しなかったため、一部の解析情報が不完全である可能性があることです。
デバッガーの存在チェックと文字列の復号化に続いて、このマルウェアは%temp%にハードコーディングされた名前「58097616.tmp」で追加のファイルを作成した後、GetTickCountの値に乱数を掛けた数値を同ファイルに出力します。
▲ファイル58097616.tmpに出力される値
この値は、標的に関する追加の識別子として、また、このマルウェアが以前に存在していたことを示すプレースホルダとして使用されます。
続いて、このマルウェアは、rawソケット経由のTCP、またはCONNECTメソッドを使用したHTTPSを使用したデータ転送をサポートするC2との接続を確立しようと試みます。また、このバックドアはプロキシアウェアであると思われ、「200」および「407」(プロシキ認証が必要)という2つのHTTP応答を区別します。
▲プロキシのサポートがハードコーディングされているHTTPヘッダ
また、PortDoorは権限昇格を実現する機能を持っており、これを行うには、アクセストークン窃取(Access Token Theft)手法を適用することによりexplorer.exeのトークンを盗み出した上で、特権的なセキュリティコンテキストの下で実行します。
▲exeexplorer.exeからアクセストークンを盗み出す
最終的に、このマルウェアは、実行を継続するためにC2からのさらなる指示を待ちます。これは、次のようなswitch-cass文を通じて行われます。
▲switch-case文による実装方法(一部)
たとえば、get_pc_info()のケースでは、C2に送信するための基本的なPC情報を収集します。文字列「B-JDUN」は、攻撃/被害者を表す一意の識別子として使用されている可能性が高いと思われます。
▲感染したPCで収集した情報
最後に、C2サーバーに情報を送信する前に、このバックドアは盗み出したPC情報データを、AESを使って暗号化します。
▲PC上で収集した情報をAESで暗号化
下記の表に、このバックドアの主なC2コマンド機能をまとめて示します。
ケース | アクション |
---|---|
0x08 | PC情報を取得し、“B-JDUN”識別子と連結する |
0x30 | 実行中のプロセスをリストする |
0x31 | プロセスをオープンする |
0x41 | 論理ドライブ上の空き領域を取得する |
0x42 | ファイルの列挙 |
0x43 | ファイルを削除する |
0x44 | ファイルを移動する |
0x45 | 隠しウィンドウでプロセスを生成する |
0x28 | 同時操作のためにファイルをオープンする |
0x29 | ファイルへ出力する |
0x2a | ハンドルをクローズする |
0x2b | ファイルをオープンしディスクへ直接出力する |
0x01 | 文字列“Kr*^j4”を探す |
0x10 | パイプを作成し、それを通じてデータをコピーした後、AESで暗号化する |
0x11 | ファイルにデータを出力し、末尾に“\n”を付加する |
0x12 | ファイルにデータを出力し、末尾に“exit\n”を付加する |
▲C2コマンド機能の概要
PortDoorバックドアが利用していることが確認されているもう1つの分析回避手法として、動的なAPI解決が挙げられます。このバックドアは、静的なインポートを使用する代わりに、API呼び出しを動的に解決することで、主要な機能のほとんどを隠蔽できるほか、疑わしいAPI呼び出しの静的な検知を回避できます。
▲動的なAPI解決
PortDoorバックドアのDLLの悪意ある実行は、Cybereason Defense Platformによって検出されます。
▲Cybereasonにより検出されたPortDoorバックドアのDLL
アトリビューション(攻撃者の特定)
今回の分析の時点では、合理的な確実性と共に、新たに発見されたバックドアを既知の脅威アクターに帰属させるために十分な情報は存在していませんでした。しかし、このブログで分析した新しいマルウェアサンプルの背後にいる脅威の行為者とかなりの類似点を持つ、いくつかの既知の中国のAPTグループが存在しているのは事実です。
nao_secが過去に実施した調査に基づいて、Nocturnusチームは、このブログで取り上げたRTFファイルがRoyalRoad v7で武器化されたものであることを突き止めました。RoyalRoad v7は、「b0747746」というヘッダーエンコーディングを含んでおり、Tonto Team、TA428、Rancorなどの脅威アクターにより使用されていたことが確認されています。
▲RoyalRoadのアトリビューションマトリクス(出典:nao_sec)
Tonto TeamとTA428は両者とも、過去にロシアの組織を攻撃していることが確認されており、特に研究および防衛関連の標的を攻撃していることが確認されています。たとえば、Tonto Teamは、過去にBisonalマルウェアを使用してロシアの組織を攻撃したことが報告されています。
これらの攻撃におけるスピアフィッシングメールや悪意ある文書を、Tonto Teamがロシアの組織を攻撃するために使用した調査済みのフィッシングメールやルアー文書と比較すると、攻撃者がフィッシングメールや文書で使用した言語的および視覚的なスタイルに一定の類似性が見られます。
今回新たに発見されたバックドアは、バックドアによく見られる逸話的な類似性以外には、上述のグループが使用していた既知のマルウェアとの間に、大きなコード上の類似性は存在していないようです。この結果、我々は、このバックドアは、既知のマルウェアのバリアントではなく、実際には最近開発された新規マルウェアであるとの結論に至りました。
最後に、我々は、今回の攻撃やPortDoorバックドアの開発には、既知または未知の別のグループが関与している可能性があることも認識しています。時間が経ち、より多くの証拠が集まるにつれて、アトリビューションがより明確になることを我々は期待しています。
結論
RoyalRoadは、近年、中国の脅威アクターグループの間で最も利用されているRTFウェポナイザーの1つです。RoyalRoadの最も良く見られる手口は、標的型攻撃の初期段階において、スピアフィッシングを利用して被害者に悪意ある文書をオープンさせ、Microsoft Equation Editorの脆弱性を悪用してさまざまなマルウェアをダウンロードさせるというものです。
本レポートでは、RoyalRoadウェポナイザーに加えられた最新の変更点のうち、よく知られており予測可能な指標からは逸脱したものについて説明しました。これはおそらく、RoyalRoadを運用している脅威アクターが「簡単に達成できるような目標」の検知を避けようとしていることを表しています。
また、我々は、新たなPortDoorバックドアの発見について報告しました。このバックドアは、これまで文書化されていなかったステルス性の高いツールであり、攻撃者がターゲットのマシンにアクセスし、情報を収集し、追加のペイロードを導入するために設計されています。
本稿執筆時点では、この新しいバックドアの背後にいかなる脅威アクターが潜んでいるかは不明ですが、我々は、プロファイルに適合する2つの潜在的な容疑者を特定しました。現時点では、この仮説を高い確度で証明できるだけの十分な情報はありません。
MITRE ATT&CKによる分類
偵察
・被害者のホスト情報の収集
初期アクセス
・フィッシング:スピアフィッシング用の添付ファイル
実行
・コマンドおよびスクリプティングインタプリタ:Windowsコマンドシェル
パーシステンス
・Officeアプリケーションの起動:アドイン
権限昇格
・プロセスインジェクション
・アクセストークンの操作:トークンの偽装/窃取
防御回避
・なりすまし:正規の名前や場所に一致
・仮想化/サンドボックスの回避
・プロセスインジェクション
・情報やファイルの難読化
・アクセストークンの操作:トークンの偽装/窃取
・署名付きバイナリのプロキシ実行:Rundll32
検出
・仮想化/サンドボックスの回避
・ファイルやディレクトリの検出
・システム情報の検出
・システム時間の検出
・プロセスの検出
C&C(Command and Control)
・チャネルの暗号化
・アプリケーション層プロトコル
・プロキシ:外部プロキシ
ホワイトペーパー「PowerShell攻撃(ファイルレスマルウェア)を確実に防御」
侵入後に展開するPowerShellを使用したファイルレス型マルウェア攻撃は、ここ数年、攻撃者が好んで選択する攻撃となっており、ダウンロード/実行ペイロード、APT攻撃、さらにはランサムウェアなどの攻撃に悪用されています。PowerShell攻撃(ファイルレスマルウェア)の課題とCybereasonによるPowerShell攻撃の確実な防御について詳しく解説します。
https://www.cybereason.co.jp/product-documents/input/?post_id=2121