Worok:新たなサイバースパイ組織によるアジアを標的にした攻撃を発見

新たに特定されたこのサイバースパイ組織は、主にアジアの企業や組織を標的としています。情報隠蔽手法の1つであるステガノグラフィを利用してPNGファイルからPowerShellペイロードを抽出するなど、過去に検出・文書化されていないツールを使用しています。

Thibaut Passilly 21 September 2022

ESETの研究者は、最近、主にアジアの有名企業や政府機関に対して、これまで検出・文書化されていない新たなツールを使用した標的型攻撃が実行されていることを検出しました。これらの攻撃は、今回初めて特定されたサイバースパイ組織によって実行されています。ESETはこの組織をWorokと命名しましたが、同組織は少なくとも2020年から活動しています。Worokが使用しているツールセットには、C++ローダーのCLRLoad、PowerShellバックドアのPowHeartBeat、ステガノグラフィの手法でPNGファイルに隠された悪意のあるペイロードを抽出するC#ローダーのPNGLoadが含まれます。

WOROKとは誰か?

2021年の初めに、ProxyShell(CVE-2021-34523)の脆弱性が公開された時には、さまざまなAPT組織によるこの脆弱性を攻撃する活動が確認されました。その中の1つは、TA428と以下の共通する特徴を示していました。

  • 活動期間
  • 標的としている業界
  • ShadowPadの使用方法

それ以外のツールセットは大きく異なっています。たとえば、TA428は2020年のAble Desktopのセキュリティ侵害に加担しています。WorokをTA428と同一組織と見なすことができるほどの強い関連性は見つかっていませんが、これらの2つの組織はツールを共有し、標的なども共通している可能性があります。ESETはこれらの集団を「Worok」と命名しました。これは、この組織が使用しているローダーのミューテックスから命名したものです。さらに、同じツールの亜種を使用した別の活動が、同組織と関連があることも判明しています。ESETのテレメトリ(監視データ)によると、Worokは2020年の後半から活動を開始しており、この記事の執筆時点でも活動を続けています。

2020年の後半、Worokは、特に以下の複数の国の政府や企業を標的にしていました。

  • 東アジアの通信事業者
  • 中央アジアの銀行
  • 東南アジアの海運企業
  • 中東の政府機関
  • アフリカ南部の民間企業

2021年5月から2022年1月にかけてWorokの活動は一時観測されなくなりましたが、2022年2月に以下の企業や組織を標的にしてWorokは活動を再開しています。

  • 中央アジアのエネルギー企業
  • 東南アジアの公的機関

図1は、標的となった地域と業界を示す視覚的なヒートマップです。

図1. 標的となった地域と業界のマップ
図1. 標的となった地域と業界のマップ

標的となった企業や組織のプロファイルと、これらの標的組織に展開されたツールから、Worokの主な目的は情報を窃取することであると考えられます。

技術的な分析

最初に標的にアクセスした方法の大半は判明していませんが、2021年と2022年にかけて、ProxyShellの脆弱性を攻撃するエクスプロイトが利用されていることが確認されています。このようなケースでは、標的のネットワークに常駐するために、これらの脆弱性を攻撃した後にWebシェルが通常アップロードされます。次に、オペレーターはさまざまなインプラントを使用して、別の攻撃を実行する能力を獲得していました。

ネットワークにアクセスした後には、MimikatzEarthWormReGeorgNBTscanなど公開されている複数のツールを偵察のために展開した後に、第一段階のローダーと第二段階の.NETローダー(PNGLoad)から構成される独自のインプラントを展開しています。残念ながら、ESETは最終的なペイロードを入手できていません。2021年に使用されていた第一段階のローダーはCLRアセンブリ(CLRLoad)でしたが、2022年には、ほとんどの攻撃で、より多くの機能が含まれるPowerShellバックドア(PowHeartBeat)に置き換えられていました。両方の実行チェーンを図2に示します。これらの3つのツールについては、以下のサブセクションで詳しく説明します。

図2. Worokによるセキュリティ侵害の攻撃チェーン
図2. Worokによるセキュリティ侵害の攻撃チェーン

CLRLoad:CLRアセンブリローダー

