Cisco Japan Blog

次世代の TinyTurla:APT グループ Turla がポーランドの NGO をスパイ

1 min read



  • Cisco Talos は、APT グループ Turla(ロシアのサイバースパイ攻撃グループ)が作成し使用している新たなバックドアを特定しました。Talos が「TinyTurla-NG」(TTNG)と呼ぶこの新しいバックドアは、コーディングスタイルと実装されている機能の点で、Turla が以前に公開したインプラントである TinyTurla に似ています。
  • TinyTurla-NG は、感染したシステムで他のすべての不正アクセス/バックドアメカニズムが失敗したり検出されたりした場合に使用するためのバックドアである可能性が高いと Talos は考えています。TinyTurla と同様、わずかな「最後のチャンス」として感染システムに設置されると思われます。
  • TinyTurla-NG は、2023 年 12 月にはすでに確認されています。標的となったのは、ポーランドの民主主義の促進とロシア侵攻中のウクライナ支援に取り組んでいるポーランドの非政府組織(NGO)でした。
  • また、ファイル抽出ツールとして機能する、これまで知られていなかった「TurlaPower-NG 」という PowerShell スクリプトも発見しました。TinyTurla-NG はこれらのスクリプトを展開して、一般的なパスワード管理ソフトウェアのパスワードデータベースの保護に使用される主要な資料を窃取しました。このことから、Turla がログイン情報を窃取するため組織的に取り組んでいたことがわかります。

Talos は CERT.NGOpopup_icon と協力して、攻撃グループ Turla による新たな侵害を調査しました。使用されていた TinyTurla によく似た新しいバックドアを、Talos は TinyTurla-NG(TTNG)と呼んでいます。調査結果によると、積極的に標的にされているのはポーランドの非政府組織(NGO)であり、そのうちの少なくとも 1 つがウクライナを支援しています。NGO は紛争に直接関与しているわけではありませんが、紛争で苦しんでいる団体を援助することはよくあります。攻撃グループは、こうした NGO を監視して、現在進行中の支援活動や新たな支援活動を追跡することが戦略的に有効だと考えている可能性があります。

Turla は、米国、欧州連合、ウクライナ、アジアなどの地域で、膨大な攻撃ツールを使用して世界中の組織を標的にしていることが広く知られています。彼らはこれまでにも、CAPIBAR や KAZUARpopup_icon などのマルウェアファミリを使用して、ウクライナ国防軍を標的にしてきました。Turla は、Crutchpopup_iconTinyTurla に続き、TinyTurla-NG と TurlaPower-NG というマルウェアファミリを新たに開発して攻撃力を高める一方で、攻撃対象を NGO にまで広げています。この活動は、ロシアの戦略的および政治的目標を支援するために一連のマルウェアと標的の両方を拡大するという、攻撃者の意図を示しています。

Talos は 3 つの異なる TinyTurla-NG サンプルの存在を特定しましたが、アクセスできたのはそのうちの 2 つだけでした。この攻撃が実施された最初の日付は 2023 年 12 月 18 日で、最近では 2024 年 1 月 27 日まで攻撃が続いていました。ただし、マルウェアのコンパイル日からすると、この攻撃は早ければ 2023 年 11 月には開始されていた可能性があると考えられます。

この攻撃では、Turla は侵害された WordPress ベースの Web サイトを TTNG バックドアのコマンド アンド コントロール エンドポイント(C2)として使用します。攻撃者は、脆弱な WordPress バージョン(4.4.20、5.0.21、5.1.18、5.7.2 など)を実行するさまざまな Web サイトを使用し、rss-old[.]php、rss[.]old[.]php、block[.]old[.]php といった名前で構成される C2 コードを含む PHP ファイルのアップロードさせていました。

TinyTurla-NG は PowerShell とコマンドラインを使用して任意のコマンドを実行

