攻撃グループ「Earth Estries」が政府機関や技術業界を狙って新たなサイバー諜報活動を展開
攻撃グループ「Earth Estries」による新たなサイバー諜報活動の実態について解説します。Earth Estriesは、政府機関や技術業界を標的として狙う傾向にあり、本グループが用いるTTPsを分析したところ、標的型攻撃グループ「FamousSparrow」との間に一定の類似性が見出されました。
2023年初頭、政府機関を標的とする新たなサイバー諜報活動が確認されました。トレンドマイクロでは、その背後にいる攻撃グループを「Earth Estries」と名付けました。調査によると、本グループの活動が活発化したのは2020年頃のことであり、別のAPT(Advanced Persistent Threat:標的型攻撃)グループ「FamousSparrow」と同様のTTPs(Tactics:戦略、Techniques:テクニック、Procedures:プロシージャ)を用いる傾向が見られます。
現在なお進行中の本諜報活動に見られるツールやテクニックの内容を踏まえると、Earth Estriesはサイバー諜報や違法行為に関する高度なスキルや経験を持ち、豊富なリソースや機能性を武器に活動していると考えられます。例えば本グループは、侵入の手口を強化するために複数のバックドアやハッキングツールを使用します。また、活動の痕跡を可能な限り消去する手段として、PowerShellのダウングレード攻撃を行います。これにより、WindowsのAMSI(Antimalware Scan Interface:マルウェア対策スキャンインターフェース)が提供するログ機能によって検知される状況を回避しようとします。さらに、標的宛てのコマンド送信、窃取済み情報の流出に際しては、GithubやGmail、AnonFiles、File.ioなどの一般サービスを不正利用します。
現在確認されているサイバー諜報活動の主な標的として、フィリピン、台湾、マレーシア、南アフリカ、ドイツ、米国に存在する政府機関や技術業界が挙げられます。本稿では、当該の攻撃キャンペーンに関する発見事項や技術的な詳細について解説します。企業や組織、セキュリティチームでは、これらの情報に基づいて各デジタル資産の状況を評価することで、セキュリティ強化に向けた指針を得られると考えられます。
感染経路
Earth Estriesはまず、標的組織に属する内部サーバの1つを感染させた上で、管理者権限を有するアカウントを侵害したことが、調査によって判明しました。次に当該グループは、標的環境に攻撃ツール「Cobalt Strike」をインストールすることで追加のマルウェアを展開し、水平移動・内部活動を実行しました。この際、通信プロトコル「SMB(Server Message Block)」やWindowsのシステムインターフェース「WMIC(Windows Management Instrumental Command line)」を不正利用することで、標的環境内にある他の端末向けにバックドアやハッキングツールを拡散させました。続いて、特定のフォルダから情報を収集するオペレーションが完了する度に、その情報をアーカイブ化しました。検体の解析結果によると、収集対象とされたのはPDFやDDFファイルであり、最終的には通信ツール「curl.exe」を介してAnonFilesやFile.ioをはじめとするオンライン・ストレージにアップロードされました。
さらにEarth Estriesは、各オペレーションが完了するたびにインストール済みのバックドアを消去し、次のオペレーションを開始する際に改めて再インストールを行っていたことが判明しました。これは、不正活動の検知や暴露を回避する手段と考えられます。
バックドアとハッキングツール
今回のサイバー諜報活動において、Earth Estriesは情報窃取ツール、ブラウザデータ窃取ツール、ポートスキャナなどのさまざまなツールを利用しました。以降、新たに発見された特徴的なツールについて、技術的詳細を交えて解説します。
バックドア「Zingdoor」
Zingdoorは、Go言語で作られた新たなHTTPバックドアです。トレンドマイクロがZingdoorに初めて遭遇したのは2023年4月のことです。これに対し、2022年6月の時点で当該バックドアが開発されていたことを示すデータも存在します。しかし、本バックドアはクロスプラットフォームに対応できるように新規の設計に基づいて開発されたものと考えられ、実際の攻撃での使用が確認されたことは稀であり、少数の被害事例が報告されるに留まっていました。他の特徴として、UPXによる圧縮や、独自のエンジンによる強力な難読化が施されています。
Zingdoorでは、UPXによる圧縮の解除を妨害する手口が組み込まれています。通常、UPXで圧縮されたファイルには、ヘッダー情報として文字列「UPX!」が埋め込まれます。しかし、今回の攻撃者は当該部を「MSE!」に改変しました。結果、UPXのアプリケーションでは、圧縮を解除できなくなります。これはIoT(Internet of Things:モノのインターネッチ)のマルウェアによく使用される比較的単純な手口ですが、APTでの使用は稀と考えられます。
Zingdoorは「mpclient.dll」に偽装され、DLLサイドローディングの手口で読み込まれます。読み込みを行う実行ファイルとして、正規のWindows Defender用バイナリ「MsSecEs.exe」が不正利用されます。読み込まれたZingdoorは、永続化の手段として自身の親プロセスをWindowsサービスとして登録した上で、これを起動します。当該のサービス名としては、「MsSecEsSvc」を設定します。Zingdoorはサービスプロセスとして稼働し、コマンドコントロール(C&C:Command and Control)サーバに接続してコマンド(指示)を待ち受けます。バックドア内に定義された関数の内容に基づくと、下記の機能をサポートしています。
- システム情報を取得
- Windowsのサービス情報を取得
- ディスク関連操作(ファイルのアップロード、ダウンロード、一覧の取得)
- 任意のコマンドを実行
ブラウザデータの窃取ツール「TrillClient」
TrillClientはブラウザデータの窃取を目的とするツールです。本ツールは単一のキャビネットファイル(*.cab)内に圧縮され、ユーティリティ用アプリケーション「expand.exe」によって展開されます。本CABファイルの中身として、TrillClientのインストーラと、窃取ツールの実体が格納されています。このうち、インストーラは、コマンドライン引数に応じて異なった処理を行います。
TrillClientはGo言語で作成された独自仕様のブラウザデータ窃取ツールであり、解析の妨害手段として、独自の手法による強力な難読化が施されています。本窃取ツールは、起動するとまず、インストーラ側で作成済みの以下の被害者情報リストを検索します。
7C809B4866086EF7FB1AB722F94DF5AF493B80DB
次にGitHubリポジトリに接続し、実行すべきコマンドIDを受け取ります。リポジトリのアドレスは下記の通りであり、マルウェア内にハードコーディングで定義されています。
hxxps://raw[.]githubusercontent[.]com/trillgb/codebox/main/config.json
上図のうち、「value.name」は被害者IDに、「value.value」はコマンドIDに相当します。本設定ファイルの取得後、TrillClientは自身の被害者IDをvalue.nameのリストから検索し、対応するvalue.valueによって定義される不正な処理を実行します。各コマンドIDと対応する処理の内容を、下記に示します。
TrillClientは、下記フォルダから機密情報を窃取します。
%LOCALAPPDATA%\Google\Chrome\User Data\Local State
%LOCALAPPDATA%\Google\Chrome\User Data\<プロファイル>\Login Data
%LOCALAPPDATA%\Google\Chrome\User Data\<プロファイル>\Network\Cookies
%APPDATA%\Microsoft\Protect\*
次にTrillClientは、窃取済みデータをコマンド「.tar」で圧縮、XORアルゴリズムで暗号化した上で、一時的にフォルダ「%TEMP%\browser_temp_data<ランダム>」配下に保存します。続いて、そのデータを攻撃者のメールアカウント「trillgamby@gmail[.]com」宛てに、SMTP(Simple Mail Transfer Protocol)で送信します。以上の他にも、TrillClientは自身のバージョンをアップデートする機能を備えています。ダウンロードした設定ファイル(図3)にある「version」の値が自身のバージョン値よりも新しい場合、GitHubリポジトリから新しいバージョンを取得し、自身をアップデートします。
バックドア「HemiGate」
HemiGateはEarth Estriesが使用するバックドアの1つです。当該グループが使用する他のツール同様、HemiGateも、DLLサイドローディングの手口によってメイン機能の読み込みを行います。具体的な動きとして、まず、セキュリティ企業「K7 Computing」が提供する正規の実行ファイル「K7AVMScn.exe」が不正利用され、DLL「K7AVWScn.dll」に扮するHemiGate用ローダが読み込まれます。続いて本ローダにより、暗号化済みのバックドア本体「taskhask.doc」がペイロードとして読み込まれます。本ペイロードの実行時には、暗号化済みの設定ファイル「taskhask.dat」が別途読み込まれます。
HemiGateは、C&Cサーバのポート「443」に接続します。環境に応じて必要の場合、プロキシ経由で接続を行います。接続先であるC&Cサーバのアドレスやポート番号は、設定ファイルから取得します。設定ファイルの復号アルゴリズムとしてRC4方式を、鍵データとして「4376dsygdYTFde3」を用います。HemiGateでは、本設定ファイルの復号を含め、暗号化処理や復号処理の大半で同じRC4鍵を使用します。C&Cサーバとの通信はPOSTメソッドによって行い、下記の定義済みヘッダーを利用します。
HemiGateの実行インスタンスとして、下記の3種が存在します。
- 第1インスタンス:本インスタンスは、引数なしで起動する。主な機能として、被害端末内で下記のスタートアップ設定を行い、さらに第2インスタンスを起動する。第1インスタンス自体は、目的とする処理が完了次第、終了する。
- スタートアップ1:自動起動用のレジストリを「Windrive」の名前で作成する。
- スタートアップ2:追加の自動起動手段として、サービス「Windrive」を登録する。本サービスの正式名としては、「Windows Drive Security」を使用する。
- 第2インスタンス:本インスタンスは引数「/a」によって起動し、設定ファイルの読み出しや、C&Cサーバとの通信を行う。また、第3インスタンスを起動し、名前付きパイプを介して当該インスタンスと通信する。さらに、下記を実行する。
- 設定情報を更新する。
- 第3インスタンスが正常に稼働しているかを監視する(ウォッチドッグと呼ばれる機能)。
- 第3インスタンス側のキーロガーが取得したデータをパイプ経由で受信し、その内容をログファイルに記録する。
- C&Cサーバからの返却パラメータがtrue、かつ、パイプ通信に成功した場合は、実行対象のバックドア用コマンドを第3インスタンスに送信する。
- パラメータが所定の条件を満たす場合、またはパイプ通信に失敗した場合は、第3インスタンスを介さずにバックドア用コマンドを直接実行する。
- C&Cから「完全アンインストール」のコマンドを受信した場合は、当該の処理を実行する。
- 第3インスタンス:本インスタンスは引数「/u <インスタンス2のPID(プロセスID)>」によって起動する。主に下記の2機能を担う。
- キーロガーとして稼働し、取得したデータをパイプ通信によって第2インスタンス側に送信する。
- パイプ名として「\\[.]\pipe\Key[500]」を使用する。
- パイプ通信を確立し、第2インスタンスからコマンドを受信して実行する。
- パイプ名として「\\[.]\pipe\<ユーザ名>\[<セッション番号>]」を使用する。
- キーロガーとして稼働し、取得したデータをパイプ通信によって第2インスタンス側に送信する。
キーロガーは、ユーザ操作を受け付けない「静的コントロールウィンドウ」を利用して処理を行います。本ウィンドウの作成時には、そのウィンドウクラスとして、Windowsで事前定義済みの「STATIC」を指定します。次に、キーフック(キー入力を監視する仕組み)とタイマー関数を併用し、アクティブなウィンドウ上で入力されるキー情報を記録します。当該ウィンドウがアクティブな間、この処理が継続されます。キー情報の記録形式は、下記の通りです。
- 記録時のアクティブなユーザ
- アクティブなウィンドウのタイトル
- キー入力を記録した時間(フォーマットとして「日/月 時間:分:秒」を使用)
- 入力されたキーの内容
HemiGateは、キーロガーの他にも下記の機能を備えています。
- ディレクトリの監視:ディレクトリ通知ハンドルを設定し、対象ディレクトリにおけるファイルの追加、削除、内容の変更、名前の変更(変更前後の名前も取得)を監視する。監視結果は、ファイル「fm」に記録する。
- ファイル内容の読み書き:対象ファイルの読み込みと書き込みを行う。
- ファイル操作:ファイルの移動、コピー、リネーム、削除の他、ディレクトリの作成、デフォルトアプリケーションを介したファイルのオープン、ドライブ一覧情報の取得を行う。
- シェル:対話型のコマンドシェルを起動する。
- CMD:Windowsのコマンド実行ツール「cmd」を利用して、任意のコマンド文を実行する(単発実行)。
- スクリーンショット:アクティブなデスクトップウィンドウのスクリーンショットを採取する。
- プロセスモニター:稼働中のプロセス一覧を取得し、さらに対象プロセスを停止する。
DLLサイドローディングの多用
Earth Estriesは、さまざまな攻撃ツールを読み込む手段として、DLLサイドローディングの手口を多用する傾向が見られます。今回の侵入セットでは、先述のバックドア以外にも、Cobalt StrikeやPlugX、Meterpreterステージャをはじめとする一般的なリモートコントロールツールが、攻撃のさまざまな過程で入れ替わり立ち替わり利用されています。これらのツールは、暗号化済みペイロードとして特殊なローダ用DLLから読み込まれます。
本ローダにおいて注目すべき点は、ペイロードの復号鍵が、そのペイロード自体に埋め込まれていることです。今回の侵入セットでは、この仕組みに基づき、同じ標的環境に配備した同じローダからさまざまなペイロードを読み込ませる手口が確認されています。
Earth EstriesによるDLLサイドローディングでは、読み込みを行う実行ファイルと読み込まれるDLLファイルの組み合わせが多数存在することが判明しました。
全般的に、これまでに調査したDLLサイドローディングの手法では、正規なファイルの古いバージョンほどよく利用される傾向にあり、中には10年以上前のものさえ含まれます。攻撃者は、このように標的環境に最初から存在する機能(LOLBins:Living Off the Land Binaries)であるならば、それを不正利用しても、セキュリティ製品からは無視されると目論んでいます。この状況を踏まえると、企業や組織では、システムの異常を検知して攻撃の足場を築かれないようにするために、アプリケーションのバージョンや要件を適切に管理していくことが特に重要と言えるでしょう。
C&Cサーバのインフラ構成
Earth Estriesが用いるCobalt Strikeのインプラントは、自身のIPアドレスを隠すために、コンテンツ配信ネットワーク「Fastly CDN(Contents Delivery Network)」を用いていることが確認されました。Fastly CDNを利用する攻撃グループとしては、Earth Estries以外にも、前回報告したEarth LongzhiやGroupCCのようなAPT41関連組織が挙げられます。
被害環境の記録をもとにEarth EstriesによるC&Cサーバの活動を調べた結果、下表のように、ドメイン登録者に関する重要な情報が得られました。
表4のドメインは、実際のインシデントで確認されたものです。パブリック・リポジトリによると、これらC&Cドメインの登録者情報には一定の共通点が見られます。さらに、本調査で確認されたC&Cの一部は、アドレスの形式も類似していることが分かりました。これらのドメインや登録者情報が実際のEarth Estriesに直結しているかについては、現在も調査中です。一方、似たような登録者情報を持つドメインを検索することで、同じグループが利用していると考えられるドメインを新たに発見することも可能です。
実際に、表4の登録者情報に基づき、同一の攻撃グループが登録した古いC&Cドメインが新たに発見されました。
全ドメインのうち、特に「smartlinkcorp[.]net」に関する情報が、脅威インテリジェンスやパブリック・リポジトリに寄与していることが分かりました。本ドメインを詳細に調べた結果、そのサブドメイン「ns2.smartlinkcorp[.]net」に関する記録が発見され、過去にウォーターマーク値「2029527128」のCobalt Strikeをホストしていたことが判明しました。当該のウォーターマーク値を元手として、関連するドメインやIPのレコードがさらに発見されました。
これらCobalt Strikeの履歴には、初期調査時に発見されなかった2つのドメイン「digitelela[.]com」、「z7-tech[.]com」が含まれています。その登録者情報を元手に、同一の攻撃者が利用したと考えられるドメインが追加で発見されました。
表4に挙げたドメイン同様、上表のドメインやそのサブドメインについても、登録者の国などに一定の共通性が見られます。特に、「ns{番号}.{ドメイン名}」の形式に従うサブドメインは、Cobalt Strikeビーコン用コマンドをDNSトンネリング経由で送受信する作りとなっています。
cdn-xxxxx.{ドメイン名}
cdnxxxxxxxx.{ドメイン名}
xxxxxx.ns1.{ドメイン名}
xxxxxx.ns2.{ドメイン名}
xxxxxx.ns3.{ドメイン名}
xxxxxx.ns4.{ドメイン名}
以上に挙げたドメインや対応するIPアドレスを分析した結果、C&Cサーバは仮想専用サーバ(VPS:Virtual Private Server)のサービスによってホストされ、その所在地は複数の国々に分散していることが判明しました。下記に、C&Cサーバの地域別分布を示します。
狙われる標的の傾向
調査結果に基づくと、Earth Estriesの攻撃目標としては、主にフィリピンや台湾、マレーシア、南アフリカ、ドイツ、米国の政府機関や技術業界が狙われる傾向にあります。この他、カナダではC&Cサーバ宛てのネットワークトラフィックが、インドやシンガポールでは攻撃用ツールが検出されました。これらの国も、影響を受けている可能性が高いと考えられます。当該国の企業や組織では、不正な通信や侵入行為の可能性を踏まえてシステムを再検証することに加え、現状のセキュリティ対策をさらに強化することを推奨します。
攻撃グループの特定
本攻撃キャンペーンの実行者は、リモートサーバにアクセスする前に、まず「ping(接続確認用のコマンド)」を使用してその稼働状況をテストしていることが判明しました。その例として、図10に、Earth EstriesがIPアドレス「103.133.137[.]157」のリモートサーバをテストした時の状況を示します。
また、Earth Estriesは、APTグループ「FamousSparrow」と同様のツールやTTPsを使用しました。今回、Earth Estriesのバックドア用ローダと、前回報告されたFamousSparrowのローダを比較しました。TTPsに関する分析として、Earth Estriesは、マルウェアやツール類を被害環境に配備する際に「.CAB形式」のファイルを用いる傾向があります。こうした発見事項は、本攻撃キャンペーンに関与する国の初期分析に役立つと同時に、後続の追跡調査にも寄与しました。
まとめ
Earth Estriesは、遅くとも2020年頃から活動している高度なハッカー集団であり、特にサイバー諜報活動の展開に注力しています。標的として、さまざまな国の政府機関や技術業界を狙う傾向が見られます。また、複数のバックドアやハッキング用ツールを用いて標的に侵入するなど、高度な技術を有しています。
本攻撃グループは、標的の内部サーバに侵入し、有効なアカウントを侵害した上で、被害ネットワーク上での水平移動・内部活動を展開し、さまざまな不正行為を秘密裏に実行します。攻撃用のバックドア「Zingdoor」には、圧縮の解除を妨害する手口が組み込まれています。これにより、解析チームやセキュリティチーム側での分析作業はより一層困難なものとなります。また、検知回避の手段としてPowerShellのダウングレード攻撃やDLLサイドローディングの手口が巧妙に用いられている点も、特記に値します。一方、Earth EstriesとFamousSparrowが互いに似通ったTTPsやコードを使用する点からは、両者の繋がりが示唆されます。今回の攻撃で収集されたC&CサーバのIPアドレスやドメイン形式などの証跡は、互いの関係性を示しうるものであり、さらに分析を行う価値があると考えられます。
企業や組織では、Earth Estriesが用いる手口を把握することで、セキュリティを強化し、デジタル資産をより安全に保護することが可能となります。今回挙げたサイバー諜報活動による被害を避ける上で、企業や組織、および個人ユーザの方は、サイバーセキュリティを改善する措置を講じ、警戒を維持していくことが重要です。セキュリティチームや解析チームでは、「Trend Vision One™」を用いることで、組織内の全コンポーネントをプラットフォーム毎で視覚的に把握できるようになります。これにより、企業や組織のネットワークやシステム、インフラ上で実行または転送されるツールやペイロード、それに類する挙動を監視し、攻撃や感染チェーンの初期段階で脅威を検知し、阻止することが可能となります。
MITRE ATT&CK Techniques
MITRE ATT&CK Tactics and Techniquesはこちらで確認してください。
侵入の痕跡(Indicators of Compromise、IoC)
侵入の痕跡(IoC)はこちらで確認してください。
参考記事:
Earth Estries Targets Government, Tech for Cyberespionage
By: Ted Lee, Lenart Bermejo, Hara Hiroaki, Leon M Chang, Gilbert Sison
翻訳:清水 浩平(Core Technology Marketing, Trend Micro™ Research)