CLRLoadは、汎用のWindows PEであり、32ビット版と64ビット版の両方が確認されています。これはC++で記述されたローダーで、次の攻撃段階(PNGLoad)のためのファイルであるCLR(Common Language Runtime)アセンブリDLLファイルをロードします。このコードは、ディスクの正規のディレクトリにあるファイルから読み込まれていますが、これは、標的ユーザーやインシデント対応の担当者に正規のソフトウェアであると誤解させるための手法だと考えられます。

CLRLoadの検体には、ファイルのフルパスをデコードすることから処理を開始し、次の攻撃段階で使用するコンテンツをロードするものもあります。これらのファイルパスはシングルバイトのXORでエンコードされており、検体ごとに異なるキーが設定されています。デコードされた(つまり平文テキストになった)これらのファイルパスは絶対パスになっています。ESETが確認したパスは以下のとおりです。

  • C:\Program Files\VMware\VMware Tools\VMware VGAuth\xsec_1_5.dll
  • C:\Program Files\UltraViewer\msvbvm80.dll
  • C:\Program Files\Internet Explorer\Jsprofile.dll
  • C:\Program Files\WinRar\RarExtMgt.dll
  • C:\Program Files (x86)\Foxit Software\Foxit Reader\lucenelib.dll

次に、ミューテックスが作成されますが、検体ごとに異なる名前になっています。ローダーはこのミューテックスをチェックし、ミューテックスが見つかった場合は、ローダーがすでに実行しているため終了します。ESETが確認した検体では、Wo0r0KGWhYGOという名前のミューテックスが見つかっています。この名前からESETはこの組織をWorokと命名しています。

次にCLRLoadは、デコードされた可能性があるファイルパスからCLRアセンブリをロードします。CLRLoadの32ビット版ではCorBindToRuntimeEx Windows APIコールを、64ビット版ではCLRCreateInstanceコールを行って、アンマネージドコードでロードを行います。

PowHeartBeat:PowerShellバックドア

PowHeartBeatは、PowerShellで記述された多機能なバックドアで、圧縮、エンコード、暗号化などのさまざまな手法で難読化されています。ESETのテレメトリから、最近実施されたWorokキャンペーンでは、PNGLoadを起動するツールとして、CLRLoadではなくPowHeartBeatが使用されていると考えられます。

バックドアコードの最初のレイヤーは、base64でエンコードされたPowerShellコードの複数のチャンクから構成されています。ペイロードが再構成されると、IEXを介して実行されます。デコードされると、難読化されたコードの別のレイヤーが実行されます。 この部分のコードを図3に示します。

図3. PowHeartBeatの第2レイヤーで使用された主なコード部分をデコードしたもの
図3. PowHeartBeatの第2レイヤーで使用された主なコード部分をデコードしたもの

バックドアの第2レイヤーは最初に、このコードの次のレイヤーをbase64でデコードし、それをトリプルDES(CBCモード)で復号化します。復号化された後に、このコードはgzipアルゴリズムを使用して解凍され、実際のバックドアである第3レイヤーのPowerShellコードが実行されます。このPowerShellコードは大きく分けて、構成とバックドアコマンドの処理の2つの部分に分かれています。

バックドアコードのメインレイヤーもPowerShellで記述されており、HTTPやICMPを使用してC&Cサーバーと通信します。この動作の仕組みを図4に示します。

図4. PowHeartBeatの動作の仕組み
図4. PowHeartBeatの動作の仕組み

構成

構成には、バージョン番号、オプションのプロキシ設定、C&Cサーバーのアドレスなどの複数のフィールドが含まれます。表1に、ESETがこれまでに確認したPowHeartBeatのいくつかの異なるバージョンの構成フィールドとその説明を示します。

