Adversaries may leverage the AuthorizationExecuteWithPrivileges API to escalate privileges by prompting the user for credentials.(Citation: AppleDocs AuthorizationExecuteWithPrivileges) The purpose of this API is to give application developers an easy way to perform operations with root privileges, such as for application installation or updating. This API does not validate that the program requesting root privileges comes from a reputable source or has been maliciously modified. Although this API is deprecated, it still fully functions in the latest releases of macOS. When calling this API, the user will be prompted to enter their credentials but no checks on the origin or integrity of the program are made. The program calling the API may also load world writable files which can be modified to perform malicious behavior with elevated privileges.
Adversaries may abuse AuthorizationExecuteWithPrivileges to obtain root privileges in order to install malicious software on victims and install persistence mechanisms.(Citation: Death by 1000 installers; it's all broken!)(Citation: Carbon Black Shlayer Feb 2019)(Citation: OSX Coldroot RAT) This technique may be combined with Masquerading to trick the user into granting escalated privileges to malicious code.(Citation: Death by 1000 installers; it's all broken!)(Citation: Carbon Black Shlayer Feb 2019) This technique has also been shown to work by modifying legitimate programs present on the machine that make use of this API.(Citation: Death by 1000 installers; it's all broken!)
T1514は「Elevated Execution with Prompt(プロンプトを伴う昇格実行)」として定義される、主にmacOS環境を標的にした非常に巧妙な「特権昇格(Privilege Escalation)」のテクニックです。
攻撃者がmacOSの正規のAPIを悪用し、「ユーザーに対して偽の、あるいは紛らわしいパスワード入力プロンプト(認証画面)を表示させ、ユーザー自身の手で管理者パスワードを入力させてroot(最高権限)を合法的に強奪する」ソーシャルエンジニアリングと技術を融合させた手法です。
この手法で攻撃者は、「macOSの強固なセキュリティの壁(SIPやサンドボックスなど)を突破し、ユーザーを騙してシステム内のすべての制御権(root)を明け渡させること」を実現します。
合法的な特権の獲得:
macOSはセキュリティ上、重要なシステム変更を行う際に必ずOS標準の認証ダイアログを表示します。攻撃者はこれを利用し、あたかも「正規のアップデートやインストーラーである」かのようにユーザーを騙し、パスワードを入力させます。入力されたパスワードはそのまま最高権限でのコード実行に使用されます。
セキュリティ製品の無効化:
ユーザーの合意のもとでroot権限を取得するため、セキュリティ製品のプロセスを強制終了したり、カーネル拡張(マルウェアの永続化に必要な機能)を強制的にロードしたりする破壊的なコマンドがすべて有効化されてしまいます。
macOSには、開発者がアプリケーションのインストールやアップデートなどの高リスクな処理を行うために、一時的にroot特権を取得するための正規のAPIである「AuthorizationExecuteWithPrivileges」が用意されています(現在は非推奨ですが、互換性のために機能し続けています)。
このAPIが呼び出されると、OSは背後で /usr/libexec/security_authtrampoline というプログラムを起動し、画面に「変更を許可するにはパスワードを入力してください」という標準の認証プロンプトを表示します。
攻撃者はこのAPIを悪用します。OS側は「要求元が本物の開発者か、あるいは悪意あるマルウェアか」のプログラムの整合性チェックを行わないため、ユーザーがパスワードを入力した時点で、マルウェアに対して無条件でroot権限が与えられてしまいます。
一般に、アドウェアや偽のAdobe Flash Playerアップデートなどを装ったマルウェア(例: Shlayer)キャンペーンで頻出する流れです。
初期侵入(ダウンロード):
ユーザーはブラウザで偽の警告画面(「Flash Playerを更新してください」など)に騙され、マルウェアが仕込まれたインストーラー(.dmgファイル)をダウンロードして実行してしまいます。
マスカレード(擬態):
インストーラーは正規のAdobe製品などのアイコンやデザインに完全に偽装(T1036)されており、ユーザーに不信感を抱かせません。
プロンプトの誘発(トリガー):
インストーラーの内部スクリプトが AuthorizationExecuteWithPrivileges APIを呼び出します。これにより、macOS標準の本物のシステム認証ダイアログが画面にポップアップします。
ユーザーによるパスワード入力:
ユーザーは「正規のアップデートに必要な手順だ」と思い込み、自身のユーザー名と管理者パスワードを入力して「OK」を押します。
最高権限の奪取と感染(目的達成):
パスワードが承認された瞬間、背後でマルウェアの本体ペイロードが root権限で実行 されます。攻撃者はこの権限を用いて、Gatekeeper(実行制限機能)をバイパスし、システムのディープな場所にバックドアを埋め込みます。
人間の警戒心と、OSレベルでの実行制限の組み合わせが防衛の鍵となります。
Gatekeeperによる署名検証の強制(最重要):
macOSの設定で、Apple Storeまたは信頼された開発者(有効なデジタル署名を持つアプリ)以外からのアプリケーション実行を厳格にブロックします。未署名の野良アプリがこの特権APIを呼び出すこと自体を水際で防ぎます。
プロセス生成と引数の監視:
EDR製品を用いて、一般的なユーザーアプリケーション(特にブラウザのダウンロードフォルダ配下から起動したアプリやスクリプト)が、特権昇格のバックエンドである /usr/libexec/security_authtrampoline を不自然に呼び出していないかを監視・検知します。
ユーザーのセキュリティ教育:
「Webサイトの閲覧中に突然ポップアップしたインストーラー」や、「自分で意図してシステム設定を変更していない瞬間に表示されたパスワード要求」には絶対にパスワードを入力しないという、ソーシャルエンジニアリングに対するリテラシー向上を徹底します。
CWE-287: Improper Authentication(不適切な認証)
特権を要求しているアプリケーション自体が信頼できるものであるか(改ざんされていないか、出自が安全か)の整合性検証を行わずに、ユーザーの入力成否だけで特権を渡してしまうAPIの設計上の弱点。
CWE-451: User Interface (UI) Misrepresentation of Critical Information(重要な情報のユーザーインターフェースにおける誤表示・なりすまし)
システムの標準ダイアログというユーザーが完全に信頼しているUIを、悪意あるプロセスが自身の特権昇格のために隠れみのとして悪用できてしまう問題。
macOSを標的にしたアドウェアやスパイウェアの歴史において、最も成功した(最も多くの被害を出した)手口の核心として知られています。
OSX/Shlayer(最も悪名高いmacOSマルウェア)の事例:
macOS全体の脅威の大きな割合を占めていた「Shlayer」は、この T1514(現T1548.004) のエキスパートです。偽のFlash Playerインストーラーとして侵入し、ユーザーが画面をクリックしていくプロセスの中でこの AuthorizationExecuteWithPrivileges を絶妙なタイミングで実行します。ユーザーの手でroot権限をもぎ取った後、Shlayerはシステム内に他の大量のアドウェアやブラウザハイジャッカーを自動インストールし、被害者のブラウザ検索結果を汚染して不正な利益を上げ続けました。
OSX/CrescentCore の事例:
Shlayerと同様のアプローチをとるこのマルウェアは、さらに巧妙で、環境内に仮想環境(VM)やセキュリティ製品(Carbon BlackやIntegoなど)が動いていないかを事前にチェックし、安全だと判断したときのみこの特権昇格プロンプト(T1514)を起動させて検知をすり抜ける工作を行っていました。
macOSのエンドポイントログを調査する際、一般の一般ユーザー権限で動作しているプロセスツリーの直下、あるいはシェルスクリプトから、突如として /usr/libexec/security_authtrampoline がスポーンし、その直後に特権権限のシェルが動いているログを発見した場合、ユーザーが騙されてパスワードを入力させられたことを示しています。
このプロンプトが発生した「親プロセス」がどのアプリケーションであるかを特定することが、侵入経路(ベクター)を解明するブレイクスルーとなります。
この攻撃手法を利用する脅威アクターは登録されていません。
この攻撃手法に関連する CVE は登録されていません。