Break Process Trees - T1036.009 (34a80bc4-80f2-46e6-94ff-f3265a4b657c)
An adversary may attempt to evade process tree-based analysis by modifying executed malware's parent process ID (PPID). If endpoint protection software leverages the “parent-child" relationship for detection, breaking this relationship could result in the adversary’s behavior not being associated with previous process tree activity. On Unix-based systems breaking this process tree is common practice for administrators to execute software using scripts and programs.(Citation: 3OHA double-fork 2022)
On Linux systems, adversaries may execute a series of Native API calls to alter malware's process tree. For example, adversaries can execute their payload without any arguments, call the fork()
API call twice, then have the parent process exit. This creates a grandchild process with no parent process that is immediately adopted by the init
system process (PID 1), which successfully disconnects the execution of the adversary's payload from its previous process tree.
Another example is using the “daemon” syscall to detach from the current parent process and run in the background.(Citation: Sandfly BPFDoor 2022)(Citation: Microsoft XorDdos Linux Stealth 2022)
Cluster A | Galaxy A | Cluster B | Galaxy B | Level |
---|---|---|---|---|
Masquerading - T1036 (42e8de7b-37b2-4258-905a-6897815e58e0) | Attack Pattern | Break Process Trees - T1036.009 (34a80bc4-80f2-46e6-94ff-f3265a4b657c) | Attack Pattern | 1 |