フィールド名説明
nouse /
ikuyrtydyfg(他の検体)
未使用。
ClientId以下の目的で使用されるクライアント識別子:
・C&Cとの通信のためのCookieヘッダーを構築する値。
・送信するデータを暗号化するアーチファクト。
VersionPowHeartBeatのバージョン番号。
ExecTimesRunCmd(コマンド実行)コマンドを実行するときに許可される実行回数。
UserAgentC&Cとの通信に使用されるユーザーエージェント。
RefererC&Cとの通信に使用されるRefererヘッダー。
AcceptEncoding未使用。
CookieClientId
CookieTaskId
CookieTerminalId
C&Cとの通信のためのCookieヘッダーを構築する値。
UrlHttpsC&Cとの通信に使用するプロトコル。
UrlDomain
IPAddress
Domains
C&Cサーバーとして使用されるURL、ドメイン、またはIPアドレス。Domainsが空でない場合、IPAddressの代わりにこのドメインの値が選択されます。それ以外の場合は、IPAddressの値が使用されます。
UrlSendHeartBeatバックドアがC&Cサーバーにコマンドを要求するときに使用するURLパス。
UrlSendResultバックドアがコマンドの実行結果をC&apm;Cサーバーに送り返すときに使用するURLパス。
GetUrlPowHeartBeatがC&Cサーバーにコマンドを要求するために使用する完全なURL。これは、上記のURL要素を連結したものです。
PutUrlGetUrlと同じですが、コマンドの実行結果をC&Cサーバーに送り返すために使用されます。
currentPath未使用。
ProxyEnableFlagバックドアがC&Cサーバーと通信するときにプロキシを使用しなければならないかどうかを示すフラグ。
ProxymsgProxyEnableFlagが$trueに設定されている場合に使用するプロキシのアドレス。
IntervalGETリクエスト間にスクリプトがスリープする時間(秒)。
BasicConfigPathUpTime、DownTime、DefaultInterval、およびDomainsを含むオプションの構成ファイルへのパス。このファイルが存在する場合、これらの値は上書きされます。
UpTimeバックドアが動作を開始する時間。つまり、C&CサーバーへのGETリクエストを開始する時間。
DownTimeバックドアが動作できる時間。つまり、C&Cサーバーへのリクエストを停止する時間。
DomainIndexC&Cサーバーとの通信に使用する現在のドメイン名のインデックス。リクエストが304(”Not modified”)以外のエラーメッセージを返した場合、DomainIndexが増加します。
SecretKeyこの構成を復号化/暗号化するために使用されるキー。構成はマルチバイトのXORで暗号化されます。
IfLog未使用。
IfLogFilePathログが有効であるかどうかを示すフラグ。
logpathログファイルのパス。
ProxyFileオプションのプロキシ構成のファイルパス。このレジストリ値が空であったり、ファイルシステム内に見つからなかったりした場合、このバックドアはレジストリ値HKCUSoftwareのCurrentVersionからユーザーのプロキシ設定を取得します。
IfConfig構成ファイルを使用するかどうかを示すフラグ。

図5に、PowHeartBeatの検体から抽出された構成の例を示します
(SHA-1:757ABA12D04FD1167528FDD107A441D11CD8C427)。

図5. 構成の例
図5. 構成の例

データ暗号化

PowHeartBeatは、ログと追加の構成ファイルのコンテンツを暗号化します。

ESETが確認した検体では、ログファイルの内容は、平文で指定された鍵を使用するマルチバイトXORによって暗号化されています。興味深いことに、clientIdが、キー配列のインデックスのソルトとして使用されています。このキーは256バイトの配列であり、ESETが確認したすべての検体で同一でした。追加の構成ファイルの内容は、SecretKeyの値をキーとして、マルチバイトXORにより暗号化されます。

C&Cとの通信

PowHeartBeatはバージョン2.4まではC&Cとの通信にHTTPを使用していましたが、その後でICMPに変更されています。いずれの場合も、通信は暗号化されていません。

HTTP

無限ループで、バックドアはC&CサーバーにGETリクエストを送り、実行するコマンドを要求します。暗号化された回答はバックドアによって復号化されます。バックドアはコマンドを処理し、コマンドの出力をファイルに書き込み、その内容をPOSTリクエストによってC&Cサーバーに送信します。

GETリクエストの形式は以下の通りです。

GETリクエストの形式

リクエストは、同名の構成フィールドを使用して構築されます。

C&Cサーバーからの応答では、このコンテンツの3番目のバイトが、バックドアが実行するコマンドを示すコマンド識別子となります。ESETは、このバイトをcommand_idと命名しました。応答の残りのコンテンツは、実行されるコマンドの引数として渡されます。このコンテンツは、図6に示すアルゴリズムで暗号化されます。taskIdは、この構成のCookieTaskIdの値から命名されるCookieの値です。

図6. コンテンツデータを暗号化するアルゴリズムの要求
図6. コンテンツデータを暗号化するアルゴリズムの要求

C&Cサーバーからの応答には、バックドアのCookieTerminalId構成変数で指定される名前の別のCookieも含まれます。このCookieの値は、バックドアのPOSTリクエストで繰り返し使用され、必ず値が含まれます。バックドアコマンドを実行した後、PowHeartBeatはその結果をPOSTリクエストとしてC&Cサーバーに送信します。その結果は、<command_id>.pngというファイル名で送信されます。

