mirror of
https://github.com/MBCProject/mbc-markdown
synced 2026-06-08 11:36:36 +00:00
c3033e4061
* update staging (#158) * update format/wording * Capa 7.1 rule updates (#156) * Update self-deletion.md Added CAPA rule "self delete using alternate data streams" (https://github.com/mandiant/capa-rules/blob/v7.1.0/anti-analysis/anti-forensic/self-deletion/self-delete-using-alternate-data-streams.yml) * Update obfuscated-files-or-information.md added new CAPA rule "encrypt data using RC4 via SystemFunction033" https://github.com/mandiant/capa-rules/blob/v7.1.0/data-manipulation/encryption/rc4/encrypt-data-using-rc4-via-systemfunction033.yml * Update disk-wipe.md Added capa rule "https://github.com/mandiant/capa-rules/blob/v7.1.0/impact/wipe-disk/delete-drive-layout-via-ioctl.yml" https://github.com/mandiant/capa-rules/blob/v7.1.0/impact/wipe-disk/delete-drive-layout-via-ioctl.yml * Update system-information-discovery.md Added new CAPA rule "get disk information via IOCTL" https://github.com/mandiant/capa-rules/blob/v7.1.0/nursery/get-disk-information-via-ioctl.yml * Update system-information-discovery.md Added new CAPA rule "get volume information via IOCTL" https://github.com/mandiant/capa-rules/blob/v7.1.0/nursery/get-volume-information-via-ioctl.yml * Update dns-communication.md Removed duplication in APIs in "Resolve DNS" CAPA rule * Update socket-communication.md Updated APIs for "create raw socket" CAPA rule * Update socket-communication.md Updated APIs on CAPA rule "get socket status" * Update socket-communication.md Updated CAPA rule "initialize Winsock library" * Update socket-communication.md Updated API listing on CAPA rule "receive data on socket" * Update socket-communication.md Updated API listing for "send data on socket" CAPA rule * Update socket-communication.md Update APIs for CAPA rule "set socket configuration" * Update socket-communication.md Updated CAPA rule "connect tcp socket" to add APIs * Update socket-communication.md Added APIs to CAPA rule "create tcp socket" * Update socket-communication.md Added APIs to "create UDP socket" CAPA rule * Update encrypt-data.md Added new APIs to "encrypt data using DPAPI" CAPA rule * Update install-driver.md Added APIs to CAPA rule "install driver" * Update set-file-attributes.md Added APIs to CAPA rule "change file permissions on Linux" * Update writes-file.md Updated APIs for CAPA rule "write file on linux" * Update system-information-discovery.md Removed API from CAPA rule "get disk size" to align with published CAPA rule in v. 7.1 * Update create-process.md Added API to "create process on linux" CAPA rule * Update hijack-execution-flow.md Added API calls to CAPA rule "execute shellcode via Windows callback function" * Update self-deletion.md Changed link to master * Update obfuscated-files-or-information.md Changed rule link to release to point to master * Update system-information-discovery.md Removed nursery rules * Update disk-wipe.md Updated link to master branch * Update socket-communication.md Checked for correct socket listings under the APIs --------- Co-authored-by: brightmt <50853930+brightmt@users.noreply.github.com> * New method (#159) * update format/wording * Update disassembler-evasion.md * Update disassembler-evasion.md * Corpus fix (#160) * update format/wording * fix tables * Edits --------- Co-authored-by: ryan <ryanxu@wustl.edu> * New method (#161) * update format/wording * Update disassembler-evasion.md * Update disassembler-evasion.md --------- Co-authored-by: brightmt <50853930+brightmt@users.noreply.github.com> Co-authored-by: ryan <ryanxu@wustl.edu>
6.5 KiB
6.5 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, fork |
| 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 | Class | Mapping | APIs |
|---|---|---|---|
| stealth_system_procname | StealthSystemProcName | Create Process (C0017) | ShellExecuteExW, CreateProcessInternalW |
| stack_pivot | StackPivotProcessCreate | Create Process (C0017) | CreateProcessInternalW, NtCreateUserProcess |
| wmi | WMICreateProcess | Create Process:Create Process via WMI (C0017.002) | CreateProcessInternalW, NtCreateUserProcess |
| script_downloader | ScriptCreatedProcess | Create Process (C0017) | CreateProcessInternalW, NtCreateUserProcess |
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