Trusted Design

T1088 - Bypass User Account Control

概要

Windows User Account Control (UAC) allows a program to elevate its privileges to perform a task under administrator-level permissions by prompting the user for confirmation. The impact to the user ranges from denying the operation under high enforcement to allowing the user to perform the action if they are in the local administrators group and click through the prompt or allowing them to enter an administrator password to complete the action. (Citation: TechNet How UAC Works)

If the UAC protection level of a computer is set to anything but the highest level, certain Windows programs are allowed to elevate privileges or execute some elevated COM objects without prompting the user through the UAC notification box. (Citation: TechNet Inside UAC) (Citation: MSDN COM Elevation) An example of this is use of rundll32.exe to load a specifically crafted DLL which loads an auto-elevated COM object and performs a file operation in a protected directory which would typically require elevated access. Malicious software may also be injected into a trusted process to gain elevated privileges without prompting a user. (Citation: Davidson Windows) Adversaries can use these techniques to elevate privileges to administrator if the target process is unprotected.

Many methods have been discovered to bypass UAC. The Github readme page for UACMe contains an extensive list of methods (Citation: Github UACMe) that have been discovered and implemented within UACMe, but may not be a comprehensive list of bypasses. Additional bypass methods are regularly discovered and some used in the wild, such as:

Another bypass is possible through some Lateral Movement techniques if credentials for an account with administrator privileges are known, since UAC is a single system security mechanism, and the privilege or integrity of a process running on one system will be unknown on lateral systems and default to high integrity. (Citation: SANS UAC Bypass)

管理者によるコメント

T1088「Bypass User Account Control」(UACバイパス) は、Windowsのセキュリティ機能である「UAC」を回避し、管理者権限を取得する非常に一般的な手法です。

1. 概要

UAC(ユーザーアカウント制御)は、プログラムが管理者権限を必要とする際に、ユーザーに許可を求めるダイアログ(「はい/いいえ」の確認)を表示する機能です。

2. 攻撃の流れ

多くのUACバイパス手法は、Windowsの「自動昇格(Auto-elevate)」という仕様を悪用します。

  1. ターゲットの特定: 署名済みの正規ツール(例:eventvwr.exesdclt.exe)の中で、UACダイアログを出さずに自動で管理者権限に昇格する実行ファイルを探します。
  2. レジストリやパスの操作: これらの正規ツールが起動時に読み込む「レジストリ値」や「DLLのパス」を、攻撃者が用意したコマンドや悪意のあるDLLに書き換えます。
  3. 正規ツールの実行: 攻撃者がその正規ツールを起動します。
  4. コードの実行: システムは「信頼されたツール」と判断して管理者権限を与えますが、実際には書き換えられたレジストリやDLLを通じて、攻撃者のコードが管理者権限で実行されます。

3. 防御・対策

UACは本来「利便性とセキュリティの両立」を狙った機能であり、完全な防壁ではないことを理解する必要があります。

4. 重要ポイント

5. 関連する主なCWE

6. 関連する代表的なCVE

UACバイパスは、OSのアップデートによって対策されることが多いため、特定のCVE番号が割り振られることがあります。多くの場合、具体的なCVEがなくても、レジストリの書き換えなどの「テクニック」だけでバイパスが成立してしまう点がこの手法の怖さです。

分析

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

この攻撃手法を利用する脅威アクターは登録されていません。

関連する CVE

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

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


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