mirror of
https://github.com/splunk/security_content
synced 2026-06-08 17:32:49 +00:00
74 lines
3.3 KiB
YAML
74 lines
3.3 KiB
YAML
name: AWS Multi-Factor Authentication Disabled
|
|
id: 374832b1-3603-420c-b456-b373e24d34c0
|
|
version: 6
|
|
date: '2025-02-10'
|
|
author: Bhavin Patel, Splunk
|
|
status: production
|
|
type: TTP
|
|
description: The following analytic detects attempts to disable multi-factor authentication
|
|
(MFA) for an AWS IAM user. It leverages AWS CloudTrail logs to identify events where
|
|
MFA devices are deleted or deactivated. This activity is significant because disabling
|
|
MFA can indicate an adversary attempting to weaken account security, potentially
|
|
to maintain persistence using a compromised account. If confirmed malicious, this
|
|
action could allow attackers to retain access to the AWS environment without detection,
|
|
posing a significant risk to the security and integrity of the cloud infrastructure.
|
|
data_source:
|
|
- AWS CloudTrail DeleteVirtualMFADevice
|
|
- AWS CloudTrail DeactivateMFADevice
|
|
search: '`cloudtrail` (eventName= DeleteVirtualMFADevice OR eventName=DeactivateMFADevice)
|
|
| rename user_name as user
|
|
| stats count min(_time) as firstTime max(_time) as lastTime by signature dest user user_agent src vendor_account vendor_region vendor_product
|
|
| `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)` | `aws_multi_factor_authentication_disabled_filter`'
|
|
how_to_implement: The Splunk AWS Add-on is required to utilize this data. The search
|
|
requires AWS CloudTrail logs.
|
|
known_false_positives: AWS Administrators may disable MFA but it is highly unlikely
|
|
for this event to occur without prior notice to the company
|
|
references:
|
|
- https://attack.mitre.org/techniques/T1621/
|
|
- https://aws.amazon.com/what-is/mfa/
|
|
drilldown_searches:
|
|
- name: View the detection results for - "$vendor_account$" and "$user$"
|
|
search: '%original_detection_search% | search vendor_account = "$vendor_account$"
|
|
user = "$user$"'
|
|
earliest_offset: $info_min_time$
|
|
latest_offset: $info_max_time$
|
|
- name: View risk events for the last 7 days for - "$vendor_account$" and "$user$"
|
|
search: '| from datamodel Risk.All_Risk | search normalized_risk_object IN ("$vendor_account$",
|
|
"$user$") 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$
|
|
rba:
|
|
message: User $user$ has disabled Multi-Factor authentication for AWS account
|
|
$vendor_account$
|
|
risk_objects:
|
|
- field: user
|
|
type: user
|
|
score: 64
|
|
threat_objects:
|
|
- field: src
|
|
type: ip_address
|
|
tags:
|
|
analytic_story:
|
|
- AWS Identity and Access Management Account Takeover
|
|
asset_type: AWS Account
|
|
mitre_attack_id:
|
|
- T1556.006
|
|
- T1586.003
|
|
- T1621
|
|
product:
|
|
- Splunk Enterprise
|
|
- Splunk Enterprise Security
|
|
- Splunk Cloud
|
|
security_domain: threat
|
|
tests:
|
|
- name: True Positive Test
|
|
attack_data:
|
|
- data:
|
|
https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1621/aws_mfa_disabled/cloudtrail.json
|
|
sourcetype: aws:cloudtrail
|
|
source: aws_cloudtrail
|