Discovery consists of techniques that allow the adversary to gain knowledge about the system and internal network. When adversaries gain access to a new system, they must orient themselves to what they now have control of and what benefits operating from that system give to their current objective or overall goals during the intrusion. The operating system provides many native tools that aid in this post-compromise information-gathering phase.
Below is a list of all the Discovery techniques in ATT&CK:
|Account Discovery||Discovery||Adversaries may attempt to get a listing of local system or domain accounts. Example commands that can acquire this information are |
|Application Window Discovery||Discovery||Adversaries may attempt to get a listing of open application windows. Window listings could convey information about how the system is used or give context to information collected by a keylogger.|
|File and Directory Discovery||Discovery||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. Example utilities used to obtain this information are |
|Local Network Configuration Discovery||Discovery||Adversaries will likely look for details about the network configuration and settings of systems they access. Several operating system administration utilities exist that can be used to gather this information. Examples include Arp, ipconfig/ifconfig, nbtstat, and route.|
|Local Network Connections Discovery||Discovery||Adversaries may attempt to get a listing of network connections to or from the compromised system. Utilities and commands that acquire this information include netstat, "net use," and "net session" with Net.|
|Network Service Scanning||Discovery||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.|
|Peripheral Device Discovery||Discovery||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.|
|Permission Groups Discovery||Discovery||Adversaries may attempt to find local system or domain-level groups and permissions settings. Examples of commands that can list groups are |
|Process Discovery||Discovery||Adversaries may attempt to get information about running processes on a system. An example command that would obtain details on processes is "tasklist" using the Tasklist utility. Information obtained could be used to gain an understanding of common software running on systems within the network.|
|Query Registry||Discovery||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.2 Some of the information may help adversaries to further their operation within a network.|
|Remote System Discovery||Discovery||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. Examples of tools and commands that acquire this information include "ping" or "net view" using Net.|
|Security Software Discovery||Discovery||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.
Example commands that can be used to obtain security software information are netsh, |
|System Information Discovery||Discovery||An adversary may attempt to get detailed information about the operating system and hardware, including version, patches, hotfixes, service packs, and architecture.
Example commands and utilities that obtain this information include |
|System Owner/User Discovery||Discovery||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.|
|System Service Discovery||Discovery||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.|
|System Time Discovery||Discovery||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.34
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 |
- Tomonaga, S. (2016, January 26). Windows Commands Abused by Attackers. Retrieved February 2, 2016.
- Wikipedia. (n.d.). Windows Registry. Retrieved February 2, 2015.
- Microsoft. (n.d.). System Time. Retrieved November 25, 2016.
- Mathers, B. (2016, September 30). Windows Time Service Tools and Settings. Retrieved November 25, 2016.
- Rivner, U., Schwartz, E. (2012). They’re Inside… Now What?. Retrieved November 25, 2016.