ICMP

PowHeartBeatのバージョン2.4から、HTTPの代わりにICMPが使用されており、送信パケットは6秒間のタイムアウトが設定され、断片化されないようになりました。ICMPによる通信は、検知を回避するために使用されている可能性があります。

バージョン2.4以降では大きな変更はありませんが、コードが若干修正されています。

  • PowHeartBeatはループごとに、コマンドを要求する前にabcdefghijklmnopqrstuvwxyzという文字列を含むハートビートパケットを送信します。このハートビートパケットは、バックドアがコマンドを受信する準備が整ったことをC&Cサーバーに通知します。
  • バックドアが実行するコマンドを取得するリクエストには、abcdefghijklmnopという文字列が含まれます。

ハートビートパケットの形式を、図7に示します。

図7. ハートビートパケットのレイアウト
図7. ハートビートパケットのレイアウト

client IDclient flagの違いは、client IDが検体ごとに異なるのに対し、client flagはICMPを使用する検体ですべて同じであることです。heartbeat flagは、バックドアがハートビートを送信していることを示します。C&Cサーバーからの応答は、図8に示す形式になっています。

図8. C&Cサーバーの応答のレイアウト
図8. C&Cサーバーの応答のレイアウト

このflagは、バックドアが実行するコマンドがあるかどうかを示します。getコマンドのリクエストの形式を図9に示します。

図9. コマンド取得要求のレイアウト
図9. コマンド取得要求のレイアウト

なお、ICMPモードのバックドアでは、データがチャンクに分割され無制限に受信することができ、data lengthcurrent positiontotal lengthの変数が、送信データを追跡するために使用されます。これらの要求に対する応答の形式を図10に示します。

図10. コマンド取得要求に対する応答のレイアウト
図10. コマンド取得要求に対する応答のレイアウト

HTTP応答と同様に、コマンド識別子はdataの3番目のバイトになります。

ICMPの応答で7回連続して内容が空であったり、形式が一定ではない場合、バックドアとC&Cサーバー間の転送が終了したとみなされます。

実行したコマンドの結果をC&Cサーバーに送信する要求については、サーバーモードがポストモードに変更され、結果データの最終的な文字列(abcdefghijklmnop)がされます。

バックドアコマンド

PowHeartBeatは、コマンドやプロセスの実行やファイル操作など、さまざまな機能を備えています。表2に、解析した各種の検体でサポートされていたすべてのコマンドを掲載します。

名前コマンド
識別子
説明
Cmd0x02PowerShellコマンドを実行します。
Exe0x04processとしてコマンドを実行します。
FileUpload0x06標的ユーザーのマシンにファイルをアップロードします。ファイルのコンテンツはgzipで圧縮されています。
FileDownLoad0x08標的ユーザーのマシンからファイルをダウンロードし、ファイルパス、ファイルのサイズ、作成時間、アクセス時間、ファイルのコンテンツをC&Cサーバーに返します。
FileView0x0A特定のディレクトリのファイル情報を取得します。特に以下の情報を取得します。
・ファイル名
・ファイル属性
・最終書き込み時刻
・ファイルのコンテンツ
FileDelete0x0Cファイルを削除します。
FileRename0x0Eファイル名を変更したり、ファイルを移動したりします。
ChangeDir0x10バックドアが現在あるディレクトリの場所を変更します。
Info0x12指定された引数に従って、特定のカテゴリの情報を取得します。
• 「Basic information」:ClientId、Version、ホスト名、IPアドレス、explorer.exeのバージョンとサイズ情報、OS(アーキテクチャとマシンがサーバーかどうかを示すフラグ)、Interval、現在のディレクトリ、ドライブ情報(名前、タイプ、空き容量、合計サイズ)、現在時刻 • 「Time-Interval information」:Intervalと現在時刻
• 「Domain information」:暗号化された構成ファイルのコンテンツ
Config0x14構成ファイルのコンテンツを更新し、構成を再ロードします。
N/A0x63バックドアを終了します。

バックドア側でエラーが発生した場合、バックドアはC&CサーバーへのPOSTリクエストに特定のコマンド識別子0x00Xを使用して、エラーが発生したことを示します。

C&Cサーバーに情報を送信する前に、データはgzipで圧縮されます。

