インサイトとリサーチ

ウクライナでのHermeticWiperと標的型攻撃の再活性化

Threatlabz技術的解析ブログ

Ukraineの標的型攻撃

まとめ

2022年1月以来、ThreatLabzは、ウクライナに対する標的型攻撃の再活発化を確認しています。これまでに2022年1月から2月の期間内に2つの攻撃チェーンを特定しましたが、これは中程度の信頼水準を備えた同一の脅威アクターによるものです。最終のペイロードと攻撃の動機を完全に掴み切れていないため、現時点ではこの攻撃が国家が支援する脅威アクターによるものか断定できないことに注意することが重要です。C2インフラストラクチャの再利用は、Gamaredon APT脅威アクターの存在を示すものですが、適切に識別するにはより多くの可視性が必要です。

最初の攻撃チェーンは、2022年2月1日にウクライナのCERTチームによりブログに投稿されました。ブログへのリンクはこちら これには「State Administration of Seaports of Ukraine」へ送信されたスピアフィッシング電子メールが関与しています。次の段階の文書テンプレートとVBScriptペイロードに対応するサンプルは、まだパブリックドメインでは利用できません。文書テンプレートとVBScriptペイロードを特定できましたので、このブログでその技術的な解析を共有していきます。

2022年2月11日、ウクライナからVirusTotalにアップロードされたサンプルが特定されましたが、これが以前に文書化されていなかった攻撃チェーンの発見につながりました。このブログでは、この第2の攻撃チェーンの技術的な詳細を説明します。ファイルのメタデータを解析することにより、7つの固有なサンプルと、2020年に遡るキャンペーンの起源を発見することができました。

2022年2月23日、データを破壊しビジネスを混乱に陥れることを目的とした、新しい洗練されたワイパー型マルウェアがウクライナのいくつかの組織を攻撃したと報じられました。Threatlabzのチームは、この関与したマルウェアペイロードを解析し、これらの攻撃で使用された新しい戦術を解明したところ、PartyTicketとして知られるランサムウェアのおとり もこれらの攻撃の間、デプロイされていたことが分かりました。

このブログでは、これらの最近の攻撃の標的となったウクライナの商業的および公共エンティティの技術的詳細を見ていきます。

 

1. HermeticWiper DoS攻撃 - 技術的解析

  • HermeticWiperは、洗練されたマルウェアの系列で、データを破壊しシステムが動作できなくなるように設計されています。
  • ワイパーはマルチスレッドで、速度を最大化し、低レベルのディスクアクセスのためにカーネルドライバーを悪用します。
  • これらのドライバーファイルは、CHENGDU YIWO Tech Developmentにより開発されたEaseUS Partition Masterアプリケーションの旧バージョンの一部であるように見受けられます。

図1に示すように、SHA256 1bc44eef75779e3ca1eefb8ff5a64807dbc942b1e4a2672d77b9f6928d292591に代表されるHermeticWiperマルウェアは、2022-02-23 09:48:53 UTCにコンパイルされ、Hermetica Digital Ltd.が発行した有効な証明書を用いてデジタル署名されました。

図1: HermeticWiperのデジタル署名

このマルウェアは、2つのコマンドライン引数をサポートしており、これらの引数は、システムを強制再起動する前にデータを破壊するのに費やす最長期間をコントロールします。コマンドラインの解析後、HermeticWiperは、アクセスマスクTOKEN_ADJUST_PRIVILEGES | TOKEN_QUERYを使ってOpenProcessToken()を呼び出します。このワイパーに十分な特権がない場合、悪意のある行動を行うことなく終了します。さもなければ、 HermeticWiperは、自身に特権SeShutdownPrivilege およびSeBackupPrivilege を付与しようと試み、Windowsカーネルドライバーをインストールします。このドライバーは、マルウェアのリソースセクションに埋め込まれますが、これには表1に示す複数の名前とSHA256ハッシュが含まれます。これらのファイルはデジタル署名されたドライバーで、ディスクとのやりとりに使用されます。

 

ドライバーファイル名

圧縮SHA256

解凍SHA256

DRV_X64

e5f3ef69a534260e899a36cec459440dc572388defd8f1d98760d31c700f42d5

96b77284744f8761c4f2558388e0aee2140618b484ff53fa8b222b340d2a9c84

DRV_X86

b01e0c6ac0b8bcde145ab7b68cf246deea9402fa7ea3aede7105f7051fe240c1

8c614cf476f871274aa06153224e8f7354bf5e23e6853358591bf35a381fb75b

DRV_XP_X64

b6f2e008967c5527337448d768f2332d14b92de22a1279fd4d91000bb3d4a0fd

23ef301ddba39bb00f0819d2061c9c14d17dc30f780a945920a51bc3ba0198a4

DRV_XP_X86

