APT10:A41APTの活動内で発見された高度なマルチレイヤー型ローダー「Ecipekac」

日本企業を狙う標的型攻撃「A41APT」。その攻撃活動で使用された高度なマルウェアEcipekac(DESLoader)の技術的詳細と、APT10との関連について。

この攻撃活動が「A41APT」と名付けられた理由

2019年、私たちは日系の製造関連企業とその海外拠点を含む複数業種を標的とする、情報収集目的のAPT活動を観測しました。私たちはこの攻撃活動を「A41APT」と名付けましたが、これは攻撃者がシステムへの初期侵入に使用していたホスト名「DESKTOP-A41UVJV」が由来です。攻撃者は、Pulse Connect Secureの脆弱性(詳細はJPCERT/CCの記事を参照)の利用または過去の活動で盗み出した認証情報の使用を通じてVPNセッションを乗っ取り、初期侵入を果たしていました。

DESKTOP-A41UVJVからのVPNセッション乗っ取りのログ

DESKTOP-A41UVJVからのVPNセッション乗っ取りのログ

A41APTの活動は2019年3月に検知され、2020年12月末まで継続していました。発見されたマルウェアファミリーのほとんどはファイルレス型マルウェアで、過去に見つかったことのないものでした。そのうちの一つがEcipekac(別名:DESLoader、SigLoader、HEAVYHAND)です。このマルウェアは非常に高度なマルチレイヤーのローダーモジュールで、SodaMaster(別名:DelfsCake、dfls、DARKTOWN)、P8RAT(別名:GreetCake、HEAVYPOT)、QuasarRAT をロードするFYAnti(別名:FYAntiLoader 、DILLJUICE stage2)といったペイロードを送り込むのに使用されます。

2020年11月および12月、同活動に関するブログ記事がSymantec(英語)およびLACから公開されています。その1か月後、私たちは、変更され更新されたペイロードを用いるA41APTの新たな活動を発見しました。本記事では、この新たな活動について説明します。

2021年2月、Kasperskyのグローバル調査分析チーム(GReAT)のエキスパートを含む調査チームは、Kasperskyのオンラインイベント『GReAT Ideas Green Tea Edition』にて、A41APTの活動に関する講演を行いました(英語録画英語資料)。Kaspersky APT Intelligence Reportingサービスをご利用のお客様は、より詳細なA41APT情報をご利用いただけます。

技術的分析: Ecipekac

私たち調査チームは、この攻撃者によってのみ使用されているマルチレイヤーのx64ローダーを発見し、このローダーの第2レイヤーに見られる特徴的な文字列にちなんで「Ecipekac」と名付けました。この文字列は、逆から読むと「Cake piece」となります(スペルミスでeが欠けている)。

ハードコードされた固有の文字列「ecipekac」

ハードコードされた固有の文字列「ecipekac」

Ecipekacは、新しい複雑なロード手法を使用します。以下の図に示すように、4つのファイルを使用して4つのファイルレスローダーモジュールを1つずつロードして復号し、最終的なペイロードをメモリ内にロードします。

Ecipekacの感染の流れ

Ecipekacの感染の流れ

使用されるファイルは以下のとおりです。

ファイル名 MD5 説明
policytool.exe 7e2b9e1f651fa5454d45b974d00512fb DLL Side-Loading用の正規の実行ファイル
jli.dll be53764063bb1d054d78f2bf08fb90f3 Ecipekac Layer Iローダー
vac.dll f60f7a1736840a6149d478b23611d561 暗号化されたEcipekac Layer IIローダー (シェルコード)
pcasvc.dll 59747955a8874ff74ce415e56d8beb9c 暗号化されたEcipekac Layer IVローダー(シェルコード)

Ecipekac Layer IIIローダーモジュールは、暗号化されたLayer IIローダーに埋め込まれています。

Ecipekac:Layer Iローダー

Ecipekac第1レイヤーの感染フロー

Ecipekac第1レイヤーの感染フロー

