| name | T1055.005_thread-local-storage |
| description | Adversaries may inject malicious code into processes via thread local storage (TLS) callbacks in order to evade process-based defenses as well as possibly elevate privileges. |
| category | configuration |
| version | 18.1 |
| author | cyberstrike-official |
| tags | ["mitre-attack","enterprise","t1055.005","defense-evasion","privilege-escalation","windows","sub-technique"] |
| technique_id | T1055.005 |
| tactic | defense-evasion |
| all_tactics | ["defense-evasion","privilege-escalation"] |
| platforms | ["Windows"] |
| mitre_url | https://attack.mitre.org/techniques/T1055/005 |
| tech_stack | ["windows"] |
| cwe_ids | ["CWE-693"] |
| chains_with | ["T1055","T1055.001","T1055.002","T1055.003","T1055.004","T1055.008","T1055.009","T1055.011","T1055.012","T1055.013","T1055.014","T1055.015"] |
| prerequisites | ["T1055"] |
| severity_boost | {"T1055":"Chain with T1055 for deeper attack path","T1055.001":"Chain with T1055.001 for deeper attack path","T1055.002":"Chain with T1055.002 for deeper attack path"} |
T1055.005 Thread Local Storage
Sub-technique of: T1055
High-Level Description
Adversaries may inject malicious code into processes via thread local storage (TLS) callbacks in order to evade process-based defenses as well as possibly elevate privileges. TLS callback injection is a method of executing arbitrary code in the address space of a separate live process.
TLS callback injection involves manipulating pointers inside a portable executable (PE) to redirect a process to malicious code before reaching the code's legitimate entry point. TLS callbacks are normally used by the OS to setup and/or cleanup data used by threads. Manipulating TLS callbacks may be performed by allocating and writing to specific offsets within a process’ memory space using other Process Injection techniques such as Process Hollowing.
Running code in the context of another process may allow access to the process's memory, system/network resources, and possibly elevated privileges. Execution via TLS callback injection may also evade detection from security products since the execution is masked under a legitimate process.
Kill Chain Phase
- Defense Evasion (TA0005)
- Privilege Escalation (TA0004)
Platforms: Windows
What to Check
How to Test
Manual Testing
-
Identify Attack Surface: Determine if the target environment is susceptible to Thread Local Storage by examining the target platforms (Windows).
-
Assess Existing Defenses: Review whether mitigations for T1055.005 are in place. If defenses are absent or misconfigured, this technique may be exploitable.
-
Execute Test: Use tools and methods described in the MITRE ATT&CK page and external references below.
Note: No Atomic Red Team tests available for this technique. See Atomic Red Team GitHub for updates.
Remediation Guide
M1040 Behavior Prevention on Endpoint