Name:AWS Exfiltration via Bucket Replication id:eeb432d6-2212-43b6-9e89-fcd753f7da4c version:5 date:2024-11-14 author:Bhavin Patel, Splunk status:production type:TTP Description:The following analytic detects API calls to enable S3 bucket replication services. It leverages AWS CloudTrail logs to identify `PutBucketReplication` events, focusing on fields like `bucketName`, `ReplicationConfiguration.Rule.Destination.Bucket`, and user details. This activity is significant as it can indicate unauthorized data replication, potentially leading to data exfiltration. If confirmed malicious, attackers could replicate sensitive data to external accounts, leading to data breaches and compliance violations. Data_source:
-AWS CloudTrail PutBucketReplication
search:`cloudtrail` eventName = PutBucketReplication eventSource = s3.amazonaws.com | rename user_name as user, requestParameters.ReplicationConfiguration.Rule.Destination.Bucket as bucket_name | stats count min(_time) as firstTime max(_time) as lastTime by signature dest user user_agent src vendor_account vendor_region vendor_product bucket_name | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `aws_exfiltration_via_bucket_replication_filter`
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 implemented data replication to ensure data availability and improve data protection/backup strategies. References: -https://hackingthe.cloud/aws/exploitation/s3-bucket-replication-exfiltration/ drilldown_searches: name:'View the detection results for - "$user_arn$" and "$aws_account_id$"' search:'%original_detection_search% | search user_arn = "$user_arn$" aws_account_id = "$aws_account_id$"' earliest_offset:'$info_min_time$' latest_offset:'$info_max_time$' name:'View risk events for the last 7 days for - "$user_arn$" and "$aws_account_id$"' search:'| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$user_arn$", "$aws_account_id$") starthoursago=168 | stats count min(_time) as firstTime max(_time) as lastTime values(search_name) as "Search Name" values(risk_message) as "Risk Message" values(analyticstories) as "Analytic Stories" values(annotations._all) as "Annotations" values(annotations.mitre_attack.mitre_tactic) as "ATT&CK Tactics" by normalized_risk_object | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`' earliest_offset:'$info_min_time$' latest_offset:'$info_max_time$' tags: analytic_story: - 'Suspicious AWS S3 Activities' - 'Data Exfiltration' asset_type:EC2 Snapshot mitre_attack_id: - 'T1537' product: - 'Splunk Enterprise' - 'Splunk Enterprise Security' - 'Splunk Cloud' security_domain:threat