fd7eacc2f87aceac865b0aa97a50503d44b799f27737e009f91f3c281233c17d

2c7732da3dcfc82f60f063f2ec9fa09f9d38d5cfbe80c850ded44de43bdb666d

表 1.HermeticWiperに埋め込まれているドライバーファイル

展開された特定のドライバーは、Windowsのオペレーティングシステムのバージョンが、32ビットか64ビット、およびWindows XPあるいはそれ以降のバージョンかに依存します。Windowsのオペレーティングシステムのバージョンを判断するために使用されている関数は、 VerSetConditionMaskVerifyVersionInfoWです。これらの関数は、Windowsのバージョンを識別する標準の関数GetVersionと比較すると普段はほぼ目にしないものです。

これらのリソースがバイナリから展開後、Windows LZ展開ライブラリ関数を使って解凍されます。また、Windowsのコマンドラインユーティリティexpand.exeも、図2に示すように手動でドライバーを解凍するために使用することも可能です。

図2: Windows展開ユーティリティを使ったHermeticWiperドライバーの手動解凍

これら署名済みドライバーの証明書は CHENGDU YIWO Tech Development Co., Ltd.に登録されていますが、図3に示すように2014年9月11日に有効期限が切れています。

図3: HermeticWiperドライバーに署名するために使用された有効期限切れの証明書

これらのドライバーファイルは、CHENGDU YIWO Tech Developmentにより開発されたEaseUS Partition Masterアプリケーションの一部であるに見受けられます。 

ドライバーファイルは、Windowsのドライバーディレクトリに、現在のプロセスIDを使い疑似的に選択された2つのアルファベット文字を含むファイル名を使って直接書き込まれ、ファイル名には「dr」が連結され、拡張し「.sys」が付加されます(例:lxdr.sys)次に、Hermetic Wiperは、その特権を SeLoadDriverPrivilegeに昇格させ、ドライバーを読み込んで、サービスとしてそれを開始します。このマルウェアは、バックアップとデータ復元に使用されるvss (Volume Shadow Copy)サービスを無効にして、レジストリキーHKLM\SYSTEM\CurrentControlSet\Control\CrashControlの CrashDumpEnabled レジストリ値を0に設定して、クラッシュダンプを無効にします。これにより、このマルウェアがクラッシュしても、Windowsが原因を特定するために使用できるクラッシュダンプファイルを生成しないことが保証されます。レジストリ値 ShowCompColor と ShowInfoTip も、レジストリ―キーHKEY_USERS\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced の下で0に設定され(すなわち無効にされ)、データの破壊を示すポップアップや他のインジケータを抑制します。

このドライバーは、自身を、EPMNTDRVという名前のデバイスとして登録し、自身をHermeticWiperのユーザーランドコンポーネントへ公開します。 このマルウェアは、物理ディスク0-100をエミュレートし、すべての物理ディスクのMaster Boot Record (MBR)を、ランダムデータを用いて最初の512バイトを上書きすることで破壊します。マルウェアは次にファイルシステムを解析し、パーティションがNTFSかFATかを判断します。フィルシステムが前者の場合、マルウェアは、システム上のすべてのファイルに関する情報を保管するMaster File Table (MFT)を上書きします。また、Hermeticは以下のディレクトリ内に配置されているファイルを標的にします:

  • C:\System Volume Information
  • C:\Windows\SYSVOL
  • C:\Documents and Settings
  • C:\Windows\System32\winevt\Logs

データ破壊の発生後に、強制再起動が生じ、その結果、ブートローダーは、図4に示すようにオペレーティングシステムを読み込むことができなくなります。

図4. HermeticWiperがMaster Boot Recordを削除し、システムを強制再起動した後の結果

 

 

2.標的型攻撃

期間-2021年11月から継続中

今回の分析では、C2インフラストラクチャが、以下の図4と図5に示すように2つの標的型攻撃チェーン間に重複していることが分かりました。


 

図4:標的型攻撃チェーン#1

 

図5:標的型攻撃チェーン#2

技術分析

攻撃チェーン#1

攻撃チェーン#1の感染は、悪意のあるRARアーカイブ添付ファイルを持つ電子メールから始まります。被害者は、現在続いているロシアとウクライナ間の地政学的な紛争を利用した話題を標榜する悪意のある文書ファイルを含むRARアーカイブコンテンツをダウンロードし展開します。

[+] ステージ1:文書

実行中のこの文書は、特定の遠く離れた場所からマクロベースのテンプレートを単にダウンロードするだけです。以下の図6には、この文書の1つの内部に存在するテンプレートへの参照を示しています。

図6:マクロベースのリモートテンプレートを参照する関係

 

[+] ステージ2:マクロテンプレート(714f8341bd1c4bc1fc38a5407c430a1a)

