T1055 Process Injection
Adversaries may inject code into processes in order to evade process-based defenses as well as possibly elevate privileges. Process injection is a method of executing arbitrary code in the address space of a separate live process. 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 process injection may also evade detection from security products since the execution is masked under a legitimate process.
There are many different ways to inject code into a process, many of which abuse legitimate functionalities. These implementations exist for every major OS but are typically platform specific.
More sophisticated samples may perform multiple process injections to segment modules and further evade detection, utilizing named pipes or other inter-process communication (IPC) mechanisms as a communication channel.
Item | Value |
---|---|
ID | T1055 |
Sub-techniques | T1055.001, T1055.002, T1055.003, T1055.004, T1055.005, T1055.008, T1055.009, T1055.011, T1055.012, T1055.013, T1055.014, T1055.015 |
Tactics | TA0005, TA0004 |
Platforms | Linux, Windows, macOS |
Version | 1.3 |
Created | 31 May 2017 |
Last Modified | 30 March 2023 |
Procedure Examples
ID | Name | Description |
---|---|---|
S0469 | ABK | ABK has the ability to inject shellcode into svchost.exe.20 |
S0331 | Agent Tesla | Agent Tesla can inject into known, vulnerable binaries on targeted hosts.49 |
G0050 | APT32 | APT32 malware has injected a Cobalt Strike beacon into Rundll32.exe.69 |
G0067 | APT37 | APT37 injects its malware variant, ROKRAT, into the cmd.exe process.74 |
G0096 | APT41 | APT41 malware TIDYELF loaded the main WINTERLOVE component by injecting it into the iexplore.exe process.71 |
S0438 | Attor | Attor‘s dispatcher can inject itself into running processes to gain higher privileges and to evade detection.55 |
S0347 | AuditCred | AuditCred can inject code from files to other running processes.25 |
S0473 | Avenger | Avenger has the ability to inject shellcode into svchost.exe.20 |
S0093 | Backdoor.Oldrea | Backdoor.Oldrea injects itself into explorer.exe.3536 |
S0534 | Bazar | Bazar can inject code through calling VirtualAllocExNuma .62 |
S0470 | BBK | BBK has the ability to inject shellcode into svchost.exe.20 |
S1039 | Bumblebee | Bumblebee can inject code into multiple processes on infected endpoints.37 |
S0348 | Cardinal RAT | Cardinal RAT injects into a newly spawned process created from a native Windows executable.43 |
S0660 | Clambling | Clambling can inject into the svchost.exe process for execution.60 |
G0080 | Cobalt Group | Cobalt Group has injected code into trusted processes.73 |
S0154 | Cobalt Strike | Cobalt Strike can inject a variety of payloads into processes dynamically chosen by the adversary.404139 |
S0614 | CostaBricks | CostaBricks can inject a payload into the memory of a compromised host.22 |
S0695 | Donut | Donut includes a subproject DonutTest to inject shellcode into a target process.14 |
S0024 | Dyre | Dyre has the ability to directly inject its code into the web browser process.21 |
S0554 | Egregor | Egregor can inject its payload into iexplore.exe process.38 |
S0363 | Empire | Empire contains multiple modules for injecting into processes, such as Invoke-PSInject .13 |
S0168 | Gazer | Gazer injects its communication module into an Internet accessible process through which it performs C2.6667 |
S0032 | gh0st RAT | gh0st RAT can inject malicious code into process created by the “Command_Create&Inject” function.50 |
S0561 | GuLoader | GuLoader has the ability to inject shellcode into a donor processes that is started in a suspended state. GuLoader has previously used RegAsm as a donor process.64 |
S0376 | HOPLIGHT | HOPLIGHT has injected into running processes.33 |
S0040 | HTRAN | HTRAN can inject into into running processes.11 |
S0398 | HyperBro | HyperBro can run shellcode it injects into a newly created process.32 |
S0260 | InvisiMole | InvisiMole can inject itself into another process to avoid detection including use of a technique called ListPlanting that customizes the sorting algorithm in a ListView structure.46 |
S0581 | IronNetInjector | IronNetInjector can use an IronPython scripts to load a .NET injector to inject a payload into its own or a remote process.12 |
S0044 | JHUHUGIT | JHUHUGIT performs code injection injecting its own functions to browser processes.5657 |
S0201 | JPIN | JPIN can inject content into lsass.exe to load a module.24 |
G0094 | Kimsuky | Kimsuky has used Win7Elevate to inject malicious code into explorer.exe.70 |
S0681 | Lizar | Lizar can migrate the loader into another process.59 |
S1059 | metaMain | metaMain can inject the loader file, Speech02.db, into a process.61 |
S0084 | Mis-Type | Mis-Type has been injected directly into a running process, including explorer.exe .52 |
S0247 | NavRAT | NavRAT copies itself into a running Internet Explorer process to evade detection.53 |
S0198 | NETWIRE | NETWIRE can inject code into system processes including notepad.exe, svchost.exe, and vbc.exe.18 |
C0013 | Operation Sharpshooter | During Operation Sharpshooter, threat actors leveraged embedded shellcode to inject a downloader into the memory of Word.77 |
C0014 | Operation Wocao | During Operation Wocao, threat actors injected code into a selected process, which in turn launches a command as a child process of the original.76 |
S0664 | Pandora | Pandora can start and inject code into a new svchost process.54 |
S1050 | PcShare | The PcShare payload has been injected into the logagent.exe and rdpclip.exe processes.17 |
G0068 | PLATINUM | PLATINUM has used various methods of process injection including hot patching.24 |
S0378 | PoshC2 | PoshC2 contains multiple modules for injecting into processes, such as Invoke-PSInject .16 |
S0650 | QakBot | QakBot can inject itself into processes including explore.exe, Iexplore.exe, Mobsync.exe., and wermgr.exe.2829302726 |
S0332 | Remcos | Remcos has a command to hide itself through injecting into another process.8 |
S0496 | REvil | REvil can inject itself into running processes on a compromised host.42 |
S0240 | ROKRAT | ROKRAT can use VirtualAlloc , WriteProcessMemory , and then CreateRemoteThread to execute shellcode within the address space of Notepad.exe .58 |
S0446 | Ryuk | Ryuk has injected itself into remote processes to encrypt files using a combination of VirtualAlloc , WriteProcessMemory , and CreateRemoteThread .68 |
S0596 | ShadowPad | ShadowPad has injected an install module into a newly created process.19 |
G0091 | Silence | Silence has injected a DLL library containing a Trojan into the fwmain32.exe process.75 |
S0692 | SILENTTRINITY | SILENTTRINITY can inject shellcode directly into Excel.exe or a specific process.15 |
S0633 | Sliver | Sliver can inject code into local and remote processes.910 |
S0533 | SLOTHFULMEDIA | SLOTHFULMEDIA can inject into running processes on a compromised host.34 |
S0226 | Smoke Loader | Smoke Loader injects into the Internet Explorer process.44 |
S0380 | StoneDrill | StoneDrill has relied on injecting its payload directly into the process memory of the victim’s preferred browser.65 |
S0266 | TrickBot | TrickBot has used Nt* Native API functions to inject code into legitimate processes such as wermgr.exe .63 |
S0436 | TSCookie | TSCookie has the ability to inject code into the svchost.exe, iexplorer.exe, explorer.exe, and default browser processes.51 |
G0010 | Turla | Turla has also used PowerSploit‘s Invoke-ReflectivePEInjection.ps1 to reflectively load a PowerShell payload into a random process on the victim system.72 |
S0670 | WarzoneRAT | WarzoneRAT has the ability to inject malicious DLLs into a specific process for privilege escalation.45 |
S0579 | Waterbear | Waterbear can inject decrypted shellcode into the LanmanServer service.23 |
S0206 | Wiarp | Wiarp creates a backdoor through which remote attackers can inject files into running processes.47 |
S0176 | Wingbird | Wingbird performs multiple process injections to hijack system processes and execute malicious code.48 |
S1065 | Woody RAT | Woody RAT can inject code into a targeted process by writing to the remote memory of an infected system and then create a remote thread.31 |
Mitigations
ID | Mitigation | Description |
---|---|---|
M1040 | Behavior Prevention on Endpoint | Some endpoint security solutions can be configured to block some types of process injection based on common sequences of behavior that occur during the injection process. For example, on Windows 10, Attack Surface Reduction (ASR) rules may prevent Office applications from code injection. 7 |
M1026 | Privileged Account Management | Utilize Yama (ex: /proc/sys/kernel/yama/ptrace_scope) to mitigate ptrace based process injection by restricting the use of ptrace to privileged users only. Other mitigation controls involve the deployment of security kernel modules that provide advanced access control and process restrictions such as SELinux, grsecurity, and AppArmor. |
Detection
ID | Data Source | Data Component |
---|---|---|
DS0022 | File | File Metadata |
DS0011 | Module | Module Load |
DS0009 | Process | OS API Execution |
References
-
GNU. (2010, February 5). The GNU Accounting Utilities. Retrieved December 20, 2017. ↩
-
Hosseini, A. (2017, July 18). Ten Process Injection Techniques: A Technical Survey Of Common And Trending Process Injection Techniques. Retrieved December 7, 2017. ↩
-
Jahoda, M. et al.. (2017, March 14). redhat Security Guide - Chapter 7 - System Auditing. Retrieved December 20, 2017. ↩
-
Ligh, M.H. et al.. (2014, July). The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory. Retrieved December 20, 2017. ↩
-
Russinovich, M. & Garnier, T. (2017, May 22). Sysmon v6.20. Retrieved December 13, 2017. ↩
-
stderr. (2014, February 14). Detecting Userland Preload Rootkits. Retrieved December 20, 2017. ↩
-
Microsoft. (2021, July 2). Use attack surface reduction rules to prevent malware infection. Retrieved June 24, 2021. ↩
-
Bacurio, F., Salvio, J. (2017, February 14). REMCOS: A New RAT In The Wild. Retrieved November 6, 2018. ↩
-
Kervella, R. (2019, August 4). Cross-platform General Purpose Implant Framework Written in Golang. Retrieved July 30, 2021. ↩
-
The Australian Cyber Security Centre (ACSC), the Canadian Centre for Cyber Security (CCCS), the New Zealand National Cyber Security Centre (NZ NCSC), CERT New Zealand, the UK National Cyber Security Centre (UK NCSC) and the US National Cybersecurity and Communications Integration Center (NCCIC). (2018, October 11). Joint report on publicly available hacking tools. Retrieved March 11, 2019. ↩
-
Reichel, D. (2021, February 19). IronNetInjector: Turla’s New Malware Loading Tool. Retrieved February 24, 2021. ↩
-
Schroeder, W., Warner, J., Nelson, M. (n.d.). Github PowerShellEmpire. Retrieved April 28, 2016. ↩
-
Salvati, M. (2019, August 6). SILENTTRINITY Modules. Retrieved March 24, 2022. ↩
-
Nettitude. (2018, July 23). Python Server for PoshC2. Retrieved April 23, 2019. ↩
-
Vrabie, V. (2020, November). Dissecting a Chinese APT Targeting South Eastern Asian Government Institutions. Retrieved September 19, 2022. ↩
-
Lambert, T. (2020, January 29). Intro to Netwire. Retrieved January 7, 2021. ↩
-
Kaspersky Lab. (2017, August). ShadowPad: popular server management software hit in supply chain attack. Retrieved March 22, 2021. ↩
-
Chen, J. et al. (2019, November). Operation ENDTRADE: TICK’s Multi-Stage Backdoors for Attacking Industries and Stealing Classified Data. Retrieved June 9, 2020. ↩↩↩
-
hasherezade. (2015, November 4). A Technical Look At Dyreza. Retrieved June 15, 2020. ↩
-
The BlackBerry Research and Intelligence Team. (2020, November 12). The CostaRicto Campaign: Cyber-Espionage Outsourced. Retrieved May 24, 2021. ↩
-
Su, V. et al. (2019, December 11). Waterbear Returns, Uses API Hooking to Evade Security. Retrieved February 22, 2021. ↩
-
Windows Defender Advanced Threat Hunting Team. (2016, April 29). PLATINUM: Targeted attacks in South and Southeast Asia. Retrieved February 15, 2018. ↩↩
-
Trend Micro. (2018, November 20). Lazarus Continues Heists, Mounts Attacks on Financial Organizations in Latin America. Retrieved December 3, 2018. ↩
-
Kenefick, I. et al. (2022, October 12). Black Basta Ransomware Gang Infiltrates Networks via QAKBOT, Brute Ratel, and Cobalt Strike. Retrieved February 6, 2023. ↩
-
Kuzmenko, A. et al. (2021, September 2). QakBot technical analysis. Retrieved September 27, 2021. ↩
-
Mendoza, E. et al. (2020, May 25). Qakbot Resurges, Spreads through VBS Files. Retrieved September 27, 2021. ↩
-
Sette, N. et al. (2020, June 4). Qakbot Malware Now Exfiltrating Emails for Sophisticated Thread Hijacking Attacks. Retrieved September 27, 2021. ↩
-
Trend Micro. (2020, December 17). QAKBOT: A decade-old malware still with new tricks. Retrieved September 27, 2021. ↩
-
MalwareBytes Threat Intelligence Team. (2022, August 3). Woody RAT: A new feature-rich malware spotted in the wild. Retrieved December 6, 2022. ↩
-
Falcone, R. and Lancaster, T. (2019, May 28). Emissary Panda Attacks Middle East Government Sharepoint Servers. Retrieved July 9, 2019. ↩
-
US-CERT. (2019, April 10). MAR-10135536-8 – North Korean Trojan: HOPLIGHT. Retrieved April 19, 2019. ↩
-
DHS/CISA, Cyber National Mission Force. (2020, October 1). Malware Analysis Report (MAR) MAR-10303705-1.v1 – Remote Access Trojan: SLOTHFULMEDIA. Retrieved October 2, 2020. ↩
-
Symantec Security Response. (2014, June 30). Dragonfly: Cyberespionage Attacks Against Energy Suppliers. Retrieved April 8, 2016. ↩
-
Slowik, J. (2021, October). THE BAFFLING BERSERK BEAR: A DECADE’S ACTIVITY TARGETING CRITICAL INFRASTRUCTURE. Retrieved December 6, 2021. ↩
-
Cybereason. (2022, August 17). Bumblebee Loader – The High Road to Enterprise Domain Control. Retrieved August 29, 2022. ↩
-
Cybleinc. (2020, October 31). Egregor Ransomware – A Deep Dive Into Its Activities and Techniques. Retrieved December 29, 2020. ↩
-
DFIR Report. (2021, November 29). CONTInuing the Bazar Ransomware Story. Retrieved September 29, 2022. ↩
-
Strategic Cyber LLC. (2017, March 14). Cobalt Strike Manual. Retrieved May 24, 2017. ↩
-
Strategic Cyber LLC. (2020, November 5). Cobalt Strike: Advanced Threat Tactics for Penetration Testers. Retrieved April 13, 2021. ↩
-
Saavedra-Morales, J, et al. (2019, October 20). McAfee ATR Analyzes Sodinokibi aka REvil Ransomware-as-a-Service – Crescendo. Retrieved August 5, 2020. ↩
-
Grunzweig, J.. (2017, April 20). Cardinal RAT Active for Over Two Years. Retrieved December 8, 2018. ↩
-
Baker, B., Unterbrink H. (2018, July 03). Smoking Guns - Smoke Loader learned new tricks. Retrieved July 5, 2018. ↩
-
Harakhavik, Y. (2020, February 3). Warzone: Behind the enemy lines. Retrieved December 17, 2021. ↩
-
Hromcova, Z. and Cherpanov, A. (2020, June). INVISIMOLE: THE HIDDEN PART OF THE STORY. Retrieved July 16, 2020. ↩
-
Zhou, R. (2012, May 15). Backdoor.Wiarp. Retrieved February 22, 2018. ↩
-
Anthe, C. et al. (2016, December 14). Microsoft Security Intelligence Report Volume 21. Retrieved November 27, 2017. ↩
-
Walter, J. (2020, August 10). Agent Tesla | Old RAT Uses New Tricks to Stay on Top. Retrieved December 11, 2020. ↩
-
Quinn, J. (2019, March 25). The odd case of a Gh0stRAT variant. Retrieved July 15, 2020. ↩
-
Tomonaga, S.. (2019, September 18). Malware Used by BlackTech after Network Intrusion. Retrieved May 6, 2020. ↩
-
Gross, J. (2016, February 23). Operation Dust Storm. Retrieved December 22, 2021. ↩
-
Lunghi, D. and Lu, K. (2021, April 9). Iron Tiger APT Updates Toolkit With Evolved SysUpdate Malware. Retrieved November 12, 2021. ↩
-
Hromcova, Z. (2019, October). AT COMMANDS, TOR-BASED COMMUNICATIONS: MEET ATTOR, A FANTASY CREATURE AND ALSO A SPY PLATFORM. Retrieved May 6, 2020. ↩
-
F-Secure. (2015, September 8). Sofacy Recycles Carberp and Metasploit Code. Retrieved August 3, 2016. ↩
-
Lee, B, et al. (2018, February 28). Sofacy Attacks Multiple Government Entities. Retrieved March 15, 2018. ↩
-
Jazi, Hossein. (2021, January 6). Retrohunting APT37: North Korean APT used VBA self decode technique to inject RokRat. Retrieved March 22, 2022. ↩
-
BI.ZONE Cyber Threats Research Team. (2021, May 13). From pentest to APT attack: cybercriminal group FIN7 disguises its malware as an ethical hacker’s toolkit. Retrieved February 2, 2022. ↩
-
Lunghi, D. et al. (2020, February). Uncovering DRBControl. Retrieved November 12, 2021. ↩
-
Ehrlich, A., et al. (2022, September). THE MYSTERY OF METADOR | AN UNATTRIBUTED THREAT HIDING IN TELCOS, ISPS, AND UNIVERSITIES. Retrieved January 23, 2023. ↩
-
Cybereason Nocturnus. (2020, July 16). A BAZAR OF TRICKS: FOLLOWING TEAM9’S DEVELOPMENT CYCLES. Retrieved November 18, 2020. ↩
-
Joe Security. (2020, July 13). TrickBot’s new API-Hammering explained. Retrieved September 30, 2021. ↩
-
Salem, E. (2021, April 19). Dancing With Shellcodes: Cracking the latest version of Guloader. Retrieved July 7, 2021. ↩
-
Kaspersky Lab. (2017, March 7). From Shamoon to StoneDrill: Wipers attacking Saudi organizations and beyond. Retrieved March 14, 2019. ↩
-
ESET. (2017, August). Gazing at Gazer: Turla’s new second stage backdoor. Retrieved September 14, 2017. ↩
-
Kaspersky Lab’s Global Research & Analysis Team. (2017, August 30). Introducing WhiteBear. Retrieved September 21, 2017. ↩
-
Hanel, A. (2019, January 10). Big Game Hunting with Ryuk: Another Lucrative Targeted Ransomware. Retrieved May 12, 2020. ↩
-
Dahan, A. (2017). Operation Cobalt Kitty. Retrieved December 27, 2018. ↩
-
Tarakanov , D.. (2013, September 11). The “Kimsuky” Operation: A North Korean APT?. Retrieved August 13, 2019. ↩
-
Fraser, N., et al. (2019, August 7). Double DragonAPT41, a dual espionage and cyber crime operation APT41. Retrieved September 23, 2019. ↩
-
Faou, M. and Dumont R.. (2019, May 29). A dive into Turla PowerShell usage. Retrieved June 14, 2019. ↩
-
Matveeva, V. (2017, August 15). Secrets of Cobalt. Retrieved October 10, 2018. ↩
-
Mercer, W., Rascagneres, P. (2018, January 16). Korea In The Crosshairs. Retrieved May 21, 2018. ↩
-
Group-IB. (2018, September). Silence: Moving Into the Darkside. Retrieved May 5, 2020. ↩
-
Dantzig, M. v., Schamper, E. (2019, December 19). Operation Wocao: Shining a light on one of China’s hidden hacking groups. Retrieved October 8, 2020. ↩
-
L. O’Donnell. (2019, March 3). RSAC 2019: New Operation Sharpshooter Data Reveals Higher Complexity, Scope. Retrieved September 26, 2022. ↩
-
Aliz Hammond. (2019, August 15). Hiding Malicious Code with “Module Stomping”: Part 1. Retrieved July 14, 2022. ↩