3 か月続いたこの攻撃中、PowerShell スクリプトや任意のコマンドをホストするために別の C2 サーバーも使用され、標的のマシン上で実行される可能性がありました。

TinyTurla と同様、このマルウェアはサービス DLL であり、svchost.exe によって起動されます。ただ、マルウェアコードそのものは TinyTurla とは異なり、新しくなっています。さまざまなマルウェア機能は、それぞれ別のスレッドに分けられています。マルウェアは Windows イベントを使用して同期します。DLL の ServiceMain 関数で、最初のメインマルウェアスレッドが開始されます。

TinyTurla-NG DLL がメインの感染スレッドを開始します。

InitCfgSetupCreateEvent 関数は、構成変数と、後で同期に使用されるイベントを初期化します。

スレッドを初期化するコードを呼び出す DLL の事実上のメイン関数

次に、このスレッドは CheckOSVersion_StartWorkerThreads 関数を使用してさらに 2 つのスレッドを開始します。

CheckOSVersion_Start_WorkerThreads 関数

PowerShell と Windows のバージョンを確認した後、最初のスレッドは攻撃識別子(「id」)とメッセージ「Client Ready」を送信して C2 へのビーコンを開始し、感染が成功したことを C2 に登録します。これは、以下のスクリーンショットで説明されている C2_client_ready 関数で実行されます。

スレッド No. 1:C2 ビーコン実行スレッド

登録に成功すると、TTNG バックドアは C2 にタスクの実行を要求します(gettask_loop 関数)。2 番目のスレッドは CheckOSVersion_Start_WorkerThreads 関数によって開始されます。これは、C2 から送信されたタスクコマンドを実行します。TTNG バックドアが C2 から応答を受信するまで待機します。2 つのスレッド間の同期は、前述の Windows イベントを通じて実行されます。最初のスレッドは、C2 からタスクを正常に受信すると、イベント(thread1_function 内)をトリガーします。

スレッド No. 1 は、C2 から受信したタスク/コマンドを処理するようにスレッド No. 2 に信号を送ります。

タスクは、PowerShell またはコマンド(cmd.exe)シェルを使用して実行できます。この決定は、標的のマシンで実行されている PowerShell のバージョンに基づいて行われます。

スレッド No. 2:Windows コマンド実行関数

cmd.exe または PowerShell.exe を使用してコマンドが実行されると、TinyTurla-NG はコマンドの入力と出力の読み取りを行うためのパイプを作成します。cmd.exe を使用してコマンドを実行した場合、バックドアはまず、chcp 437 > NUL コマンドを実行してアクティブなコンソールページを 437、つまり米国に設定し、次に C2 によって発行されたコマンドを実行します。

一方、PowerShell.exe を使用してコマンドを実行した場合、TinyTurla-NG はコマンド履歴の記録を防ぐために次の PowerShell コマンドレットを追加で実行します。

Set-PSReadLineOption -HistorySaveStyle SaveNothing

C2 から直接受信したタスクの内容(C:\windows\system32\malware.exe など)を実行するだけでなく、C2 から次のコマンドコードを受け取ります。これらのコマンドコードは、インプラントの管理またはファイル管理を目的としている可能性があります。

  • timeout:バックドアが C2 に新しいタスクを要求するまでのスリープ時間を分単位で変更します。新しいタイムアウト時間は、C2 によって送信されたタイムアウトパラメータに 1 分を乗算したものです。たとえば C2 がタスク「timeout 10」を送信すると、バックドアは 10 分間スリープします。3 番目のパラメータを指定すると、失敗カウンタも変更されます。