PNGLoad:ステガノグラフィを使用するローダー

PNGLoadは、Worokによって侵害されたシステムに展開される第2段階のペイロードで、ESETのテレメトリによれば、CLRLoadまたはPowHeartBeatによってロードされます。PowHeartBeatには、PNGLoadを直接ロードするコードは見当たりませんが、バックドアにはC&Cサーバーから追加のペイロードをダウンロードして実行する機能があります。攻撃者はこの方法で、PowHeartBeatを使用して感染したシステム上にPNGLoadを展開していると考えられます。PNGLoadは、PNGファイルに含まれるバイトを使用してペイロードを作成し、実行するローダーです。これは、.NET Reactorで難読化されている64ビットの.NET実行ファイルであり、正規のソフトウェアを装っています。たとえば、図11は、WinRAR DLLを装った検体のCLRヘッダーを示しています。

図11. 偽のWinRARのDLLの例
図11. 偽のWinRARのDLLの例

難読化が解除されると、1つのクラスが表示されます。このクラスには、図12に示すようにMainPath属性があります。この属性には、拡張子が.pngのファイルを、サブディレクトリを含めてバックドアが検索するディレクトリパスが含まれます。

図12. .pngファイルのリスト
図12. .pngファイルのリスト

MainPathを検索して見つかった各.pngファイルは、ステガノグラフィを使用して埋め込まれたコンテンツがあるかどうかがチェックされます。まず、各ピクセルのR(赤)、G(緑)、B(青)、A(アルファ)の値の最下位ビットを取り出し、バッファに組み入れます。そのバッファの最初の8バイトが図13に示すマジックナンバーと一致し、次の8バイトの値(control)がnullでなければ、PNGLoadのステガノグラフィのコンテンツチェックにそのファイルはパスします。このチェックをパスしたファイルに対しては処理が続行され、PNGLoadのSecretKeyBytes属性に格納されているキーを使用して、バッファの残りをマルチバイトXORで復号化した後、復号化したバッファをgzipで圧縮します。これにより、PowerShellスクリプトが生成され、直ちに実行されます。

図13. PNGLoadが.pngファイルを処理して作成するバッファの形式
図13. PNGLoadが.pngファイルを処理して作成するバッファの形式

PNGLoadによって実行された操作は、変数LogFilePathでパスが指定されているファイルに記録されます。内部変数IfLogFilePathで指定されたパスのファイルが存在する場合のみ、これらの操作がログに記録されます。

PNGLoadで使用されている.pngファイルの検体をESETは入手できていませんが、PNGLoadの仕組みから判断すると、有効なPNGファイルがあれば上記の説明のとおりに処理されると考えられます。Worokは、悪意のあるペイロードを隠ぺいするためにC#のビットマップオブジェクトを使用します。ファイルからピクセル情報のみを取り出し、ファイルのメタデータは取り出しません。つまり、Worokは悪意のあるペイロードを無害に見えるPNG画像に隠ぺいすることができ、ユーザーが騙される可能性が高くなっています。

結論

