Event Triggered Execution: Accessibility Features

Adversaries may establish persistence and/or elevate privileges by executing malicious content triggered by accessibility features. Windows contains accessibility features that may be launched with a key combination before a user has logged in (ex: 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. [1]

Depending on the version of Windows, an adversary may take advantage of these features in different ways. Common methods used by adversaries include replacing accessibility feature binaries or pointers/references to these binaries in the Registry. 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). [2] The Image File Execution Options Injection debugger method was likely discovered as a potential workaround because it does not require the corresponding accessibility feature binary to be replaced.

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. [3]

Other accessibility features exist that may also be leveraged in a similar fashion: [2][4]

  • On-Screen Keyboard: C:\Windows\System32\osk.exe
  • Magnifier: C:\Windows\System32\Magnify.exe
  • Narrator: C:\Windows\System32\Narrator.exe
  • Display Switcher: C:\Windows\System32\DisplaySwitch.exe
  • App Switcher: C:\Windows\System32\AtBroker.exe

Angreifer können durch das Ausführen bösartiger Inhalte, die durch Eingabehilfen ausgelöst werden, eine Persistenz herstellen und/oder ihre Berechtigungen erhöhen. Windows enthält Eingabehilfen, die mit einer Tastenkombination gestartet werden können, bevor sich ein Benutzer angemeldet hat (z.B. wenn der Benutzer auf dem Windows-Anmeldebildschirm ist). Ein Angreifer kann die Art und Weise, wie diese Programme gestartet werden, ändern, um eine Eingabeaufforderung oder eine Hintertür zu erhalten, ohne sich am System anzumelden.

Zwei gängige Zugangsprogramme sind C:\Windows\System32\sethc.exe, das gestartet wird, wenn die Umschalttaste fünfmal gedrückt wird, und C:\Windows\System32\utilman.exe, das gestartet wird, wenn die Tastenkombination Windows + U gedrückt wird. Das Programm sethc.exe wird oft als "sticky keys" bezeichnet und wurde von Angreifern für einen nicht authentifizierten Zugriff über einen Remote-Desktop-Anmeldebildschirm verwendet. (Zitat: FireEye Hikit Rootkit)

Je nach Windows-Version kann ein Angreifer diese Funktionen auf unterschiedliche Weise ausnutzen. Zu den gängigen Methoden von Angreifern gehört das Ersetzen von Binärdateien für die Zugriffsfunktion oder von Zeigern/Verweisen auf diese Binärdateien in der Registrierung. In neueren Versionen von Windows muss die ersetzte Binärdatei für x64-Systeme digital signiert sein, die Binärdatei muss sich im %systemdir%\ befinden und sie muss durch den Windows Datei- oder Ressourcenschutz (WFP/WRP) geschützt sein. (Zitat: DEFCON2016 Sticky Keys) Die Image File Execution Options Injection Debugger-Methode wurde wahrscheinlich als mögliche Umgehung entdeckt, da sie nicht erfordert, dass die entsprechende Accessibility Feature Binary ersetzt wird.

Für einen einfachen Binäraustausch unter Windows XP und höher sowie Windows Server 2003/R2 und höher kann beispielsweise das Programm (z.B. C:\Windows\System32\utilman.exe) durch "cmd.exe" (oder ein anderes Programm, das Hintertürchen bietet) ersetzt werden. Wenn Sie anschliessend auf dem Anmeldebildschirm die entsprechende Tastenkombination drücken, während Sie an der Tastatur sitzen oder über Remote Desktop Protocol verbunden sind, wird die ersetzte Datei mit SYSTEM-Rechten ausgeführt. (Zitat: Tilbury 2014)

Es gibt noch andere Zugangsfunktionen, die in ähnlicher Weise ausgenutzt werden können: (Zitat: DEFCON2016 Sticky Keys)(Zitat: Narrator Accessibility Abuse)

  • Bildschirmtastatur: C:\Windows\System32\osk.exe
  • Lupe: C:\Windows\System32\Magnify.exe
  • Erzähler: C:\Windows\System32\Erzähler.exe
  • Display Switcher: C:\Windows\System32\DisplaySwitch.exe
  • App Switcher: C:\Windows\System32\AtBroker.exe

Les adversaires peuvent établir la persistance et/ou élever les privilèges en exécutant du contenu malveillant déclenché par les fonctions d'accessibilité. Windows contient des fonctions d'accessibilité qui peuvent être lancées à l'aide d'une combinaison de touches avant que l'utilisateur ne se soit connecté (ex : lorsque l'utilisateur se trouve sur l'écran de connexion de Windows). Un adversaire peut modifier la façon dont ces programmes sont lancés pour obtenir une invite de commande ou une porte dérobée sans se connecter au système.