TTNG の C2 通信のタイムアウト値を設定

  • changeshell:コマンドの実行に使用されている現在のシェルを、cmd.exe から PowerShell.exe、またはその逆に切り替えるようにバックドアに指示します。
  • changepoint:インプラントに存在する 2 番目の C2 URL に切り替えるよう指示するために使用されます。
  • [+] Short Timer changed. New Short Timeout is 1 minute
  • get:HTTP GET リクエストを使用して C2 によって指定されたファイルを取得し、ディスク上の指定された場所に書き込みます。
  • post:標的のファイルを C2 に漏えいさせます(例:post C:\some_file.bin)。
  • killme:現在のティック数に基づいた名前で BAT ファイル(下記を参照)を作成します。次に、この BAT ファイルを使用して、標的のマシンのディスクからファイルを削除します(例:killme <filename>)。BAT ファイルは cmd.exe /c <BAT-file-name>.bat を使用して実行されます。

killme コマンドにより、以下の内容を含むバッチファイルが生成されます。興味深いことに、バックドア DLL は本質的にはサービスですが、バッチスクリプトは HKCU\SW\classes\CLSID のレジストリキーを削除し、explorer[.]exe を再起動します。これは、COM ハイジャックを使用して永続性の作成を試みていることを示しています。COM ハイジャックは、Turla が以前、マルウェアの永続性を確立するpopup_iconために使用した戦術です。

次のレジストリキーが削除されます。

HKEY_CURRENT_USER\Software\Classes\CLSID\{C2796011-81BA-4148-8FCA-C6643245113F}

BAT ファイルコンテンツのテンプレート

BAT ファイルはテンプレートから作成されます。最初の 2 つの「%s」は DLL 名に置き換えられ、最後の「%s」は BAT ファイル自体の名前に置き換えられ、両方のアーティファクトがディスクから削除されます。

TurlaPower-NG とそのデータ漏えい機能

Talos は、TTNG バックドア経由で感染したエンドポイントに書き込まれる「TurlaPower-NG」という悪意のある PowerShell スクリプトも発見しました。スクリプトは、C2 URL とターゲットファイルパスで構成されます。指定されたファイルパスごとに、スクリプトはファイルを再帰的に列挙し、ディスク上のアーカイブに追加します。TurlaPower-NG では、拡張子「.mp4」のファイルがアーカイブに追加されないように細心の注意が払われています。攻撃者は、パスワードデータベースと一般的なパスワード管理ソフトウェアを保護するために使用されるキーマテリアルに特に関心を示しており、関連ファイルをアーカイブに追加していました。

TurlaPower-NG のファイルアーカイブ機能

アーカイブは拡張子が「.zip」で、その名前は、新しい GUID を生成してアーカイブ名として使用することで即座に生成されます。次に、アーカイブファイルが HTTP/S POST リクエストを使用して C2 に流出されます。このとき、実行されたアクティビティのログも C2 に送信されます。ログは次のもので構成されます。

  • C2 に POST されたアーカイブファイルの名前(またはその一部)
  • アーカイブ内のファイルの数とアーカイブのサイズ

TurlaPower-NG による C2 用のアーカイブファイル名の生成とログの生成

C2 のセットアップと操作

これまでに発見された C2 サーバーは、正規ではあるものの脆弱な WordPress ベースの Web サイトを Turla が侵害して C2 サーバーに仕立てたものばかりです。侵害後、攻撃者は C2 サーバーを操作するためのスクリプト、ロギング、およびデータディレクトリをセットアップします。

ディレクトリとファイル構造

C2 のディレクトリとファイルのセットアップは、次の 3 つの主要なコンポーネントで構成されます。

  • C2 スクリプト:Turla は、侵害した Web サイトの特定のディレクトリに、拡張子「.old.php」で終わる PHP スクリプトをセットアップしていました。これらの PHP ベースの C2 の URL は、その後、サンプル 1 つあたり 2 つの C2 URL で構成される TTNG バックドアにコード化されました。
  • ロギング:C2 PHP スクリプトに加えて、Turla は感染のロギングも設定して、感染したシステムとそれらに発行されたコマンドを追跡していました。C2 のロギングメカニズムにより、C2 サーバー上に 3 つのログファイルが生成されます。
    • _log[.]txt:C2 にビーコンを送信しているすべての感染エンドポイントのログ。
    • result[.]txt:TTNG バックドアから受信したすべてのメッセージのログ。
    • tasks[.]txt:感染したホストに発行されたすべてのコマンドのログ。
  • データディレクトリ:TTNG と TurlaPower-NG は両方とも、C2 サーバーへのファイルの流出をサポートしています。C2 サーバーは、窃取したデータをロギングディレクトリとは別のディレクトリに保存します。

