Event type
GuardDuty IAM Finding Types
Threat detection for IAM credentials and access keys
AWS GuardDuty IAM finding types including anomalous behaviors for credential access, defense evasion, privilege escalation, data exfiltration, root credential usage, API calls from malicious IPs or Tor nodes, and CloudTrail logging manipulation
Overview
What this event covers
GuardDuty IAM findings detect suspicious activity related to IAM entities, access keys, and AWS credentials. These findings use machine learning anomaly detection and threat intelligence to identify credential theft, privilege escalation, defense evasion, root credential misuse, and API calls from malicious sources.
When generated
- ›Anomalous API calls for credential access (GetPasswordData, GetSecretValue)
- ›Defense evasion tactics (DeleteFlowLogs, DisableAlarmActions, StopLogging)
- ›Privilege escalation attempts (AddUserToGroup, PutUserPolicy, AssociateIamInstanceProfile)
- ›Root user credential usage (policy violations)
- ›API calls from malicious IP addresses or Tor exit nodes
- ›Penetration testing tools detected (Kali, Parrot, Pentoo Linux)
- ›CloudTrail logging disabled
- ›Password policy weakened or deleted
- ›Multiple worldwide console logins
- ›EC2 instance credential exfiltration
- ›Data exfiltration behaviors
- ›Persistence mechanisms established
Security relevance
CriticalCompliance
Frequency notes
IAM findings frequency varies by environment. Organizations with active threat hunting see 30-100 findings per hour. Anomalous behavior findings use ML and require training period. Root credential usage should be rare (0-5 per day). Credential exfiltration and privilege escalation are high-severity but lower frequency (5-20 per day). API calls from malicious IPs or Tor nodes indicate active attacks (10-50 per hour during attacks).
Resources
Docs and tools
Generation
Configuration
- Base frequency
- 40 events/hour
- Time patterns
- business_hours night_hours weekend
- Business hours
- 3.0x
- Night hours
- 1.5x
- Weekend
- 1.0x
Schema
Field definitions
Field reference for this event type — types, requirements, examples, and allowed values.
detail.type
GuardDuty IAM finding type indicating attack tactic and detection method
Source: random_choice() of 25 IAM finding types
PrivilegeEscalation:IAMUser/AnomalousBehavior-
CredentialAccess:IAMUser/AnomalousBehaviorAnomalous API for credential access (GetPasswordData, GetSecretValue) -
DefenseEvasion:IAMUser/AnomalousBehaviorAPI to evade detection (DeleteFlowLogs, DisableAlarmActions) -
DefenseEvasion:IAMUser/BedrockLoggingDisabledBedrock model invocation logging was disabled -
Discovery:IAMUser/AnomalousBehaviorAPI for resource discovery (DescribeInstances, ListAccessKeys) -
Exfiltration:IAMUser/AnomalousBehaviorAPI for data exfiltration (PutBucketReplication, CreateSnapshot) -
Impact:IAMUser/AnomalousBehaviorAPI to tamper with data (DeleteSecurityGroup, UpdateUser) -
InitialAccess:IAMUser/AnomalousBehaviorAPI for initial access (StartSession, GetAuthorizationToken) -
Persistence:IAMUser/AnomalousBehaviorAPI to maintain access (CreateAccessKey, ModifyInstanceAttribute) -
PrivilegeEscalation:IAMUser/AnomalousBehaviorAPI for privilege escalation (AddUserToGroup, PutUserPolicy) -
Policy:IAMUser/RootCredentialUsageRoot user credentials used (policy violation) -
PenTest:IAMUser/KaliLinuxAPI invoked from Kali Linux penetration testing tool -
Recon:IAMUser/MaliciousIPCallerReconnaissance API from known malicious IP -
Recon:IAMUser/TorIPCallerReconnaissance API from Tor exit node -
Stealth:IAMUser/CloudTrailLoggingDisabledCloudTrail logging was disabled -
Stealth:IAMUser/PasswordPolicyChangeAccount password policy was weakened -
UnauthorizedAccess:IAMUser/ConsoleLoginSuccess.BMultiple worldwide successful console logins -
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWSEC2 instance credentials used from external IP -
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.InsideAWSEC2 instance credentials used from another AWS account -
UnauthorizedAccess:IAMUser/MaliciousIPCallerAPI invoked from known malicious IP address -
UnauthorizedAccess:IAMUser/TorIPCallerAPI invoked from Tor exit node
detail.resource.accessKeyDetails.accessKeyId
IAM access key ID involved in the finding
Source: random_choice(['AKIA', 'ASIA']) + random_string(16)
AKIA or ASIA followed by 16 alphanumeric charactersAKIAIOSFODNN7EXAMPLEdetail.resource.accessKeyDetails.userType
Type of IAM principal
Source: random_choice(['IAMUser', 'AssumedRole', 'Root', 'FederatedUser'])
IAMUser-
IAMUserStandard IAM user -
AssumedRoleTemporary credentials from assumed role -
RootAWS account root user -
FederatedUserFederated identity user
detail.resource.accessKeyDetails.userName
Name of the IAM user or role
Source: random_choice() from registry users or common names
admin-userdetail.service.action.awsApiCallAction.api
AWS API operation that was invoked
Source: random_choice() of common IAM-related APIs
GetPasswordDatadetail.service.action.awsApiCallAction.serviceName
AWS service where API was called
Source: random_choice() of AWS service domains
iam.amazonaws.comdetail.service.action.awsApiCallAction.remoteIpDetails.ipAddressV4
Source IP address of API call
Source: random_public_ip()
IPv4203.0.113.42detail.service.action.awsApiCallAction.userAgent
User agent string of API caller
Source: random_choice() of common user agents
aws-cli/2.13.5 Python/3.11.4 Linux/5.15.0detail.service.additionalInfo.unusual
ML model analysis of unusual behaviors for anomalous findings
Source: Object with unusual behavior flags
{"userIdentity": {"userName": "anomalous"}}detail.severity
Finding severity level (0-10)
Source: random_choice([2, 2, 5, 5, 5, 5, 8, 8])
5-
2Low severity (1.0-3.9) -
5Medium severity (4.0-6.9) -
8High severity (7.0-8.9)