Tools are legitimate software that can be used by threat actors to perform attacks. Knowing how and when threat actors use such tools can be important for understanding how campaigns are executed. Unlike malware, these tools or software packages are often found on a system and have legitimate purposes for power users, system administrators, network administrators, or even normal users. Remote access tools (e.g., RDP) and network scanning tools (e.g., Nmap) are examples of Tools that may be used by a Threat Actor during an attack.
Property | Type | Description | Required? |
---|---|---|---|
id | String | Globally unique URI identifying this object. | ✓ |
labels | ToolLabel String List | The kind(s) of tool(s) being described. | ✓ |
name | ShortString String | The name used to identify the Tool. | ✓ |
schema_version | String | CTIM schema version for this entity | ✓ |
type | ToolTypeIdentifier String | ✓ | |
description | Markdown String | A description that provides more details and context about the Tool, potentially including its purpose and its key characteristics. | |
external_ids | String List | ||
external_references | ExternalReference Object List | Specifies a list of external references which refers to non-CTIM information. This property is used to provide one or more URLs, descriptions, or IDs to records in other systems. | |
kill_chain_phases | KillChainPhase Object List | The list of kill chain phases for which this Tool can be used. | |
language | ShortString String | The human language this object is specified in. | |
revision | Integer | A monotonically increasing revision, incremented each time the object is changed. | |
source | MedString String | ||
source_uri | String | ||
timestamp | Inst (Date) | The time this object was created at, or last modified. | |
tlp | TLP String | Specification for how, and to whom, this object can be shared. | |
tool_version | ShortString String | The version identifier associated with the Tool. | |
x_mitre_aliases | ShortString String List | ATT&CK Software.aliases |
- Reference: Tool
A description that provides more details and context about the Tool, potentially including its purpose and its key characteristics.
-
This entry is optional
- Markdown string with at most 5000 characters
- This entry is optional
- This entry's type is sequential (allows zero or more values)
Specifies a list of external references which refers to non-CTIM information. This property is used to provide one or more URLs, descriptions, or IDs to records in other systems.
- This entry is optional
- This entry's type is sequential (allows zero or more values)
- ExternalReference Object Value
- Details: ExternalReference Object
Globally unique URI identifying this object.
-
This entry is required
- IDs are URIs, for example
https://www.domain.com/ctia/judgement/judgement-de305d54-75b4-431b-adb2-eb6b9e546014
for a Judgement. This ID type compares to the STIX id field. The optional STIX idref field is not used.
- IDs are URIs, for example
The list of kill chain phases for which this Tool can be used.
- This entry is optional
- This entry's type is sequential (allows zero or more values)
- KillChainPhase Object Value
- Details: KillChainPhase Object
The kind(s) of tool(s) being described.
-
This entry is required
-
This entry's type is sequential (allows zero or more values)
- Tool labels describe the categories of tools that can be used to perform attacks.
- Allowed Values:
- credential-exploitation
- denial-of-service
- exploitation
- information-gathering
- network-capture
- remote-access
- vulnerability-scanning
- Reference: Tool Label
The human language this object is specified in.
-
This entry is optional
- String with at most 1024 characters
The name used to identify the Tool.
-
This entry is required
- String with at most 1024 characters
A monotonically increasing revision, incremented each time the object is changed.
-
This entry is optional
- Zero, or a positive integer
CTIM schema version for this entity
-
This entry is required
- A semantic version matching the CTIM version against which this object should be valid.
-
This entry is optional
- String with at most 2048 characters
-
This entry is optional
- A URI
The time this object was created at, or last modified.
-
This entry is optional
- Schema definition for all date or timestamp values. Serialized as a string, the field should follow the rules of the ISO8601 standard.
Specification for how, and to whom, this object can be shared.
-
This entry is optional
- TLP stands for Traffic Light Protocol, which indicates precisely how this resource is intended to be shared, replicated, copied, etc.
- Default: green
- Allowed Values:
- amber
- green
- red
- white
The version identifier associated with the Tool.
-
This entry is optional
- String with at most 1024 characters
-
This entry is required
- Must equal: "tool"
ATT&CK Software.aliases
-
This entry is optional
-
This entry's type is sequential (allows zero or more values)
- String with at most 1024 characters
External references are used to describe pointers to information represented outside of CTIM. For example, a Malware object could use an external reference to indicate an ID for that malware in an external database or a report could use references to represent source material.
Property | Type | Description | Required? |
---|---|---|---|
source_name | MedString String | The source within which the external-reference is defined (system, registry, organization, etc.) | ✓ |
description | Markdown String | ||
external_id | String | An identifier for the external reference content. | |
hashes | String List | Specifies a dictionary of hashes for the contents of the url. | |
url | String | A URL reference to an external resource |
- Reference: External Reference
-
This entry is optional
- Markdown string with at most 5000 characters
An identifier for the external reference content.
- This entry is optional
Specifies a dictionary of hashes for the contents of the url.
- This entry is optional
- This entry's type is sequential (allows zero or more values)
The source within which the external-reference is defined (system, registry, organization, etc.)
-
This entry is required
- String with at most 2048 characters
A URL reference to an external resource
-
This entry is optional
- A URI
The kill-chain-phase represents a phase in a kill chain, which describes the various phases an attacker may undertake in order to achieve their objectives.
Property | Type | Description | Required? |
---|---|---|---|
kill_chain_name | String | The name of the kill chain. | ✓ |
phase_name | String | The name of the phase in the kill chain. | ✓ |
- Reference: Kill Chain Phase
The name of the kill chain.
-
This entry is required
- SHOULD be all lowercase (where lowercase is defined by the locality conventions) and SHOULD use hyphens instead of spaces or underscores as word separators.
- Must equal: "lockheed-martin-cyber-kill-chain"
- Reference: Open Vocabulary
The name of the phase in the kill chain.
-
This entry is required
- SHOULD be all lowercase (where lowercase is defined by the locality conventions) and SHOULD use hyphens instead of spaces or underscores as word separators.
- Allowed Values:
- actions-on-objective
- command-and-control
- delivery
- exploitation
- installation
- reconnaissance
- weaponization
- Reference: Open Vocabulary