Trusted Design

T1122 - Component Object Model Hijacking

概要

The Component Object Model (COM) is a system within Windows to enable interaction between software components through the operating system. (Citation: Microsoft Component Object Model) Adversaries can use this system to insert malicious code that can be executed in place of legitimate software through hijacking the COM references and relationships as a means for persistence. Hijacking a COM object requires a change in the Windows Registry to replace a reference to a legitimate system component which may cause that component to not work when executed. When that system component is executed through normal system operation the adversary's code will be executed instead. (Citation: GDATA COM Hijacking) An adversary is likely to hijack objects that are used frequently enough to maintain a consistent level of persistence, but are unlikely to break noticeable functionality within the system as to avoid system instability that could lead to detection.

管理者によるコメント

MITRE ATT&CKにおいて、T1122は「Component Object Model Sign-In Script」として定義されている、Windows環境における「永続化(Persistence)」および「防御回避(Defense Evasion)」のテクニックです。

Windowsの環境変数やコンポーネント管理システムである COM(Component Object Model)のレジストリ設定を悪用し、ユーザーがログインした際や特定のイベントが発生した際に、悪意のあるスクリプトやDLLを自動的に身代わり実行させる手法です。

1. 概要(攻撃者は何を実現できるのか?)

この手法で攻撃者は、「ユーザーに気づかれることなく、ログイン時に管理者権限を必要としない方法で持続的な自動実行(永続化)を確立すること」を実現します。

2. 攻撃の流れ

Windowsでは、コンポーネントが呼び出される際に、まずユーザー固有のレジストリ領域(HKCU\Software\Classes\CLSID)を確認し、そこに定義がなければシステム全体の領域(HKLM\Software\Classes\CLSID)を参照するという優先順位(COM検索順序)があります。攻撃者はこの仕様を悪用します。

  1. 初期侵入:
    フィッシングメールなどで標的のWindows端末に一般ユーザー権限で侵入します。

  2. COMオブジェクトの特定とレジストリ改ざん:
    ログイン時やシステムイベント時に自動的に呼び出される正常なCOMオブジェクトの識別子(CLSID)を特定します。 ユーザー領域(HKCU)内にそのCLSIDキーを勝手に作成し、実行されるコードの参照先(InprocServer32 や ScriptletURL など)を、自前の悪意あるスクリプト(.sct ファイルなど)やDLLのパスに書き換えます。

  3. ユーザーのログイン(トリガー):
    ユーザーがPCにログイン、または特定の標準アプリケーションを起動します。

  4. 横取り実行(COMハイジャック):
    Windowsは正規のCOMコンポーネントをロードしようとしますが、優先される HKCU 領域のレジストリを参照した結果、攻撃者が仕込んだスクリプト/DLLを読み込みます。

  5. バックドアの自動復活(目的達成):
    ユーザーに違和感を与えることなく、裏でC2サーバーとの通信が自動的に再開され、永続的なアクセス権が維持されます。

3. 防御・対策

ユーザー領域における不審なレジストリ書き込みの監視が最も効果的な防御策となります。

4. 重要ポイント

5. 関連する主なCWE

6. 関連する代表的なCVE

COMオブジェクトの読み込みロジックやレジストリ検索のバイパスに関連する脆弱性として、以下のようなCVEが存在します。

実務上のアドバイス:
フォレンジック調査やEDRログの解析において、「マルウェアの永続化(スタートアップ)が発見できないが、再起動のたびに確実に再感染する」というケースに遭遇した場合は、必ず HKCU\Software\Classes\CLSID 配下を確認してください。

特定のCLSID配下に .dll や .sct(スクリプトレット)、あるいは不審な scrobj.dll への参照が残っている場合、本手法(旧T1122 / 現T1546.015)によるCOMハイジャックが行われている決定的な証拠となります。

分析

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

関連する CVE

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


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