Ecipekac Layer Iローダーは、通常IBM Development Package for Eclipseに同梱されている正規アプリケーションであるpolicytool.exeを悪用し、DLL Side-Loadingによって悪意あるDLL「jli.dll」をカレントディレクトリーにロードします。jli.dllはEcipekacの第1レイヤーとして機能します。このファイル内には多数のエクスポート関数がありますが、どれもメインのロード機能を実行する類似の関数を参照しています。このローダーは別のDLLである「vac.dll」の終端から0x40408バイトのデータを読み取ります(このデータセクションは0x66240のオフセットから始まっている)。0x40408のデータサイズはハードコードされた値「0x40405」から取り出され、8で割り切れるまで増やされていきます。

MD5 f60f7a1736840a6149d478b23611d561
SHA1 5eb69114b2405a6ea0780b627cd68b86954a596b
SHA256 3b8ce709fc2cee5e7c037a242ac8c84e2e00bd597711093d7c0e85ec68e14a4c
リンク時 2033-11-13 08:50:03
ファイルタイプ PE32+ executable (DLL) (GUI) x86-64, for MS Windows
コンパイラー Linker Version: 14.13, OS Version: 10.0
ファイルサイズ 681544 (666KB)
ファイル名 vac.dll
0x66240に埋め込まれたデータ(サイズ:0x40405) 00066240: febe d990 66de 1bc9 75b7 dc2c 3e1f 3ef2
00066250: 78d0 0005 5c27 a511 c122 bdf4 15e7 052c
00066260: af72 7e08 064c f7b9 70f0 57bf 250a 3b4d
[..skipped..]
000a6630: ee4b b1f2 294d eea1 290e aba2 6954 130f
000a6640: 1267 9ab3 f800 0000

DLLファイル「vac.dll」は、有効な正規のデジタル証明書が付いていますが、内容が改竄されています。デジタル署名が有効であることから、一見すると、デジタル署名されて以降ファイルには手を加えられていないように見えます。

vac.dllの署名済みデジタル証明書

vac.dllの署名済みデジタル証明書

しかし実際どうなっているかというと、攻撃者は、デジタル署名には影響しないようにするため、デジタル署名されたvac.dllのCertificate Tableのサイズを変更して自分たちのデータを挿入しています。この手法は、BlackHat 2016にてMS13-098の脆弱性として発表されています(英語レポート)。

Layer Iローダーは、vac.dll 内の埋め込みデータからLayer IIローダーのシェルコードを復号します。暗号アルゴリズムはXOR、AES、DESと複数が使用されています。アルゴリズムの順序と組み合わせ、および復号鍵は、検体ごとに異なります。

第1のローダーでの復号フロー

第1のローダーでの復号フロー

例えば上記検体の場合、暗号アルゴリズムの順序は、ハードコードされた鍵「0x9F」を使用する1バイト XOR、次にAES鍵「83H4uREKfFClDH8ziYTH8xsBYa32p3wl」を使用したCBCモードの復号、そしてIV鍵「83H4uREKfFClDH8z」の順でした。

Ecipekacで一つ興味深いのは、攻撃者がこれら暗号アルゴリズムを、Windows APIを使う代わりに自前のコード内に実装していることです。攻撃者はまた、元の実装に微少な変更を加えています。例えばAESアルゴリズム関連の関数内で、AES鍵の3番目のバイトを意図的に参照しています。

AES関数での微細な変更

AES関数での微細な変更

このAESアルゴリズムだけでなく、DESアルゴリズムにも変更が加えられています。

Ecipekac:Layer IIローダー(シェルコード)

Ecipekacを使用した感染フローの第2レイヤー

Ecipekacを使用した感染フローの第2レイヤー

Ecipekac Layer IIローダーはシンプルなシェルコードで、次のレイヤーのDLLのデータが不規則に含まれています。このシェルコードはまず、このデータセット内で「ecipekac」というマジックストリングを確認します。次に、埋め込みデータの各部分を復元し、割り当てられたメモリ内に正しい順序でロードして、元のDLLのコードを作成します。

分割されたPE BLOBのメモリ内での復元

分割されたPE BLOBのメモリ内での復元

