mirror of
https://github.com/MBCProject/mbc-markdown
synced 2026-06-08 11:36:36 +00:00
bd31003a22
* 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>
6.6 KiB
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: 0x458C26lea 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