Per Apple’s documentation, startup items execute during the final phase of the boot process and contain shell scripts or other executable files along with configuration information used by the system to determine the execution order for all startup items (Citation: Startup Items). This is technically a deprecated version (superseded by Launch Daemons), and thus the appropriate folder, /Library/StartupItems isn’t guaranteed to exist on the system by default, but does appear to exist by default on macOS Sierra. A startup item is a directory whose executable and configuration property list (plist), StartupParameters.plist, reside in the top-level directory.
An adversary can create the appropriate folders/files in the StartupItems directory to register their own persistence mechanism (Citation: Methods of Mac Malware Persistence). Additionally, since StartupItems run during the bootup phase of macOS, they will run as root. If an adversary is able to modify an existing Startup Item, then they will be able to Privilege Escalate as well.
T1165は「Startup Items(スタートアップアイテム)」として定義されていた、macOS環境のシステムブート時に実行される自動起動手法です。
macOSの極めて古い起動システムの仕様を悪用し、特定のシステムフォルダにスクリプトやバイナリを配置することで、「Macが起動した直後」にマルウェアを自動的にroot権限(最高権限)で実行させる手法です。
この手法で攻撃者は、「ユーザーがログインする前の段階で、OSの最高権限(root)を伴ったバックドアを自動起動させること」を実現します。
自動的なroot実行:
この仕組みで起動されるプログラムは、OSブートプロセスの最終段階で呼び出されるため、自動的にシステム最高権限である root権限 で動作します。
特権昇格(Privilege Escalation)への悪用:
もし既存の(正規の)スタートアップアイテムの書き込み権限が緩かった場合、攻撃者はその中身を書き換えるだけで、一般ユーザー権限からroot権限へと容易に権限を昇格させることができます。
macOSのスタートアップアイテムは、特定のフォルダ内に「実行スクリプト(またはバイナリ)」と、実行順序などを定義した「StartupParameters.plist」という設定ファイルをセットで配置する仕様になっています。
攻撃者は、システム全体に影響を与える以下のフォルダを標的にします。
対象フォルダ: /Library/StartupItems/
侵入と管理者権限の確保:
このフォルダへの書き込みにはシステム管理者権限が必要なため、攻撃者は事前に sudo 権限を奪取するか、他の脆弱性を突いて特権を得ておきます。
不正なアイテムの設置:
/Library/StartupItems/ 配下に新しいフォルダ(例: SecureAgent)を作り、その中にマルウェアを起動するシェルスクリプトと、それを制御する StartupParameters.plist を設置します。
自動起動の発動:
次回、Macの電源が入れられてOSが起動する際、システムがこのフォルダをスキャンし、中に含まれる攻撃者のスクリプトをroot権限で自動的にバックグラウンド実行します。
これが最も重要なポイントですが、この「Startup Items(T1165)」はAppleによって何年も前に公式に「非推奨(廃止)」とされた古い仕様です。
Appleは OS X 10.4(Tiger)の時代に、より安全で洗練されたサービス管理アーキテクチャである launchd(T1159/T1160で解説した Launch Agent や Launch Daemon)を導入しました。
現代のmacOSにおける防御(SIP):
現在のモダンなmacOS(macOS 11 Big Sur 〜 macOS 14 Sonomaなど)では、「SIP(システム整合性保護)」が有効であるため、たとえroot権限であっても、OSが保護するシステム領域や古いレガシーな起動パスを改ざんすることは原則不可能です。また、最新OSではこのフォルダ自体が存在しないか、存在しても起動時に無視されるようになっています。
フォレンジック・監査の視点:
社内に何らかの理由(古いデザインソフトやレガシーな業務ツールの維持など)で非常に古いバージョンのOS X / macOSをアップデートせずに稼働させている端末が残っている場合、この T1165 / T1547.011 は今なお一発でroot権限の永続的なバックドアを仕掛けられる重大な死角となります。
フォルダの監視:
EDRや整合性監視ツール(FIM)を用いて、万が一にも /Library/StartupItems/ 配下に新しいファイルが作成されたり、変更が加えられたりした場合は、即座に重要アラートとして検知するよう設定します。
CWE-15: External Control of System or Configuration Setting:
システムの初期化・起動設定(Startup Items)を外部から不正に変更されてしまう不備。
CWE-732: Incorrect Permission Assignment for Critical Resource:
起動フォルダやその内部のスクリプトに対するアクセス権限の管理不備により、第三者による書き換え(特権昇格)を許してしまう問題。
インシデント調査において、現代のMacであれば T1165(Startup Items)が使われるリスクは極めて低く、攻撃者はほぼ確実に T1160(Launch Daemon) や T1159(Launch Agent) を選択します。
しかし、古いMacのフォレンジック調査を行う際は、基本のチェックリストとして /Library/StartupItems/ の中身が空であるか、あるいは見覚えのないスクリプトが残っていないかを確認する癖をつけておくと、見落としのない確実なトリアージが可能になります。