Operator On The Wire
Join
← Back to Knowledge Base
BLUE TEAM / THREAT HUNT / CLOUD

IAM Roles

ConceptAWSAzureActionAttackSignalNotes
Identity creationiam:CreateUserCreate User / Service PrincipalCreate new identityPersistenceCreateUser / AuditLogs (Add user)Often followed by keys/roles
Credential creationiam:CreateAccessKeyAdd client secret / certificateGenerate credentialsLong-term persistenceCreateAccessKey / Add credentialEquivalent to password dump
Credential usageaccessKeyId usageOAuth token usageAuthenticate API callsInitial accessuserIdentity.accessKeyId / Sign-in logsTrack unusual usage
Credential cleanupiam:DeleteAccessKeyRemove credentialRemove accessAnti-forensicsDeleteAccessKeyCleanup indicator
Console access enableiam:CreateLoginProfileSet passwordEnable interactive loginPersistenceCreateLoginProfileEnables portal login
Identity enumerationListUsers / ListRolesList users / directory rolesDiscover identitiesReconListUsers / AuditLogsEarly attacker phase
Permission inspectioniam:GetPolicyVersionGet role definition / permissionsView permissionsRecon before escalationGetPolicyVersionOften chained
Privilege escalation (policy attach)iam:AttachUserPolicyAssign RBAC roleGrant permissionsEscalationAttachUserPolicy / RoleAssignmentLook for admin roles
Privilege escalation (inline)iam:PutUserPolicyCustom role / inline permissionsAdd hidden permissionsStealth escalationPutUserPolicyHarder to detect
Privilege escalation (role)iam:AttachRolePolicyAssign role to service principalElevate role permissionsEscalationAttachRolePolicyCritical
Privilege escalation (policy version)iam:SetDefaultPolicyVersionModify role definitionActivate more permissive versionClassic privescSetDefaultPolicyVersionAWS-specific but concept exists
Group-based escalationiam:AddUserToGroupAdd user to groupInherit permissionsEscalationAddUserToGroupCheck group privileges
Role creationiam:CreateRoleCreate Managed Identity / App RegistrationCreate privileged identityPersistenceCreateRoleCheck trust
Trust modificationiam:UpdateAssumeRolePolicyUpdate trust / app permissionsAllow new principalsLateral movementUpdateAssumeRolePolicyVery dangerous
Identity pivotsts:AssumeRoleToken acquisition (OAuth) / Managed Identity usageAct as another identityLateral movementAssumeRole / Sign-in logsTrack issuer
Role assignment to resourceiam:PassRoleAssign Managed Identity to resourceResource runs as roleExecution privescSeen via resource creationNOT directly logged in AWS
Compute deploymentRunInstancesCreate VMDeploy computeExecutionRunInstances / VM creation logsLess stealthy
Serverless deploymentCreateFunctionCreate Function AppDeploy code executionExecutionCreateFunction / Function creationCommon attacker path
Code executionInvokeInvoke FunctionExecute payloadExecutionInvoke / Function execution logsEquivalent to malware
Code modificationUpdateFunctionCodeUpdate FunctionModify payloadPersistenceUpdateFunctionCodeBackdoor
Storage enumerationListBucketsList Storage Accounts / ContainersDiscover dataReconListBucketsPre-exfil
Storage enumeration (objects)ListObjectsList BlobsDiscover filesReconListObjectsTargeting
Data exfiltrationGetObjectGet BlobDownload dataExfiltrationGetObject / Storage access logsHigh signal
Data stagingPutObjectPut BlobUpload dataStaging / exfilPutObjectCheck IP
Data deletionDeleteObjectDelete BlobRemove dataAnti-forensicsDeleteObjectCleanup
Replication abusePutBucketReplicationReplication configPersist exfil channelPersistencePutBucketReplicationAdvanced attack
Logging discoveryDescribeLogGroupsList diagnostic settingsDiscover logsReconDescribeLogGroupsPre-evasion
Logging disableStopLoggingDisable diagnostic logsBlind detectionEvasionStopLoggingCritical
Log deletionDeleteLogGroupDelete logsCover tracksEvasionDeleteLogGroupCritical
Security detection discoveryListDetectorsList Defender alertsDiscover detectionReconListDetectorsPre-evasion
Security disableDeleteDetectorDisable Defender / securityEvade detectionEvasionDeleteDetectorHigh severity
API execution methodaws-cli / boto3Azure CLI / REST APIExecution interfaceHuman attackeruserAgentKey behavioral signal