ローダーはその後、ロードされたDLL(Ecipekacの第3レイヤー)のエントリーポイントを呼び出します。調査によると、このモジュールで使用されるマジックストリングは必ずしも「ecipekac」ではなく、代わりに「9F 8F 7F 6F」や「BF AF BF AF」が使用される検体もいくつか確認しています。

Ecipekac:Layer IIIローダーDLL

Ecipekacを使用した感染フロー、第3レイヤー

Ecipekacを使用した感染フロー、第3レイヤー

第3レイヤーでは、第1レイヤーと似た方法で次レイヤーがロードされます。Layer IIIローダーは、「vac.dll」の場合と同様に、デジタル証明書で署名された「pcasvc.dll」の終端から暗号化されたデータを読み取ります。

MD5 59747955a8874ff74ce415e56d8beb9c
SHA1 0543bfebff937039e304146c23bbde7693a67f4e
SHA256 a04849da674bc8153348301d2ff1103a7537ed2ee55a1588350ededa43ff09f6
リンク時 2017-02-24 15:47:04
ファイルタイプ PE32+ executable (DLL) (console) x86-64, for MS Windows
コンパイラー Linker Version: 14.13, OS Version: 10.0
ファイルサイズ 733232 (717KB)
ファイル名 pcasvc.dll
0x87408に埋め込まれたデータ(サイズ:0x2BC28 00087408: 98e4 1def 8519 d194 3c70 4e84 458a e34c
00087418: b145 74da c353 8cf8 1d70 d024 8a54 8bde
[..skipped..]
000b3010: 2c1b 6736 8935 d55d 8090 0829 5dfc 7352
000b3020: 44bd c35b 9b23 1cb6 0000 0000 0000 0000

ここで使用される暗号アルゴリズムも1バイト XORとAES CBCモードですが、今回は「pcasvc.dll」の埋め込みデータから第4のローダーが復号されます。ただし、アルゴリズムの順序は第1レイヤーと逆です。ハードコードされた鍵も異なります。XOR鍵として「0x5E」、AES鍵として「K4jcj02QSLWp8lK9gMK9h7W0L9iB2eEW」、IVとして「K4jcj02QSLWp8lK9」が使用されます。

Ecipekac:Layer IVローダー(シェルコード)

Ecipekacを使用した感染フローの第4レイヤー

Ecipekacを使用した感染フローの第4レイヤー

調査の中で、Ecipekacの第4レイヤーとして使用されるシェルコードが3種類見つかりました。

Layer IVローダー(シェルコード)―第1タイプ

第1タイプのシェルコードのプロシージャーはEcipekac Layer IIシェルコードと同様に機能しますが、唯一異なるのは、埋め込まれたPEが、この場合はEcipekacの最終ペイロードであるという点です。第1タイプのシェルコードのペイロードは「P8RAT」または「FYAnti」です。これらペイロードについては後述します。

Layer IVローダー(シェルコード)―第2タイプ

第2のタイプは、その他タイプとはまったく異なります。このシェルコードは、以下に示すような独特のデータ構造をしています。

オフセット データ例 説明
0x000 90 90 90 90 90 90 90 90 データ処理へ進む前に確認するマジックナンバー
0x008 0x11600 暗号化されたデータのサイズ
0x00C A9 5B 7B 84 9C CB CF E8
B6 79 F1 9F 05 B6 2B FE
16バイトのRC4鍵
0x01C C7 36 7E 93 D3 07 1E 86 23 75 10 49 C8 AD 01 9F 6E D0 9F 06 85 97 B2
[skipped]
RC4で暗号化されたペイロード(SodaMaster)

このシェルコードは、データ構造の冒頭に「90 90 90 90 90 90 90 90」というマジックナンバーが存在するかどうかを確認し、その後にオフセット0x01Cにあるペイロードを16バイトのRC4鍵「A9 5B 7B 84 9C CB CF E8 B6 79 F1 9F 05 B6 2B FE」を使って復号します。復号されたペイロードは「SodaMaster」です。SodaMasterについては後述します。

Layer IVローダー(シェルコード)―第3タイプ

最後のタイプのシェルコードは、Cobalt Strikeステージャーです。2019年10月以来、複数の異なるCobalt Strikeステージャーの使用を確認しています。これに加え、観測されたCobalt Strikeステージャー検体の一部は、C2との通信のHTTPヘッダーに一般的なjQueryリクエストに見せかけるような設定をすることで、セキュリティ製品による検知を回避しようとしています。

jQueryのリクエストに見せかけるための、ハードコードされたHTTPヘッダー

jQueryのリクエストに見せかけるための、ハードコードされたHTTPヘッダー

JQuery リクエストを模倣したC2との通信に使用される本当の通信先は検体内にハードコードされており、それぞれC2は「51.89.88[.]126」、ポートは443です。

Ecipekacのペイロード

Ecipekacを使用した感染フローのペイロード

Ecipekacを使用した感染フローのペイロード

前述のとおり、Cobalt Strikeステージャーを別にすると、この長期にわたる攻撃活動を通じてEcipekacによって埋め込まれた最終ペイロードは、以下の3種類です。

  • P8RAT
  • SodaMaster
  • QuasarRAT用のFYAnti

以下は、Ecipekac検体のタイムラインを示したものです。第1レイヤーのDLLのコンパイル時に基づいており、対応するファイル名およびペイロードの種類を併記しています。

Ecipekacのファイルとペイロードのタイムライン

Ecipekacのファイルとペイロードのタイムライン

Cobalt Strikeステージャーは、調査期間を通じて使用されていました。QuasarRAT向け FYAntiLoaderは2019年10月に観測されましたが、それ以降は観測されず、代わりにSodaMasterとP8RATが2020年5月から観測されています。

P8RAT

Ecipekacのペイロードの一つは新しいファイルレス型マルウェアで、私たちは「P8RAT」(別名:GreetCake)と名付けました。P8RATは、C2通信の構成データを格納するのに使用される、以下のような独自のデータ構造を持っています。調査では複数のP8RAT検体を収集しましたが、2回以上使用されたC2アドレスはありませんでした。収集した検体からは、合計で10のバックドアコマンドが見つかっています。最も新しいP8RAT検体(コンパイル日のタイムスタンプが2020年12月4日)では、コード番号「309」の新たなバックドアコマンドが見つかりました。それより前の検体で見られた、同様の機能を持つコマンド「304」は削除されていました。

 

コマンド 説明 P8RATのコンパイル時
2020-03-30 2020-08-26 2020-12-14
300 ソケットを閉じる 有効 有効 有効
301 ダウンロードしたPEファイルを実行/ロードするためのスレッドを作成 有効 有効 有効
302 関数なし 有効 削除 削除
303 無作為に生成したデータを送信 有効 有効 有効
304 ダウンロードしたPE/シェルコードを実行/ロード 有効 削除 削除
305 「Set Online Time」の値を設定(この文字列は2020-03-30 にコンパイルされたバージョンのP8RAT にハードコードされており、2020-08-26 にコンパイルされたバージョンでは削除されている) 有効 有効 有効
306 「Set Reconnect TimeOut」の値を設定(この文字列は2020-03-30 にコンパイルされたバージョンのP8RAT にハードコードされており、2020-08-26 にコンパイルされたバージョンでは削除されている) 有効 有効 有効
307 「Set Reconnect times」の値を設定(この文字列は2020-03-30 にコンパイルされたバージョンのP8RAT にハードコードされており、2020-08-26 にコンパイルされたバージョンでは削除されている) 有効 有効 有効
308 「Set Sleep time」の値を設定(この文字列は2020-03-30 にコンパイルされたバージョンのP8RAT にハードコードされており、2020-08-26 にコンパイルされたバージョンでは削除されている) 有効 有効 有効
309 ダウンロードしたシェルコードを実行するためのスレッドを作成。2020-12-14にコンパイルされたバージョンのP8RAT に実装されていた 実装なし 実装なし 有効

P8RATの主な目的は、C2からペイロード(PEとシェルコードで構成される)をダウンロードして実行することです。しかし、このマルウェアがダウンロードするペイロードの検体を入手することはできませんでした。

2020年3月のP8RAT検体には「Set Online Time」「Set Reconnect TimeOut」「Set Reconnect Times」「Set Sleep Time」の文字列がハードコードされており、305〜308のバックドアコマンドに関連して使用されていました。ここから、これらコマンドの意図が読み取れます。これらの文字列は2020年8月の検体では削除されていますが、バックドアコマンドを通じてスリープ時間、再接続の時間、再接続のタイムアウトを定義することでC2との通信間隔をコントロールし、C2との通信をシステムの通常のネットワークトラフィックに紛れ込ませるために使われた可能性があると推測されます。

ほかにも変更点があります。2020年8月のP8RAT検体は、活動の最初の段階で、感染先システムにVMwareまたはVirtualBoxの環境があるかどうかを確認するため、2つのプロセス名(VBoxService.exeおよびvmtoolsd.exe)を探します。

VMwareおよびVirtualBoxを検知するための、ハードコードされたファイル名

VMwareおよびVirtualBoxを検知するための、ハードコードされたファイル名

興味深いことに、攻撃者たちは2020年12月、P8RATにいくつか変更を加えています。これは、2020年11月17日にSymantec、2020年12月1日にLACがそれぞれブログを公開した少し後のことでした。攻撃者たちがこれらベンダーの発表物を注意深く調べ、その上でP8RATに変更を加えたものと考えられます。

SodaMaster

Ecipekacのまた別のペイロードである「SodaMaster」(別名:DelfsCake)は、同じく新種のファイルレス型マルウェアです。調査の中では10検体以上が見つかり、すべての検体はほぼ同一でした。異なるのは、ハードコードされたC2、エンコードされたRSA鍵、ミューテックス値算出用の追加データを含む、構成データのみでした。

SodaMasterの構成データ

SodaMasterの構成データ

このマルウェアは、実行を開始すると、エンコードされたRSA鍵とそれに続く追加データからCRC32チェックサムを算出し、これを逆順にして、ミューテックスを作成します。続いて、C2との通信に使うRC4鍵として、無作為な値を生成します。C2サーバーへ送信される最初のデータブロックには、ユーザー名、ホスト名、マルウェアモジュールのPID、OSバージョン、ソケット名、生成されたRC4鍵、マルウェア実行の経過時間が含まれます。

SodaMasterのC2通信

SodaMasterのC2通信

最近のSodaMaster検体内には「d」「f」「l」「s」の4つのバックドアコマンドが確認されました。これに加え、2つのコマンドしかない古いSodaMaster検体も1つ発見しています。各コマンドの詳細は以下のとおりです。

コマンド 説明 SodaMasterのコンパイル時
2019-01-07 2019-06-10
d ダウンロードしたDLLを起動し、DLLのエクスポート関数を呼び出すスレッドを作成 有効 有効
f 暗号化されたC2通信用のRC4鍵として値を設定 実装なし 有効
l スリープ時間として値を設定 実装なし 有効
s ダウンロードしたシェルコードを実行するスレッドを作成 有効 有効

SodaMasterモジュールのバックドア機能を解析したところ、このマルウェアもP8RATのように、ペイロード(DLLまたはシェルコード)をダウンロードして実行することを目的としています。残念ながら、そのようなペイロードは現在のところ入手できていません。

SodaMasterモジュールは、VM機能に対抗する動きも見せています。このマルウェアは感染先のシステムで「HKEY_CLASSES_ROOT\\Applications\\VMwareHostOpen.exe」というレジストリキーの存在を探してから、メイン機能の実行に進みます。このレジストリキーは、VMware環境に特有のものです。

SodaMasteによるVMチェック

SodaMasteによるVMチェック

SodaMasterにはそのほか、「stackstrings」として知られる一般的な難読化テクニックを使用して、2バイト文字でレジストリキーを作成するという特徴があります。私たち調査チームは、別のSodaMaster検体のプロセス名およびDLL名で同じ難読化テクニックが使用されているのを確認しています。

QuasarRAT用FYAnti

Ecipekacが送り込むペイロードのうち、最後に観測されたのはFYAntiです。このDLLはEcipekacの第4レイヤーでメモリ内にロードされ、「F**kY**Anti」という名前のエクスポート関数を呼び出します。この特徴的な文字列から、このローダーを「FYAnti」と名付けました。FYAntiの実行フローには、最終段階のペイロードであるQuasarRAT(別名:xRAT)を埋め込むための2レイヤーがあります。

FYAntiの感染フロー

FYAntiの感染フロー

FYAntiの第1レイヤーは、埋め込まれた.NETモジュールを復号し、CppHostCLRを使ってこれを実行します。.NETモジュールはConfuserEx v1.0.0を使用してパックされており、C:\Windows\Microsoft.NET\ディレクトリー内でサイズが100,000〜500,000の条件に合致したファイルを探索し、読み込みます。解凍されたコードは、以下の図のとおりです。

アンパック後、条件に合致するファイルを探索するコード部分

アンパック後、条件に合致するファイルを探索するコード部分

この例では、「web_lowtrust.config.uninnstall」という名前の暗号化されたファイルが見つかり、次段階のモジュールとして使用されています。.NETモジュールはこのファイルをロードし、AES CBCモードで復号します。復号されたペイロードは「Client.exe」という名前の.NETモジュールですが、これは、よく知られたオープンソースのリモート管理ツールであるQuasarRATです。この構成データはバイナリに格納されていますが、ほとんどの部分がAES CBCモードとbase64で暗号化されています。AES鍵は、構成データ内にハードコードされた「KCYcz6PCYZ2VSiFyu2GU」という文字列を使用して生成されます。

QuasarRATのマルウェア構成

QuasarRATのマルウェア構成

ローダーモジュールおよびペイロードはすべて、メモリ内でしか復号および実行されません。

アトリビューション

調査結果に基づき、私たちはA41APTの活動の背後にAPT10が存在することにはかなりの確度があると考えています。裏付けとなるのは以下のポイントです。

第1に、x86 SodaMaster検体にハードコードされた「www.rare-coisns[.]com」というURLが、ADEO IT Consulting Servicesによるレポート(英語)の中で言及されています。同レポートは、トルコの金融および電気通信セクターを標的とするAPT10の活動に関するもので、VirusTotalへの提出があった地理位置情報とも一致します。

第2に、A41APTの攻撃活動とAPT10の活動との類似性は、Cylanceのブログ記事(英語)で説明されています。記事中ではEcipekac、FYAntiのユニークなエクスポート名である「F**kY**Anti」、CppHostCLRの使用、FYAntiの最終ペイロードとしてのQuasarRATについて触れられています。それだけでなく、Symantecのブログ記事(英語)にて言及されているFYAnti、「F**kY**Anti」というエクスポート名、.NETローダーの注入に使用されるCppHostCLR、QuasarRATも、BlackBerry Cylance Threat Research Teamによって発見されたAPT10グループの活動と類似しています。

このほか、私たちが過去に作成したAPT10 の活動に関するThreat Intelligence Portalレポートには、複数の類似性と共通のTTPが見られます。

  • Windows APIを使用するのではなく、マルウェア開発者による手動でのハッシュまたは暗号アルゴリズムを実装。
  • 計算されたハッシュ値およびその一部を暗号鍵、暗号鍵の一部、鍵の生成、ミューテックスなどで使用する。
  • ペイロードをメモリ内で実行するため、DLL Side-Loadingを使用する。
  • 永続化および横展開のため、PowerShellスクリプトを使用する。
  • 活動隠蔽目的でログを削除するため、wevtutil.exeを使用する。
  • 感染先マシンのユーザー名、ホスト名、PID、現在時刻その他のデータを送信する。ただしこれはAPT10のバックドアに特徴的なものではなく、多くのバックドアファミリーにかなり共通したポイントである。
  • セキュリティリサーチャーによる攻撃活動およびTTPの分析が公開されてから間もなく、インプラントを改変する。
  • 主に日本の組織を標的としており、加えて、関連する海外拠点または日本に関連する組織も標的とする。

しかしながら、今回のA41APTの活動と過去に観測された活動の間には、興味深い相違点もいくつかあります。

  • APT10が使用していたマルウェア(LilimRAT、Lodeinfo、ANELなど)の場合とは異なり、P8RATおよびSodaMasterにはバージョン番号が含まれていない。
  • 感染経路については、APT10の攻撃ではかなり一般的だったスピアフィッシングメールが、A41APTの活動では見つけられていない。

全般的に見れば、APT10は複数の活動を同時進行させている大規模なAPTグループであると見なされており、TTPが活動ごとに異なるのも理解できます。ここで述べたTTPの相違点は、このように大きなAPTグループでは標準的な程度の相違を示しているものと考えられます。

結論

私たちは、A41APTの活動はAPT10の長期にわたる活動の一つであると考えます。この活動では、非常に高度なマルチレイヤー型マルウェア「Ecipekac」と、そのペイロードである独自のファイルレス型マルウェア(P8RATおよびSodaMaster)が取り入れられています。

私たちが見るに、Ecipekacの最も注目すべき側面は、多層にわたるレイヤーもそうですが、デジタル署名済みDLLの内部に、デジタル署名の有効性を損ねることなく、暗号化されたシェルコードが挿入されていたことです。このようなテクニックが使われていると、インプラントを検知できないセキュリティ製品も出てきます。P8RAT、SodaMasterといったバックドアの主機能から判断するに、これらはさらなるマルウェアをダウンロードする役割を担っていると思われますが、残念ながらここまでの調査では検体を入手できていません。

このレポートで概説したこの活動は、私たちが2019年にKaspersky Threat Intelligence Portalにてレポートした活動の延長線上にあると、私たちは見ています。その当時、攻撃者は日系企業とその海外拠点を標的とし、マルウェアANELを使用して攻撃を始めていました。A41APTの作戦行動とインプラントはステルス性が著しく高く、攻撃者の行動の追跡を困難にしています。その隠密性を主に担うのは、ファイルレス型のインプラント、難読化、アンチVM機能、アクティビティ痕跡の除去です。

APT10の行為者によるアクティビティは今後も密かに改良が続くと考えられ、私たちはこの先も継続的に調査・追跡を行います。

Appendix I – 脅威存在痕跡(IoC)

注:本セクションの情報は、記事掲載時点で有効であるものです。変更が生じた際には.iocファイルが直接更新されます。

ファイルのハッシュ値(悪意あるドキュメント、トロイの木馬、メール、デコイ)

Ecipekac

md5            ファイル名                 ペイロード
be53764063bb1d054d78f2bf08fb90f3       jli.dll            P8RAT
cca46fc64425364774e5d5db782ddf54      vmtools.dll                    SodaMaster
dd672da5d367fd291d936c8cc03b6467     CCFIPC64.DLL              FYAnti loader

Encrypted Ecipekac Layer II, IV ローダー(シェルコード)

md5            ファイル名                 ペイロードf60f7a1736840a6149d478b23611d561     vac.dll        P8RAT
59747955a8874ff74ce415e56d8beb9c      pcasvc.dll  P8RAT
4638220ec2c6bc1406b5725c2d35edc3          wiaky002_CNC1755D.dll              SodaMaster
d37964a9f7f56aad9433676a6df9bd19            c_apo_ipoib6x.dll      SodaMaster
335ce825da93ed3fdd4470634845dfea      msftedit.prf.cco          FYAnti loader
f4c4644e6d248399a12e2c75cf9e4bdf        msdtcuiu.adi.wdb      FYAnti loader

暗号化されたQuasarRAT

md5            ファイル名                 ペイロード
019619318e1e3a77f3071fb297b85cf3       web_lowtrust.config.uninstall   QuasarRAT

ドメインおよびIP

151.236.30[.]223
193.235.207[.]59
45.138.157[.]83
88.198.101[.]58
www.rare-coisns[.]com

Appendix II – MITRE ATT&CKマッピング

Securelistをご参照ください(英語)。

ヒント