SOC Prime Bias:

25 11月 2025 17:59

Clickfix on macOS: AppleScript マルウェアキャンペーン、ターミナルプロンプトを利用してデータを盗む

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Clickfix on macOS: AppleScript マルウェアキャンペーン、ターミナルプロンプトを利用してデータを盗む
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

概要

このAppleScriptマルウェアキャンペーンは、ClickFixテクニックを介してmacOSユーザーをターゲットにしています。ユーザーを説得して、base64でデコードされたシェルコマンドをターミナルで手動実行させます。これらのコマンドは、ブラウザデータ、暗号通貨ウォレット、ローカルドキュメント、その他の機密情報を収集し、それを攻撃者が管理するサーバーに送信するAppleScriptスティーラーを取得します。従来型のバイナリはディスクに書き込まれないため、この活動はクラシックなAVでは特定が難しくなっています。このオペレーションは、複数の欺瞞的なドメインと、コマンド&コントロールトラフィックのための異常なサービスポートに依存しています。

AppleScriptキャンペーン分析

研究者たちは、フィッシングサイト、ペイロードの配信を担当するJavaScript、収集と送信に使用されるAppleScriptを調査しました。インフラストラクチャーマッピングにより、以下のようなドメインが発見されました。 cryptoinfo-news.com and odyssey1.to、およびポート22、80、3333、5201にサービスが露出します。AppleScriptペイロードは、盗まれたデータをZIPファイルにパッケージ化し、 /tmp/out.zip でリモートエンドポイントにcurlを使用してアップロードします。

緩和策

防御者は、特定された悪意のあるドメインをブロックし、異常なポートへの発信接続を制限する必要があります。macOSホストを強化するために、AppleScriptとシェルの使用を制限し、 base64-d | bash の実行パターンを監視し、ウェブ環境で厳格なCORSコントロールを適用しましょう。セキュリティ意識トレーニングでは、ユーザーにコピーペーストし、ターミナルコマンドを実行するよう指示するフィッシングページを強調しましょう。

対応策

これらのインジケーターパターンが検出された場合、SOCに通知し、影響を受けたシステムを隔離し、一時的なアーティファクトとシェル履歴をキャプチャします。/tmpディレクトリを法医学的にレビューし、疑わしいZIPアーカイブを隔離し、キャンペーンで特定された既知のC2サーバーとポートに関連する発信トラフィックを関連付けます。 /tmp directory, quarantine any suspicious ZIP archives, and correlate outbound traffic with the known C2 servers and ports identified in the campaign.

graph TB %% Class definitions classDef technique fill:#e0f7fa %% Node definitions initial_access[“<b>初期アクセス</b> – <b>T1659 コンテンツ注入</b>: 被害者は、悪意のあるコマンドを注入するフィッシングページをロードします。”] class initial_access technique execution_copy_paste[“<b>実行</b> – <b>T1204.004 ユーザーの実行: 悪意のあるコピーアンドペースト</b>: ユーザーはbase64コマンドをコピーしてターミナルで実行します。”] class execution_copy_paste technique execution_proxy[“<b>実行</b> – <b>T1127 信頼された開発者ユーティリティプロキシ実行</b>: ネイティブのmacOSユーティリティを介してAppleScriptをデコードおよび実行します。”] class execution_proxy technique execution_xpc[“<b>実行</b> – <b>T1559.003 プロセス間通信: XPCサービス</b>: AppleScriptは内部呼び出しにXPCを活用します。”] class execution_xpc technique collection_browser_disc[“<b>収集</b> – <b>T1217 ブラウザ情報の発見</b>: AppleScriptはFirefoxおよびChromiumプロファイルを列挙します。”] class collection_browser_disc technique collection_creds[“<b>収集</b> – <b>T1555.003 パスワードストアからの資格情報: ウェブブラウザ</b>: クッキー、保存された資格情報、および暗号ウォレットデータを盗みます。”] class collection_creds technique archive[“<b>収集</b> – <b>T1560.001 ユーティリティを介したアーカイブ</b>: dittoを使用してファイルをZIPにパッケージ化します。”] class archive technique exfiltration[“<b>情報漏洩</b> – <b>T1020 自動情報漏洩</b>: curlを介して攻撃者が管理するサーバーにZIPをアップロードします。”] class exfiltration technique c2_web[“<b>コマンド&コントロール</b> – <b>T1102 ウェブサービス</b>: 許容的なCORSでC2とHTTP通信を行います。”] class c2_web technique c2_ssh[“<b>コマンド&コントロール</b> – <b>T1021.004 リモートサービス: SSH</b>: 攻撃者はSSHアクセスを維持してさらなる制御を行います。”] class c2_ssh technique defense_compress[“<b>防御回避</b> – <b>T1027.015 圧縮</b>: ペイロードデータを隠蔽するために圧縮を使用します。”] class defense_compress technique defense_file_delete[“<b>防御回避</b> – <b>T1070.004 ファイル削除</b>: 一時ディレクトリとアーカイブを削除します。”] class defense_file_delete technique credential_cookie[“<b>資格情報アクセス</b> – <b>T1539 ウェブセッションクッキーを盗む</b>: 盗まれたクッキーを使用してセッションを乗っ取ります。”] class credential_cookie technique %% Connections initial_access u002du002d>|leads to| execution_copy_paste execution_copy_paste u002du002d>|leads to| execution_proxy execution_proxy u002du002d>|uses| execution_xpc execution_proxy u002du002d>|collects| collection_browser_disc collection_browser_disc u002du002d>|collects| collection_creds collection_creds u002du002d>|archives| archive archive u002du002d>|exfiltrates| exfiltration exfiltration u002du002d>|uses| c2_web c2_web u002du002d>|fallback| c2_ssh exfiltration u002du002d>|covers tracks| defense_compress exfiltration u002du002d>|covers tracks| defense_file_delete collection_creds u002du002d>|enables| credential_cookie

攻撃の流れ

シミュレーション実行

前提条件: テレメトリーとベースラインの事前チェックが合格している必要があります。

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

  • 攻撃のナラティブとコマンド:

    1. 攻撃者は単一行のフィッシングメールを送信します:

      echo "cHJpbnQoJ0NhdXNlJykK" | base64 -d | bash

      (ペイロードはデコードされてprint('Cause') – 任意の悪意のあるBashスクリプトのプレースホルダーとなります。)

    2. 無防備なユーザーがその行をコピーし、ターミナルに貼り付けます。

    3. macOSはbashプロセスを生成し、そのコマンドラインは正確にパターンに一致していますbase64 -d | bash、Sigmaルールの選択.

    4. Bashインタープリターがデコードされたペイロードを実行し、悪意のあるアクションを完了します(例:リバースシェルの確立、追加ツールのダウンロード)。

  • 回帰テストスクリプト:クリーンアップコマンド:

    クリーンアップコマンド:
  • Cleanup Commands:ペイロードにより作成された可能性のある一時ファイルやバックグラウンドプロセスを削除します(必要に応じてペイロード固有のクリーンアップで置き換え)。

    #!/bin/bash
    # Simple cleanup – ensure no stray Bash child processes remain
    pkill -f "base64 -d | bash" 2>/dev/null
    # If the payload created files, delete them (example placeholder)
    rm -f /tmp/malicious_script.sh 2>/dev/null