Deux programmes d'accessibilité courants sont C:\Windows\System32\sethc.exe, lancé lorsque la touche shift est enfoncée cinq fois et C:\Windows\System32\utilman.exe, lancé lorsque la combinaison de touches Windows + U est enfoncée. Le programme sethc.exe est souvent appelé "sticky keys", et a été utilisé par des adversaires pour un accès non authentifié via un écran de connexion de bureau à distance. (Citation : FireEye Hikit Rootkit)

En fonction de la version de Windows, un adversaire peut tirer parti de ces fonctionnalités de différentes manières. Les méthodes courantes utilisées par les adversaires comprennent le remplacement des binaires de la fonction d'accessibilité ou des pointeurs/références à ces binaires dans le Registre. Dans les versions plus récentes de Windows, le binaire remplacé doit être signé numériquement pour les systèmes x64, le binaire doit résider dans %systemdir%\, et il doit être protégé par Windows File or Resource Protection (WFP/WRP). (Citation : DEFCON2016 Sticky Keys) La méthode du débogueur Image File Execution Options Injection a probablement été découverte comme solution de contournement potentielle car elle ne nécessite pas le remplacement du binaire de la fonction d'accessibilité correspondante.

Pour un simple remplacement de binaire sur Windows XP et versions ultérieures ainsi que sur Windows Server 2003/R2 et versions ultérieures, par exemple, le programme (par exemple, C:\Windows\System32\utilman.exe) peut être remplacé par "cmd.exe" (ou un autre programme qui fournit un accès par porte dérobée). Par la suite, en appuyant sur la combinaison de touches appropriée sur l'écran de connexion tout en restant assis devant le clavier ou en étant connecté via [Remote Desktop Protocol] (/techniques/T1021/001), le fichier remplacé sera exécuté avec les privilèges SYSTEM. (Citation : Tilbury 2014)

Il existe d'autres fonctionnalités d'accessibilité qui peuvent également être exploitées de manière similaire : (Citation : DEFCON2016 Sticky Keys)(Citation : Narrator Accessibility Abuse)

  • Clavier à l'écran : C:\Windows\System32\osk.exe
  • Loupe : C:\Windows\System32\Magnify.exe
  • Narrateur : C:\Windows\System32\Narrator.exe
  • Display Switcher : C:\Windows\System32\DisplaySwitch.exe
  • App Switcher : C:\Windows\System32\AtBroker.exe

Gli avversari possono stabilire la persistenza e/o elevare i privilegi eseguendo contenuti malevoli innescati da funzioni di accessibilità. Windows contiene funzioni di accessibilità che possono essere lanciate con una combinazione di tasti prima che un utente abbia effettuato l'accesso (es: quando l'utente si trova sulla schermata di accesso di Windows). Un avversario può modificare il modo in cui questi programmi vengono lanciati per ottenere un prompt dei comandi o una backdoor senza accedere al sistema.

Due programmi di accessibilità comuni sono C:\Windows\System32\sethc.exe, lanciato quando si preme il tasto shift cinque volte e C:\Windows\System32\utilman.exe, lanciato quando si preme la combinazione di tasti Windows + U. Il programma sethc.exe viene spesso chiamato "chiavi appiccicose" ed è stato usato dagli avversari per un accesso non autenticato attraverso una schermata di accesso al desktop remoto. (Citazione: FireEye Hikit Rootkit)

A seconda della versione di Windows, un avversario può sfruttare queste caratteristiche in modi diversi. I metodi comuni usati dagli avversari includono la sostituzione di binari di funzioni di accessibilità o puntatori/riferimenti a questi binari nel Registro. Nelle versioni più recenti di Windows, il binario sostituito deve essere firmato digitalmente per sistemi x64, il binario deve risiedere in %systemdir%\ e deve essere protetto da Windows File o Resource Protection (WFP/WRP). (Citazione: DEFCON2016 Sticky Keys) Il metodo Image File Execution Options Injection debugger è stato probabilmente scoperto come un potenziale workaround perché non richiede la sostituzione del binario corrispondente alla funzione di accessibilità.

Per la semplice sostituzione del binario su Windows XP e successivi e su Windows Server 2003/R2 e successivi, per esempio, il programma (ad esempio, C:\Windows\System32\utilman.exe) può essere sostituito con "cmd.exe" (o un altro programma che fornisce accesso backdoor). In seguito, premendo la combinazione di tasti appropriata nella schermata di login mentre si è seduti alla tastiera o quando si è connessi tramite Remote Desktop Protocol, il file sostituito verrà eseguito con privilegi SYSTEM. (Citazione: Tilbury 2014)

