Techniques
Sample rules
AWS Disable Bucket Versioning
- source: splunk
- technicques:
- T1490
Description
The following analytic detects when AWS S3 bucket versioning is suspended by a user. It leverages AWS CloudTrail logs to identify PutBucketVersioning
events with the VersioningConfiguration.Status
set to Suspended
. This activity is significant because disabling versioning can prevent recovery of deleted or modified data, which is a common tactic in ransomware attacks. If confirmed malicious, this action could lead to data loss and hinder recovery efforts, severely impacting data integrity and availability.
Detection logic
`cloudtrail` eventName= PutBucketVersioning "requestParameters.VersioningConfiguration.Status"=Suspended
| stats count values(requestParameters.bucketName) as bucket_name values(resources{}.ARN) as resource_arn by src_ip aws_account_id awsRegion eventName userAgent user_arn userIdentity.principalId errorCode
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `aws_disable_bucket_versioning_filter`
ASL AWS Disable Bucket Versioning
- source: splunk
- technicques:
- T1490
Description
The following analytic detects when AWS S3 bucket versioning is suspended by a user. It leverages AWS CloudTrail logs to identify PutBucketVersioning
events with the VersioningConfiguration.Status
set to Suspended
. This activity is significant because disabling versioning can prevent recovery of deleted or modified data, which is a common tactic in ransomware attacks. If confirmed malicious, this action could lead to data loss and hinder recovery efforts, severely impacting data integrity and availability.
Detection logic
`amazon_security_lake` api.operation=PutBucketVersioning
| spath input=api.request.data path=VersioningConfiguration.Status output=Status
| spath input=api.request.data path=bucketName output=bucketName
| search Status=Suspended
| fillnull
| stats count min(_time) as firstTime max(_time) as lastTime by api.operation actor.user.uid actor.user.account.uid http_request.user_agent src_endpoint.ip cloud.region api.request.data bucketName
| rename actor.user.uid as user, src_endpoint.ip as src_ip, cloud.region as region, http_request.user_agent as user_agent
| `security_content_ctime(firstTime)`
| `security_content_ctime(lastTime)`
| `asl_aws_disable_bucket_versioning_filter`