Instances of computer programs that are being executed by at least one thread. Processes have memory space for process executables, loaded modules (DLLs or shared libraries), and allocated memory regions containing everything from user input to application-specific data structures[1]
Initial construction of a WMI object, such as a filter, consumer, subscription, binding, or provider (ex: Sysmon EIDs 19-21)
Initial construction of a WMI object, such as a filter, consumer, subscription, binding, or provider (ex: Sysmon EIDs 19-21)
Domain | ID | Name | Detects | |
---|---|---|---|---|
Enterprise | T1548 | Abuse Elevation Control Mechanism |
Also look for any process API calls for behavior that may be indicative of Process Injection. Monitoring OS API callbacks for the execution can also be a way to detect this behavior but requires specialized security tooling. |
|
.004 | Elevated Execution with Prompt |
Monitoring OS API callbacks for the execution can also be a way to detect this behavior but requires specialized security tooling. |
||
Enterprise | T1134 | Access Token Manipulation |
Monitor for API calls, loaded by a payload, for token manipulation only through careful analysis of user network activity, examination of running processes, and correlation with other endpoint and network behavior. There are many Windows API calls a payload can take advantage of to manipulate access tokens (e.g., |
|
.001 | Token Impersonation/Theft | |||
.002 | Create Process with Token |
Monitor for API calls associated with detecting token manipulation only through careful analysis of user activity, examination of running processes, and correlation with other endpoint and network behavior. Analysts can also monitor for use of Windows APIs such as |
||
.003 | Make and Impersonate Token | |||
.004 | Parent PID Spoofing | |||
.005 | SID-History Injection | |||
Enterprise | T1087 | .001 | Account Discovery: Local Account |
Monitor for API calls (such as |
.002 | Account Discovery: Domain Account |
Monitor for API calls that may attempt to gather information about domain accounts such as type of user, privileges and groups. |
||
Enterprise | T1010 | Application Window Discovery |
Monitor for API calls (such as |
|
Enterprise | T1123 | Audio Capture | ||
Enterprise | T1547 | Boot or Logon Autostart Execution |
Monitor for API calls that may configure system settings to automatically execute a program during system boot or logon to maintain persistence or gain higher-level privileges on compromised systems. |
|
.010 | Port Monitors |
Monitor process API calls to |
||
.012 | Print Processors |
Monitor process API calls to |
||
Enterprise | T1115 | Clipboard Data |
Monitor API calls that could collect data stored in the clipboard from users copying information within or between applications. |
|
Enterprise | T1059 | .002 | Command and Scripting Interpreter: AppleScript |
Monitor for execution of AppleScript through |
Enterprise | T1543 | Create or Modify System Process |
Monitor for API calls that may create or modify system-level processes to repeatedly execute malicious payloads as part of persistence. |
|
.003 | Windows Service |
Monitor for API calls that may create or modify Windows services (ex: |
||
Enterprise | T1555 | Credentials from Password Stores |
Monitor for API calls that may search for common password storage locations to obtain user credentials. |
|
.001 | Keychain |
Monitor for Keychain Services API calls, specifically legacy extensions such as |
||
.003 | Credentials from Web Browsers |
Monitor for API calls that may acquire credentials from web browsers by reading files specific to the target browser.[7] |
||
.004 | Windows Credential Manager |
Consider monitoring API calls such as |
||
.005 | Password Managers |
Monitor for API calls that may search for common password storage locations to obtain user credentials. |
||
Enterprise | T1005 | Data from Local System |
Monitor for API calls that may search local system sources, such as file systems or local databases, to find files of interest and sensitive data prior to Exfiltration. |
|
Enterprise | T1565 | Data Manipulation |
Monitor for API calls associated with altering data. Remote access tools with built-in features may interact directly with the Windows API to gather information. |
|
.002 | Transmitted Data Manipulation |
Monitor for API calls associated with altering data. Remote access tools with built-in features may interact directly with the Windows API to gather information. |
||
.003 | Runtime Data Manipulation |
Monitor for API calls associated with altering data. Remote access tools with built-in features may interact directly with the Windows API to gather information. |
||
Enterprise | T1622 | Debugger Evasion |
Monitor for API calls (such as |
|
Enterprise | T1482 | Domain Trust Discovery |
Monitor for API calls associated with gathering information on domain trust relationships that may be used to identify lateral movement like DSEnumerateDomainTrusts() Win32 API call to spot activity associated with Domain Trust Discovery.[10] Information may also be acquired through Windows system management tools such as PowerShell. The .NET method GetAllTrustRelationships() can be an indicator of Domain Trust Discovery.[11] |
|
Enterprise | T1611 | Escape to Host |
Remote access tools with built-in features may interact directly with the Windows API, such as calling |
|
Enterprise | T1546 | .009 | Event Triggered Execution: AppCert DLLs |
Monitor and analyze application programming interface (API) calls that are indicative of Registry edits, such as |
.010 | Event Triggered Execution: AppInit DLLs |
Monitor and analyze application programming interface (API) calls that are indicative of Registry edits such as |
||
Enterprise | T1083 | File and Directory Discovery |
Monitor for API calls that may enumerate files and directories or may search in specific locations of a host or network share for certain information within a file system. |
|
Enterprise | T1564 | Hide Artifacts |
Monitor for API calls that may attempt to hide artifacts associated with their behaviors to evade detection. |
|
.004 | NTFS File Attributes |
Monitor calls to the |
||
Enterprise | T1070 | Indicator Removal on Host |
Monitor for API calls that may delete or alter generated artifacts on a host system, including logs or captured files such as quarantined malware. |
|
.001 | Clear Windows Event Logs |
Monitor for Windows API calls that may clear Windows Event Logs to hide the activity of an intrusion. |
||
Enterprise | T1056 | Input Capture |
Monitor for API calls to SetWindowsHook, GetKeyState, and GetAsyncKeyState [17] |
|
.001 | Keylogging |
Monitor for API calls to the SetWindowsHook, GetKeyState, and GetAsyncKeyState.[17] and look for common keylogging API calls. API calls alone are not an indicator of keylogging, but may provide behavioral data that is useful when combined with other information such as new files written to disk and unusual processes. |
||
.004 | Credential API Hooking |
Monitor for API calls to the SetWindowsHookEx and SetWinEventHook functions, which install a hook procedure.[18][19] Also consider analyzing hook chains (which hold pointers to hook procedures for each type of hook) using tools[19][20][21] or by programmatically examining internal kernel structures.[22][23] |
||
Enterprise | T1556 | Modify Authentication Process |
Monitor for calls to |
|
.001 | Domain Controller Authentication |
Monitor for API calls to OpenProcess that can be used to manipulate lsass.exe running on a domain controller |
||
Enterprise | T1112 | Modify Registry |
Monitor for API calls associated with concealing Registry keys, such as Reghide. [25] Inspect and cleanup malicious hidden Registry entries using Native Windows API calls and/or tools such as Autoruns [26] and RegDelNull [27]. |
|
Enterprise | T1111 | Multi-Factor Authentication Interception |
Monitor for API calls associated with polling to intercept keystrokes. |
|
Enterprise | T1106 | Native API |
Monitoring API calls may generate a significant amount of data and may not be useful for defense unless collected under specific circumstances, since benign use of API functions are common and may be difficult to distinguish from malicious behavior. Correlation of other events with behavior surrounding API function calls using API monitoring will provide additional context to an event that may assist in determining if it is due to malicious behavior. Correlation of activity by process lineage by process ID may be sufficient. |
|
Enterprise | T1135 | Network Share Discovery |
Monitor for API calls that may create and cultivate social media accounts that can be used during targeting. |
|
Enterprise | T1003 | OS Credential Dumping |
Monitor for API calls that may attempt to dump credentials to obtain account login and credential material, normally in the form of a hash or a clear text password, from the operating system and software. |
|
.001 | LSASS Memory |
Monitor for API calls that may attempt to access credential material stored in the process memory of the Local Security Authority Subsystem Service (LSASS). |
||
Enterprise | T1120 | Peripheral Device Discovery |
Monitor for API calls that may attempt to gather information about attached peripheral devices and components connected to a computer system. |
|
Enterprise | T1542 | Pre-OS Boot |
Monitor for API calls that may abuse Pre-OS Boot mechanisms as a way to establish persistence on a system. Disk check, forensic utilities, and data from device drivers (i.e. API calls) may reveal anomalies that warrant deeper investigation. [28] |
|
.002 | Component Firmware |
Monitor for API calls associated with the use of device drivers and/or provided by SMART (Self-Monitoring, Analysis and Reporting Technology) [29] [30] disk monitoring may reveal malicious manipulations of components. Otherwise, this technique may be difficult to detect since malicious activity is taking place on system components possibly outside the purview of OS security and integrity mechanisms. |
||
Enterprise | T1057 | Process Discovery |
Monitor for API calls may attempt to get information about running processes on a system. |
|
Enterprise | T1055 | Process Injection |
Monitoring Windows API calls indicative of the various types of code injection may generate a significant amount of data and may not be directly useful for defense unless collected under specific circumstances for known bad sequences of calls, since benign use of API functions may be common and difficult to distinguish from malicious behavior. Windows API calls such as |
|
.001 | Dynamic-link Library Injection |
Monitoring Windows API calls indicative of the various types of code injection may generate a significant amount of data and may not be directly useful for defense unless collected under specific circumstances for known bad sequences of calls, since benign use of API functions may be common and difficult to distinguish from malicious behavior. Windows API calls such as |
||
.002 | Portable Executable Injection |
Monitoring Windows API calls indicative of the various types of code injection may generate a significant amount of data and may not be directly useful for defense unless collected under specific circumstances for known bad sequences of calls, since benign use of API functions may be common and difficult to distinguish from malicious behavior. Windows API calls such as |
||
.003 | Thread Execution Hijacking |
Monitoring Windows API calls indicative of the various types of code injection may generate a significant amount of data and may not be directly useful for defense unless collected under specific circumstances for known bad sequences of calls, since benign use of API functions may be common and difficult to distinguish from malicious behavior. Windows API calls such as |
||
.004 | Asynchronous Procedure Call |
Monitoring Windows API calls indicative of the various types of code injection may generate a significant amount of data and may not be directly useful for defense unless collected under specific circumstances for known bad sequences of calls, since benign use of API functions may be common and difficult to distinguish from malicious behavior. Windows API calls such as |
||
.005 | Thread Local Storage |
Monitoring Windows API calls indicative of the various types of code injection may generate a significant amount of data and may not be directly useful for defense unless collected under specific circumstances for known bad sequences of calls, since benign use of API functions may be common and difficult to distinguish from malicious behavior. Windows API calls such as |
||
.008 | Ptrace System Calls |
Monitoring for Linux specific calls such as the ptrace system call should not generate large amounts of data due to their specialized nature, and can be a very effective method to detect some of the common process injection methods.[31] [32] [33] [34] |
||
.011 | Extra Window Memory Injection |
Monitor for API calls related to enumerating and manipulating EWM such as GetWindowLong [35] and SetWindowLong [36]. Malware associated with this technique have also used SendNotifyMessage [37] to trigger the associated window procedure and eventual malicious injection. [13] |
||
.012 | Process Hollowing |
Monitoring Windows API calls indicative of the various types of code injection may generate a significant amount of data and may not be directly useful for defense unless collected under specific circumstances for known bad sequences of calls, since benign use of API functions may be common and difficult to distinguish from malicious behavior. Windows API calls such as |
||
.013 | Process Doppelgänging |
Monitor and analyze calls to |
||
.014 | VDSO Hijacking |
Monitor for malicious usage of system calls, such as ptrace and mmap, that can be used to attach to, manipulate memory, then redirect a processes' execution path. Monitoring for Linux specific calls such as the ptrace system call should not generate large amounts of data due to their specialized nature, and can be a very effective method to detect some of the common process injection methods.[31][32][33][34] |
||
.015 | ListPlanting |
Consider monitoring for excessive use of Monitoring Windows API calls indicative of the various types of code injection may generate a significant amount of data and may not be directly useful for defense unless collected under specific circumstances for known bad sequences of calls, since benign use of API functions may be common and difficult to distinguish from malicious behavior. Windows API calls such as |
||
Enterprise | T1012 | Query Registry |
Monitor for API calls (such as |
|
Enterprise | T1620 | Reflective Code Loading |
Monitor for code artifacts associated with reflectively loading code, such as the abuse of .NET functions such as |
|
Enterprise | T1113 | Screen Capture |
Monitoring for screen capture behavior will depend on the method used to obtain data from the operating system and write output files. Detection methods could include collecting information from unusual processes using API calls used to obtain image data, and monitoring for image files written to disk, such as |
|
Enterprise | T1489 | Service Stop |
Remote access tools with built-in features may interact directly with the Windows API to perform these functions outside of typical system utilities. For example, |
|
Enterprise | T1129 | Shared Modules |
Monitor for API calls that may execute malicious payloads via loading shared modules. |
|
Enterprise | T1518 | Software Discovery |
Monitor for API calls that may attempt to get a listing of software and software versions that are installed on a system or in a cloud environment. |
|
.001 | Security Software Discovery |
Monitor for API calls that may attempt to get a listing of security software, configurations, defensive tools, and sensors that are installed on a system or in a cloud environment. |
||
Enterprise | T1218 | System Binary Proxy Execution |
Monitor for API calls that may forge credential materials that can be used to gain access to web applications or Internet services. |
|
.002 | Control Panel |
Monitor for API calls that may forge web cookies that can be used to gain access to web applications or Internet services. |
||
Enterprise | T1082 | System Information Discovery |
Monitor for API calls that may attempt to get detailed information about the operating system and hardware, including version, patches, hotfixes, service packs, and architecture. Remote access tools with built-in features may interact directly with the Windows API to gather information. Information may also be acquired through Windows system management tools such as Windows Management Instrumentation and PowerShell. In cloud-based systems, native logging can be used to identify access to certain APIs and dashboards that may contain system information. Depending on how the environment is used, that data alone may not be useful due to benign use during normal operations. |
|
Enterprise | T1614 | System Location Discovery |
Remote access tools with built-in features may interact directly with the Windows API, such as calling |
|
.001 | System Language Discovery |
Monitor for API calls that may attempt to gather information about the system language of a victim in order to infer the geographical location of that host. |
||
Enterprise | T1016 | System Network Configuration Discovery |
Monitor for API calls (such as |
|
Enterprise | T1049 | System Network Connections Discovery |
Monitor for API calls that may attempt to get a listing of network connections to or from the compromised system they are currently accessing or from remote systems by querying for information over the network. |
|
Enterprise | T1033 | System Owner/User Discovery |
Monitor for API calls that may attempt to dump credentials to obtain account login and credential material, normally in the form of a hash or a clear text password, from the operating system and software. |
|
Enterprise | T1124 | System Time Discovery |
Monitor for API calls that may gather the system time and/or time zone from a local or remote system. Remote access tools with built-in features may interact directly with the Windows API to gather information. |
|
Enterprise | T1125 | Video Capture |
Detection of this technique may be difficult due to the various APIs that may be used. Telemetry data regarding API use may not be useful depending on how a system is normally used, but may provide context to other potentially malicious activity occurring on a system. Behavior that could indicate technique use include an unknown or unusual process accessing APIs associated with devices or software that interact with the video camera, recording devices, or recording software, and a process periodically writing files to disk that contain video or camera image data. |
|
Enterprise | T1497 | Virtualization/Sandbox Evasion |
Monitor for API calls that may employ various means to detect and avoid virtualization and analysis environments. Detecting actions related to virtualization and sandbox identification may be difficult depending on the adversary's implementation and monitoring required. |
|
.001 | System Checks |
Monitor for API calls that may employ various means to detect and avoid virtualization and analysis environments. Detecting actions related to virtualization and sandbox identification may be difficult depending on the adversary's implementation and monitoring required. |
||
.002 | User Activity Based Checks |
Monitor for API calls that may employ various means to detect and avoid virtualization and analysis environments. Detecting actions related to virtualization and sandbox identification may be difficult depending on the adversary's implementation and monitoring required. |
||
.003 | Time Based Evasion |
Monitor for API calls that may employ various time-based methods to detect and avoid virtualization and analysis environments. Detecting actions related to virtualization and sandbox identification may be difficult depending on the adversary's implementation and monitoring required. |
Opening of a process by another process, typically to read memory of the target process (ex: Sysmon EID 10)
Opening of a process by another process, typically to read memory of the target process (ex: Sysmon EID 10)
Domain | ID | Name | Detects | |
---|---|---|---|---|
Enterprise | T1185 | Browser Session Hijacking |
This may be a difficult technique to detect because adversary traffic may be masked by normal user traffic. Monitor for Process Injection against browser applications. |
|
Enterprise | T1555 | Credentials from Password Stores |
Monitor for processes being accessed that may search for common password storage locations to obtain user credentials. |
|
.002 | Securityd Memory |
Monitor for processes being accessed that may obtain root access (allowing them to read securityd’s memory), then they can scan through memory to find the correct sequence of keys in relatively few tries to decrypt the user’s logon keychain. |
||
.003 | Credentials from Web Browsers |
Monitor process execution logs to include PowerShell Transcription focusing on those that perform a combination of behaviors including reading web browser process memory, utilizing regular expressions, and those that contain numerous keywords for common web applications (Gmail, Twitter, Office365, etc.). |
||
.005 | Password Managers |
Monitor process being accessed that may acquire user credentials from third-party password managers.[44] |
||
Enterprise | T1559 | Inter-Process Communication |
Monitor for processes making abnormal calls to higher privileged processes, such as a user application connecting to a VPN service.[45] |
|
.003 | XPC Services |
Monitor for processes making abnormal calls to higher privileged processes, such as a user application connecting to a VPN service.[45] |
||
Enterprise | T1556 | Modify Authentication Process |
Monitor for unexpected processes interacting with authentication mechanisms and processes to access user credentials or enable otherwise unwarranted access to accounts. |
|
.001 | Domain Controller Authentication |
Monitor for unexpected processes interacting with the authentication process on a domain controller to bypass the typical authentication mechanisms and enable access to accounts. |
||
Enterprise | T1003 | OS Credential Dumping |
Monitor for unexpected processes interacting with lsass.exe.[46] Common credential dumpers such as Mimikatz access the LSA Subsystem Service (LSASS) process by opening the process, locating the LSA secrets key, and decrypting the sections in memory where credential details are stored. Credential dumpers may also use methods for reflective Process Injection to reduce potential indicators of malicious activity. LinuxTo obtain the passwords and hashes stored in memory, processes must open a maps file in the /proc filesystem for the process being analyzed. This file is stored under the path |
|
.001 | LSASS Memory |
Monitor for unexpected processes interacting with LSASS.exe.[46] Common credential dumpers such as Mimikatz access LSASS.exe by opening the process, locating the LSA secrets key, and decrypting the sections in memory where credential details are stored. Credential dumpers may also use methods for reflective Process Injection to reduce potential indicators of malicious activity. |
||
Enterprise | T1055 | Process Injection |
Monitor for processes being viewed that may inject code into processes in order to evade process-based defenses as well as possibly elevate privileges. |
|
.001 | Dynamic-link Library Injection |
Monitor for process being viewed that may inject dynamic-link libraries (DLLs) into processes in order to evade process-based defenses as well as possibly elevate privileges. |
||
.002 | Portable Executable Injection |
Monitor for processes being viewed that may inject portable executables (PE) into processes in order to evade process-based defenses as well as possibly elevate privileges. |
||
.003 | Thread Execution Hijacking |
Monitor for processes being viewed that may inject malicious code into hijacked processes in order to evade process-based defenses as well as possibly elevate privileges. |
||
.004 | Asynchronous Procedure Call |
Monitor for processes being viewed that may inject malicious code into processes via the asynchronous procedure call (APC) queue in order to evade process-based defenses as well as possibly elevate privileges. |
||
.005 | Thread Local Storage |
Monitor for processes being viewed that may inject malicious code into processes via thread local storage (TLS) callbacks in order to evade process-based defenses as well as possibly elevate privileges. |
||
.008 | Ptrace System Calls |
Monitor for processes being viewed that may inject malicious code into processes via ptrace (process trace) system calls in order to evade process-based defenses as well as possibly elevate privileges. |
||
.012 | Process Hollowing |
Monitor for processes being viewed that may inject malicious code into suspended and hollowed processes in order to evade process-based defenses. |
||
Enterprise | T1539 | Steal Web Session Cookie |
Monitor for attempts by programs to inject into or dump browser process memory. |
|
Enterprise | T1033 | System Owner/User Discovery |
Monitor for unexpected processes interacting with lsass.exe.[46] Common credential dumpers such as Mimikatz access the LSA Subsystem Service (LSASS) process by opening the process, locating the LSA secrets key, and decrypting the sections in memory where credential details are stored. Credential dumpers may also use methods for reflective Process Injection to reduce potential indicators of malicious activity. LinuxTo obtain the passwords and hashes stored in memory, processes must open a maps file in the /proc filesystem for the process being analyzed. This file is stored under the path |
Birth of a new running process (ex: Sysmon EID 1 or Windows EID 4688)
Birth of a new running process (ex: Sysmon EID 1 or Windows EID 4688)
Domain | ID | Name | Detects | |
---|---|---|---|---|
Enterprise | T1548 | Abuse Elevation Control Mechanism |
Monitor for newly executed processes that may circumvent mechanisms designed to control elevate privileges to gain higher-level permissions. |
|
.002 | Bypass User Account Control |
Monitor newly executed processes, such as |
||
.003 | Sudo and Sudo Caching |
Monitor newly executed processes that may perform sudo caching and/or use the suoders file to elevate privileges. |
||
.004 | Elevated Execution with Prompt |
Consider monitoring for |
||
Enterprise | T1134 | Access Token Manipulation |
Monitor for executed processes that may modify access tokens to operate under a different user or system security context to perform actions and bypass access controls. |
|
.004 | Parent PID Spoofing |
Monitor for newly constructed processes and/or command-lines that may abuse mechanisms to evade defenses, such as those blocking processes spawning directly from Office documents, and analysis targeting unusual/potentially malicious parent-child process relationships, such as spoofing the PPID of PowerShell/Rundll32 to be explorer.exe |
||
Enterprise | T1087 | Account Discovery |
Monitor for processes that can be used to enumerate user accounts and groups such as |
|
.001 | Local Account |
Monitor for processes that can be used to enumerate user accounts and groups such as |
||
.002 | Domain Account |
Monitor for processes that can be used to enumerate domain accounts and groups, such as |
||
.003 | Email Account |
Monitor for newly executed processes, such as Windows Management Instrumentation and PowerShell , with arguments that can be used to enumerate email addresses and accounts. |
||
Enterprise | T1098 | Account Manipulation |
Monitor for newly constructed processes indicative of modifying account settings, such as those that modify authorized_keys or /etc/ssh/sshd_config files. |
|
.004 | SSH Authorized Keys |
Monitor for suspicious processes modifying the authorized_keys or /etc/ssh/sshd_config files. |
||
Enterprise | T1010 | Application Window Discovery |
Monitor for newly executed processes that may attempt to get a listing of open application windows. System and network discovery techniques normally occur throughout an operation as an adversary learns the environment. Data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities based on the information obtained. |
|
Enterprise | T1560 | Archive Collected Data |
Monitor for newly constructed processes and/or command-lines that aid in compression or encrypting data that is collected prior to exfiltration, such as 7-Zip, WinRAR, and WinZip. |
|
.001 | Archive via Utility |
Monitor for newly constructed processes and/or command-lines that aid in compression or encrypting data that is collected prior to exfiltration, such as 7-Zip, WinRAR, and WinZip. |
||
Enterprise | T1197 | BITS Jobs |
Monitor for newly constructed BITS tasks to enumerate using the BITSAdmin tool (bitsadmin /list /allusers /verbose). |
|
Enterprise | T1547 | Boot or Logon Autostart Execution |
Suspicious program execution as autostart programs may show up as outlier processes that have not been seen before when compared against historical data to increase confidence of malicious activity, data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities, such as network connections made for Command and Control, learning details about the environment through Discovery, and Lateral Movement. |
|
.003 | Time Providers |
Monitor newly executed processes, such as the W32tm.exe utility. [48] The Sysinternals Autoruns tool may also be used to analyze auto-starting locations, including DLLs listed as time providers. [49] |
||
.006 | Kernel Modules and Extensions |
Monitor for newly created processes that may modify the kernel to automatically execute programs on system boot. |
||
.009 | Shortcut Modification |
Monitor for newly executed processes that may create or edit shortcuts to run a program during system boot or user login. |
||
.013 | XDG Autostart Entries |
Monitor newly executed processes that may modify XDG autostart entries to execute programs or commands during system boot. |
||
.014 | Active Setup |
Monitor newly executed processes that may achieve persistence by adding a Registry key to the Active Setup of the local machine. |
||
.015 | Login Items |
Monitor processes that start at login for unusual or unknown applications. Usual applications for login items could include what users add to configure their user environment, such as email, chat, or music applications, or what administrators include for organization settings and protections. Check for running applications from login items that also have abnormal behavior, such as establishing network connections. |
||
Enterprise | T1037 | Boot or Logon Initialization Scripts |
Monitor for newly executed processes that may use scripts automatically executed at boot or logon initialization to establish persistence. |
|
.001 | Logon Script (Windows) |
Monitor for newly constructed processes and/or command-lines that execute logon scripts |
||
.002 | Login Hook |
Monitor for processes and/or command-lines to install or modify login hooks, as well as processes spawned at user login by these hooks. |
||
.003 | Network Logon Script |
Monitor for newly constructed processes and/or command-lines that execute logon scripts |
||
.004 | RC Scripts |
Monitor for newly constructed processes and/or command-lines that execute /etc/rc.local if present. |
||
.005 | Startup Items |
Monitor for newly constructed processes and/or command-lines that execute during the boot up process to check for unusual or unknown applications and behavior |
||
Enterprise | T1217 | Browser Bookmark Discovery |
Monitor newly constructed processes, e.g. browsers, for to gather personal information about users (ex: banking sites, interests, social media, etc.) |
|
Enterprise | T1176 | Browser Extensions |
Monitor for newly executed processes that could be used to abuse internet browser extensions to establish persistence. |
|
Enterprise | T1059 | Command and Scripting Interpreter |
Monitor log files for process execution through command-line and scripting activities. This information can be useful in gaining additional insight to adversaries' actions through how they use native processes or custom tools. Also monitor for loading of modules associated with specific languages. |
|
.001 | PowerShell |
Monitor for newly executed processes that may abuse PowerShell commands and scripts for execution. |
||
.002 | AppleScript |
Monitor for newly executed processes that may abuse AppleScript for execution. Scripts are likely to perform actions with various effects on a system that may generate events, depending on the types of monitoring used. Actions may be related to network and system information Discovery, Collection, or other scriptable post-compromise behaviors and could be used as indicators of detection leading back to the source script. |
||
.003 | Windows Command Shell |
Monitor for newly executed processes that may abuse the Windows command shell for execution. |
||
.004 | Unix Shell |
Monitor for newly executed processes that may abuse Unix shell commands and scripts for execution. |
||
.005 | Visual Basic |
Monitor for events associated with VB execution, such as Office applications spawning processes, usage of the Windows Script Host (typically cscript.exe or wscript.exe). VB execution is likely to perform actions with various effects on a system that may generate events, depending on the types of monitoring used. |
||
.006 | Python |
Monitor systems for abnormal Python usage and python.exe behavior, which could be an indicator of malicious activity. Understanding standard usage patterns is important to avoid a high number of false positives. If scripting is restricted for normal users, then any attempts to enable scripts running on a system would be considered suspicious. If scripts are not commonly used on a system, but enabled, scripts running out of cycle from patching or other administrator functions are suspicious. Scripts should be captured from the file system when possible to determine their actions and intent. Scripts are likely to perform actions with various effects on a system that may generate events, depending on the types of monitoring used. Monitor newly executed processes that may abuse Python commands and scripts for execution. |
||
.007 | JavaScript |
Monitor for events associated with scripting execution, such as process activity, usage of the Windows Script Host (typically cscript.exe or wscript.exe), file activity involving scripts |
||
Enterprise | T1609 | Container Administration Command |
Container administration service activities and executed commands can be captured through logging of process execution with command-line arguments on the container as well as within the underlying host. |
|
Enterprise | T1136 | Create Account |
Monitor newly executed processes associated with account creation, such as net.exe |
|
.001 | Local Account |
Monitor newly executed processes associated with account creation, such as net.exe |
||
.002 | Domain Account |
Monitor newly executed processes associated with account creation, such as net.exe |
||
Enterprise | T1543 | Create or Modify System Process |
New, benign system processes may be created during installation of new software. |
|
.002 | Systemd Service |
Suspicious processes or scripts spawned in this manner will have a parent process of ‘systemd’, a parent process ID of 1, and will usually execute as the ‘root’ user. |
||
.003 | Windows Service |
Suspicious program execution through services may show up as outlier processes that have not been seen before when compared against historical data. Look for abnormal process call trees from known services and for execution of other commands that could relate to Discovery or other adversary techniques. Data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities, such as network connections made for Command and Control, learning details about the environment through Discovery, and Lateral Movement. |
||
.004 | Launch Daemon |
Monitor for newly executed processes that may create or modify Launch Daemons to execute malicious payloads as part of persistence. |
||
Enterprise | T1555 | Credentials from Password Stores |
Monitor newly executed processes that may search for common password storage locations to obtain user credentials. |
|
.001 | Keychain |
Monitor processes spawned by command line utilities to manipulate keychains directly, such as |
||
.004 | Windows Credential Manager |
Monitor newly executed processes of |
||
Enterprise | T1485 | Data Destruction |
Monitor for newly executed processes of binaries that could be involved in data destruction activity, such as SDelete. |
|
Enterprise | T1486 | Data Encrypted for Impact |
Monitor for newly constructed processes and/or command-lines involved in data destruction activity, such as vssadmin, wbadmin, and bcdedit. |
|
Enterprise | T1005 | Data from Local System |
Monitor for newly executed processes that may search local system sources, such as file systems or local databases, to find files of interest and sensitive data prior to Exfiltration. |
|
Enterprise | T1622 | Debugger Evasion |
Monitoring for suspicious processes being spawned that gather a variety of system information or perform other forms of Discovery, especially in a short period of time, may aid in detection. Debugger related system checks will likely occur in the first steps of an operation but may also occur throughout as an adversary learns the environment. Data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities, such as lateral movement, based on the information obtained. |
|
Enterprise | T1140 | Deobfuscate/Decode Files or Information |
Monitor for newly executed processes that attempt to hide artifacts of an intrusion, such as common archive file applications and extensions (ex: Zip and RAR archive tools), and correlate with other suspicious behavior to reduce false positives from normal user and administrator behavior. |
|
Enterprise | T1561 | Disk Wipe |
Monitor newly executed processes that may wipe or corrupt raw disk data on specific systems or in large numbers in a network to interrupt availability to system and network resources. |
|
.001 | Disk Content Wipe |
Monitor newly executed processes that may erase the contents of storage devices on specific systems or in large numbers in a network to interrupt availability to system and network resources. |
||
.002 | Disk Structure Wipe |
Monitor newly executed processes that may corrupt or wipe the disk data structures on a hard drive necessary to boot a system; targeting specific critical systems or in large numbers in a network to interrupt availability to system and network resources. |
||
Enterprise | T1482 | Domain Trust Discovery |
Monitor for newly executed processes that may attempt to gather information on domain trust relationships that may be used to identify lateral movement opportunities in Windows multi-domain/forest environments. |
|
Enterprise | T1189 | Drive-by Compromise |
Monitor for newly executed processes to gain access to a system through a user visiting a website over the normal course of browsing. |
|
Enterprise | T1611 | Escape to Host |
Monitor for process activity (such as unexpected processes spawning outside a container and/or on a host) that might indicate an attempt to escape from a privileged container to host. |
|
Enterprise | T1546 | Event Triggered Execution |
Tools such as Sysinternals Autoruns can be used to detect changes to execution triggers that could be attempts at persistence. Also look for abnormal process call trees for execution of other commands that could relate to Discovery actions or other techniques. |
|
.001 | Change Default File Association |
Monitor for newly executed processes that may establish persistence by executing malicious content triggered by a file type association. |
||
.002 | Screensaver |
Monitor newly executed processes that may establish persistence by executing malicious content triggered by user inactivity. |
||
.003 | Windows Management Instrumentation Event Subscription |
Monitor newly executed processes that result from the execution of subscriptions (i.e. spawning from the WmiPrvSe.exe WMI Provider Host process). |
||
.004 | Unix Shell Configuration Modification |
Monitor newly executed processes that may establish persistence through executing malicious commands triggered by a user’s shell. |
||
.005 | Trap |
Monitor newly executed processes that may establish persistence by executing malicious content triggered by an interrupt signal. |
||
.006 | LC_LOAD_DYLIB Addition |
Monitor processes for those that may be used to modify binary headers. |
||
.007 | Netsh Helper DLL |
It is likely unusual for netsh.exe to have any child processes in most environments. Monitor process executions and investigate any child processes spawned by netsh.exe for malicious behavior. |
||
.008 | Accessibility Features |
Monitor newly executed processes that may establish persistence and/or elevate privileges by executing malicious content triggered by accessibility features. |
||
.009 | AppCert DLLs |
Monitor newly executed processes that may establish persistence and/or elevate privileges by executing malicious content triggered by AppCert DLLs loaded into processes. |
||
.010 | AppInit DLLs |
Monitor newly executed processes that may establish persistence and/or elevate privileges by executing malicious content triggered by AppInit DLLs loaded into processes. |
||
.011 | Application Shimming |
Monitor newly executed processs for sdbinst.exe for potential indications of application shim abuse. There are several public tools available that will detect shims that are currently available [51]: Shim-Process-Scanner - checks memory of every running process for any shim flags Shim-Detector-Lite - detects installation of custom shim databases Shim-Guard - monitors registry for any shim installations ShimScanner - forensic tool to find active shims in memory* ShimCacheMem - Volatility plug-in that pulls shim cache from memory (note: shims are only cached after reboot) |
||
.012 | Image File Execution Options Injection |
Monitor for abnormal usage of the GFlags tool as well as common processes spawned under abnormal parents and/or with creation flags indicative of debugging such as |
||
.013 | PowerShell Profile |
Monitor newly executed processes that may gain persistence and elevate privileges by executing malicious content triggered by PowerShell profiles. |
||
.014 | Emond |
Monitor newly executed processes that may gain persistence and elevate privileges by executing malicious content triggered by the Event Monitor Daemon (emond). |
||
.015 | Component Object Model Hijacking |
Monitor newly executed processes that may establish persistence by executing malicious content triggered by hijacked references to Component Object Model (COM) objects. |
||
Enterprise | T1480 | Execution Guardrails |
Monitoring for suspicious processes being spawned that gather a variety of system information or perform other forms of Discovery, especially in a short period of time, may aid in detection. Detecting the use of guardrails may be difficult depending on the implementation. |
|
.001 | Environmental Keying |
Monitoring for suspicious processes being spawned that gather a variety of system information or perform other forms of Discovery, especially in a short period of time, may aid in detection. Detecting the use of environmental keying may be difficult depending on the implementation. |
||
Enterprise | T1052 | Exfiltration Over Physical Medium |
Monitor for newly executed processes when removable media is mounted. |
|
.001 | Exfiltration over USB |
Monitor for newly executed processes when removable media is mounted |
||
Enterprise | T1203 | Exploitation for Client Execution |
Monitor for abnormal process creations, such as a Command and Scripting Interpreter spawning from a potentially exploited application. Also look for other behavior on the endpoint system that might indicate successful compromise, such as abnormal behavior of browser or Office processes. |
|
Enterprise | T1083 | File and Directory Discovery |
Monitor newly executed processes that may enumerate files and directories or may search in specific locations of a host or network share for certain information within a file system. |
|
Enterprise | T1222 | File and Directory Permissions Modification |
Monitor for newly executed processes that may modify file or directory permissions/attributes to evade access control lists (ACLs) and access protected files.[53][54] |
|
.001 | Windows File and Directory Permissions Modification |
Monitor for newly constructed processes and/or command-lines that can interact with the DACLs using built-in Windows commands, such as icacls, cacls, takeown, and attrib, which can grant adversaries higher permissions on specific files and folders. |
||
.002 | Linux and Mac File and Directory Permissions Modification |
Monitor for newly executed processes that may modify file or directory permissions/attributes to evade access control lists (ACLs) and access protected files.[53][54] |
||
Enterprise | T1615 | Group Policy Discovery |
Monitor for newly executed processes that may gather information on Group Policy settings to identify paths for privilege escalation, security measures applied within a domain, and to discover patterns in domain objects that can be manipulated or used to blend in the environment. |
|
Enterprise | T1564 | Hide Artifacts |
Monitor newly executed processes that may attempt to hide artifacts associated with their behaviors to evade detection. |
|
.001 | Hidden Files and Directories |
Monitor newly executed processes that may set files and directories to be hidden to evade detection mechanisms. |
||
.002 | Hidden Users |
Monitor newly executed processes for actions that could be taken to add a new user and subsequently hide it from login screens. |
||
.003 | Hidden Window |
Monitor newly executed processes that may use hidden windows to conceal malicious activity from the plain sight of users. |
||
.006 | Run Virtual Instance |
Monitor newly executed processes associated with running a virtual instance, such as those launched from binary files associated with common virtualization technologies (ex: VirtualBox, VMware, QEMU, Hyper-V). |
||
.009 | Resource Forking |
Monitor newly executed processes that may abuse resource forks to hide malicious code or executables to evade detection and bypass security applications. |
||
Enterprise | T1574 | Hijack Execution Flow |
Monitor processes for unusual activity (e.g., a process that does not use the network begins to do so, abnormal process call trees). Track library metadata, such as a hash, and compare libraries that are loaded at process execution time against previous executions to detect differences that do not correlate with patching or updates. |
|
.002 | DLL Side-Loading |
Monitor newly constructed processes for unusual activity (e.g., a process that does not use the network begins to do so) as well as the introduction of new files/programs. |
||
.005 | Executable Installer File Permissions Weakness |
Monitor for newly constructed processes to match an existing service executables. |
||
.006 | Dynamic Linker Hijacking |
Monitor for newly executed processes for unusual activity (e.g., a process that does not use the network begins to do so). |
||
.007 | Path Interception by PATH Environment Variable |
Monitor for newly executed processes for process executable paths that are named for partial directories. |
||
.008 | Path Interception by Search Order Hijacking |
Monitor for newly executed processes for process executable paths that are named for partial directories. |
||
.009 | Path Interception by Unquoted Path |
Monitor for newly executed processes that may execute their own malicious payloads by hijacking vulnerable file path references. |
||
.010 | Services File Permissions Weakness |
Monitor for newly executed processes that may execute their own malicious payloads by hijacking the binaries used by services. |
||
.011 | Services Registry Permissions Weakness |
Monitor suspicious programs execution through services. These processes may show up as outlier processes that have not been seen before when compared against historical data. |
||
.012 | COR_PROFILER |
Monitor for newly executed processes, such as setx.exe, that may abuse of the COR_PROFILER variable, monitor for new suspicious unmanaged profiling DLLs loading into .NET processes shortly after the CLR causing abnormal process behavior.[55] |
||
Enterprise | T1562 | Impair Defenses |
Monitor newly executed processes that may maliciously modify components of a victim environment in order to hinder or disable defensive mechanisms. |
|
.002 | Disable Windows Event Logging |
Monitor newly executed processes that may disable Windows event logging to limit data that can be leveraged for detections and audits. |
||
.009 | Safe Mode Boot |
Monitor newly executed processes that may abuse Windows safe mode to disable endpoint defenses. |
||
.010 | Downgrade Attack |
Monitor newly executed processes that may downgrade or use a version of system features that may be outdated, vulnerable, and/or does not support updated security controls such as logging. |
||
Enterprise | T1070 | Indicator Removal on Host |
Monitor for newly executed processes that may delete or alter generated artifacts on a host system, including logs or captured files such as quarantined malware. |
|
.005 | Network Share Connection Removal |
Monitor for newly constructed processes and/or command line execution that can be used to remove network share connections via the net.exe process. |
||
Enterprise | T1202 | Indirect Command Execution |
Monitor for newly constructed processes and/or command-lines that can be used instead of invoking cmd (i.e. pcalua.exe, winrs.exe, cscript/wscript.exe, hh.exe, or bash.exe) |
|
Enterprise | T1490 | Inhibit System Recovery |
Use process monitoring to monitor the execution and command line parameters of binaries involved in inhibiting system recovery, such as vssadmin, wbadmin, and bcdedit. |
|
Enterprise | T1056 | Input Capture |
Monitor for newly executed processes conducting malicious activity |
|
.002 | GUI Input Capture |
Monitor for newly executed processes |
||
Enterprise | T1559 | Inter-Process Communication |
Monitor for newly executed processes that are associated with abuse of IPC mechanisms |
|
.001 | Component Object Model |
Monitor for newly executed processes that are associated with COM objects, especially those invoked by a user different than the one currently logged on. |
||
.002 | Dynamic Data Exchange |
Monitor for newly executed processes that may use Windows Dynamic Data Exchange (DDE) to execute arbitrary commands. |
||
Enterprise | T1570 | Lateral Tool Transfer |
Monitor newly constructed processes that assist in lateral tool transfers. |
|
Enterprise | T1112 | Modify Registry |
Monitor processes and command-line arguments for actions that could be taken to change, conceal, and/or delete information in the Registry. (i.e. reg.exe, regedit.exe) |
|
Enterprise | T1135 | Network Share Discovery |
Monitor for newly executed processes that may create and cultivate social media accounts that can be used during targeting. |
|
Enterprise | T1040 | Network Sniffing |
Monitor for newly executed processes that can aid in sniffing network traffic to capture information about an environment, including authentication material passed over the network |
|
Enterprise | T1027 | Obfuscated Files or Information |
Monitor for newly executed processes that may attempt to make an executable or file difficult to discover or analyze by encrypting, encoding, or otherwise obfuscating its contents on the system or in transit. |
|
.004 | Compile After Delivery |
Monitor for newly constructed processes and/or command-lines that look for non-native binary formats and cross-platform compiler and execution frameworks like Mono and determine if they have a legitimate purpose on the system. Typically these should only be used in specific and limited cases, like for software development. |
||
Enterprise | T1137 | Office Application Startup |
Monitor newly executed processes that may leverage Microsoft Office-based applications for persistence between startups. Collect process execution information including process IDs (PID) and parent process IDs (PPID) and look for abnormal chains of activity resulting from Office processes. Non-standard process execution trees may also indicate suspicious or malicious behavior. If winword.exe is the parent process for suspicious processes and activity relating to other adversarial techniques, then it could indicate that the application was used maliciously. |
|
.001 | Office Template Macros |
Monitor newly executed processes that may abuse Microsoft Office templates to obtain persistence on a compromised system. |
||
.002 | Office Test |
Monitor newly executed processes that may abuse the Microsoft Office "Office Test" Registry key to obtain persistence on a compromised system. |
||
.003 | Outlook Forms |
Monitor newly executed processes that may abuse Microsoft Outlook forms to obtain persistence on a compromised system. |
||
.004 | Outlook Home Page |
Monitor newly executed processes that may abuse Microsoft Outlook's Home Page feature to obtain persistence on a compromised system. |
||
.005 | Outlook Rules |
Monitor newly executed processes that may abuse Microsoft Outlook rules to obtain persistence on a compromised system. |
||
.006 | Add-ins |
Monitor newly executed processes that may abuse Microsoft Office add-ins to obtain persistence on a compromised system. |
||
Enterprise | T1003 | OS Credential Dumping |
Monitor for newly executed processes that may be indicative of credential dumping. On Windows 8.1 and Windows Server 2012 R2, monitor Windows Logs for LSASS.exe creation to verify that LSASS started as a protected process. |
|
.001 | LSASS Memory |
Monitor for newly executed processes that may be indicative of credential dumping. On Windows 8.1 and Windows Server 2012 R2, monitor Windows Logs for LSASS.exe creation to verify that LSASS started as a protected process. |
||
Enterprise | T1201 | Password Policy Discovery |
Monitor for newly executed processes that may attempt to access detailed information about the password policy used within an enterprise network or cloud environment. |
|
Enterprise | T1120 | Peripheral Device Discovery |
Monitor for newly executed processes that may attempt to gather information about attached peripheral devices and components connected to a computer system. |
|
Enterprise | T1069 | Permission Groups Discovery |
Monitor for newly constructed processes and/or command-lines for actions that could be taken to gather system and network information. System and network discovery techniques normally occur throughout an operation as an adversary learns the environment. Data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities, such as Lateral Movement, based on the information obtained. |
|
.001 | Local Groups |
Monitor newly executed processes that may attempt to find local system groups and permission settings. |
||
.002 | Domain Groups |
Monitor newly executed processes that may attempt to find domain-level groups and permission settings. |
||
.003 | Cloud Groups |
Monitor newly executed processes that may attempt to find cloud groups and permission settings. |
||
Enterprise | T1647 | Plist File Modification |
Monitor for newly executed processes with arguments that can modify property list (plist) files. |
|
Enterprise | T1057 | Process Discovery |
Monitor for newly executed processes that may attempt to get information about running processes on a system. |
|
Enterprise | T1012 | Query Registry |
Monitor for newly executed processes that may interact with the Windows Registry to gather information about the system, configuration, and installed software. |
|
Enterprise | T1219 | Remote Access Software |
Monitor for applications and processes related to remote admin tools. Correlate activity with other suspicious behavior that may reduce false positives if these tools are used by legitimate users and administrators. Domain Fronting may be used in conjunction to avoid defenses. Adversaries will likely need to deploy and/or install these remote tools to compromised systems. It may be possible to detect or prevent the installation of these tools with host-based solutions. |
|
Enterprise | T1563 | Remote Service Session Hijacking |
Monitor newly executed processes that may take control of preexisting sessions with remote services to move laterally in an environment. |
|
.001 | SSH Hijacking |
Monitor newly executed processes that may hijack a legitimate user's SSH session to move laterally within an environment. |
||
.002 | RDP Hijacking |
Consider monitoring processes for tscon.exe usage |
||
Enterprise | T1021 | Remote Services |
Monitor for newly executed processes that may use Valid Accounts to log into a service specifically designed to accept remote connections, such as RDP, telnet, SSH, and VNC. The adversary may then perform actions that spawn additional processes as the logged-on user. |
|
.001 | Remote Desktop Protocol |
Monitor for newly executed processes (such as |
||
.003 | Distributed Component Object Model |
Monitor for newly executed processes associated with DCOM activity, especially those invoked by a user different than the one currently logged on. Enumeration of COM objects, via Query Registry or PowerShell, may also precede malicious use.[56][57] |
||
.004 | SSH |
Monitor for newly executed processes that may use Valid Accounts to log into remote machines using Secure Shell (SSH). For example, on macOS systems |
||
.005 | VNC |
Monitor for newly executed processes that may use Valid Accounts to remotely control machines using Virtual Network Computing (VNC). For example, on macOS systems the |
||
.006 | Windows Remote Management |
Monitor for newly executed processes that may use Valid Accounts to interact with remote systems using Windows Remote Management (WinRM), as well as service processes such as |
||
Enterprise | T1018 | Remote System Discovery |
Monitor for newly executed processes that can be used to discover remote systems, such as |
|
Enterprise | T1091 | Replication Through Removable Media |
Monitor for newly executed processes that execute from removable media after it is mounted or when initiated by a user. If a remote access tool is used in this manner to move laterally, then additional actions are likely to occur after execution, such as opening network connections for Command and Control and system and network information Discovery. |
|
Enterprise | T1496 | Resource Hijacking |
Monitor for common cryptomining software process names that may indicate compromise and resource usage. |
|
Enterprise | T1053 | Scheduled Task/Job |
Monitor for newly executed processes that may abuse task scheduling functionality to facilitate initial or recurring execution of malicious code. |
|
.002 | At |
Monitor for newly constructed processes with command-lines that create/modify or are executed from tasks. For example, on Windows tasks may spawn from |
||
.003 | Cron |
Monitor for newly constructed processes and/or command-lines that executed through scheduled tasks may show up as outlier processes that have not been seen before when compared against historical data. Data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities, such as network connections made for Command and Control, learning details about the environment through Discovery, and Lateral Movement. |
||
.005 | Scheduled Task |
Monitor for newly constructed processes and/or command-lines that execute from the svchost.exe in Windows 10 and the Windows Task Scheduler taskeng.exe for older versions of Windows. [59] If scheduled tasks are not used for persistence, then the adversary is likely to remove the task when the action is complete. |
||
.006 | Systemd Timers |
Monitor for newly constructed processes and/or command-lines that will have a parent process of ‘systemd’, a parent process ID of 1, and will usually execute as the ‘root’ user. |
||
Enterprise | T1505 | Server Software Component |
Process monitoring may be used to detect servers components that perform suspicious actions such as running cmd.exe or accessing files. |
|
.003 | Web Shell |
Web shells can be difficult to detect. Unlike other forms of persistent remote access, they do not initiate connections. The portion of the Web shell that is on the server may be small and innocuous looking. The PHP version of the China Chopper Web shell, for example, is the following short payload: [60] |
||
.005 | Terminal Services DLL |
Monitor processes with arguments that may potentially highlight adversary actions to modify Registry values (ex: |
||
Enterprise | T1489 | Service Stop |
Monitor for newly executed processes that may stop or disable services on a system to render those services unavailable to legitimate users. |
|
Enterprise | T1072 | Software Deployment Tools |
Monitor for newly executed processes that does not correlate to known good software. Analyze the process execution trees, historical activities from the third-party application (such as what types of files are usually pushed), and the resulting activities or events from the file/binary/script pushed to systems. |
|
Enterprise | T1518 | Software Discovery |
Monitor newly executed processes that may attempt to get a listing of software and software versions that are installed on a system or in a cloud environment. |
|
.001 | Security Software Discovery |
Monitor newly executed processes that may attempt to get a listing of security software, configurations, defensive tools, and sensors that are installed on a system or in a cloud environment. |
||
Enterprise | T1553 | Subvert Trust Controls |
Monitor processes and arguments for malicious attempts to modify trust settings, such as the installation of root certificates or modifications to trust attributes/policies applied to files. |
|
.001 | Gatekeeper Bypass |
Monitor and investigate attempts to modify extended file attributes with utilities such as |
||
.004 | Install Root Certificate |
Monitor for processes, such as |
||
.006 | Code Signing Policy Modification |
Monitor processes and command-line arguments for actions that could be taken to modify the code signing policy of a system, such as |
||
Enterprise | T1218 | System Binary Proxy Execution |
Monitor processes and command-line parameters for signed binaries that may be used to proxy execution of malicious files. Compare recent invocations of signed binaries that may be used to proxy execution with prior history of known good arguments and loaded files to determine anomalous and potentially adversarial activity. Legitimate programs used in suspicious ways, like msiexec.exe downloading an MSI file from the Internet, may be indicative of an intrusion. Correlate activity with other suspicious behavior to reduce false positives that may be due to normal benign use by users and administrators. |
|
.001 | Compiled HTML File |
Monitor and analyze the execution and arguments of hh.exe. [65] Compare recent invocations of hh.exe with prior history of known good arguments to determine anomalous and potentially adversarial activity (ex: obfuscated and/or malicious commands). Non-standard process execution trees may also indicate suspicious or malicious behavior, such as if hh.exe is the parent process for suspicious processes and activity relating to other adversarial techniques. |
||
.002 | Control Panel |
Monitor and analyze activity related to items associated with CPL files, such as the control.exe. Analyze new Control Panel items as well as those present on disk for malicious content. Both executable and CPL formats are compliant Portable Executable (PE) images and can be examined using traditional tools and methods, pending anti-reverse-engineering techniques.[66] |
||
.003 | CMSTP |
Use process monitoring to detect and analyze the execution and arguments of CMSTP.exe. Compare recent invocations of CMSTP.exe with prior history of known good arguments and loaded files to determine anomalous and potentially adversarial activity. Sysmon events can also be used to identify potential abuses of CMSTP.exe. Detection strategy may depend on the specific adversary procedure, but potential rules include: [67] To detect loading and execution of local/remote payloads - Event 1 (Process creation) where ParentImage contains CMSTP.exe Also monitor for events, such as the creation of processes (Sysmon Event 1), that involve auto-elevated CMSTP COM interfaces such as CMSTPLUA (3E5FC7F9-9A51-4367-9063-A120244FBEC7) and CMLUAUTIL (3E000D72-A845-4CD9-BD83-80C07C3B881F). |
||
.004 | InstallUtil |
Use process monitoring to monitor the execution and arguments of InstallUtil.exe. Compare recent invocations of InstallUtil.exe with prior history of known good arguments and executed binaries to determine anomalous and potentially adversarial activity |
||
.005 | Mshta |
Use process monitoring to monitor the execution and arguments of mshta.exe. |
||
.007 | Msiexec |
Use process monitoring to monitor the execution and arguments of msiexec.exe. Compare recent invocations of msiexec.exe with prior history of known good arguments and executed MSI files. |
||
.008 | Odbcconf |
Use process monitoring to monitor the execution and arguments of odbcconf.exe. Compare recent invocations of odbcconf.exe with prior history of known good arguments and loaded DLLs to determine anomalous and potentially adversarial activity. |
||
.009 | Regsvcs/Regasm |
Use process monitoring to monitor the execution and arguments of Regsvcs.exe and Regasm.exe. Compare recent invocations of Regsvcs.exe and Regasm.exe with prior history of known good arguments and executed binaries to determine anomalous and potentially adversarial activity. |
||
.010 | Regsvr32 |
Use process monitoring to monitor the execution and arguments of regsvr32.exe. Compare recent invocations of regsvr32.exe with prior history of known good arguments and loaded files to determine anomalous and potentially adversarial activity. |
||
.011 | Rundll32 |
Use process monitoring to monitor the execution and arguments of rundll32.exe. Compare recent invocations of rundll32.exe with prior history of known good arguments and loaded DLLs to determine anomalous and potentially adversarial activity. |
||
.012 | Verclsid |
Use process monitoring to monitor the execution and arguments of verclsid.exe. Compare recent invocations of verclsid.exe with prior history of known good arguments and loaded files to determine anomalous and potentially adversarial activity. Depending on the environment, it may be unusual for verclsid.exe to have a parent process of a Microsoft Office product. It may also be unusual for verclsid.exe to have any child processes or to make network connections or file modifications. |
||
.013 | Mavinject |
Monitor the execution and arguments of mavinject.exe. Compare recent invocations of mavinject.exe with prior history of known good arguments and injected DLLs to determine anomalous and potentially adversarial activity. |
||
.014 | MMC |
Monitor processes for suspicious or malicious use of MMC. Since MMC is a signed Windows binary, verify use of MMC is legitimate and not malicious. |
||
Enterprise | T1082 | System Information Discovery |
Monitor newly executed processes that may attempt to get detailed information about the operating system and hardware, including version, patches, hotfixes, service packs, and architecture. |
|
Enterprise | T1614 | System Location Discovery |
Monitor newly executed processes that may gather information in an attempt to calculate the geographical location of a victim host. |
|
.001 | System Language Discovery |
Monitor for newly executed processes that may attempt to gather information about the system language of a victim in order to infer the geographical location of that host. |
||
Enterprise | T1016 | System Network Configuration Discovery |
Monitor for executed processes (such as ipconfig/ifconfig and arp) with arguments that may look for details about the network configuration and settings, such as IP and/or MAC addresses. |
|
.001 | Internet Connection Discovery |
Monitor for executed processes (such as tracert or ping) that may check for Internet connectivity on compromised systems. |
||
Enterprise | T1049 | System Network Connections Discovery |
Monitor for executed processes that may attempt to get a listing of network connections to or from the compromised system they are currently accessing or from remote systems by querying for information over the network. |
|
Enterprise | T1033 | System Owner/User Discovery |
Monitor for newly executed processes that may be indicative of credential dumping. On Windows 8.1 and Windows Server 2012 R2, monitor Windows Logs for LSASS.exe creation to verify that LSASS started as a protected process. |
|
Enterprise | T1216 | System Script Proxy Execution |
Monitor script processes, such as `cscript that may be used to proxy execution of malicious files. |
|
.001 | PubPrn |
Monitor script processes, such as `cscript that may be used to proxy execution of malicious files. |
||
Enterprise | T1007 | System Service Discovery |
Monitor for newly executed processes with arguments that may try to get information about registered services. System and network discovery techniques normally occur throughout an operation as an adversary learns the environment. Data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities, such as Lateral Movement, based on the information obtained. |
|
Enterprise | T1569 | System Services |
Monitor newly executed processes that may abuse system services or daemons to execute commands or programs. |
|
.001 | Launchctl |
Monitor for newly executed daemons that may abuse launchctl to execute commands or programs. |
||
.002 | Service Execution |
Monitor for newly executed processes that may abuse the Windows service control manager to execute malicious commands or payloads. |
||
Enterprise | T1529 | System Shutdown/Reboot |
Monitor for newly executed processes of binaries involved in shutting down or rebooting systems. |
|
Enterprise | T1124 | System Time Discovery |
Monitor for newly executed processes that may gather the system time and/or time zone from a local or remote system. |
|
Enterprise | T1080 | Taint Shared Content |
Monitor processes that are executed from removable media for malicious or abnormal activity such as network connections due to Command and Control and possible network Discovery techniques. |
|
Enterprise | T1221 | Template Injection |
Analyze process behavior to determine if an Office application is performing actions, such as opening network connections, reading files, spawning abnormal child processes (ex: PowerShell), or other suspicious actions that could relate to post-compromise behavior. |
|
Enterprise | T1127 | Trusted Developer Utilities Proxy Execution |
Monitor for abnormal presence of these or other utilities that enable proxy execution that are typically used for development, debugging, and reverse engineering on a system that is not used for these purposes may be suspicious. Use process monitoring to monitor the execution and arguments of from developer utilities that may be abused. Compare recent invocations of those binaries with prior history of known good arguments and executed binaries to determine anomalous and potentially adversarial activity. It is likely that these utilities will be used by software developers or for other software development related tasks, so if it exists and is used outside of that context, then the event may be suspicious. |
|
.001 | MSBuild |
Monitor for newly executed processes of MSBuild.exe. Compare recent invocations of those binaries with prior history of known good arguments and executed binaries to determine anomalous and potentially adversarial activity. |
||
Enterprise | T1552 | Unsecured Credentials |
Monitor newly executed processes that may search compromised systems to find and obtain insecurely stored credentials. |
|
.002 | Credentials in Registry |
Monitor newly executed processes for applications that can be used to query the Registry, such as Reg, and collect command parameters that may indicate credentials are being searched. Correlate activity with related suspicious behavior that may indicate an active intrusion to reduce false positives. |
||
Enterprise | T1204 | User Execution |
Monitor for newly executed processes that may be used by an adversary to gain Initial Access that require user interaction. This includes compression applications, such as those for zip files, that can be used to Deobfuscate/Decode Files or Information in payloads. |
|
.002 | Malicious File |
Monitor for newly constructed processes and/or command-lines for applications that may be used by an adversary to gain initial access that require user interaction. This includes compression applications, such as those for zip files, that can be used to Deobfuscate/Decode Files or Information in payloads. |
||
Enterprise | T1497 | Virtualization/Sandbox Evasion |
Virtualization, sandbox, user activity, and related discovery techniques will likely occur in the first steps of an operation but may also occur throughout as an adversary learns the environment. Data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities, such as lateral movement, based on the information obtained. Detecting actions related to virtualization and sandbox identification may be difficult depending on the adversary's implementation and monitoring required. Monitoring for suspicious processes being spawned that gather a variety of system information or perform other forms of Discovery, especially in a short period of time, may aid in detection. |
|
.001 | System Checks |
Virtualization, sandbox, user activity, and related discovery techniques will likely occur in the first steps of an operation but may also occur throughout as an adversary learns the environment. Data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities, such as lateral movement, based on the information obtained. Detecting actions related to virtualization and sandbox identification may be difficult depending on the adversary's implementation and monitoring required. Monitoring for suspicious processes being spawned that gather a variety of system information or perform other forms of Discovery, especially in a short period of time, may aid in detection. |
||
.002 | User Activity Based Checks |
User activity-based checks will likely occur in the first steps of an operation but may also occur throughout as an adversary learns the environment. Data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities, such as lateral movement, based on the information obtained. Detecting actions related to virtualization and sandbox identification may be difficult depending on the adversary's implementation and monitoring required. Monitoring for suspicious processes being spawned that gather a variety of system information or perform other forms of Discovery, especially in a short period of time, may aid in detection. |
||
.003 | Time Based Evasion |
Time-based evasion will likely occur in the first steps of an operation but may also occur throughout as an adversary learns the environment. Data and events should not be viewed in isolation, but as part of a chain of behavior that could lead to other activities, such as lateral movement, based on the information obtained. Detecting actions related to virtualization and sandbox identification may be difficult depending on the adversary's implementation and monitoring required. Monitoring for suspicious processes being spawned that gather a variety of system information or perform other forms of Discovery, especially in a short period of time, may aid in detection. |
||
Enterprise | T1047 | Windows Management Instrumentation |
Monitor for newly constructed processes and/or command-lines of "wmic" |
|
Enterprise | T1220 | XSL Script Processing |
Use process monitoring to monitor the execution and arguments of msxsl.exe and wmic.exe. [68] [69] Command arguments used before and after the script invocation may also be useful in determining the origin and purpose of the payload being loaded. The presence of msxsl.exe or other utilities that enable proxy execution that are typically used for development, debugging, and reverse engineering on a system that is not used for these purposes may be suspicious. |
Contextual data about a running process, which may include information such as environment variables, image name, user/owner, etc.
Contextual data about a running process, which may include information such as environment variables, image name, user/owner, etc.
Domain | ID | Name | Detects | |
---|---|---|---|---|
Enterprise | T1548 | Abuse Elevation Control Mechanism |
Monitor contextual data about a running process, which may include information such as environment variables, image name, user/owner that may circumvent mechanisms designed to control elevate privileges to gain higher-level permissions. |
|
.002 | Bypass User Account Control |
Monitor contextual data about a running process, which may include information such as environment variables, image name, user/owner that may bypass UAC mechanisms to elevate process privileges on system. |
||
.003 | Sudo and Sudo Caching |
Monitor contextual data about a running process, which may include information such as environment variables, image name, user/owner that may perform sudo caching and/or use the suoders file to elevate privileges. |
||
Enterprise | T1134 | Access Token Manipulation |
Query systems for process and thread token information and look for inconsistencies such as user owns processes impersonating the local SYSTEM account.[70] Look for inconsistencies between the various fields that store PPID information, such as the EventHeader ProcessId from data collected via Event Tracing for Windows (ETW), Creator Process ID/Name from Windows event logs, and the ProcessID and ParentProcessID (which are also produced from ETW and other utilities such as Task Manager and Process Explorer). The ETW provided EventHeader ProcessId identifies the actual parent process. |
|
.004 | Parent PID Spoofing |
Look for inconsistencies between the various fields that store PPID information, such as the EventHeader ProcessId from data collected via Event Tracing for Windows (ETW), Creator Process ID/Name from Windows event logs, and the ProcessID and ParentProcessID (which are also produced from ETW and other utilities such as Task Manager and Process Explorer). The ETW provided EventHeader ProcessId identifies the actual parent process.[71] |
||
Enterprise | T1059 | Command and Scripting Interpreter |
Monitor contextual data about a running process, which may include information such as environment variables, image name, user/owner, or other information that may reveal abuse of system features. For example, consider monitoring for Windows event ID (EID) 400, which shows the version of PowerShell executing in the |
|
.001 | PowerShell |
Consider monitoring for Windows event ID (EID) 400, which shows the version of PowerShell executing in the |
||
Enterprise | T1562 | .010 | Impair Defenses: Downgrade Attack |
Monitor contextual data about a running process, which may include information such as environment variables, image name, user/owner, or other information that may reveal use of a version of system features that may be outdated, vulnerable, and/or does not support updated security controls such as logging. For example, monitoring for Windows event ID (EID) 400, specifically the |
Enterprise | T1056 | Input Capture |
Verify integrity of live processes by comparing code in memory to that of corresponding static binaries, specifically checking for jumps and other instructions that redirect code flow. |
|
.004 | Credential API Hooking |
Verify integrity of live processes by comparing code in memory to that of corresponding static binaries, specifically checking for jumps and other instructions that redirect code flow. |
||
Enterprise | T1036 | Masquerading |
Monitor for file names that are mismatched between the file name on disk and that of the binary's PE metadata, this is a likely indicator that a binary was renamed after it was compiled. |
|
.003 | Rename System Utilities |
Monitor for file names that are mismatched between the file name on disk and that of the binary's PE metadata, this is a likely indicator that a binary was renamed after it was compiled. |
||
.005 | Match Legitimate Name or Location |
Collecting and comparing disk and resource filenames for binaries by looking to see if the InternalName, OriginalFilename, and/or ProductName match what is expected could provide useful leads, but may not always be indicative of malicious activity. |
Changes made to a process, or its contents, typically to write and/or execute code in the memory of the target process (ex: Sysmon EID 8)
Changes made to a process, or its contents, typically to write and/or execute code in the memory of the target process (ex: Sysmon EID 8)
Domain | ID | Name | Detects | |
---|---|---|---|---|
Enterprise | T1185 | Browser Session Hijacking |
This may be a difficult technique to detect because adversary traffic may be masked by normal user traffic. Monitor for Process Injection against browser applications. |
|
Enterprise | T1055 | Process Injection |
Monitor for changes made to processes that may inject code into processes in order to evade process-based defenses as well as possibly elevate privileges. |
|
.001 | Dynamic-link Library Injection |
Monitor for changes made to processes that may inject dynamic-link libraries (DLLs) into processes in order to evade process-based defenses as well as possibly elevate privileges. |
||
.002 | Portable Executable Injection |
Monitor for changes made to processes that may inject portable executables (PE) into processes in order to evade process-based defenses as well as possibly elevate privileges. |
||
.003 | Thread Execution Hijacking |
Monitor for changes made to processes that may inject malicious code into hijacked processes in order to evade process-based defenses as well as possibly elevate privileges. |
||
.004 | Asynchronous Procedure Call |
Monitor for changes made to processes that may inject malicious code into processes via the asynchronous procedure call (APC) queue in order to evade process-based defenses as well as possibly elevate privileges. |
||
.005 | Thread Local Storage |
Monitor for changes made to processes that may inject malicious code into processes via thread local storage (TLS) callbacks in order to evade process-based defenses as well as possibly elevate privileges. |
||
.008 | Ptrace System Calls |
Monitor for changes made to processes that may inject malicious code into processes via ptrace (process trace) system calls in order to evade process-based defenses as well as possibly elevate privileges. |
||
.012 | Process Hollowing |
Monitor for changes made to processes that may inject malicious code into suspended and hollowed processes in order to evade process-based defenses. |
||
.015 | ListPlanting |
Monitor for changes made to processes that may inject code into processes in order to evade process-based defenses as well as possibly elevate privileges. Analyze process behavior to determine if a process is performing unusual actions, such as opening network connections, reading files, or other suspicious actions that could relate to post-compromise behavior. |
Exit of a running process (ex: Sysmon EID 5 or Windows EID 4689)
Exit of a running process (ex: Sysmon EID 5 or Windows EID 4689)
Domain | ID | Name | Detects | |
---|---|---|---|---|
Enterprise | T1562 | Impair Defenses |
Monitor for unexpected deletions of a running process (ex: Sysmon EID 5 or Windows EID 4689) that may maliciously modify components of a victim environment in order to hinder or disable defensive mechanisms. |
|
.001 | Disable or Modify Tools |
Monitor processes for unexpected termination related to security tools/services. |
||
Enterprise | T1489 | Service Stop |
Monitor processes and command-line arguments to see if critical processes are terminated or stop running. |