Worokは、 既存のツールを活用しているだけでなく、独自のツールも開発して標的組織を侵害しているサイバースパイ組織です。アジアやアフリカの有名企業を中心に、官民を問わずさまざまな業界を標的としていることから、標的の組織から情報を窃取することが、このサイバースパイ組織の目的であると考えられます。活動時間や使用しているツールセットからTA428との関連性も疑われますが、現在の情報からはこれは確定的ではありません。Worokが使用しているカスタムツールセットには、2つのローダー(C++とC# .NET)と1つのPowerShellバックドアが含まれています。Worokに関する調査は始まったばかりであり、収集されている情報も限定されていますが、この組織の活動を注視して、他の研究者とこの組織に関する情報を共有するきっかけになれば幸いです。

IoC(Indicators of Compromise)の詳細なリストと検体は、ESETのGitHubリポジトリに掲載されています。

この問題に関するお問い合わせや検体の提供については、threatintel@eset.comまでご連絡ください。

IOC(セキュリティ侵害の痕跡)

ファイル

SHA-1ファイル名ESETの検出名説明
3A47185D0735CDECF4C7C2299EB18401BFB328D5scriptPowerShell/PowHeartBeat.BPowHeartBeat 2.4.3.0003。
27ABB54A858AD1C1FF2863913BDA698D184E180DscriptPowerShell/PowHeartBeat.APowHeartBeat 2.4.3.0003。
678A131A9E932B9436241402D9727AA7D06A87E3scriptPowerShell/PowHeartBeat.BPowHeartBeat 2.4.3.0003。
757ABA12D04FD1167528FDD107A441D11CD8C427scriptPowerShell/PowHeartBeat.BPowHeartBeat 2.1.3.0003。
54700A48D934676FC698675B4CA5F712C0373188scriptPowerShell/PowHeartBeat.APowHeartBeat 1.1.3.0002。
C2F53C138CB1B87D8FC9253A7088DB30B25389AFscriptPowerShell/PowHeartBeat.APowHeartBeat 1.1.3.0002。
C2F1954DE11F72A46A4E823DE767210A3743B205tmp.ps1PowerShell/PowHeartBeat.BPowHeartBeat 2.4.3.0004。
CE430A27DF87A6952D732B4562A7C23BEF4602D1tmp.ps1PowerShell/PowHeartBeat.A PowHeartBeat 2.1.3.0004。
EDE5AB2B94BA85F28D5EE22656958E4ECD77B6FFscriptPowerShell/PowHeartBeat.APowHeartBeat 2.4.3.0003。
4721EEBA13535D1EE98654EFCE6B43B778F13126vix64.dllMSIL/PNGLoader.APNGLoader。
728A6CB7A150141B4250659CF853F39BFDB7A46CRarExtMgt.dllMSIL/PNGLoader.APNGLoader。
864E55749D28036704B6EA66555A86527E02AF4AJsprofile.dllMSIL/PNGLoader.APNGLoader。
8DA6387F30C584B5FD3694A99EC066784209CA4Cvssxml.dllMSIL/PNGLoader.APNGLoader。
AA60FB4293530FBFF00D200C0D44EEB1A17B1C76xsec_1_5.dllMSIL/PNGLoader.APNGLoader。
B2EAEC695DD8BB518C7E24C4F37A08344D6975BEmsvbvm80.dllMSIL/PNGLoader.APNGLoader。
CDB6B1CAFEE098615508F107814179DEAED1EBCFlucenelib.dllMSIL/PNGLoader.APNGLoader。
4F9A43E6CF37FF20AE96E564C93898FDA6787F7Dvsstrace.dllWin64/CLRLoad.CCLRLoad。
F181E87B0CD6AA4575FD51B9F868CA7B27240610ncrypt.dllWin32/CLRLoad.ACLRLoad。
4CCF0386BDE80C339EFE0CC734CB497E0B08049Cncrypt.dllWin32/CLRLoad.ACLRLoad。
5CFC0D776AF023DCFE8EDED5CADA03C6D7F9C244wlbsctrl.dllWin64/CLRLoad.ECLRLoad。
05F19EBF6D46576144276090CC113C6AB8CCEC08wlbsctrl.dllWin32/CLRLoad.ACLRLoad。
A5D548543D3C3037DA67DC0DA47214B2C2B15864secur32.dllWin64/CLRLoad.HCLRLoad。
CBF42DCAF579AF7E6055237E524C0F30507090F3dbghelp.dllWin64/CLRLoad.CCLRLoad。

ファイルパス

PNGLoadの検体でESETが確認したMainPath、LogFilePath、IfLogFilePathの 値の一部を以下に示します。

MainPathLogFilePathIfLogFilePath
C:\Program Files\VMware\VMware Tools\C:\Program Files\VMware\VMware Tools\VMware VGAuth\readme.txtC:\Program Files\VMware\VMware Tools\VMware VGAuth\VMWSU_V1_1.dll
C:\Program Files\WinRar\C:\Program Files\WinRar\rarinstall.logC:\Program Files\WinRar\des.dat
C:\Program Files\UltraViewer\C:\Program Files\UltraViewer\CopyRights.datC:\Program Files\UltraViewer\uvcr.dll

ネットワーク

ドメインIP
なし118.193.78[.]22
なし118.193.78[.]57
airplane.travel-commercials[.]agency5.183.101[.]9
central.suhypercloud[.]org45.77.36[.]243

ミューテックス

CLRLoadの検体でESETが確認したミューテックスの名前を以下に記載します。

aB82UduGX0EX
ad8TbUIZl5Ga
Mr2PJVxbIBD4
oERiQtKLgPgK
U37uxsCsA4Xm
Wo0r0KGWhYGO
xBUjQR2vxYTz
zYCLBWekRX3t
3c3401ad-e77d-4142-8db5-8eb5483d7e41
9xvzMsaWqxMy

MITRE ATT&CKの技術

この表は、MITRE ATT&CKフレームワークのバージョン11を使用して作成されています。

手法ID名前説明
偵察T1592.002標的ユーザーのホスト情報を収集します。ソフトウェアPowHeartBeatは、explorer.exeの情報を収集します。
T1592.001標的ユーザーのホスト情報を収集します。ハードウェアPowHeartBeatは、ドライブに関する情報を収集します。
T1590.005標的ユーザーのネットワーク情報を収集します。IPアドレスPowHeartBeatは、侵害したコンピュータのIPアドレスを収集します。
リソース開発T1583.004インフラストラクチャの取得:サーバーWorokは独自のC&Cサーバーを使用します。
T1588.002機能の取得:ツールWorokは、公開されている複数のツールを、セキュリティを侵害したマシンに展開します。
T1583.001インフラストラクチャの取得:ドメインWorokはC&Cサーバーとの通信と攻撃の進行を容易にするためにドメインを登録します。
T1588.005機能の取得:エクスプロイトWorokはProxyShellの脆弱性を悪用します。
T1587.001能力の開発マルウェアWorokは独自のマルウェアであるCLRLoad、PNGLoad、PowHeartBeatを開発しています。
T1587.003能力の開発デジタル証明書Worokは、マルウェアの相互TLS認証(mTLS)を有効にするため、Let's EncryptのSSL証明書を作成します。
実行T1059.001コマンドおよびスクリプトインタプリタ:PowerShellPowHeartBeatはPowerShellで記述されています。
常駐化T1505.003サーバーソフトウェアコンポーネント:WebシェルWorokはWebシェルのReGeorgを使用します。
防衛機能の回避T1140ファイルや情報の難読化解除と復号化Worokは、PowHeartBeat、PNGLoad、CLRLoadの文字列とログを暗号化するために、さまざまなXORベースの独自スキームを使用します。
T1036.005なりすまし:正規のモジュールの名前や場所を模倣するPNGLoadの検体は、正規のように見えるVMwareディレクトリに配置されます。
認証情報へのアクセスT1003.001OS認証情報のダンプ:LSASSメモリWorokはMimikatzを使用してLSASSメモリから認証情報をダンプします。
検出T1082システム情報の検出PowHeartBeatは、OS情報を収集します。
T1083ファイルおよびディレクトリの検出PowHeartBeatは、ファイルやディレクトリの一覧を表示できます。
T1046ネットワークサービスの検出WorokはNbtScanを使用して、セキュリティを侵害したマシンのネットワーク情報を取得します。
T1124システム時間の検出PowHeartBeatは、標的ユーザー環境の時間情報を収集します。
収集T1005ローカルシステムのデータPowHeartBeatは、ローカルシステムからデータを収集します。
T1560.002収集したデータのアーカイブ:ライブラリ経由のアーカイブPowHeartBeatは、C&Cサーバーに送信する前にデータをgzipで圧縮します。
C&C(コマンド&コントロール)T1071.001アプリケーションレイヤープロトコル:WebプロトコルPowHeartBeatの亜種には、C&Cサーバーとの通信プロトコルとしてHTTPを使用するものがあります。
T1090.001プロキシ:内部プロキシPowHeartBeatは、標的ユーザーのマシンでプロキシを構成します。
T1001.002データの難読化:ステガノグラフィPNGLoadは、.pngファイルからピクセル値を抽出し、ペイロードを再構築します。
T1573.002暗号化されたチャンネル:非対称暗号方式PowHeartBeatは、C&CサーバーとのHTTPS通信を処理します。
T1095アプリケーションレイヤープロトコル以外の手法:PowHeartBeatの亜種には、C&Cサーバーとの通信プロトコルとしてICMPを使用するものがあります。
T1132.001データのエンコーディング:標準エンコーディングWorokはPowHeartBeatとPNGLoadでXORエンコードを使用します。
T1132.002データのエンコーディング:非標準のエンコーディングWorokは、ソルトを追加したXORエンコードアルゴリズムを採用しています。
情報の外部への送信T1041C2チャネルからの送信PowHeartBeatは、C&Cサーバーとの通信パスを利用して情報を流出させます。