Adversaries may use scripts automatically executed at boot or logon initialization to establish persistence.(Citation: Mandiant APT29 Eye Spy Email Nov 22)(Citation: Anomali Rocke March 2019) Initialization scripts can be used to perform administrative functions, which may often execute other programs or send information to an internal logging server. These scripts can vary based on operating system and whether applied locally or remotely.
Adversaries may use these scripts to maintain persistence on a single system. Depending on the access configuration of the logon scripts, either local credentials or an administrator account may be necessary.
An adversary may also be able to escalate their privileges since some boot or logon initialization scripts run with higher privileges.
T1037「Boot or Logon Initialization Scripts」(起動・ログオン初期化スクリプト) は、OSの起動時やユーザーのログイン時に自動実行される「初期化スクリプト」を改ざん、または新規作成することで、マルウェアを自動起動させる手法です。
Windows、Linux、macOSのすべてに存在する標準的な自動実行の仕組みを悪用します。
この手法で攻撃者は、「正規のシステム管理手順に紛れ込んだ、確実な永続化」を実現します。
* **永続化:**<br> PCの再起動やログアウトが発生しても、次回起動・ログイン時に自動的にマルウェアを再実行させます。
* **特権の維持/昇格:**<br> 起動スクリプト(Boot Scripts)は通常、システム最高権限(SYSTEMやroot)で実行されるため、一般ユーザー権限で侵入した後にこれをお膳立てできれば、次回から管理者以上の権限で動作できます。
* **ステルス性:**<br> 管理者が業務効率化のために設定する「正規のスクリプト」の中に1行追加するだけで済むため、ファイルそのものを新しく作るよりも発見が困難です。
攻撃者は、スクリプトファイルを編集できる権限(通常は管理者権限)を得た後に実行します。
ターゲットの特定:
OSごとに以下の場所を狙います。
Windows:
グループポリシー(GPO)で設定されたログオンスクリプト、またはレジストリの UserinitMBI 等。
Linux/macOS:
/etc/rc.local、/etc/init.d/ 配下のスクリプト、または .bashrc / .zshrc などのシェル初期化ファイル。
スクリプトの改ざん/設置:
backup.sh などの末尾に、攻撃者のサーバーからファイルを落として実行するコードを追記します。トリガーの待機:
ユーザーがPCを再起動、またはログオンするのを待ちます。
自動実行:
OSが起動プロセスの一環としてスクリプトを読み込み、攻撃コードが実行されます。
「スクリプト配置場所の権限管理」と「整合性監視」が重要です。
アクセス制御の厳格化:
初期化スクリプトが格納されているディレクトリ(/etc/ や Netlogon 共有など)への書き込み権限を、最小限の管理者に限定します。
ファイル整合性監視 (FIM):
重要なスクリプトファイルの変更を検知し、管理者以外による編集が行われた場合に即座にアラートを上げるようにします。
グループポリシー(GPO)の監査:
Windows環境では、GPOによるスクリプト配布設定が意図せず変更されていないか、定期的に監査します。
スタートアップ項目の可視化:
Autoruns などのツールを使用して、OSが起動時に読み込む全スクリプトのリストを定期的に確認します。
「正規ツール」への寄生:
攻撃者が自前の実行ファイル(.exe)を置かなくても、既存の .bat や .sh ファイルを1行書き換えるだけで攻撃が完結する(Living off the Land)点が脅威です。
広範囲な影響:
Active Directory環境でドメインレベルのログオンスクリプトが汚染されると、そのドメインに属する全端末が一度に感染する恐れがあります。
CWE-73: External Control of File Name or Path:
外部から実行ファイルやスクリプトのパスを制御されてしまう不備。
CWE-15: External Control of System or Configuration Setting:
システムの設定(どのスクリプトを実行するか)を外部から変更されてしまう不備。
T1037自体はOSの「機能」を悪用するため、特定の脆弱性(CVE)として報告されることは少ないですが、これを容易にする脆弱性は存在します。
CVE-2020-1472 (Zerologon):
ドメインコントローラーの権限を奪取することで、T1037のようなGPOベースのスクリプト改ざんを全端末に対して一斉に行うことが可能になります。
CVE-2021-3156 (Baron Samedit):
Linuxの sudo 脆弱性。これを利用してroot権限を奪取した攻撃者が、/etc/rc.local などの保護された初期化スクリプトを書き換える(T1037)という流れが一般的です。
特にLinux環境では、特定のユーザーの .bash_profile や .bashrc に curl ... | sh のような不審な一行が追加されていないか確認することが、潜伏している攻撃者を見つける近道になります。