AWS Security Hub - Detect root user lacking MFA
| Id | 6b3b9b1d-0d5d-4d4a-9f0f-8d1e2c7a5f44 |
| Rulename | AWS Security Hub - Detect root user lacking MFA |
| Description | This query detects AWS accounts where the root user does not have multi-factor authentication (MFA) enabled, using AWS Security Hub control IAM.9 findings. Lack of MFA on the root user increases the risk of unauthorized access and privilege abuse. |
| Severity | High |
| Tactics | PrivilegeEscalation Persistence CredentialAccess DefenseEvasion |
| Techniques | T1098 T1110 T1556.006 |
| Required data connectors | AWSSecurityHub |
| Kind | Scheduled |
| Query frequency | 1h |
| Query period | 1h |
| Trigger threshold | 0 |
| Trigger operator | gt |
| Source Uri | https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/AWS Security Hub/Analytic Rules/IAMRootUserMFADisabled.yaml |
| Version | 1.0.0 |
| Arm template | 6b3b9b1d-0d5d-4d4a-9f0f-8d1e2c7a5f44.json |
AWSSecurityHubFindings
| where RecordState == "ACTIVE" and ComplianceStatus == "FAILED"
| where tostring(AwsSecurityFindingGeneratorId) == "security-control/IAM.9"
or tostring(ComplianceSecurityControlId) == "IAM.9"
| extend RootUserARN = tostring(Resources[0].Id)
| summarize TimeGenerated = max(TimeGenerated)
by AwsAccountId, AwsRegion, AwsSecurityFindingTitle, AwsSecurityFindingDescription,
AwsSecurityFindingId, ComplianceSecurityControlId, RootUserARN
queryPeriod: 1h
query: |
AWSSecurityHubFindings
| where RecordState == "ACTIVE" and ComplianceStatus == "FAILED"
| where tostring(AwsSecurityFindingGeneratorId) == "security-control/IAM.9"
or tostring(ComplianceSecurityControlId) == "IAM.9"
| extend RootUserARN = tostring(Resources[0].Id)
| summarize TimeGenerated = max(TimeGenerated)
by AwsAccountId, AwsRegion, AwsSecurityFindingTitle, AwsSecurityFindingDescription,
AwsSecurityFindingId, ComplianceSecurityControlId, RootUserARN
name: AWS Security Hub - Detect root user lacking MFA
entityMappings:
- fieldMappings:
- columnName: AwsAccountId
identifier: Name
- columnName: RootUserARN
identifier: CloudAppAccountId
entityType: Account
queryFrequency: 1h
OriginalUri: https://github.com/Azure/Azure-Sentinel/blob/master/Solutions/AWS Security Hub/Analytic Rules/IAMRootUserMFADisabled.yaml
tags:
- PCI DSS v3.2.1
- NIST 800-53 r5
- CIS AWS Foundations Benchmark v1.4.0
requiredDataConnectors:
- connectorId: AWSSecurityHub
dataTypes:
- AWSSecurityHubFindings
description: |
This query detects AWS accounts where the root user does not have multi-factor authentication (MFA) enabled, using AWS Security Hub control IAM.9 findings.
Lack of MFA on the root user increases the risk of unauthorized access and privilege abuse.
kind: Scheduled
version: 1.0.0
alertDetailsOverride:
alertDisplayNameFormat: AWS Account {{AwsAccountId}} root user lacks MFA
alertDescriptionFormat: 'AWS Account {{AwsAccountId}} has root user without MFA (Resource: {{RootUserARN}}).'
status: Available
severity: High
relevantTechniques:
- T1098
- T1110
- T1556.006
triggerOperator: gt
triggerThreshold: 0
customDetails:
RootUserARN: RootUserARN
Region: AwsRegion
ComplianceControlId: ComplianceSecurityControlId
FindingId: AwsSecurityFindingId
tactics:
- PrivilegeEscalation
- Persistence
- CredentialAccess
- DefenseEvasion
id: 6b3b9b1d-0d5d-4d4a-9f0f-8d1e2c7a5f44