Detection rules › Sigma

AWS IAM S3Browser Templated S3 Bucket Policy Creation

Status
test
Severity
high
Log source
product aws, service cloudtrail
Author
daniel.bohannon@permiso.io (@danielhbohannon)
Source
github.com/SigmaHQ/sigma

Detects S3 browser utility creating Inline IAM policy containing default S3 bucket name placeholder value of "<YOUR-BUCKET-NAME>".

MITRE ATT&CK coverage

Event coverage

Rules detecting the same action

Other rules on this platform that filter on the same API call or operation.

Rule body yaml

title: AWS IAM S3Browser Templated S3 Bucket Policy Creation
id: db014773-7375-4f4e-b83b-133337c0ffee
status: test
description: Detects S3 browser utility creating Inline IAM policy containing default S3 bucket name placeholder value of "<YOUR-BUCKET-NAME>".
references:
    - https://permiso.io/blog/s/unmasking-guivil-new-cloud-threat-actor
author: daniel.bohannon@permiso.io (@danielhbohannon)
date: 2023-05-17
tags:
    - attack.execution
    - attack.stealth
    - attack.t1059.009
    - attack.persistence
    - attack.initial-access
    - attack.privilege-escalation
    - attack.t1078.004
logsource:
    product: aws
    service: cloudtrail
detection:
    selection:
        eventSource: iam.amazonaws.com
        eventName: PutUserPolicy
        userAgent|contains: 'S3 Browser'
        requestParameters|contains|all:
            - '"arn:aws:s3:::<YOUR-BUCKET-NAME>/*"'
            - '"s3:GetObject"'
            - '"Allow"'
    condition: selection
falsepositives:
    - Valid usage of S3 browser with accidental creation of default Inline IAM policy without changing default S3 bucket name placeholder value
level: high

Stages and Predicates

Stage 0: condition

selection

Stage 1: selection

selection:
    eventSource: iam.amazonaws.com
    eventName: PutUserPolicy
    userAgent|contains: 'S3 Browser'
    requestParameters|contains|all:
        - '"arn:aws:s3:::<YOUR-BUCKET-NAME>/*"'
        - '"s3:GetObject"'
        - '"Allow"'

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
eventNameeq
  • PutUserPolicy
eventSourceeq
  • iam.amazonaws.com
requestParametersmatch
  • "Allow"
  • "arn:aws:s3:::<YOUR-BUCKET-NAME>/*"
  • "s3:GetObject"
userAgentmatch
  • S3 Browser