PamStealer発見、macOS標的の新種情報窃取マルウェア
Jamfの研究者が新種のmacOSマルウェアPamStealerを発見。PAMによるパスワード検証、AppleScriptとJXAを使ったステルス実行、Rustベースの第2段階など、高度な隠蔽技術と検出回避手法を備える。
macOSを標的とした新種の情報窃取型マルウェア「PamStealer」が発見された。セキュリティ企業Jamfの研究チームが報告したもので、このマルウェアはPluggable Authentication Modules(PAM)インターフェースを悪用し、標的のログインパスワードを検証した上で攻撃者サーバーに送信する点が最大の特徴である。Mac向け情報窃取マルウェアの進化を示す典型例として、セキュリティ業界の注目を集めている。
配信の二段階構造
PamStealerは二段階の配信チェーンを持つ。第一段階は、Mac向けクリップボード管理アプリ「Maccy」を装ったディスクイメージとして配布される。このディスクイメージにはAppleScriptがコンパイルされて格納されており、ユーザーがMaccyのインストールを意図してファイルをダブルクリックすると、macOSのScript Editorが起動し、悪性コードが実行される。
通常、macOSでダウンロードされた実行ファイルにはcom.apple.quarantine属性が付与され、セキュリティ警告が表示される。しかしPamStealerは、ユーザーに対してダブルクリック直後にCommand+Rキーを押すよう促す。この操作により、AppleScript内の悪性コードが直接実行され、quarantine属性をバイパスする仕組みだ。Jamfの研究者は「このクリック可能な.scptファイルとScript Editorを利用した手法は、macOSの脅威環境で徐々に採用されつつある」と指摘する。
自己完結型JXAダウンローダー
PamStealerの第一段階が特異なのは、単なるシェルコマンドではなく、JavaScript for Automation(JXA)を用いた自己完結型のダウンローダーを内包している点だ。通常のmacOSマルウェアはcurlやzshなどのシェルコマンドを使って第二段階のペイロードを取得するが、PamStealerはネイティブのObjective-C APIを直接呼び出すJXAコードをAppleScript内に埋め込む。
Jamfの分析によれば、「AppleScriptは通常のスクリプトエディタで開かれた際、悪性機能がファイルの深い階層に隠蔽されている」という。この構造により、静的なシグネチャベースの検出を回避しやすくなる。研究者らは「シェルコマンドに頼らないJXAダウンローダーは、従来のmacOS窃取型マルウェアよりも静かな実行チェーンを実現している」と評価する。
Rustで実装された第二段階
第二段階のペイロードはRust言語で記述された情報窃取モジュールである。このモジュールは、システムプロセス「Finder」を装って動作し、コマンド&コントロール(C2)サーバーとの通信を暗号化する。さらに、Full Disk Accessの許可を要求するダイアログを表示するタイミングを最大40分遅延させる。これにより、ユーザーがマルウェアの発動タイミングとインストール行為を関連づけにくくする。
Rustの採用は、実行ファイルの小型化と難読化の両面で利点がある。メモリ安全性が高い反面、バイナリ解析が困難になるため、セキュリティソフトによる行動分析を回避しやすい。Jamfの報告では、「PamStealerの第二段階は、検出を減らすためにかなりの努力を払っている」とされる。
PAMによるパスワード検証
マルウェア名の由来となったPAM(Pluggable Authentication Modules)の悪用は、PamStealerの最も注目すべき技術である。PAMはmacOSに標準で組み込まれている認証フレームワークであり、ログインパスワードの検証に利用される。PamStealerは、窃取したパスワードが正しいかどうかをローカルでPAMを通じて検証してから、攻撃者サーバーに送信する。
この仕組みには二つの利点がある。一つは、無効なパスワードを送信してC2トラフィックを無駄に増やすリスクを低減できること。もう一つは、攻撃者が入手したパスワードが確実に有効であることを確認できるため、その後に行うアカウント乗っ取りなどの二次攻撃の成功率を高められることである。Jamfの研究者は「パスワードをPAMでローカル検証してから収奪するというワークフローは、これまで観測されたMac窃取型マルウェアでは一般的ではなかった」と述べている。
検出を困難にする全体的な設計
PamStealerの設計思想は、一貫して「静かな実行」にある。ディスクイメージとAppleScriptの組み合わせは従来のMacマルウェアにも見られるが、JXAダウンローダー、Rustペイロード、PAM検証という三つの要素を組み合わせた事例は初めてとされる。これらの要素が連鎖することで、従来のアンチウイルスやEDR(Endpoint Detection and Response)製品による検出をすり抜ける可能性が高まる。
特に、C2通信の暗号化とFinder偽装は、ネットワーク監視とプロセス監視の両方を回避する効果がある。また、Full Disk Access要求の遅延は、ユーザーがマルウェアのインストールと許可ダイアログを関連づけることを防ぐ。Jamfは「これらの行動は、コモディティレベルのMac窃取型マルウェアがどのように進化しているかを示している」と結論づけている。
影響と今後の展望
PamStealerの発見は、macOSプラットフォームが標的とされる脅威の高度化を改めて浮き彫りにした。従来、macOSはWindowsに比べてマルウェアの標的になる頻度が低かったが、近年は情報窃取型マルウェアの開発が活発化している。AppleはGatekeeperやNotarizationなどのセキュリティ機構を強化してきたが、PamStealerのようにScript EditorやPAMといった正規機能を悪用する手法には、従来の対策だけでは十分に対応できない可能性がある。
企業のセキュリティ担当者は、エンドポイントでの振る舞い監視や、正規スクリプト実行の挙動分析を強化する必要がある。特に、AppleScriptやJXAなどのスクリプト実行基盤を悪用した攻撃は、今後増加すると予想される。JamfのようなmacOS専門のセキュリティベンダーの知見は、こうした脅威への対応においてますます重要性を増すだろう。
編集部の見解
PamStealerは、macOS向けマルウェアが「Windows並みのステルス性」を獲得しつつあることを示す好例だ。短期的には、同様の手法を採用する亜種やフォロワーが出現する可能性が高い。特に、PAMを悪用したパスワード検証は、攻撃者にとって実用的な価値が大きく、今後他のmacOSマルウェアにも採用されることが予想される。セキュリティベンダーは、PAM呼び出しの監視や、Script Editor / JXAの異常な挙動を検出するシグネチャの開発を急ぐべきだ。 長期的な視点では、macOSのセキュリティモデルそのものの見直しが問われることになる。Appleはこれまでハードウェアとソフトウェアの統合によるセキュリティを強みとしてきたが、正規APIやフレームワークを悪用した攻撃手法が進化するにつれ、その優位性が薄れる可能性がある。特に、PAMのような低レベルの認証インターフェースをアプリケーションから自由に呼び出せる現状の設計は、攻撃者に貸し出された武器になりかねない。将来的には、PAM呼び出しに対する許可プロンプトの追加や、スクリプト実行時の権限昇格制限などの対策が議論されるだろう。
参考
- Ars Technica — 2026-07-02T19:38:57.000Z公開
よくある質問
- PamStealerはどのようにしてmacOSのquarantine属性を回避するのか
- ユーザーがディスクイメージを開いた後、Command+Rキーを押すことでAppleScript内の悪性コードが直接実行される。この操作により、ダウンロードファイルに付与されるcom.apple.quarantine属性がバイパスされ、セキュリティ警告が表示されない。
- PAMを悪用することの攻撃者にとっての利点は何か
- 窃取したパスワードが正しいかどうかをローカルで検証できるため、無効なパスワードをC2サーバーに送信する無駄を省ける。また、攻撃者は有効なパスワードだけを入手できるため、二次攻撃の成功率が高まる。
- PamStealerはどのように検出を回避しているのか
- Rustによるバイナリ難読化、Finder偽装、C2通信の暗号化、Full Disk Access要求の40分遅延表示など、複数の手法を組み合わせている。また、AppleScript内にJXAダウンローダーを埋め込むことで、従来のシェルコマンド依存型マルウェアとは異なる振る舞いを見せる。 ## 参考 - [Newly discovered PamStealer isn't your typical macOS malware - Ars Technica](https://arstechnica.com/security/2026/07/new-pamstealer-macos-malware-uses-clever-tradecraft-to-remain-stealthy/) — 2026-07-02公開
コメント