ID | Technique | Tactic |
---|---|---|
T1069.003 | Cloud Groups | Discovery |
T1098 | Account Manipulation | Persistence |
T1069 | Permission Groups Discovery | Privilege Escalation |
Detection: ASL AWS IAM Successful Group Deletion
Description
The following analytic detects the successful deletion of a group within AWS IAM, leveraging CloudTrail IAM events. This action, while not inherently malicious, can serve as a precursor to more sinister activities, such as unauthorized access or privilege escalation attempts. By monitoring for such deletions, the analytic aids in identifying potential preparatory steps towards an attack, allowing for early detection and mitigation. The identification of this behavior is crucial for a SOC to prevent the potential impact of an attack, which could include unauthorized access to sensitive resources or disruption of AWS environment operations.
Search
1`amazon_security_lake` api.operation=DeleteGroup status=Success
2| fillnull
3| stats count min(_time) as firstTime max(_time) as lastTime by api.operation actor.user.account_uid actor.user.name actor.user.uid http_request.user_agent src_endpoint.ip cloud.region
4| rename actor.user.name as user, src_endpoint.ip as src_ip, cloud.region as region, http_request.user_agent as user_agent, actor.user.account_uid as aws_account_id
5| `security_content_ctime(firstTime)`
6| `security_content_ctime(lastTime)`
7| `asl_aws_iam_successful_group_deletion_filter`
Data Source
Name | Platform | Sourcetype | Source | Supported App |
---|---|---|---|---|
N/A | N/A | N/A | N/A | N/A |
Macros Used
Name | Value |
---|---|
amazon_security_lake | sourcetype=aws:cloudtrail:lake |
asl_aws_iam_successful_group_deletion_filter | search * |
asl_aws_iam_successful_group_deletion_filter
is an empty macro by default. It allows the user to filter out any results (false positives) without editing the SPL.
Annotations
Default Configuration
This detection is configured by default in Splunk Enterprise Security to run with the following settings:
Setting | Value |
---|---|
Disabled | true |
Cron Schedule | 0 * * * * |
Earliest Time | -70m@m |
Latest Time | -10m@m |
Schedule Window | auto |
Creates Risk Event | False |
Implementation
You must install the Data Lake Federated Analytics App and ingest the logs into Splunk.
Known False Positives
This detection will require tuning to provide high fidelity detection capabilties. Tune based on src addresses (corporate offices, VPN terminations) or by groups of users. Not every user with AWS access should have permission to delete groups (least privilege).
Associated Analytic Story
Risk Based Analytics (RBA)
Risk Message | Risk Score | Impact | Confidence |
---|---|---|---|
User $user$ has sucessfully deleted a user group from $src_ip$ | 5 | 10 | 50 |
References
-
https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/delete-group.html
-
https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteGroup.html
Detection Testing
Test Type | Status | Dataset | Source | Sourcetype |
---|---|---|---|---|
Validation | ✅ Passing | N/A | N/A | N/A |
Unit | ✅ Passing | Dataset | aws_asl |
aws:cloudtrail:lake |
Integration | ✅ Passing | Dataset | aws_asl |
aws:cloudtrail:lake |
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: GitHub | Version: 2