マルウェア
サイバー諜報グループ「Earth Hundun」がマルウェア「Waterbear」や「Deuterbear」を継続的にアップデート
サイバー諜報グループ「Earth Hundun」が展開するマルウェア「Waterbear」と「Deuterbear」について、詳しく解説します。
概要
- Earth Hundun」は、サイバー諜報活動を主目的とするグループであり、数年間に渡ってアジア太平洋地域の行政機関やテクノロジー業界を狙ってきました。
- 本グループは、多数のツールや手口を用いることで知られています。その代表例がマルウェア「Waterbear」であり、2009年以来、10回以上に渡るバージョン更新を重ねています。
- Waterbearの動作は複雑であり、検出や解析を妨害するために多数の手口を行使します。後継バージョンでは、さらに対処困難な機能が追加されています。
- Earth Hundunは2022年以降、Waterbearの最新バージョンである「Deuterbear」の利用を開始しました。元のWaterbearと比べると、メモリスキャンの回避や復号の手続きを含む各種機能が刷新され、ほとんど別のマルウェアと捉えることも可能です。
- 本稿では、Earth Hundunが利用するマルウェア「Waterbear」と「Deuterbear」について、詳しく解説します。
はじめに
最近に入り、行政機関や研究機関、テクノロジー業界に対するサイバー攻撃が急増していることが、トレンドマイクロの調査によって判明しました。攻撃の背後にいるのはサイバー諜報グループ「Earth Hundun(別称:BlackTech)」であり、主にアジア太平洋地域の組織に対してマルウェアファミリ「Waterbear」を展開し、機密情報を盗み出しています。
Waterbearは、Earth Hundunが展開する高度なバックドア型マルウェアの1つであり、デバッグ妨害やサンドボックス妨害、アンチウイルス妨害などの手口を数多く利用します。本マルウェアは頻繁にアップデートを繰り返し、その度に検知回避の手法が巧妙化し、ローダやダウンローダ、通信プロトコルの機能が刷新されてきました。本稿では、最近になって一層強化されたWaterbearや、その最新バージョンである「Deuterbear」について、技術的な分析結果も含めて詳しく解説します。
WaterBearの詳細
Waterbearは2009年以来、10回以上に渡るバージョン改定を重ねてきました。そのバージョン番号は、後述する「構成データ」の中にも明記されています。Earth Hundunの攻撃活動は執拗であり、標的システム側で対策が取られている場合にも感染フローなどに手を加え、幾度となく防御網の突破を試みます。そのため、被害を受けた1組織のシステムから複数のバージョンが同時に検知されることも、珍しくありません。
さらに目を引く点として、被害システム側のプライベートIPアドレスが、Waterbear用ダウンローダのコマンドコントロール(C&C:Command and Control)サーバとして利用されたケースも存在します。例えば、以下のハッシュ値のダウンローダは、プライベートIPアドレス「192.168.11[.]2」をC&Cサーバとして利用します。
6b9a14d4d9230e038ffd9e1f5fd0d3065ff0a78b52ab338644462864740c2241
上記を踏まえると、攻撃者は被害組織のネットワーク構造を細部に渡って把握し、内部のサーバを踏み台とすることで、検知回避の仕組みを多段階に渡って築いていた可能性があります。このように手の込んだ戦略は、監視をかわして支配権を持続させるに至った本諜報グループの巧妙さを示すものと言えるでしょう。
Waterbearの攻撃フローとTTPs
Waterbearは、初期ローダの起動手段として、正規の実行ファイルを介したDLLサイドローディングを行います。この際の実行ファイルによっては、そのインポートテーブル自体が攻撃者に改変されている場合もあります。例えば、インポートテーブルの「第0番目」にローダ相当のDLLを追加することで、その起動を早め、検知回避の能力も高めているパターンが挙げられます。
Waterbearのローダ
図1に示す通り、Waterbearの初期ローダは、暗号化済みダウンローダを復号するために、2種の手続きを使用します。
第1の復号方式
最近確認されたWaterbear用ダウンローダは、その多くが、復号方式として独自の「ソルト付きRC4」を利用します。また、その処理自体にも難読化が施されています。特にバージョン0.13、0.16、0.24では、この傾向が明確に表れています。一方、より古いバージョンでは難読化の利用が稀であり、あったとしてもわずかな範囲にとどまっています。
第2の復号方式
第2の方式では、Waterbearの初期ローダが暗号化済みダウンローダを事前にレジストリ内に格納しておき、使用時に以下のAPIによって復号します。
CryptUnprotectData
本APIの性質上、復号処理は当該の感染端末でしか実行できなくなります。これによって攻撃者側の自由度は損なわれますが、一方で防御側でも、攻撃の存在に気づきにくくなる、インシデント対応や解析がスムーズに進まなくなる、といった不都合が生じます。
Waterbearのダウンローダ
Earth Hundunは、ダウンローダの開始部と終端部に多量の0x00を埋め込むなどして、アンチウイルス製品を回避する機能を強化してきました。Waterbearの初期ローダは、先述した方式によって復号済みのシェルコードを直接実行し、デバッグモードのチェックを行います。この結果、ダウンローダが稼働します。
メモリスキャンの回避
- 関数を暗号化状態で保持し、利用直前に復号する。利用後は、また暗号化状態に戻す。
- メモリ内における関数の格納先アドレスを取得した後、すぐに別の場所に移動する。元のアドレスにはランダムなデータを上書きし、復旧できない状態にする。
詳細については、前回の記事中、「ペイロード実行時のメモリスキャン回避機能」のセクションをご参照ください。
構成データ
前回の記事でも述べた構成データには、C&Cサーバとの通信や、各機能の実行に必要な情報が格納されています。
通信手順
Waterbearのダウンローダは、下図のような通信手順に従い、C&CサーバからRATの本体をダウンロードします。
全ての通信パケットには、実データの補足情報として、10バイト長のヘッダーが添えられます。ヘッダーの形式はPalo Altoが報告した内容と同一ですが、署名の部分については、検知回避の目的で難読化されるようになりました。以降、各通信手順について、最新の分析結果に基づいて解説します。
手順1:通信用鍵データ「KEY_RANDOM」を送信
ダウンローダは、ランダムな16バイト長の通信用鍵データ「KEY_RANDOM」を生成し、これを下記フォーマットのパケットに格納した上で、C&Cサーバに送信します。
上表の通り、ヘッダー内の第2、3バイトにはコマンドコード「0x40 0x1F」が、末尾の4バイトにはデータサイズがリトルエンディアンで埋め込まれます。また、これらの内容は全てXORなどによって難読化され、以前のバージョンよりも複雑化しています。本パケットを受信したC&Cサーバは、ヘッダーや実データの内容を逆算し、元の内容を復元します。結果として取得される「KEY_RANDOM」は、以降に送受信する通信データのRC4暗号鍵として、「KEY_2」は、標的を一意に識別するIDとして機能します。
手順2:C&Cの認証
C&Cサーバは、認証のために、下記フォーマットのパケットを被害端末側に送信します。
手順3:RATのサイズを取得
C&Cサーバは、RATのサイズを下記フォーマットのパケットに含めて送信します。
手順4:RATをダウンロード
C&Cサーバは、RAT本体を下記フォーマットのパケットに格納し、これを送信します。
被害端末は、RATの全体がカバーされるまで、本パケットをC&Cサーバから繰り返し受信し続けます。
RATのコマンド
2020年のTeamT5による発表以降も、Waterbearには数多くの機能が新たに追加されています。下表に、最新バージョンで使用されるコマンドやその内容を示します。
Waterbearによる過去の活動については、2019年にトレンドマイクロが公開した記事をご参照ください。
Deuterbearの詳細
Deuterbearは、Waterbear用ダウンローダの最新版に相当します。トレンドマイクロのテレメトリ情報によると、Deuterbearの利用が活発化したのは、2022年のこととなります。元のWaterbear用ダウンローダに比べると、復号の手続きや構成データの内容に大きな変化が見られます。そのためトレンドマイクロでは、Deuterbearを新たなマルウェアの一種と見なし、元のWaterbear用ダウンローダからは独立したものとして分類しています。
Deuterbearの攻撃フローとTTPs
Deuterbearのローダ
Deuterbearは、ダウンローダの復号手段として以下のAPIを使用します。
CryptUnprotectData
そのため、Waterbearの第2復号方式と同様、当該の感染端末でしか復号を実行できません。また、攻撃者側で設定するパラメータの個数が増加しています。
1. 以下のレジストリの配下から、キー「AppID」を指定してパスワードを取得
(HKLM|HKCU|HKCR)\\SOFTWARE\\Classes\\CLSID\\{CLSID値}
2. 以下のレジストリの配下から、暗号化済みダウンローダの格納先パスを取得
(HKLM|HKCU|HKCR)\\SOFTWARE\\Classes\\CLSID\\{CLSID値}\\InprocServer32
3. ダウンローダを復号
- オフセット16から999まで、パスワードとのXORを計算
- パスワードなしでAPI「CryptUnprotectData」を使用
- オフセット0から999まで、パスワードとのXORを計算
- パスワード付きでAPI「CryptUnprotectData」を使用
なお、レジストリのCLSID値は感染端末に応じて異なり、マルウェアのインストール時に設定されます。
Deuterbearのダウンローダ
Deuterbearのダウンローダは、通信データを隠蔽するためにHTTPSトンネリングを使用し、さらに、解析を妨害するために下記の手口を行使します。
- ジャンプ(jmp)命令によって処理を中断
- 処理時間をもとにデバッグモードを検知
- 標準的なAPIやスリープ命令を用いてサンドボックス環境を検知
- 9時から10時など、特定の時間帯に実行状況をチェック
- メモリスキャンの回避機能を実装
メモリスキャンの回避
Deuterbearは、Waterbearによるメモリスキャン回避の手口を受け継ぎ、全ての関数ブロック(復号用の関数を除く)を暗号化した上で、対応する暗号鍵を構成データ内に保管します。しかし、対象関数の実行時には、異なるメモリ領域が使用されます。具体的にWaterbearでは、暗号化された関数の格納先と同じローカルアドレスが使用されるのに対し、Deuterbearでは、新規の仮想メモリが使用される点で、それぞれ異なります。
構成データ
DeuterbearもWaterbearと同様に、実データの補足情報としてヘッダーを付加しますが、その全長は5バイトのみであり、下記フォーマットに従います。
手順1:RSA公開鍵を送信
Deuterbearのダウンローダは、MicrosoftのCryptoAPIを使用してRSAの公開鍵、秘密鍵を作成し、公開鍵の方をC&Cサーバに送信します。この公開鍵は、次の「手順2」で送信する通信データの暗号化に使用されます。
パケットのフォーマットは下記の通りです。
手順2:RC4鍵を送信
C&Cサーバは、以降のRC4暗号化のために、2つの鍵データ「RC4_KEY_1」、「RC4_KEY_2」を生成します。このうちRC4_KEY_1は、被害端末からC&Cサーバへの通信データに、RC4_KEY_2は、C&Cサーバから被害端末への通信データに適用されます。両鍵データの生成後、C&Cサーバは手順1のRSA公開鍵によってこれらを暗号化し、下記フォーマットのパケットに含めて被害端末側に送信します。
手順3:RC4の認証
被害端末側では、本手順で受信したデータを手順2のRC4鍵によって復号し、その結果がRSA公開鍵に一致するかをチェックします。この手続きにより、手順2で届いたRC4鍵が有効であるかを検証します。
手順4:ダウンロードリクエストを送信
被害端末は、RATのダウンロードに必要な「署名データ」を構成データから抽出し(オフセット:0x18から0x38)、暗号化した上で、C&Cサーバに送信します。
手順5:RATのサイズを取得
C&Cサーバは、RATのサイズを下記フォーマットのパケットに格納し、これを送信します。
手順6:RATをダウンロード
C&Cサーバは、RAT本体を下記フォーマットのパケットに格納し、これを送信します。
被害端末は、RATの全体がカバーされるまで、本パケットをC&Cサーバから繰り返し受信し続けます。なお、DeuterbearではRATがシェルコード形式で受信されるのに対し、WaterbearではPE実行コード形式で受信される点で、異なります。
DeuterbearとWaterbearの比較
表17に、Deuterbear用ダウンローダとWaterbear用ダウンローダの比較結果を示します。
まとめ
サイバー諜報グループ「Earth Hundun」は2009年以来、バックドア型マルウェア「Waterbear」の機能強化を継続的に実施し、さまざまな亜種や派生型を生み出してきました。既存の対策が存在する中でも、それに追従する勢いで感染の流れや解析妨害の手口が巧妙に変化し、本稿で挙げた最新版「Deuterbear」が出現するに至っています。Deuterbear用ダウンローダでは、HTTPSによる通信データの暗号化に加え、マルウェア実行に関わる各種関数の復号、デバッガやサンドボックスの検知、通信時のルールも含め、さまざまな種類のアップデートが加えられています。
トレンドマイクロのテレメトリ情報によると、Earth Hundunは主にアジア太平洋地域の組織を狙い、システム侵入を繰り返してきました。WaterbearやDeuterbearによる活発な進化は、企業や組織の防御チームに対し、さまざまな難題をもたらす可能性があります。こうした状況を踏まえてトレンドマイクロでは、監視や検知のさらなる性能強化に向けた取り組みを続けています。
MITRE ATT&CK Techniques
MITRE ATT&CK Tactics and Techniquesはこちらで確認してください。
侵入の痕跡(IoC:Indicators of Compromise)
侵入の痕跡(IoC)はこちらで確認してください。
参考記事:
Cyberespionage Group Earth Hundun's Continuous Refinement of Waterbear and Deuterbear
By: Cyris Tseng, Pierre Lee
翻訳:清水 浩平(Core Technology Marketing, Trend Micro™ Research)