C2 サーバーのログのサンプルディレクトリリスト

C2 通信プロセス

TinyTurla-NG バックドアは、C2 サーバーと通信するときは常に、HTTP フォームデータ内の特定の識別子「id」値を使用します。この ID 値は、バックドアにハードコードされた 8 文字のフレーズです。

識別子の値と「Client Ready」メッセージを表示するネットワークキャプチャ

次に、同じ識別子の値を使用して、C2 サーバー上にログファイル用のディレクトリが作成されます。このことから、C2 サーバーが識別子ごとに別個のログファイルを保持していることがわかります。

C2 サーバーに標的を登録した後、バックドアは以下のような gettask リクエストを送信します。C2 は応答として、特別なコマンドを返します。もしくは、感染したマシン上で実行されるファイルを送信するだけの場合もあります。

感染したエンドポイントで実行するタスクを取得するための TTNG の C2 通信

標的のマシンで実行されている PowerShell のバージョンに応じて、C2 タスクコマンドは PowerShell または cmd[.]exe シェルにパイプされます。

TinyTurla-NG のシェルを PowerShell または cmd[.]exe から選択

カバレッジ

今回の脅威は、以下の製品で検出してブロックすることが可能です。

Cisco Secure Endpoint(旧 AMP for Endpoints)は、この記事で説明したマルウェアの実行を阻止するのに最適です。Cisco Secure Endpoint の無料トライアルはこちらからお申し込みください。

Cisco Secure Web Appliance の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、上述したような攻撃で使用されるマルウェアを検出します。

Cisco Secure Email(旧 E メールセキュリティ)は、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。Cisco Secure Email の無料トライアルはこちらからお申し込みください。

Threat Defense Virtual適応型セキュリティアプライアンスMeraki MX など、Cisco Secure Firewall(旧次世代ファイアウォールおよび Firepower NGFW)アプライアンスは、この脅威に関連する悪意のあるアクティビティを検出できます。

Cisco Secure Malware Analytics(Threat Grid)は、悪意のあるバイナリを特定し、シスコのすべてのセキュリティ製品に保護機能を組み込みます。

Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。Umbrella の無料トライアルはこちらからpopup_iconお申し込みください。

Cisco Secure Web Appliance(旧 Web セキュリティアプライアンス)は、危険性のあるサイトを自動的にブロックし、ユーザーがアクセスする前に疑わしいサイトを検査します。

特定の環境および脅威データに対する追加の保護機能は、Firewall Management Center から入手できます。

Cisco Duopopup_icon は、ユーザーに多要素認証を提供し、承認されたユーザーのみがネットワークにアクセスできるようにします。

オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.orgpopup_icon で購入可能な最新のルールパックをダウンロードすることで、最新状態を維持できます。

IOC

この調査の IOC は、こちらpopup_iconの GitHub リポジトリでも提供しています。

ハッシュ

267071df79927abd1e57f57106924dd8a68e1c4ed74e7b69403cdcdf6e6a453b
d6ac21a409f35a80ba9ccfe58ae1ae32883e44ecc724e4ae8289e7465ab2cf40

ドメイン

hanagram[.]jp
thefinetreats[.]com
caduff-sa[.]ch
jeepcarlease[.]com
buy-new-car[.]com
carleasingguru[.]com

 

本稿は 2024 年 02 月 15 日に Talos Grouppopup_icon のブログに投稿された「TinyTurla Next Generation – Turla APT spies on Polish NGOspopup_icon」の抄訳です。

 

コメントを書く