A newer version is available. For the latest information, see the
current release documentation.
Potential Modification of Accessibility Binaries
editPotential Modification of Accessibility Binaries
editWindows contains accessibility features that may be launched with a key combination before a user has logged in. An adversary can modify the way these programs are launched to get a command prompt or backdoor without logging in to the system.
Rule type: eql
Rule indices:
- winlogbeat-*
- logs-endpoint.events.*
- logs-windows.*
Severity: high
Risk score: 73
Runs every: 5m
Searches indices from: now-9m (Date Math format, see also Additional look-back time
)
Maximum alerts per execution: 100
References:
Tags:
- Elastic
- Host
- Windows
- Threat Detection
- Persistence
Version: 8
Rule authors:
- Elastic
Rule license: Elastic License v2
Investigation guide
edit## Triage and analysis ### Investigating Potential Modification of Accessibility Binaries 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. More details can be found [here](https://attack.mitre.org/techniques/T1546/008/). This rule looks for the execution of supposed accessibility binaries that don't match any of the accessibility features binaries' original file names, which is likely a custom binary deployed by the attacker. #### Possible investigation steps - Investigate the process execution chain (parent process tree). - Identify the user account that performed the action and whether it should perform this kind of action. - Contact the account owner and confirm whether they are aware of this activity. - Investigate other alerts associated with the user/host during the past 48 hours. - Check for similar behavior in other hosts on the environment. - Retrieve the file and determine if it is malicious: - Use a private sandboxed malware analysis system to perform analysis. - Observe and collect information about the following activities: - Attempts to contact external domains and addresses. - File and registry access, modification, and creation activities. - Service creation and launch activities. - Scheduled tasks creation. - Use the PowerShell Get-FileHash cmdlet to get the SHA-256 hash value of the file. - Search for the existence and reputation of this file in resources like VirusTotal, Hybrid-Analysis, CISCO Talos, Any.run, etc. ### False positive analysis - This activity should not happen legitimately. The security team should address any potential benign true positive (B-TP), as this configuration can put the user and the domain at risk. ### Response and remediation - Initiate the incident response process based on the outcome of the triage. - Isolate the involved host to prevent further post-compromise behavior. - If the triage identified malware, search the environment for additional compromised hosts. - Implement any temporary network rules, procedures, and segmentation required to contain the malware. - Immediately block the IoCs identified. - Remove and block malicious artifacts identified on the triage. - Reset passwords for the user account and other potentially compromised accounts (email, services, CRMs, etc.). ## Config If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2, events will not define `event.ingested` and default fallback for EQL rules was not added until 8.2, so you will need to add a custom pipeline to populate `event.ingested` to @timestamp for this rule to work.
Rule query
editprocess where event.type in ("start", "process_started", "info") and process.parent.name : ("Utilman.exe", "winlogon.exe") and user.name == "SYSTEM" and process.args : ( "C:\\Windows\\System32\\osk.exe", "C:\\Windows\\System32\\Magnify.exe", "C:\\Windows\\System32\\Narrator.exe", "C:\\Windows\\System32\\Sethc.exe", "utilman.exe", "ATBroker.exe", "DisplaySwitch.exe", "sethc.exe" ) and not process.pe.original_file_name in ( "osk.exe", "sethc.exe", "utilman2.exe", "DisplaySwitch.exe", "ATBroker.exe", "ScreenMagnifier.exe", "SR.exe", "Narrator.exe", "magnify.exe", "MAGNIFY.EXE" ) /* uncomment once in winlogbeat to avoid bypass with rogue process with matching pe original file name */ /* and process.code_signature.subject_name == "Microsoft Windows" and process.code_signature.status == "trusted" */
Framework: MITRE ATT&CKTM
-
Tactic:
- Name: Persistence
- ID: TA0003
- Reference URL: https://attack.mitre.org/tactics/TA0003/
-
Technique:
- Name: Event Triggered Execution
- ID: T1546
- Reference URL: https://attack.mitre.org/techniques/T1546/
-
Sub-technique:
- Name: Accessibility Features
- ID: T1546.008
- Reference URL: https://attack.mitre.org/techniques/T1546/008/
-
Tactic:
- Name: Privilege Escalation
- ID: TA0004
- Reference URL: https://attack.mitre.org/tactics/TA0004/
-
Technique:
- Name: Event Triggered Execution
- ID: T1546
- Reference URL: https://attack.mitre.org/techniques/T1546/
-
Sub-technique:
- Name: Accessibility Features
- ID: T1546.008
- Reference URL: https://attack.mitre.org/techniques/T1546/008/