Files
MBCProject-mbc-markdown/micro-behaviors/process/create-process.md
T
Desiree Beck bd31003a22 Staging (#151)
* Fixing links

* Code samples (#149)

* Update obfuscated-files-or-information.md

Added code sample with some proposed formatting incl. annotations explaining broad behavior patterns

* Update obfuscated-files-or-information.md

Added brief clarification to note

* Update obfuscated-files-or-information.md

Made requested changes to format

* Update system-information-discovery.md

Added code snippet from PoisonIvy RAT

* Update debugger-detection.md

Added code with example of PEB access

* Update system-information-discovery.md

Added new method based on code snippet

* Update registry.md

Added snippet for registry key query

* Update generate-pseudorandom-sequence.md

Added example of Mersenne Twister algorithm

* Update keylogging.md

Add Dark Comet keylogging code sample

* Update dns-communication.md

Added code sample from darkcomet

* Update socket-communication.md

Added DarkComet code snippet

* Update delete-file.md

Provided DarkComet sample

* Update file-and-directory-discovery.md

Added DarkComet snippet

* Update allocate-memory.md

Added DarkComet sample

* Update modulo.md

Added Hupigon snippet

* Update get-file-attributes.md

Added Hupigon sample

* Update application-window-discovery.md

Added Hupigon snippet

* Update create-process.md

Added Hupigon snippet.

* Update conditional-execution.md

Added Hupigon snippet

* Update create-thread.md

Added Hupigon snippet

* Update resume-thread.md

Added Hupigon snippet

* Update command-and-scripting-interpreter.md

Added SmokeLoader sample

* Update change-memory-protection.md

Added SmokeLoader snippet

* Update console.md

Added snippet from SmokeLoader

* Update dynamic-analysis-evasion.md

Added Industroyer sample

* Update interprocess-communication.md

Added CobaltStrike sample

* Update read-file.md

Added Cobalt Strike snippet

* Update writes-file.md

Added cobalt strike snippet

* Update noncryptographic-hash.md

Added emotet snippet

* Update clipboard-modification.md

Added emotet snippet

* Update check-mutex.md

Added emotet sampler

* Update check-mutex.md

Fixed typo

* Update create-mutex.md

Added Emotet snippet

* Update allocate-thread-local-storage.md

Added emotet snippet

* Update registry-run-keys-startup-folder.md

Added emotet snippet

* Update wininet.md

Added EnvyScout snippet

* Update http-communication.md

Added EnvyScout snippet

* Update enumerate-threads.md

Added Envyscout snippet

* Update set-thread-local-storage-value.md

Added Envyscout sample

* Update create-directory.md

Added explosive snippet

* Update delete-directory.md

Added explosive code snippet (note: the malware is called "explosive")

* Update set-file-attributes.md

Added explosive sample

* Update terminate-process.md

Added explosive snippet

* Update terminate-thread.md

Added explosive sample

* Update move-file.md

Added Finfisher snippet

* Update screen-capture.md

Added ECCENTRICBANDWAGON snippet

* Fix links (#150)

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* fix link

* update mod date

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* fix links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* update links

* Update code-discovery.md

* Update taskbar-discovery.md

* Update conditional-execution.md

* Update memory-dump-evasion.md

* Update execution-dependency.md

* Update compromise-data-integrity.md

* Update dns-communication.md

* Update http-communication.md

* Update interprocess-communication.md

* Update socket-communication.md

* Update wininet.md

* Update generate-pseudorandom-sequence.md

* Update modulo.md

* Update noncryptographic-hash.md

* Update create-directory.md

* Update delete-directory.md

* Update delete-file.md

* Update get-file-attributes.md

* Update move-file.md

* Update read-file.md

* Update terminate-thread.md

* Update set-file-attributes.md

* Update writes-file.md

* Update allocate-memory.md

* Update change-memory-protection.md

* Update console.md

* Update registry.md

* Update allocate-thread-local-storage.md

* Update check-mutex.md

* Update terminate-process.md

* Update create-mutex.md

* Update create-process.md

* Update set-thread-local-storage-value.md

* Update resume-thread.md

* Update enumerate-threads.md

* Update create-thread.md

* update for 3.1 release

* update for 3.1 release

* update for 3.1 release

---------

Co-authored-by: ryan <ryanxu@wustl.edu>
Co-authored-by: brightmt <50853930+brightmt@users.noreply.github.com>
2024-05-01 16:09:33 -04:00

6.6 KiB

ID C0017
Objective(s) Process
Related ATT&CK Techniques None
Version 2.2
Created 4 December 2020
Last Modified 30 April 2024

Create Process

Malware creates a process.

Methods

Name ID Description
Create Process via Shellcode C0017.001 Malware uses shellcode to create a process.
Create Process via WMI C0017.002 Malware uses WMI to create a process.
Create Suspended Process C0017.003 Malware created a suspended process.

Use in Malware

Name Date Method Description
Stuxnet 2010 C0017.002 Stuxnet will use WMI operations with the explorer.exe token in order to copy itself and execute on the remote share. [1]
BlackEnergy 2007 -- BlackEnergy creates a process on Windows. [2]
Dark Comet 2008 -- Dark Comet creates a process on Windows. [2]
Gamut 2014 -- Gamut creates a process on Windows. [2]
GoBotKR 2019 -- GoBotKR creates a process on Windows. [2]
Hupigon 2013 -- Hupigon creates a process on Windows. [2]
Kovter 2016 -- Kovter creates a process on Windows. [2]
Mebromi 2011 -- Mebromi creates a process on Windows. [2]
Redhip 2011 -- Redhip creates a process on Windows. [2]
Redhip 2011 C0017.003 Redhip creates a suspended process. [2]
Shamoon 2012 -- Shamoon creates a process on Windows. [2]
TrickBot 2016 -- TrickBot creates a process on Windows. [2]
TrickBot 2016 C0017.003 TrickBot creates a suspended process. [2]
UP007 2016 -- The malware creates a process on Windows. [2]

Detection

Tool: capa Mapping APIs
create process on Windows Create Process (C0017) kernel32.WinExec, kernel32.CreateProcess, shell32.ShellExecute, shell32.ShellExecuteEx, advapi32.CreateProcessAsUser, advapi32.CreateProcessWithLogon, advapi32.CreateProcessWithToken, kernel32.CreateProcessInternal, ntdll.NtCreateUserProcess, ntdll.NtCreateProcess, ntdll.NtCreateProcessEx, ntdll.ZwCreateProcess, ZwCreateProcessEx, ntdll.ZwCreateUserProcess, ntdll.RtlCreateUserProcess, System.Diagnostics.Process::Start
create process on Linux Create Process (C0017) execve, execl, execlp, execle, execv, execvp, execvpe, posix_spawn, posix_spawnp, popen
execute command Create Process (C0017) system, _system, wsystem, _wsystem
create a process with modified I/O handles and window Create Process (C0017) kernel32.CreateProcess, kernel32.CreateProcessInternal, advapi32.CreateProcessAsUser, advapi32.CreateProcessWithLogon, advapi32.CreateProcessWithToken, kernel32.GetStartupInfo, System.Diagnostics.Process::Start
create process suspended Create Process::Create Suspended Process (C0017.003) kernel32.CreateProcess, advapi32.CreateProcessAsUser
Tool: CAPE Mapping APIs
stealth_system_procname Create Process (C0017) ShellExecuteExW, CreateProcessInternalW
stack_pivot_process_create Create Process (C0017) NtCreateUserProcess, CreateProcessInternalW
wmi_create_process Create Process (C0017) NtCreateUserProcess, CreateProcessInternalW
wmi_create_process Create Process::Create Process via WMI (C0017.002) NtCreateUserProcess, CreateProcessInternalW
script_created_process Create Process (C0017) NtCreateUserProcess, CreateProcessInternalW

C0049 Snippet

Process::Create Process SHA256: 465d3aac3ca4daa9ad4de04fcb999f358396efd7abceed9701c9c28c23c126db Location: 0x458C26
lea     param_1, [ebp + 0xfffffeb0]
push    param_1 ; pointer to PROCESS_INFORMATION struct to hold information about the new process
lea     param_1, [ebp + 0xfffffec0]
push    param_1 ; pointer to STARTUPINFO struct
push    0x0     ; path to directory for new process -- if null, use same directory as calling process
push    0x0     ; environment block for new process -- if null, use the calling process's environment block
push    0x4     ; process creation flags (CREATE_SUSPENDED in this case)
push    0x0     ; if heritable handles in the calling process should be inherited by the new process.  If false, inheritance will not occur.
push    0x0     ; security attributes for new process.  If null, child processes cannot inherit thread running new process
push    0x0     ; security attributes for new process.  If null, child processes cannot inherit handle for new process
mov     param_1, dword ptr [ebp + local_8]
call    FUN_00404dfc
push    param_1 ; command line for new process to execute
push    0x0     ; application name to be executed.  If null, use command line provided in another argument
call    KERNEL32.DLL::CreateProcessA    ; Call Windows API function to create new process

References

[1] https://docs.broadcom.com/doc/security-response-w32-stuxnet-dossier-11-en

[2] capa v4.0, analyzed at MITRE on 10/12/2022