Reflective Code Loading
- ID
- T1620
- Tactics
- TA0005 Stealth
- Platforms
- Linux, macOS, Windows
- Data sources
- Process Creation, Module Load, OS API Execution, Script Execution, Process Access
- Source
- attack.mitre.org
- MITRE last modified
- 12 May 2026
Adversaries may reflectively load code into a process in order to conceal the execution of malicious payloads. Reflective loading involves allocating then executing payloads directly within the memory of the process, vice creating a thread or process backed by a file path on disk (e.g., Shared Modules).
Reflectively loaded payloads may be compiled binaries, anonymous files (only present in RAM), or just snubs of fileless executable code (ex: position-independent shellcode).[1][2][3][4][5] For example, the Assembly.Load() method executed by PowerShell may be abused to load raw code into the running process.[6]
Reflective code injection is very similar to Process Injection except that the “injection” loads code into the processes’ own memory instead of that of a separate process. Reflective loading may evade process-based detections since the execution of the arbitrary code may be masked within a legitimate or otherwise benign process. Reflectively loading payloads directly into memory may also avoid creating files or other artifacts on disk, while also enabling malware to keep these payloads encrypted (or otherwise obfuscated) until execution.[3][4][7][8]
Detection
- DET0300 Detection Strategy for Reflective Code Loading
Data components: Process Creation, Module Load, OS API Execution, Script Execution, Process Access
Groups (5)
Software (26)
- S0013 PlugX
- S0022 Uroburos
- S0154 Cobalt Strike
- S0194 PowerSploit
- S0367 Emotet
- S0447 Lokibot
- S0595 ThiefQuest
- S0625 Cuba
- S0661 FoggyWeb
- S0666 Gelsemium
- S0681 Lizar
- S0689 WhisperGate
- S0692 SILENTTRINITY
- S0695 Donut
- S1022 IceApple
- S1059 metaMain
- S1063 Brute Ratel C4
- S1081 BADHATCH
- S1085 Sardonic
- S1143 LunarLoader
- S1145 Pikabot
- S1213 Lumma Stealer
- S9001 SystemBC
- S9011 BRUSHFIRE
- S9032 MuddyViper
- S9033 Fooder
