Trusted Design

T1013 - Port Monitors

概要

A port monitor can be set through the (Citation: AddMonitor) API call to set a DLL to be loaded at startup. (Citation: AddMonitor) This DLL can be located in C:\Windows\System32 and will be loaded by the print spooler service, spoolsv.exe, on boot. The spoolsv.exe process also runs under SYSTEM level permissions. (Citation: Bloxham) Alternatively, an arbitrary DLL can be loaded if permissions allow writing a fully-qualified pathname for that DLL to HKLM\SYSTEM\CurrentControlSet\Control\Print\Monitors.

The Registry key contains entries for the following:

Adversaries can use this technique to load malicious code at startup that will persist on system reboot and execute as SYSTEM.

管理者によるコメント

T1013「Port Monitors」(ポートモニター) は、Windowsの印刷システムを管理する仕組み(プリントプロセッサやポートモニター)を悪用して、システム起動時に悪意のあるDLLを自動的に実行させる手法です。

この手法は「永続化(Persistence)」と、高い権限を維持する「特権昇格(Privilege Escalation)」の両方を目的として使われます。

1. 概要

この手法で攻撃者は、「システムの再起動後も、プリントスプーラー経由でSYSTEM権限のコード実行を継続すること」を実現します。

何を実現できるのか

2. 攻撃の流れ

攻撃者は、レジストリを操作するために管理者権限を確保した後にこの手法を実行します。

  1. 悪意のあるDLLの配置:
    攻撃用のDLLを C:\Windows\System32\ などのシステムディレクトリに配置します。

  2. レジストリの書き換え:
    以下のレジストリキーに新しい「ポートモニター」として、配置したDLLの名前を登録します。

    • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Monitors\
    • ここに新しいサブキーを作成し、Driver という値にマルウェアのDLL名を指定します。
  3. サービスの再起動:
    システムの再起動、またはプリントスプーラーサービスの再起動を待ちます。

  4. 実行:
    spoolsv.exe がレジストリを読み込み、指定されたDLLを自身のプロセス内にロードします。これにより、SYSTEM権限で攻撃コードが動き出します。

3. 防御・対策

「特権的な設定変更」の監視と制限が鍵となります。

4. 重要ポイント

5. 関連する主なCWE

6. 関連する代表的なCVE

このテクニックはOSの「仕様」を悪用するものであるため、特定のCVE単体よりも、印刷システム全体の脆弱性と組み合わせて語られることが多いです。

実務上のアドバイス

Windows標準のポートモニターには Local PortStandard TCP/IP Port などがありますが、これら以外の見慣れない名称がレジストリに存在する場合は、詳細な調査が必要です。

分析

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

関連する CVE

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


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