Malware
To create, update, or retrieve Malware entities from the ThreatStream platform.
Request
/api/v1/malware/
HTTP Methods: GET, POST, PATCH
| Create a new Malware entity | POST /api/v1/malware/ |
| Update the specified Malware entity | PATCH /api/v1/malware/{id}/ |
| Get details of the specified Malware entity | GET /api/v1/malware/{id}/ |
| Get a list of Malware entities |
Anomali recommends to use the For example, GET |
| Get a list of Malware entities associated with the specified observable value or observable ID |
GET GET For example, GET |
| Get a list of the specified entity type (such as Actor, Campaign, and so on) associated with the specified Malware entity |
GET For example, GET |
| Get a list of observables associated with the specified Malware entity | GET /api/v1/malware/{id}/intelligence/ |
Response
Format: JSON
Attributes: See the table below
- Attributes with "related" data type return 0 to N number of values. For example, if a threat model entity belongs to more than one trusted circle, both will be returned.
For information on limiting results and returning large datasets while mitigating performance impacts, see Limiting Results.
Attributes
| Attribute | Type | Description |
|---|---|---|
| actors | related (see item 1 in the Notes above) |
Actors associated with the Malware. When creating Malware, specify the Actor ID. See Actors . |
| aliases | string | Other names by which the Malware is known. |
| attackpatterns | related (see item 1 in the Notes above) |
Attack patterns associated with the Malware. When creating a Malware entity, specify the Attack Pattern ID. |
| body_content_type | string |
Format used for the body text of the description: Default: Note: Once specified,
body_content_type cannot be modified. |
| c2_port | string |
Port utilized by associated command and control infrastructure. |
| c2_protocol | string |
Protocol utilized by associated command and control infrastructure. Possible values include: custom, dns, dns_txt, http, https |
| campaigns | related (see item 1 in the Notes above) |
Campaigns associated with the Malware. When creating a Malware entity, specify the Campaign ID. See Campaigns. |
| capabilities | string |
Capabilities associated with the malware. Possible values include: accesses-remote-machines, anti-debugging, anti-disassembly, anti-emulation, anti-memory-forensics, anti-sandbox, anti-vm, captures-input-peripherals, captures-output-peripherals, captures-system-state-data, cleans-traces-of-infection, commits-fraud, communicates-with-c2, compromises-data-availability, compromises-data-integrity, compromises-system-availability, controls-local-machine, degrades-security-software, degrades-system-updates, determines-c2-server, emails-spam, escalates-privileges, evades-av, exfiltrates-data, fingerprints-host, hides-artifacts, hides-executing-code, infects-files, infects-remote-machines, installs-other-components, persists-after-system-reboot, prevents-artifact-access, prevents-artifact-deletion, probes-network-environment, self-modifies, steals-authentication-credentials, violates-system-operational-integrity |
| circles | related (see item 1 in the Notes above) | All Trusted Circles to which the Malware entity belongs. |
| courseofaction | related (see item 1 in the Notes above) |
Course of Action entities associated with the Malware. When creating a Malware entity, specify the Course of Action ID. |
| created_ts |
datetime |
Time stamp of when the Malware entity was created on ThreatStream, in UTC format. Date is in this format: YYYYMMDDThhmmss where T denotes the start of the value for time. For example, 2014-10-02T20:44:35. Note: This attribute is returned in the response to a GET call and is set by ThreatStream; it cannot be configured.
|
| description | string |
The free-form text associated with the Malware entity (as specified in the Description field in the UI). |
| embedded_content_type | string | Not used. |
| embedded_content_url | string | Not used. |
| execution_platforms | string |
Execution platforms associated with the Malware. Possible values include: android, bios, bsd, ios, linux, macos, uefi, unknown, windows |
| feed_id | string | Numeric ID of the threat feed that provided the threat model entity. |
| first_seen | datetime |
Time stamp of when the malware was first observed, in UTC format. Date is in this format: YYYYMMDDThhmmss where T denotes the start of the value for time. For example, 2014-10-02T20:44:35. |
| id | string | ID of the Malware entity. This ID is automatically assigned to the entity by ThreatStream at the time of creation. You can use this ID to associate the Malware entity with other threat model entities. |
| identities | related (see item 1 in the Notes above) |
Identities associated with the Malware entity. When creating a Malware entity, specify the Identity ID. |
| implementation_languages | string |
Implementation languages used by the Malware entity. Possible values include: applescript, bash, c, c#, c++, go, java, javascript, lua |
| incidents | related (see item 1 in the Notes above) |
Incidents associated with the Malware entity. When creating a Malware entity, specify the Incident ID. |
| infrastructure | related (see item 1 in the Notes above) |
Infrastructure entities associated with the Malware entity. When creating a Malware entity, specify the Infrastructure ID. |
| intelligence | related (see item 1 in the Notes above) |
Observables associated with the Malware entity on the ThreatStream platform. When creating a Malware entit, specify the observable ID. See Intelligence. |
| intrusionsets | related (see item 1 in the Notes above) |
Intrusion Sets associated with the Malware entity. When creating a Malware entity, specify the Instrusion Set ID. |
| is_anonymous | boolean |
Whether the Threat Bulletin user and organization information is anonymized. True—if information is anonymized False—if information is not anonymized |
| is_family (Required) | boolean |
Whether the entity is a Malware family or single malware instance. True—if the entity is a Malware family False—if the entitiy is a single Malware instance |
| is_public | boolean |
Whether the Malware is public or private (including belonging to a trusted circle). False—if the Malware is private or belongs to a Trusted Circle True—if the Malware is public Default: False |
| killchainstages | N/A | Not used. |
| last seen | datetime |
Time stamp of when the malware was last observed, in UTC format. Date is in this format: YYYYMMDDThhmmss where T denotes the start of the value for time. For example, 2014-10-02T20:44:35. |
| malware_types (Required) | string |
Malware types associated with the Malware. Possible values include: adware, backdoor, bootkit, bot, ddos, downloader, dropper, keylogger, exploit-kit, ransomware, remote-access-trojan, resource-exploitation, rogue-security-software, rootkit, screen-capture, spyware, trojan, unknown, virus, webshell, wiper, worm |
| malwares | related (see item 1 in the Notes above) |
Other Malware entities associated with the Malware entity. When creating a Malware entity, specify the ID of Malware of interest. |
| modified_ts | datetime |
Time stamp of when the Malware was last updated on ThreatStream, in UTC format. Date is in this format: YYYYMMDDThhmmss where T denotes the start of the value for time. For example, 2014-10-02T20:44:35. Note: This attribute is returned in the response to a GET call and is set by ThreatStream; it cannot be configured.
|
| name | string |
Name of the Malware entity. Malware name is associated with your organization. Therefore, the name must be unique within your organization. However, two Malware entities with the same name can exist on ThreatStream as long as they belong to different organizations. The name can contain up to 255 characters.
Note: This is a required parameter.
|
| organization | string | Information about the organization that created the entity on ThreatStream. |
| owner_user | string | Information about the user that created the entity on ThreatStream. |
| parent | N/A | Not used. |
| publication_status | string |
Malware entities can be in new, pending_review, review_requested, reviewed, or published statuses. Note: Malware entities must be in published status for it to be visible to other users outside your organization.
|
| remote_api (for ThreatStream OnPrem only) | boolean |
Whether the entity is remote (stored on Cloud). Value returned for this attribute is |
| sandbox_reports | related (see item 1 in the Notes above) |
Sandbox reports associated with the malware. When creating a Malware entity, specify the Sandbox report ID. See Sandbox. |
| signatures | related (see item 1 in the Notes above) |
Signatures associated with the Malware entity. When creating a Malware entity, specify the Signature ID. See Signatures. |
|
skip_associations (On ThreatStream OnPrem only) |
boolean |
By default, up to 1000 threat model and observable associations are returned with GET requests for details of a threat model entity on ThreatStream OnPrem. When a threat model entity has a large number of associations, association retrieval can take a long time and impact performance. Therefore, Anomali recommends setting the For example, GET |
|
skip_intelligence (On ThreatStream OnPrem only) |
boolean |
By default, up to 1000 Threat Model and observable associations are returned with GET requests for details of a threat model entity ThreatStream OnPrem. When a threat model entity has a large number of associations, association retrieval can take a long time and impact performance. Therefore, Anomali recommends setting the For example, GET |
| source_created | datetime |
Time stamp of when the malware was originally created by the source, in UTC format. Date is in this format: YYYYMMDDThhmmss where T denotes the start of the value for time. For example, 2014-10-02T20:44:35. |
| source_modified | datetime |
Time stamp of when the malware was last modified by the source, in UTC format. Date is in this format: YYYYMMDDThhmmss where T denotes the start of the value for time. For example, 2014-10-02T20:44:35. |
| tags | list |
Tags assigned to the Malware entities. A tag is a meaningful name or any other string value assigned to identify the information. For example, spear phishing,exploitation. |
| tipreports | related (see item 1 in the Notes above) |
Threat Bulletins associated with the Malware entity. When creating a malware entity, specify the ID of the Threat Bulletin. |
| tlp | string |
Traffic Light Protocol designation for the Malware entity—red, amber, amber+strict, green, clear. Note: The value is case-sensitive and must be specified in lower case.
|
| tools | related (see item 1 in the Notes above) |
Tools associated with the Malware entity. When creating a malware entity, specify the ID of the Threat Bulletin. |
| ttps | related (see item 1 in the Notes above) |
TTP (Threat Bulletins) associated with the Malware entity. When creating a Malware entity, specify the TTP ID. See TTPs (Tactics, Techniques, and Procedures). |
| vulnerability | related (see item 1 in the Notes above) |
Vulnerabilities associated with the Malware entity. When creating a Malware entity, specify the ID of the vulnerability. |
Examples
-
To create a private Malware entity that is associated with a TTP whose ID is 63:
Copycurl --request POST --data '{"name": "dummy test malware", "tlp": "red", "tags": ["malware", "example tag"], "ttps": [63], "is_family": false, "malware_types": ["screen-capture"]}' 'https://api.threatstream.com/api/v1/malware/' -H 'Authorization: apikey <username>:<api_key>' -H 'Content-Type:application/json' -
To update an existing Malware entity whose ID is 79:
Copycurl --request PATCH --data '{"name": "another dummy test malware", "tlp": "orange"}' 'https://api.threatstream.com/api/v1/malware/79/' -H 'Authorization: apikey <username>:<api_key>' -H 'Content-Type:application/json' -
To get the details of an existing Malware entity whose ID is 79:
Copycurl 'https://api.threatstream.com/api/v1/malware/79/' -H 'Authorization: apikey <username>:<api_key>' -
To get the first 10 Malware entities from ThreatStream:
Copycurl 'https://api.threatstream.com/api/v1/malware/?limit=10' -H 'Authorization: apikey <username>:<api_key>' -
(Only on ThreatStream OnPrem) To get the detail of a remote Malware entity whose ID is 80:
Copycurl 'https://<ThreatStream_OnPrem_IP_or_FQDN>/api/v1/malware/80/?remote_api=true' -H 'Authorization: apikey <username>:<api_key>' -
(Only on ThreatStream OnPrem) To skip associations when retrieving details of a local Malware entity with ID 123456:
Copycurl 'https://<ThreatStream_OnPrem_IP_or_FQDN>/api/v1/malware/123456/?skip_associations=true' -H 'Authorization: apikey <username>:<api_key>'