Trusted Design

T1103 - AppInit DLLs

概要

Dynamic-link libraries (DLLs) that are specified in the AppInit_DLLs value in the Registry keys HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows or HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows are loaded by user32.dll into every process that loads user32.dll. In practice this is nearly every program, since user32.dll is a very common library. (Citation: Elastic Process Injection July 2017) Similar to Process Injection, these values can be abused to obtain persistence and privilege escalation by causing a malicious DLL to be loaded and run in the context of separate processes on the computer. (Citation: AppInit Registry)

The AppInit DLL functionality is disabled in Windows 8 and later versions when secure boot is enabled. (Citation: AppInit Secure Boot)

管理者によるコメント

T1103は非常に強力かつステルス性の高いWindows向けのプロセス注入・自動実行手法です。

Windowsの基本ライブラリである user32.dll の「仕様」を悪用し、システム上で新しく立ち上がるほぼすべてのアプリケーションにマルウェア(DLL)を自動的に、強制注入(インジェクション)する手法です。

1. 概要

この手法で攻撃者は、「ユーザーやシステムが何かアプリを起動するだけで、自動的かつ網羅的にマルウェアを拡散・実行させること」を実現します。

何を実現できるのか

2. 攻撃の流れ

AppInit DLLsの機能を有効化・変更するため、攻撃者は事前にシステム内での管理者権限(Administrator)を確保している必要があります。

  1. 悪意のあるDLLの配置:
    プロセスに注入したい攻撃用のDLL(例: malicious.dll)を、ローカルディスク(C:\Windows\System32\ など)に配置します。

  2. レジストリの改ざん:
    WindowsがAppInit機能を参照する以下のレジストリキーを編集します。

    • 通常(64bit/32bit): HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows
    • 32bit互換(WOW64): HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows

具体的には、以下の2つの値を書き換えます。

* `LoadAppInit_DLLs` の値を `1` に変更する(機能を有効化)。
* `AppInit_DLLs` の値に、ステップ1で配置したマルウェアのDLLパスを書き込む。
  1. 自動インジェクションの発動:

    • Windowsでは、グラフィックやユーザーインターフェースを扱うほぼすべてのアプリケーションが user32.dll という正規の共通ライブラリを読み込みます。
    • user32.dll がロードされる際、OSは自動的に上記のレジストリを確認し、そこに指定されている AppInit_DLLs(攻撃者のDLL)を、その起動しようとしているアプリケーションのメモリ空間へ強制的に一緒に読み込ませます。
  2. コード実行:
    アプリケーションが起動した瞬間、攻撃者のDLLに仕込まれたコード(DllMain)がバックグラウンドで即座に実行されます。

3. 防御・対策

Windowsのアップデートによる仕様変更の把握と、レジストリの厳重な監視が効果的です。

4. 重要ポイント

5. 関連する主なCWE

6. 関連する代表的な事例・ツール

OSの根本的な設計を突いた手法であるため、高度なスパイ活動や、解析を妨害するタイプのマルウェアで長年愛用されてきました。

実務上のアドバイス

もしSOC運用などで、「一般ユーザー向けのPCなのに、なぜか LoadAppInit_DLLs レジストリが 1 になっている」、あるいは 「サードパーティの正規ソフトウェア(セキュリティ製品やグラフィックドライバー等)以外の、不審なパスにあるDLLが AppInit_DLLs に指定されている」 というログを検知した場合は、セキュアブートが無効化され、深刻なバックドアが仕掛けられている可能性を疑う必要があります。

分析

この攻撃手法を利用する脅威アクター

関連する CVE

この攻撃手法に関連する CVE は登録されていません。

攻撃手法 – 脅威アクター Graph


← Technique一覧に戻る ← Tactics一覧に戻る