Esistono altre caratteristiche di accessibilità che possono essere sfruttate in modo simile: (Citazione: DEFCON2016 Sticky Keys)(Citazione: Abuso di accessibilità del narratore)

  • Tastiera su schermo: C:\Windows\System32\osk.exe
  • Lente d'ingrandimento: C:\Windows\System32\Magnify.exe
  • Narratore: C:\Windows\System32\Narrator.exe
  • Commutatore di visualizzazione: C:\WindowsSystem32\DisplaySwitch.exe
  • App Switcher: C:\Windows\System32\AtBroker.exe
Login
ID: T1546.008
Sub-technique of:  T1546
Platforms: Windows
Permissions Required: Administrator
Effective Permissions: SYSTEM
CAPEC ID: CAPEC-558
Contributors: Paul Speulstra, AECOM Global Security Operations Center
Version: 1.0
Created: 24 January 2020
Last Modified: 13 May 2020
Translations:  DE FR IT EN
Provided by LAYER 8

Procedure Examples

ID Name Description
G0016 APT29

APT29 used sticky-keys to obtain unauthenticated, privileged console access.[5][6]

G0022 APT3

APT3 replaces the Sticky Keys binary C:\Windows\System32\sethc.exe for persistence.[7]

G0096 APT41

APT41 leveraged sticky keys to establish persistence.[8]

G0001 Axiom

Axiom actors have been known to use the Sticky Keys replacement within RDP sessions to obtain persistence.[9]

G0009 Deep Panda

Deep Panda has used the sticky-keys technique to bypass the RDP login screen on remote systems during intrusions.[10]

S0363 Empire

Empire can leverage WMI debugging to remotely replace binaries like sethc.exe, Utilman.exe, and Magnify.exe with cmd.exe.[11]

G0117 Fox Kitten

Fox Kitten has used sticky keys to launch a command prompt.[12]

Mitigations

ID Mitigation Description
M1038 Execution Prevention

Adversaries can replace accessibility features binaries with alternate binaries to execute this technique. Identify and block potentially malicious software executed through accessibility features functionality by using application control [13] tools, like Windows Defender Application Control[14], AppLocker, [15] [16] or Software Restriction Policies [17] where appropriate. [18]

M1035 Limit Access to Resource Over Network

If possible, use a Remote Desktop Gateway to manage connections and security configuration of RDP within a network.[19]

M1028 Operating System Configuration

To use this technique remotely, an adversary must use it in conjunction with RDP. Ensure that Network Level Authentication is enabled to force the remote desktop session to authenticate before the session is created and the login screen displayed. It is enabled by default on Windows Vista and later.[20]

Detection

ID Data Source Data Component
DS0017 Command Command Execution
DS0022 File File Creation
File Modification
DS0009 Process Process Creation
DS0024 Windows Registry Windows Registry Key Modification

Changes to accessibility utility binaries or binary paths that do not correlate with known software, patch cycles, etc., are suspicious. Command line invocation of tools capable of modifying the Registry for associated keys are also suspicious. Utility arguments and the binaries themselves should be monitored for changes. Monitor Registry keys within HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.

Änderungen an den Binärdateien des Zugriffsdienstes oder an den Binärpfaden, die nicht mit bekannter Software, Patch-Zyklen usw. übereinstimmen, sind verdächtig. Der Aufruf von Tools über die Befehlszeile, die in der Lage sind, die Registrierung für zugehörige Schlüssel zu ändern, ist ebenfalls verdächtig. Utility-Argumente und die Binärdateien selbst sollten auf Änderungen überwacht werden. Überwachen Sie Registrierungsschlüssel innerhalb von HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.

Les modifications des binaires des utilitaires d'accessibilité ou des chemins binaires qui ne sont pas en corrélation avec des logiciels connus, des cycles de correctifs, etc. sont suspectes. L'invocation en ligne de commande d'outils capables de modifier le Registre pour les clés associées est également suspecte. Les arguments des utilitaires et les binaires eux-mêmes doivent être surveillés pour détecter les changements. Surveillez les clés de Registre dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.

Sono sospetti i cambiamenti di binari di utilità di accesso o di percorsi binari che non si correlano con software conosciuti, cicli di patch, ecc. Anche l'invocazione da linea di comando di strumenti in grado di modificare il registro per le chiavi associate è sospetta. Gli argomenti di utilità e i binari stessi dovrebbero essere monitorati per i cambiamenti. Monitorare le chiavi di registro all'interno di HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.

References