テンプレート内部のマクロコードは、多数のジャンクコードを追加することで難読化されています。これは、マクロコードのサイズを膨らますだけでなく、コードの解析を妨げます。このコードの主な動作は、VBScriptをドロップし実行することです。

このVBScriptは、以下の図Xに示すようにVBAマクロ内でBase64でエンコードされています。

図7:VBAマクロ内のBase64でエンコードされたVBScript

[+] ステージ 3: VBScript

OSINTによれば、ステージ2のマクロでドロップされたこのステージ3のVBScriptは、GammaLoadと呼ばれています。VBScripのコードは、マクロコードと同様に難読化されています。実行すると、VBScripは以下のように処理します:

1. 流出させるのためのユーザーとシステム情報を収集する

2. WMIを使用して構成済みC2ドメインに関連するIPアドレスを入手する

WMIクエリフォーマット:

SELECT * FROM Win32_PingStatus WHERE Address={configured_c2_domain}

3. ステップ#2で得たIPアドレスを使用して次のステップのペイロードをダウンロードするためにネットワークリクエストを送信し、また、UserAgentフィールドを使用してステップ#1で取集した情報を流出させる

UserAgentフォーマット:

{hardcoded_useragent_string}::%USERPROFILE%_%SYSTEMDRIVE%.SerialNumber::\.{static_string}\.

4. ダウンロードしたペイロードをドロップし実行する 

注:解析の時点では、この次のステージのペイロードを入手していませんでしたが、 過去の解析に基づくと、この脅威アクターは、UltraVNCのようなリモートデスクトップアプリをドロップすることが知られています。

攻撃チェーン#2

同一の脅威アクターが使用し、知られている限りではパブリックドメイン内ではどこでもまだ文書化されていない他の攻撃チェーンを特定しました。当社の研究に基づくと、このキャンペーンは2020年11月初旬から活動中であり、このキャンペーンに関連する固有サンプルは現在までわずか7つしか識別できていません。最も最近の事例は2022年2月11日に観察され、ファイル名から2022年2月8日に標的となった(複数の)被害者にばらまかれたと考えられます。

この小規模なキャンペーンには、スピアフィッシング電子メールを通じてばらまかれたRARアーカイブファイルが関係しています。これらのRARアーカイブファイルには、悪意のあるWindowsショートカットファイル(LNK)が含まれており、このファイルは、攻撃者が管理するサーバーからMSIペイロードをダウンロードし、MSIEXECを使用してエンドポイントで実行します。 

これにより、パッケージ化されたNSISバイナリがシステム上にドロップされることになり、感染チェーンを開始します。

NSISバイナリのコンポーネントは、その実行の過程においてディレクトリ: %temp%\<random_name>.tmp\ 内に展開されます。

以下に展開されたすべてのコンポーネントを示します。

 

図8:NSISバイナリのコンポーネント

上記のディレクトリからDLLを読み込みます。

DLLのMD5ハッシュ: 74ce360565fa23d9730fe0c5227c22e0

DLLのファイル名: ypagjgfyy.dll

NSISインストーラの実行をコントロールするNSISスクリプトは、アクティビティの解析にも使用可能です。このスクリプトからの関連するコードセクションは、付録セクションに掲載されています。

以下のステップでアクティビティをまとめます:

  1. DLLファイル- ypagjgfyy.dll エクスポート関数「oqiuqqaxaicm」と呼び出し、2つのパラメータを渡します。最初の1つは暗号化された文字列で、二番目は、復号化キーです。
  2. 復号化文字列はURL: hxxp://kfctm[.]online/0102adqeczoL2.txtです。
  3. nsisdl(NSISインストーラのダウンローダコンポーネント)の「download_quiet」関数を呼び出し、ステップ#2で復号化されたURLの内容を取り込みます。
  4. 応答は、ファイル- $PLUGINSDIR\readme.txtに保存されます。
  5. エクスポート関数を呼び出す:DLLファイル - ypagjgfyy.dll にある "cfyhayyyu" を呼び出し、3つのパラメータを渡します。最初のパラメータは、ステップ#4で生成されたファイルで、他の2つのパラメータは「readme.txt」ファイルの内容を復号化するために使用されます。
  6. この時点で、このコードは、ステップ#4で「readme.txt」ファイルの生成に成功したかどうかによって2つの経路をとります。ステップ#4が成功した場合、「readme.txt」ファイルの復号化された内容が、他の重要な文字列の復号化のための復号化キーとして使用され、悪意のあるアクティビティが継続されます。

当社による解析の時点では、ステップ#2のURLが応答しなかったため、「readme.txt」ファイルは生成されませんでした。結果として、コードの実行は、NSISインストーラ内部にパッケージ化されたDATファイル- gofygsg.datの内容を復号化するためにDLL - ypagjgfyy.dll内のエクスポート関数「euuxijbaha」を呼び続けました。その結果、解読されたコンテンツはDOCXファイルとなり、MS Office Wordアプリケーションで被害者に表示されます。

 

