Detect shared ec2 snapshot
Description
The following analytic utilizes AWS CloudTrail events to identify when an EC2 snapshot permissions are modified to be shared with a different AWS account. This method is used by adversaries to exfiltrate the EC2 snapshot.
- Type: TTP
-
Product: Splunk Enterprise, Splunk Enterprise Security, Splunk Cloud
- Last Updated: 2021-07-20
- Author: Bhavin Patel, Splunk
- ID: 2a9b80d3-6340-4345-b5ad-290bf3d222c4
Annotations
ATT&CK
ID | Technique | Tactic |
---|---|---|
T1537 | Transfer Data to Cloud Account | Exfiltration |
Kill Chain Phase
- Actions on Objectives
NIST
- PR.DS
- PR.AC
- DE.CM
CIS20
- CIS 13
CVE
Search
1
2
3
4
5
6
7
`cloudtrail` eventName=ModifySnapshotAttribute
| rename requestParameters.createVolumePermission.add.items{}.userId as requested_account_id
| search requested_account_id != NULL
| eval match=if(requested_account_id==aws_account_id,"Match","No Match")
| table _time user_arn src_ip requestParameters.attributeType requested_account_id aws_account_id match vendor_region user_agent
| where match = "No Match"
| `detect_shared_ec2_snapshot_filter`
Macros
The SPL above uses the following Macros:
Note that detect_shared_ec2_snapshot_filter is a empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.
Required field
- _time
- eventName
- user_arn
- src_ip
- requestParameters.attributeType
- aws_account_id
- vendor_region
- user_agent
How To Implement
You must install splunk AWS add on and Splunk App for AWS. This search works with AWS CloudTrail logs.
Known False Positives
It is possible that an AWS admin has legitimately shared a snapshot with others for a specific purpose.
Associated Analytic story
RBA
Risk Score | Impact | Confidence | Message |
---|---|---|---|
48.0 | 60 | 80 | AWS EC2 snapshot from account $aws_account_id$ is shared with $requested_account_id$ by user $user_arn$ from $src_ip$ |
Reference
Test Dataset
Replay any dataset to Splunk Enterprise by using our replay.py tool or the UI. Alternatively you can replay a dataset into a Splunk Attack Range
source | version: 2