Process Injection
https://learn.microsoft.com/en-us/dotnet/standard/native-interop/pinvoke
The idea of which is to inject untrusted code into the address space of a trusted process, potentially bypassing defence solutions and allowing the code to inherit the security context of the process's owner.
The high-level steps required for process injection to be successful are to:
- Allocate a new region of memory in the process.
- Copy the shellcode into that region.
- Execute the shellcode (typically with a thread).
There are some types of injection techniques:
- Classic Injection
- Classic Remote Injection
- Thread Hijacking
- Asynchronous Procedure Calls
- Early Bird
- Process Hallowing