インフラストラクチャの重複と再利用

標的型攻撃の解析の間、C2ドメインの1つ- "download.logins[.]online"(攻撃チェーン#2の一部としてMSIペーロードをホストするために使用される)が、Anomali labsによる Gamaredon APT脅威アクターによるものだということが分かりました。その時点で、そのドメインはマクロベーステンプレート文書をホストするために使用されていましたが、これは、このブログで説明したように、攻撃チェーン#1と重複していました。

 

Zscaler の対応

このような攻撃で見られるペイロードには、高度な脅威シグネチャと高度なクラウドサンドボックスによって確実に対応します。

 

高度な脅威保護

Win32.Trojan.KillDisk

Win32.Trojan.HermeticWiper

 

高度なクラウドサンドボックス

Win32.Trojan.HermeticWiper

 

高度なクラウドサンドボックスレポート

以下の図9は、Wiperマルウェアのサンドボックス検出レポートを示しています。

図9:Zscalerクラウドサンドボックスレポート - Hermetic Wiper 

以下の図10は、Zscalerのサンドボックスで検出された文書テンプレート(攻撃チェーン#1によるもの)を示しています。

図3:Zscalerクラウドサンドボックスレポート - 標的型攻撃文書テンプレート
 

IOC(Indicator of Compromise、侵害の指標)

#攻撃チェーン1

[+] ハッシュ

 

MD5

定義

9fe8203b06c899d15cb20d2497103dbb

RAR アーカイブ

178b0739ac2668910277cbf13f6386e8

fd4de6bb19fac13487ea72d938999fbd

_document

714f8341bd1c4bc1fc38a5407c430a1a

8293816be7f538ec6b37c641e9f9287f

テンプレート

 

[+] C2ドメイン

coagula[.]online

deer.dentist.coagula[.]online

declaration.deed.coagula[.]online

surname192.temp.swtest[.]ru

 

[+] ダウンロード済みURLs

 

コンポーネント

URL

テンプレート

http://surname192.temp.swtest[.]ru/prapor/su/ino.gif

 

http://surname192.temp.swtest[.]ru/prapor/su/derg.gif

 

http://surname192.temp.swtest[.]ru/prapor/su/derg.gif

 

http://surname192.temp.swtest[.]ru/prapor/su/derg.gif

二次ペイロード

94.158.244[.]27/absolute.ace

 

94.158.244[.]27/distant.cdr

 

[+] 関連するIP

94.158.244[.]27

 

#攻撃チェーン2

[+] ハッシュ

 

MD5

定義

7c1626fcaf47cdfe8aaed008d4421d8c

6d40826dc7a9c1f5fc15e9823f30966b

c2ef9f814fc99670572ee76ba06d24da

3751b3326f3963794d3835dbf65ac048

3cfc9972ad7cbd13cac51aade3f2b501

ba1f2bfe95b219354ddad04b79579346

56be65fe4d9709c10cae511d53d92d1a

RAR アーカイブ

5f568c80ab68a4132506f29ede076679

2b7b4ad2947516e633f5008ace02690d

bdcb83cc6f54d571a2c102fbbd8083c7

b25865010562a3863ef892311644b3bb

bc740d642893e0fe23c75264ca7c2bca

d5628fe5de110e321110bbc76061702b

53ee0babcf03b17e02e4317b6a410b93

LNK

c3564bde7b49322f2bacdc495146cfbc

6fa9d3407b70e3928be3ee0a85ddb01c

e6a9e19e1b019f95bfc5a4e161794a7f

2cc96a41092e7adf726365bbc5726150

9f566a164a5c6ae046c24d0e911dc577

MSI

 

[+] C2ドメイン

kfctm[.]online

my.cloud-file[.]online

my.mondeychamp[.]xyz

files-download.infousa[.]xyz

download.logins[.]online

 

[+] ダウンロード済みURLs

コンポーネント

URL

MSI

http://kfctm[.]online/0802adqeczoL7.msi

 

http://my.cloud-file[.]online/Microsoft_VieweR_2012.msi

 

http://my.mondeychamp[.]xyz/uUi1rV.msi

 

http://my.mondeychamp[.]xyz/ReadMe.msi

 

http://files-download.infousa[.]xyz/Windows_photo_viewers.msi

 

http://files-download.infousa[.]xyz/Windows_photo_viewer.msi

 

http://download.logins[.]online/exe/LinK13112020.msi


 

付録I

NSIスクリプト

 

 

Get the latest Zscaler blog updates in your inbox

Subscription confirmed. More of the latest from Zscaler, coming your way soon!

By submitting the form, you are agreeing to our privacy policy.