Windows contains accessibility features that may be launched with a key combination before a user has logged in (for example, when the user is on the Windows logon screen). An adversary can modify the way these programs are launched to get a command prompt or backdoor without logging in to the system.
Two common accessibility programs are C:\Windows\System32\sethc.exe, launched when the shift key is pressed five times and C:\Windows\System32\utilman.exe, launched when the Windows + U key combination is pressed. The sethc.exe program is often referred to as "sticky keys", and has been used by adversaries for unauthenticated access through a remote desktop login screen. (Citation: FireEye Hikit Rootkit)
Depending on the version of Windows, an adversary may take advantage of these features in different ways because of code integrity enhancements. In newer versions of Windows, the replaced binary needs to be digitally signed for x64 systems, the binary must reside in %systemdir%\, and it must be protected by Windows File or Resource Protection (WFP/WRP). (Citation: DEFCON2016 Sticky Keys) The debugger method was likely discovered as a potential workaround because it does not require the corresponding accessibility feature binary to be replaced. Examples for both methods:
For simple binary replacement on Windows XP and later as well as and Windows Server 2003/R2 and later, for example, the program (e.g., C:\Windows\System32\utilman.exe) may be replaced with "cmd.exe" (or another program that provides backdoor access). Subsequently, pressing the appropriate key combination at the login screen while sitting at the keyboard or when connected over Remote Desktop Protocol will cause the replaced file to be executed with SYSTEM privileges. (Citation: Tilbury 2014)
For the debugger method on Windows Vista and later as well as Windows Server 2008 and later, for example, a Registry key may be modified that configures "cmd.exe," or another program that provides backdoor access, as a "debugger" for the accessibility program (e.g., "utilman.exe"). After the Registry is modified, pressing the appropriate key combination at the login screen while at the keyboard or when connected with RDP will cause the "debugger" program to be executed with SYSTEM privileges. (Citation: Tilbury 2014)
Other accessibility features exist that may also be leveraged in a similar fashion: (Citation: DEFCON2016 Sticky Keys)
C:\Windows\System32\osk.exeC:\Windows\System32\Magnify.exeC:\Windows\System32\Narrator.exeC:\Windows\System32\DisplaySwitch.exeC:\Windows\System32\AtBroker.exeT1015「Accessibility Features」(アクセシビリティ機能) は、Windowsのログオン画面などで利用できる「固定キー機能」や「スクリーンキーボード」といったアクセシビリティ(補助)機能を悪用して、ログインすることなくシステム権限でコマンドを実行する手法です。
この手法は、パスワードを知らなくてもOSを操作できる「バックドア(Backdoor)」として非常に有名です。
この手法で攻撃者は、「ログインパスワードを入力することなく、システム最高権限(SYSTEM)のシェルを取得すること」を実現します。
認証のバイパス:
ログイン画面で特定のキー操作(例:Shiftキーを5回連打)をするだけで、ログイン後のデスクトップ画面を介さずにコマンドプロンプトを起動できます。
権限昇格:
アクセシビリティ機能は、ユーザーがログインする前から動作させる必要があるため、通常 SYSTEM権限 で実行されます。これを乗っ取ることで、瞬時に管理者以上の権限が得られます。
永続的なバックドア:
一度この設定を仕込まれると、パスワードを変更しても攻撃者は物理アクセス(またはリモートデスクトップ)さえあればいつでも侵入を再開できます。
攻撃者は、あらかじめシステムファイルやレジストリを操作できる権限(管理者権限)を一時的に得るか、物理的にディスクを別OSから読み込むことで仕込みを行います。
ターゲットの特定:
悪用する機能を選びます。代表的なのは sethc.exe(固定キー機能)や utilman.exe(コンピュータの簡単操作)です。
ファイルの置き換え(またはデバッガ登録):
方法A(置換):
C:\Windows\System32\sethc.exe をバックアップし、代わりに cmd.exe を sethc.exe という名前にリネームして配置します。
方法B(レジストリ):
「イメージファイル実行オプション(IFEO)」というデバッグ機能を悪用し、sethc.exe のデバッガとして cmd.exe を登録します。
トリガーの実行:
ログイン画面で Shiftキーを5回連打 します。
コード実行:
Windowsは「固定キー機能」を起動しようとしますが、中身が cmd.exe になっているため、SYSTEM権限のコマンドプロンプトが画面上に表示されます。
「システムファイルの保護」と「レジストリの監視」が不可欠です。
イメージファイル実行オプション (IFEO) の監視:
レジストリの HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options 配下に、アクセシビリティ機能(sethc.exe, utilman.exe等)のキーが作成され、debugger 値が設定されていないか監視します。
システムファイルの整合性チェック:
SFC (System File Checker) などを使用し、システムディレクトリ内のアクセシビリティ用バイナリが改ざんされていないか定期的に確認します。
物理アクセスの制限:
物理的なアクセスを許すと、攻撃者がライブOS等を使ってファイルを直接書き換えることが可能になるため、BitLocker等のディスク暗号化を導入します。
リモートデスクトップの制限:
ログイン画面へのアクセスが攻撃のトリガーとなるため、RDPのアクセス制限や多要素認証(MFA)を導入します。
「Sticky Keys攻撃」:
最も古典的かつ強力な手法として「Sticky Keys(固定キー)」の名称で知られています。
ログイン不要の脅威:
パスワードをリセットしたり盗んだりする手間を省いてシステムを支配できるため、物理端末の盗難や共有PCでの被害例が多いです。
CWE-288: Authentication Bypass Using an Alternate Path:
正規の認証プロセスを迂回してシステムにアクセスできてしまう問題。
CWE-648: Incorrect Use of Privileged APIs:
特権を持つアクセシビリティ機能のAPIや実行権限が、不適切に管理されている設計上の不備。
T1015はOSの設計上の挙動を悪用するものであるため、特定のCVEとして管理されることは稀ですが、関連する攻撃ツールや事例は豊富です。
攻撃ツール (Mimikatz等):
Mimikatzには、このアクセシビリティ機能のバックドアを自動でセットアップする機能が含まれています。
CVE-2010-4315:
過去のWindowsにおいて、アクセシビリティ機能を介した特権昇格の可能性が議論された際の関連脆弱性の一つです。
もし身近なPCで、ログイン画面でShiftキーを5回押して「固定キー機能を有効にしますか?」というダイアログではなく、黒い画面(コマンドプロンプト)が出たら、その端末は既に完全に支配されています。直ちに使用を停止して調査を行う必要があります。
この攻撃手法に関連する CVE は登録されていません。