Worok:新たなサイバースパイ組織によるアジアを標的にした攻撃を発見
新たに特定されたこのサイバースパイ組織は、主にアジアの企業や組織を標的としています。情報隠蔽手法の1つであるステガノグラフィを利用してPNGファイルからPowerShellペイロードを抽出するなど、過去に検出・文書化されていないツールを使用しています。
Thibaut Passilly 21 September 2022
新たに特定されたこのサイバースパイ組織は、主にアジアの企業や組織を標的としています。情報隠蔽手法の1つであるステガノグラフィを利用してPNGファイルからPowerShellペイロードを抽出するなど、過去に検出・文書化されていないツールを使用しています。
Thibaut Passilly 21 September 2022
ESETの研究者は、最近、主にアジアの有名企業や政府機関に対して、これまで検出・文書化されていない新たなツールを使用した標的型攻撃が実行されていることを検出しました。これらの攻撃は、今回初めて特定されたサイバースパイ組織によって実行されています。ESETはこの組織をWorokと命名しましたが、同組織は少なくとも2020年から活動しています。Worokが使用しているツールセットには、C++ローダーのCLRLoad、PowerShellバックドアのPowHeartBeat、ステガノグラフィの手法でPNGファイルに隠された悪意のあるペイロードを抽出するC#ローダーのPNGLoadが含まれます。
2021年の初めに、ProxyShell(CVE-2021-34523)の脆弱性が公開された時には、さまざまなAPT組織によるこの脆弱性を攻撃する活動が確認されました。その中の1つは、TA428と以下の共通する特徴を示していました。
それ以外のツールセットは大きく異なっています。たとえば、TA428は2020年のAble Desktopのセキュリティ侵害に加担しています。WorokをTA428と同一組織と見なすことができるほどの強い関連性は見つかっていませんが、これらの2つの組織はツールを共有し、標的なども共通している可能性があります。ESETはこれらの集団を「Worok」と命名しました。これは、この組織が使用しているローダーのミューテックスから命名したものです。さらに、同じツールの亜種を使用した別の活動が、同組織と関連があることも判明しています。ESETのテレメトリ(監視データ)によると、Worokは2020年の後半から活動を開始しており、この記事の執筆時点でも活動を続けています。
2020年の後半、Worokは、特に以下の複数の国の政府や企業を標的にしていました。
2021年5月から2022年1月にかけてWorokの活動は一時観測されなくなりましたが、2022年2月に以下の企業や組織を標的にしてWorokは活動を再開しています。
図1は、標的となった地域と業界を示す視覚的なヒートマップです。
標的となった企業や組織のプロファイルと、これらの標的組織に展開されたツールから、Worokの主な目的は情報を窃取することであると考えられます。
最初に標的にアクセスした方法の大半は判明していませんが、2021年と2022年にかけて、ProxyShellの脆弱性を攻撃するエクスプロイトが利用されていることが確認されています。このようなケースでは、標的のネットワークに常駐するために、これらの脆弱性を攻撃した後にWebシェルが通常アップロードされます。次に、オペレーターはさまざまなインプラントを使用して、別の攻撃を実行する能力を獲得していました。
ネットワークにアクセスした後には、Mimikatz、EarthWorm、ReGeorg、NBTscanなど公開されている複数のツールを偵察のために展開した後に、第一段階のローダーと第二段階の.NETローダー(PNGLoad)から構成される独自のインプラントを展開しています。残念ながら、ESETは最終的なペイロードを入手できていません。2021年に使用されていた第一段階のローダーはCLRアセンブリ(CLRLoad)でしたが、2022年には、ほとんどの攻撃で、より多くの機能が含まれるPowerShellバックドア(PowHeartBeat)に置き換えられていました。両方の実行チェーンを図2に示します。これらの3つのツールについては、以下のサブセクションで詳しく説明します。
CLRLoadは、汎用のWindows PEであり、32ビット版と64ビット版の両方が確認されています。これはC++で記述されたローダーで、次の攻撃段階(PNGLoad)のためのファイルであるCLR(Common Language Runtime)アセンブリDLLファイルをロードします。このコードは、ディスクの正規のディレクトリにあるファイルから読み込まれていますが、これは、標的ユーザーやインシデント対応の担当者に正規のソフトウェアであると誤解させるための手法だと考えられます。
CLRLoadの検体には、ファイルのフルパスをデコードすることから処理を開始し、次の攻撃段階で使用するコンテンツをロードするものもあります。これらのファイルパスはシングルバイトのXORでエンコードされており、検体ごとに異なるキーが設定されています。デコードされた(つまり平文テキストになった)これらのファイルパスは絶対パスになっています。ESETが確認したパスは以下のとおりです。
次に、ミューテックスが作成されますが、検体ごとに異なる名前になっています。ローダーはこのミューテックスをチェックし、ミューテックスが見つかった場合は、ローダーがすでに実行しているため終了します。ESETが確認した検体では、Wo0r0KGWhYGOという名前のミューテックスが見つかっています。この名前からESETはこの組織をWorokと命名しています。
次にCLRLoadは、デコードされた可能性があるファイルパスからCLRアセンブリをロードします。CLRLoadの32ビット版ではCorBindToRuntimeEx Windows APIコールを、64ビット版ではCLRCreateInstanceコールを行って、アンマネージドコードでロードを行います。
PowHeartBeatは、PowerShellで記述された多機能なバックドアで、圧縮、エンコード、暗号化などのさまざまな手法で難読化されています。ESETのテレメトリから、最近実施されたWorokキャンペーンでは、PNGLoadを起動するツールとして、CLRLoadではなくPowHeartBeatが使用されていると考えられます。
バックドアコードの最初のレイヤーは、base64でエンコードされたPowerShellコードの複数のチャンクから構成されています。ペイロードが再構成されると、IEXを介して実行されます。デコードされると、難読化されたコードの別のレイヤーが実行されます。 この部分のコードを図3に示します。
構成には、バージョン番号、オプションのプロキシ設定、C&Cサーバーのアドレスなどの複数のフィールドが含まれます。表1に、ESETがこれまでに確認したPowHeartBeatのいくつかの異なるバージョンの構成フィールドとその説明を示します。
フィールド名 | 説明 |
---|---|
nouse / ikuyrtydyfg(他の検体) | 未使用。 |
ClientId | 以下の目的で使用されるクライアント識別子: ・C&Cとの通信のためのCookieヘッダーを構築する値。 ・送信するデータを暗号化するアーチファクト。 |
Version | PowHeartBeatのバージョン番号。 |
ExecTimes | RunCmd(コマンド実行)コマンドを実行するときに許可される実行回数。 |
UserAgent | C&Cとの通信に使用されるユーザーエージェント。 |
Referer | C&Cとの通信に使用されるRefererヘッダー。 |
AcceptEncoding | 未使用。 |
CookieClientId CookieTaskId CookieTerminalId | C&Cとの通信のためのCookieヘッダーを構築する値。 |
UrlHttps | C&Cとの通信に使用するプロトコル。 |
UrlDomain IPAddress Domains | C&Cサーバーとして使用されるURL、ドメイン、またはIPアドレス。Domainsが空でない場合、IPAddressの代わりにこのドメインの値が選択されます。それ以外の場合は、IPAddressの値が使用されます。 |
UrlSendHeartBeat | バックドアがC&Cサーバーにコマンドを要求するときに使用するURLパス。 |
UrlSendResult | バックドアがコマンドの実行結果をC&apm;Cサーバーに送り返すときに使用するURLパス。 |
GetUrl | PowHeartBeatがC&Cサーバーにコマンドを要求するために使用する完全なURL。これは、上記のURL要素を連結したものです。 |
PutUrl | GetUrlと同じですが、コマンドの実行結果をC&Cサーバーに送り返すために使用されます。 |
currentPath | 未使用。 |
ProxyEnableFlag | バックドアがC&Cサーバーと通信するときにプロキシを使用しなければならないかどうかを示すフラグ。 |
Proxymsg | ProxyEnableFlagが$trueに設定されている場合に使用するプロキシのアドレス。 |
Interval | GETリクエスト間にスクリプトがスリープする時間(秒)。 |
BasicConfigPath | UpTime、DownTime、DefaultInterval、およびDomainsを含むオプションの構成ファイルへのパス。このファイルが存在する場合、これらの値は上書きされます。 |
UpTime | バックドアが動作を開始する時間。つまり、C&CサーバーへのGETリクエストを開始する時間。 |
DownTime | バックドアが動作できる時間。つまり、C&Cサーバーへのリクエストを停止する時間。 |
DomainIndex | C&Cサーバーとの通信に使用する現在のドメイン名のインデックス。リクエストが304(”Not modified”)以外のエラーメッセージを返した場合、DomainIndexが増加します。 |
SecretKey | この構成を復号化/暗号化するために使用されるキー。構成はマルチバイトのXORで暗号化されます。 |
IfLog | 未使用。 |
IfLogFilePath | ログが有効であるかどうかを示すフラグ。 |
logpath | ログファイルのパス。 |
ProxyFile | オプションのプロキシ構成のファイルパス。このレジストリ値が空であったり、ファイルシステム内に見つからなかったりした場合、このバックドアはレジストリ値HKCUSoftwareのCurrentVersionからユーザーのプロキシ設定を取得します。 |
IfConfig | 構成ファイルを使用するかどうかを示すフラグ。 |
図5に、PowHeartBeatの検体から抽出された構成の例を示します
(SHA-1:757ABA12D04FD1167528FDD107A441D11CD8C427)。
PowHeartBeatは、ログと追加の構成ファイルのコンテンツを暗号化します。
ESETが確認した検体では、ログファイルの内容は、平文で指定された鍵を使用するマルチバイトXORによって暗号化されています。興味深いことに、clientIdが、キー配列のインデックスのソルトとして使用されています。このキーは256バイトの配列であり、ESETが確認したすべての検体で同一でした。追加の構成ファイルの内容は、SecretKeyの値をキーとして、マルチバイトXORにより暗号化されます。
PowHeartBeatはバージョン2.4まではC&Cとの通信にHTTPを使用していましたが、その後でICMPに変更されています。いずれの場合も、通信は暗号化されていません。
無限ループで、バックドアはC&CサーバーにGETリクエストを送り、実行するコマンドを要求します。暗号化された回答はバックドアによって復号化されます。バックドアはコマンドを処理し、コマンドの出力をファイルに書き込み、その内容をPOSTリクエストによってC&Cサーバーに送信します。
GETリクエストの形式は以下の通りです。
リクエストは、同名の構成フィールドを使用して構築されます。
C&Cサーバーからの応答では、このコンテンツの3番目のバイトが、バックドアが実行するコマンドを示すコマンド識別子となります。ESETは、このバイトをcommand_idと命名しました。応答の残りのコンテンツは、実行されるコマンドの引数として渡されます。このコンテンツは、図6に示すアルゴリズムで暗号化されます。taskIdは、この構成のCookieTaskIdの値から命名されるCookieの値です。
C&Cサーバーからの応答には、バックドアのCookieTerminalId構成変数で指定される名前の別のCookieも含まれます。このCookieの値は、バックドアのPOSTリクエストで繰り返し使用され、必ず値が含まれます。バックドアコマンドを実行した後、PowHeartBeatはその結果をPOSTリクエストとしてC&Cサーバーに送信します。その結果は、<command_id>.pngというファイル名で送信されます。
PowHeartBeatのバージョン2.4から、HTTPの代わりにICMPが使用されており、送信パケットは6秒間のタイムアウトが設定され、断片化されないようになりました。ICMPによる通信は、検知を回避するために使用されている可能性があります。
バージョン2.4以降では大きな変更はありませんが、コードが若干修正されています。
ハートビートパケットの形式を、図7に示します。
client IDとclient flagの違いは、client IDが検体ごとに異なるのに対し、client flagはICMPを使用する検体ですべて同じであることです。heartbeat flagは、バックドアがハートビートを送信していることを示します。C&Cサーバーからの応答は、図8に示す形式になっています。
このflagは、バックドアが実行するコマンドがあるかどうかを示します。getコマンドのリクエストの形式を図9に示します。
なお、ICMPモードのバックドアでは、データがチャンクに分割され無制限に受信することができ、data length、current position、total lengthの変数が、送信データを追跡するために使用されます。これらの要求に対する応答の形式を図10に示します。
HTTP応答と同様に、コマンド識別子はdataの3番目のバイトになります。
ICMPの応答で7回連続して内容が空であったり、形式が一定ではない場合、バックドアとC&Cサーバー間の転送が終了したとみなされます。
実行したコマンドの結果をC&Cサーバーに送信する要求については、サーバーモードがポストモードに変更され、結果データの最終的な文字列(abcdefghijklmnop)がされます。
PowHeartBeatは、コマンドやプロセスの実行やファイル操作など、さまざまな機能を備えています。表2に、解析した各種の検体でサポートされていたすべてのコマンドを掲載します。
名前 | コマンド 識別子 | 説明 |
---|---|---|
Cmd | 0x02 | PowerShellコマンドを実行します。 |
Exe | 0x04 | processとしてコマンドを実行します。 |
FileUpload | 0x06 | 標的ユーザーのマシンにファイルをアップロードします。ファイルのコンテンツはgzipで圧縮されています。 |
FileDownLoad | 0x08 | 標的ユーザーのマシンからファイルをダウンロードし、ファイルパス、ファイルのサイズ、作成時間、アクセス時間、ファイルのコンテンツをC&Cサーバーに返します。 |
FileView | 0x0A | 特定のディレクトリのファイル情報を取得します。特に以下の情報を取得します。 ・ファイル名 ・ファイル属性 ・最終書き込み時刻 ・ファイルのコンテンツ |
FileDelete | 0x0C | ファイルを削除します。 |
FileRename | 0x0E | ファイル名を変更したり、ファイルを移動したりします。 |
ChangeDir | 0x10 | バックドアが現在あるディレクトリの場所を変更します。 |
Info | 0x12 | 指定された引数に従って、特定のカテゴリの情報を取得します。 • 「Basic information」:ClientId、Version、ホスト名、IPアドレス、explorer.exeのバージョンとサイズ情報、OS(アーキテクチャとマシンがサーバーかどうかを示すフラグ)、Interval、現在のディレクトリ、ドライブ情報(名前、タイプ、空き容量、合計サイズ)、現在時刻 • 「Time-Interval information」:Intervalと現在時刻 • 「Domain information」:暗号化された構成ファイルのコンテンツ |
Config | 0x14 | 構成ファイルのコンテンツを更新し、構成を再ロードします。 |
N/A | 0x63 | バックドアを終了します。 |
バックドア側でエラーが発生した場合、バックドアはC&CサーバーへのPOSTリクエストに特定のコマンド識別子0x00Xを使用して、エラーが発生したことを示します。
C&Cサーバーに情報を送信する前に、データはgzipで圧縮されます。
PNGLoadは、Worokによって侵害されたシステムに展開される第2段階のペイロードで、ESETのテレメトリによれば、CLRLoadまたはPowHeartBeatによってロードされます。PowHeartBeatには、PNGLoadを直接ロードするコードは見当たりませんが、バックドアにはC&Cサーバーから追加のペイロードをダウンロードして実行する機能があります。攻撃者はこの方法で、PowHeartBeatを使用して感染したシステム上にPNGLoadを展開していると考えられます。PNGLoadは、PNGファイルに含まれるバイトを使用してペイロードを作成し、実行するローダーです。これは、.NET Reactorで難読化されている64ビットの.NET実行ファイルであり、正規のソフトウェアを装っています。たとえば、図11は、WinRAR DLLを装った検体のCLRヘッダーを示しています。
難読化が解除されると、1つのクラスが表示されます。このクラスには、図12に示すようにMainPath属性があります。この属性には、拡張子が.pngのファイルを、サブディレクトリを含めてバックドアが検索するディレクトリパスが含まれます。
MainPathを検索して見つかった各.pngファイルは、ステガノグラフィを使用して埋め込まれたコンテンツがあるかどうかがチェックされます。まず、各ピクセルのR(赤)、G(緑)、B(青)、A(アルファ)の値の最下位ビットを取り出し、バッファに組み入れます。そのバッファの最初の8バイトが図13に示すマジックナンバーと一致し、次の8バイトの値(control)がnullでなければ、PNGLoadのステガノグラフィのコンテンツチェックにそのファイルはパスします。このチェックをパスしたファイルに対しては処理が続行され、PNGLoadのSecretKeyBytes属性に格納されているキーを使用して、バッファの残りをマルチバイトXORで復号化した後、復号化したバッファをgzipで圧縮します。これにより、PowerShellスクリプトが生成され、直ちに実行されます。
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までご連絡ください。
SHA-1 | ファイル名 | ESETの検出名 | 説明 |
---|---|---|---|
3A47185D0735CDECF4C7C2299EB18401BFB328D5 | script | PowerShell/PowHeartBeat.B | PowHeartBeat 2.4.3.0003。 |
27ABB54A858AD1C1FF2863913BDA698D184E180D | script | PowerShell/PowHeartBeat.A | PowHeartBeat 2.4.3.0003。 |
678A131A9E932B9436241402D9727AA7D06A87E3 | script | PowerShell/PowHeartBeat.B | PowHeartBeat 2.4.3.0003。 |
757ABA12D04FD1167528FDD107A441D11CD8C427 | script | PowerShell/PowHeartBeat.B | PowHeartBeat 2.1.3.0003。 |
54700A48D934676FC698675B4CA5F712C0373188 | script | PowerShell/PowHeartBeat.A | PowHeartBeat 1.1.3.0002。 |
C2F53C138CB1B87D8FC9253A7088DB30B25389AF | script | PowerShell/PowHeartBeat.A | PowHeartBeat 1.1.3.0002。 |
C2F1954DE11F72A46A4E823DE767210A3743B205 | tmp.ps1 | PowerShell/PowHeartBeat.B | PowHeartBeat 2.4.3.0004。 |
CE430A27DF87A6952D732B4562A7C23BEF4602D1 | tmp.ps1 | PowerShell/PowHeartBeat.A | PowHeartBeat 2.1.3.0004。 |
EDE5AB2B94BA85F28D5EE22656958E4ECD77B6FF | script | PowerShell/PowHeartBeat.A | PowHeartBeat 2.4.3.0003。 |
4721EEBA13535D1EE98654EFCE6B43B778F13126 | vix64.dll | MSIL/PNGLoader.A | PNGLoader。 |
728A6CB7A150141B4250659CF853F39BFDB7A46C | RarExtMgt.dll | MSIL/PNGLoader.A | PNGLoader。 |
864E55749D28036704B6EA66555A86527E02AF4A | Jsprofile.dll | MSIL/PNGLoader.A | PNGLoader。 |
8DA6387F30C584B5FD3694A99EC066784209CA4C | vssxml.dll | MSIL/PNGLoader.A | PNGLoader。 |
AA60FB4293530FBFF00D200C0D44EEB1A17B1C76 | xsec_1_5.dll | MSIL/PNGLoader.A | PNGLoader。 |
B2EAEC695DD8BB518C7E24C4F37A08344D6975BE | msvbvm80.dll | MSIL/PNGLoader.A | PNGLoader。 |
CDB6B1CAFEE098615508F107814179DEAED1EBCF | lucenelib.dll | MSIL/PNGLoader.A | PNGLoader。 |
4F9A43E6CF37FF20AE96E564C93898FDA6787F7D | vsstrace.dll | Win64/CLRLoad.C | CLRLoad。 |
F181E87B0CD6AA4575FD51B9F868CA7B27240610 | ncrypt.dll | Win32/CLRLoad.A | CLRLoad。 |
4CCF0386BDE80C339EFE0CC734CB497E0B08049C | ncrypt.dll | Win32/CLRLoad.A | CLRLoad。 |
5CFC0D776AF023DCFE8EDED5CADA03C6D7F9C244 | wlbsctrl.dll | Win64/CLRLoad.E | CLRLoad。 |
05F19EBF6D46576144276090CC113C6AB8CCEC08 | wlbsctrl.dll | Win32/CLRLoad.A | CLRLoad。 |
A5D548543D3C3037DA67DC0DA47214B2C2B15864 | secur32.dll | Win64/CLRLoad.H | CLRLoad。 |
CBF42DCAF579AF7E6055237E524C0F30507090F3 | dbghelp.dll | Win64/CLRLoad.C | CLRLoad。 |
PNGLoadの検体でESETが確認したMainPath、LogFilePath、IfLogFilePathの 値の一部を以下に示します。
MainPath | LogFilePath | IfLogFilePath |
---|---|---|
C:\Program Files\VMware\VMware Tools\ | C:\Program Files\VMware\VMware Tools\VMware VGAuth\readme.txt | C:\Program Files\VMware\VMware Tools\VMware VGAuth\VMWSU_V1_1.dll |
C:\Program Files\WinRar\ | C:\Program Files\WinRar\rarinstall.log | C:\Program Files\WinRar\des.dat |
C:\Program Files\UltraViewer\ | C:\Program Files\UltraViewer\CopyRights.dat | C:\Program Files\UltraViewer\uvcr.dll |
ドメイン | IP |
---|---|
なし | 118.193.78[.]22 |
なし | 118.193.78[.]57 |
airplane.travel-commercials[.]agency | 5.183.101[.]9 |
central.suhypercloud[.]org | 45.77.36[.]243 |
CLRLoadの検体でESETが確認したミューテックスの名前を以下に記載します。
aB82UduGX0EX
ad8TbUIZl5Ga
Mr2PJVxbIBD4
oERiQtKLgPgK
U37uxsCsA4Xm
Wo0r0KGWhYGO
xBUjQR2vxYTz
zYCLBWekRX3t
3c3401ad-e77d-4142-8db5-8eb5483d7e41
9xvzMsaWqxMy
この表は、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 | コマンドおよびスクリプトインタプリタ:PowerShell | PowHeartBeatはPowerShellで記述されています。 |
常駐化 | T1505.003 | サーバーソフトウェアコンポーネント:Webシェル | WorokはWebシェルのReGeorgを使用します。 |
防衛機能の回避 | T1140 | ファイルや情報の難読化解除と復号化 | Worokは、PowHeartBeat、PNGLoad、CLRLoadの文字列とログを暗号化するために、さまざまなXORベースの独自スキームを使用します。 |
T1036.005 | なりすまし:正規のモジュールの名前や場所を模倣する | PNGLoadの検体は、正規のように見えるVMwareディレクトリに配置されます。 | |
認証情報へのアクセス | T1003.001 | OS認証情報のダンプ:LSASSメモリ | WorokはMimikatzを使用してLSASSメモリから認証情報をダンプします。 |
検出 | T1082 | システム情報の検出 | PowHeartBeatは、OS情報を収集します。 |
T1083 | ファイルおよびディレクトリの検出 | PowHeartBeatは、ファイルやディレクトリの一覧を表示できます。 | |
T1046 | ネットワークサービスの検出 | WorokはNbtScanを使用して、セキュリティを侵害したマシンのネットワーク情報を取得します。 | |
T1124 | システム時間の検出 | PowHeartBeatは、標的ユーザー環境の時間情報を収集します。 | |
収集 | T1005https://attack.mitre.org/versions/v9/techniques/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エンコードアルゴリズムを採用しています。 | |
情報の外部への送信 | T1041 | C2チャネルからの送信 | PowHeartBeatは、C&Cサーバーとの通信パスを利用して情報を流出させます。 |