AWS EC2 EBS Snapshot Shared or Made Public
editAWS EC2 EBS Snapshot Shared or Made Public
editDetects when an Amazon Elastic Block Store (EBS) snapshot is shared with another AWS account or made public. EBS snapshots contain copies of data volumes that may include sensitive or regulated information. Adversaries may exploit ModifySnapshotAttribute to share snapshots with external accounts or the public, allowing them to copy and access data in an environment they control. This activity often precedes data exfiltration or persistence operations, where the attacker transfers stolen data out of the victim account or prepares a staging area for further exploitation.
Rule type: eql
Rule indices:
- filebeat-*
- logs-aws.cloudtrail-*
Severity: medium
Risk score: 47
Runs every: 5m
Searches indices from: now-6m (Date Math format, see also Additional look-back time)
Maximum alerts per execution: 100
References:
- https://docs.aws.amazon.com/ebs/latest/userguide/ebs-modifying-snapshot-permissions.html
- https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySnapshotAttribute.html
- https://cloud.hacktricks.xyz/pentesting-cloud/aws-security/aws-post-exploitation/aws-ec2-ebs-ssm-and-vpc-post-exploitation/aws-ebs-snapshot-dump
- https://hackingthe.cloud/aws/exploitation/Misconfigured_Resource-Based_Policies/exploting_public_resources_attack_playbook/
Tags:
- Domain: Cloud
- Data Source: AWS
- Data Source: Amazon Web Services
- Data Source: AWS EC2
- Use Case: Threat Detection
- Tactic: Exfiltration
- Resources: Investigation Guide
Version: 8
Rule authors:
- Elastic
Rule license: Elastic License v2
Investigation guide
editTriage and analysis
Disclaimer: This investigation guide was created using generative AI technology and has been reviewed to improve its accuracy and relevance. While every effort has been made to ensure its quality, we recommend validating the content and adapting it to suit your specific environment and operational needs.
Investigating AWS EC2 EBS Snapshot Shared or Made Public
This rule detects when an Amazon Elastic Block Store (EBS) snapshot is shared with another AWS account or made public. EBS snapshots store copies of data volumes that may contain sensitive or regulated information. Adversaries may exploit the ModifySnapshotAttribute API to share these snapshots externally, allowing them to copy and access the data in an environment they control. This activity is commonly associated with data exfiltration or persistence techniques, where attackers transfer data outside the victim account or prepare backups they can later retrieve. Public sharing (group=all) represents a severe data exposure risk, as it makes the snapshot globally readable.
Possible investigation steps:
-
Identify who performed the action: Review
aws.cloudtrail.user_identity.arnandaws.cloudtrail.user_identity.access_key_idto identify who modified the snapshot’s permissions. Evaluate whether this identity is authorized to share EBS snapshots (check IAM policies forec2:ModifySnapshotAttribute). -
Analyze the source of the request: Examine
source.ipandsource.geofields to determine the geographical origin of the request. An unfamiliar or external location may indicate compromised credentials or unauthorized access. Reviewuser_agent.originalto confirm whether the request originated from an expected administrative tool or host. - Examine the scope of the change:
-
Review
aws.cloudtrail.request_parametersto determine which AWS account(s) were added to thecreateVolumePermissionlist. - If the account ID matches the snapshot owner’s account, this is redundant and typically non-malicious.
-
If another account ID or
group=allappears, verify whether the target is an approved AWS Organization account or an external party. -
Cross-check the affected
snapshotIdin the AWS console or via CLI (describe-snapshot-attribute) to confirm current sharing status. - Identify whether other snapshots or AMIs were shared in the same timeframe.
- Correlate with other activities:
-
Search CloudTrail for related events involving the same actor or
source.ip. -
Look for
CreateSnapshot,CopySnapshot,ExportImage, orPutBucketAclevents that could indicate broader exfiltration or replication behavior. -
Correlate with detections such as
EBS Snapshot Access RemovedorEBS Encryption Disabled, which may signal a coordinated campaign involving both exfiltration and impact. - Check GuardDuty and Security Hub for findings related to data exposure, cross-account sharing, or unauthorized data transfer.
-
Evaluate timing and intent: Compare
@timestampagainst scheduled maintenance or approved change windows. Actions performed outside business hours or without documented change tickets should be prioritized for review.
False positive analysis:
- Authorized internal sharing: Confirm if the snapshot sharing was part of an approved workflow, such as internal replication or migration between AWS Organization accounts.
- Automated replication or tooling: Infrastructure-as-code or backup automation may temporarily share snapshots for cross-region or cross-account transfers. Verify automation identifiers, source IPs, and tags.
-
Self-account addition: Adding the owner’s own account ID to
createVolumePermissionhas no operational impact and can be safely ignored.
If verified as legitimate, document the event under change management and reconcile it against organizational policies for snapshot sharing.
Response and remediation:
1. Containment and validation
- If unauthorized, immediately remove added permissions using the AWS CLI:
aws ec2 modify-snapshot-attribute --snapshot-id <id> --create-volume-permission "Remove=[{UserId=<unauthorized_id>}]"
- Revoke public sharing (group=all) to prevent external access.
- Restrict ec2:ModifySnapshotAttribute permissions to trusted administrative roles only.
2. Investigate for data exfiltration or persistence
- Determine whether the shared snapshot was copied to another account (CopySnapshot).
- Engage AWS Support if evidence suggests external copying or data theft.
- Review subsequent API calls or IAM changes for further persistence or data movement.
3. Strengthen detection and monitoring
- Enable AWS Config rules such as ebs-snapshot-public-restorable-check.
- Implement continuous monitoring for ModifySnapshotAttribute and CopySnapshot operations.
- Correlate future detections by actor, access key, and source IP to identify repeated or automated exfiltration attempts.
4. Recovery and hardening
- Enable default encryption and validate that all snapshots remain private.
- Apply Service Control Policies (SCPs) to prevent public snapshot sharing organization-wide.
- Audit existing snapshots to ensure no others have unauthorized permissions.
- Implement least-privilege IAM principles and enforce multi-factor authentication (MFA) for administrative accounts.
Additional information
- AWS Incident Response Playbooks: reference playbooks for investigating data exfiltration and unauthorized access.
- AWS Customer Playbook Framework: example framework for developing custom playbooks for snapshot configuration and data protection.
- AWS Documentation
- EBS Snapshot Permissions
- ModifySnapshotAttribute API Reference
Rule query
editinfo where event.dataset == "aws.cloudtrail" and event.action == "ModifySnapshotAttribute" and event.outcome == "success" and stringContains (aws.cloudtrail.request_parameters, "attributeType=CREATE_VOLUME_PERMISSION") and stringContains (aws.cloudtrail.request_parameters, "add=")
Framework: MITRE ATT&CKTM
-
Tactic:
- Name: Exfiltration
- ID: TA0010
- Reference URL: https://attack.mitre.org/tactics/TA0010/
-
Technique:
- Name: Transfer Data to Cloud Account
- ID: T1537
- Reference URL: https://attack.mitre.org/techniques/T1537/