Once an attacker holds one valid identity, the cheapest way to keep it is to quietly change it: add a key, a role, a group, a device or a delegate that survives a password reset. MITRE ATT&CK tracks this as T1098 Account Manipulation, a technique that sits in both the Persistence (TA0003) and Privilege Escalation (TA0004) tactics and spans Windows, Linux, macOS, ESXi, network devices, containers, IaaS, SaaS, Office suites and identity providers. This guide covers all seven ATT&CK v20 sub-techniques, their mapped detections and log sources, and the mitigations that make these changes hard to make and easy to see. It is written for detection engineers, identity and cloud administrators and incident responders.
Key takeaways
- T1098 is about change, not login. The signal is a modification to an identity (credential, role, group, delegate, key or device), so your audit pipeline for identity changes matters more than your sign-in analytics.
- Non-human identities are a favourite target. Adding a secret or certificate to an existing service principal, or a new access key to a cloud user, gives durable access that user-focused controls such as MFA and session revocation do not touch.
- Seven sub-techniques, one pattern. T1098.001 to T1098.007 cover cloud credentials, email delegation, cloud roles, SSH authorised keys, device registration, Kubernetes role bindings and local or domain groups; each has a specific audit event you can alert on.
- Prevention is privilege design. MITRE's mitigations come down to removing the right to make these changes from ordinary accounts (M1018, M1026), forcing MFA and approval on the ones that remain (M1032), and switching off unused mechanisms (M1042).
- Response must sweep for persistence. Resetting a password does not remove an added key, role or delegate; every identity incident needs an explicit check of all seven change types.
How the attack works
ATT&CK defines account manipulation as any action that preserves or modifies adversary access to a compromised account, such as modifying credentials or permission groups. It always follows an earlier foothold, typically MITRE ATT&CK T1078 Valid Accounts, and is often paired with MITRE ATT&CK T1136 Create Account. The defender's mental model has three parts:
- Precondition: the attacker controls an identity that already has some right to modify identities, roles, files or policies. Over-privileged helpdesk, automation and service accounts are the usual enablers.
- The change: a write to an identity store (directory, IdP, cloud IAM, Kubernetes RBAC, mailbox permissions, an authorised keys file or an MFA device list).
- The payoff: access that outlives the original foothold, or a higher privilege level than the stolen identity had.
The v20 technique page (version 2.8) lists the following sub-techniques. All are in the Persistence and Privilege Escalation tactics.
| ID | Name (ATT&CK v20) | What changes | Platforms |
|---|---|---|---|
| T1098.001 | Additional Cloud Credentials | New password, x509 certificate or key added to a cloud user, service principal or application | IaaS, Identity Provider, SaaS |
| T1098.002 | Additional Email Delegate Permissions | Mailbox or folder permissions granted to another account | Windows, Office Suite |
| T1098.003 | Additional Cloud Roles | Admin role or IAM policy attached to a controlled account | IaaS, Identity Provider, Office Suite, SaaS |
| T1098.004 | SSH Authorized Keys | Public key added to an authorized_keys file or cloud instance metadata | ESXi, IaaS, Linux, macOS, Network Devices |
| T1098.005 | Device Registration | New MFA or management device enrolled to an account | Windows, Identity Provider |
| T1098.006 | Additional Container Cluster Roles | RoleBinding or ClusterRoleBinding created for a user or service account | Containers |
| T1098.007 | Additional Local or Domain Groups | Account added to a privileged local or domain group | Windows, macOS, Linux |
Where it shows up
- Cloud and identity provider tenants: new client secrets or certificates on Entra ID applications and service principals, new IAM access keys or console login profiles in AWS, new service account keys in Google Cloud, and new global or privileged role assignments. See the Azure RBAC and Service Principals Guide and the Google Cloud IAM and Service Accounts Guide.
- Email and collaboration: mailbox permissions and folder permissions in Exchange Online and on-premises Exchange, and delegation in Google Workspace.
- Linux, macOS, ESXi and network devices: keys in
~/.ssh/authorized_keys, in ESXi's per-user key files, or bound to privileged accounts on routers and switches. See the SSH Key Management Guide. - MFA and device management: a new authenticator or device registered after a credential compromise, which then satisfies MFA or device-based Conditional Access. See the MFA Fatigue and Bypass Guide.
- Kubernetes: bindings that attach powerful roles to an attacker-controlled user or service account. See the Kubernetes RBAC Guide.
- Active Directory and local hosts: additions to Domain Admins, Administrators, Remote Desktop Users or Linux groups such as
sudoorwheel, plus account attribute changes such as SID History or delegation settings.
Impact
- Persistence that survives standard remediation: password resets and session revocation do not remove an added application secret, access key, SSH key, delegate or registered device.
- Privilege escalation: role, group and binding changes turn a low-value foothold into tenant, domain or cluster administration.
- Control bypass: registered devices satisfy MFA and device compliance checks; application credentials authenticate without any user sign-in.
- Data access at scale: application permissions and mailbox delegation can expose many mailboxes or datasets at once. In the Microsoft Midnight Blizzard breach, a legacy test OAuth application was used to create further malicious OAuth applications and grant the Exchange Online
full_access_as_approle, giving mailbox access without any executive's credentials.
Detection
ATT&CK v20 attaches a detection strategy to the parent technique and to each sub-technique. The table lists the strategy, the log sources MITRE names, and the specific events to alert on. Treat a change by an identity that does not normally administer identities, from an unusual network, or shortly after a risky sign-in as high severity.
| Technique | ATT&CK detection strategy | Events and log sources to collect |
|---|---|---|
| T1098 | DET0096 Account Manipulation Behavior Chain Detection | Windows Security 4738 (user account changed), 4728, 4670; Sysmon 1; auditd for usermod, groupmod, passwd and writes to /etc/passwd or /etc/group; Okta role and attribute changes; ESXi account creation and role changes; Microsoft 365 role changes |
| T1098.001 | DET0531 Additional Cloud Credentials in IaaS/IdP/SaaS | Entra audit "Add service principal credentials" and "Update application - Certificates and secrets management"; CloudTrail CreateAccessKey, CreateLoginProfile, CreateKeyPair, ImportKeyPair; Google Cloud iam.serviceAccounts.keys.create |
| T1098.002 | DET0373 Addition of Email Delegate Permissions | Microsoft 365 unified audit Add-MailboxPermission, UpdateFolderPermissions; Windows 4688 for Exchange cmdlet execution; Google Workspace delegation events |
| T1098.003 | DET0277 Role Addition to Cloud Accounts | CloudTrail AttachUserPolicy, CreatePolicyVersion, PutRolePolicy; Entra "Add member to role", "Add eligible member to role", "Add app role assignment to service principal" |
| T1098.004 | DET0126 SSH Key Injection in Authorized Keys | auditd write watches on /home/*/.ssh/authorized_keys and /root/.ssh/; macOS unified log; Google Cloud compute.instances.setMetadata; ESXi shell file edits; network device CLI key binding |
| T1098.005 | DET0036 Suspicious Device Registration via Entra ID or MFA Platform | Entra audit "Add device", "Register device", "Add registered owner to device", "User registered security info"; Intune enrolment logs; Okta and Duo enrolment events |
| T1098.006 | DET0572 Suspicious RoleBinding or ClusterRoleBinding Assignment | Kubernetes audit log create and update on rolebindings and clusterrolebindings, especially outside CI/CD service accounts or from unknown IPs |
| T1098.007 | DET0310 Suspicious Addition to Local or Domain Groups | Windows Security 4728/4729 (global groups), 4732/4733 (local groups), 4756/4757 (universal groups); auditd for usermod, gpasswd and /etc/group; macOS dseditgroup and dscl |
Practical points that make these detections work:
- Turn the logs on first: Windows events 4738 and 4728 to 4757 need the Audit User Account Management and Audit Security Group Management subcategories enabled through Advanced Audit Policy. Kubernetes audit logging must be configured with a policy that records RBAC objects at Metadata level or higher. Microsoft 365 unified audit and CloudTrail management events must be retained centrally.
- Watch the attributes Microsoft calls out: for 4738, Microsoft recommends monitoring critical accounts by target name, and flagging SID History that is not empty, changes to AllowedToDelegateTo, and User Account Control flags such as Don't Require Preauth, Password Not Required and Don't Expire Password.
- Correlate, do not just count: a credential added by a deployment pipeline is routine; the same change by a user who just signed in from a new country is not. Join change events with the preceding sign-in and process context.
- Baseline the change agents: allowlist the automation identities that legitimately make each change by identity, source and change type, so a compromised automation account still alerts.
Metrics that show it is working:
- Percentage of the seven change types with a live, tested alert (target 100 per cent for cloud credentials, cloud roles and privileged groups).
- Median time from a privileged identity change to analyst triage.
- Number of standing identities able to add credentials or assign roles, tracked down over time.
- Count of application and service principal credentials older than policy, or without a named owner.
An identity threat detection and response capability is the natural home for these analytics. See the ITDR Guide.
Prevention and hardening
MITRE maps seven mitigations to T1098. The table turns each into concrete controls.
| Mitigation | What ATT&CK recommends | Concrete controls |
|---|---|---|
| M1018 User Account Management | Low-privileged accounts must not be able to modify accounts, add access keys, update IAM policies or cluster roles | Remove iam:CreateAccessKey and policy-write permissions from general roles; restrict Entra application ownership; in AWS, deny sts:GetFederationToken unless required |
| M1026 Privileged Account Management | Least privilege; no day-to-day use of domain admin or root; multi-approver role assignment in Entra PIM | Just-in-time elevation with approval for Global Administrator and Privileged Role Administrator; tiered admin model for Active Directory. See the Privileged Access Management Guide. |
| M1032 Multi-factor Authentication | MFA for user and privileged accounts; MFA to register devices; MFA on key-pair API calls | Phishing-resistant MFA for admins; Conditional Access requiring MFA for device registration; Temporary Access Pass for first MFA enrolment; disallow enrolment for inactive accounts |
| M1042 Disable or Remove Feature or Program | Remove unnecessary authentication mechanisms; disable app passwords; disable email delegation and SSH where not needed | Disable Entra app passwords and legacy authentication; set PermitRootLogin no in sshd_config; turn off Gmail delegation where unused |
| M1022 Restrict File and Directory Permissions | Restrict access to authorized_keys and other authentication files | Root-owned key files via a central AuthorizedKeysFile path or certificate-based SSH; file integrity monitoring on key locations |
| M1030 Network Segmentation | Limit access to critical systems and domain controllers | Admin actions only from privileged access workstations or named networks; IP-restricted management planes |
| M1028 Operating System Configuration | Harden domain controllers, limit unnecessary protocols such as SMB | Domain controller hardening baselines. See the Active Directory and Entra ID Hardening Guide. |
Platform-specific guardrails worth adopting:
- Google Cloud: enforce
iam.managed.disableServiceAccountKeyCreationandiam.managed.disableServiceAccountKeyUpload. Google states that the legacy versions of these constraints are enforced by default for organisations created on or after 3 May 2024; older organisations should check. - Entra ID: restrict who can register applications and consent to permissions, require approval for privileged role activation, and use application credential policies to limit secret lifetimes. See the Entra ID Applications and Consent Guide.
- Kubernetes: follow MITRE's advice to avoid wildcard permissions and the
system:mastersgroup, and prefer RoleBindings over ClusterRoleBindings. Restrict thebindandescalateverbs to cluster administrators, and use admission control to reject bindings tocluster-adminoutside a break-glass path.
Rollout order
- Inventory change rights: list every human and non-human identity that can add credentials, assign roles, change groups, register devices or edit mailbox permissions.
- Enable and centralise logs: confirm each event in the detection table actually reaches the SIEM; test by making a benign change in a lab tenant.
- Deploy alerts in report-only mode: run for two to four weeks, tune the allowlist of legitimate change agents, then move to paging.
- Remove standing rights: convert privileged role and group membership to just-in-time with approval, starting with tenant and domain administrators.
- Apply guardrails: organisation policies, Conditional Access for registration, admission control. Pilot on one subscription, project or cluster, keep a documented exception process, and roll back by switching the policy to audit if a business process breaks.
- Rehearse the sweep: run a tabletop where responders must find and revert one example of each sub-technique.
Small and large organisations
A small organisation with one cloud tenant should start with its IdP and cloud provider's built-in alerts for role assignment and credential addition, plus the guardrails above. Large organisations need the full detection table in a SIEM or ITDR platform, an owner for every application credential, and reconciliation of role and group membership against an approved state.
Lessons from incidents
- Legacy applications are persistence waiting to happen: the Microsoft Midnight Blizzard breach shows how an old test OAuth application with elevated access became a platform for new applications and a high-privilege app role assignment. Alerting on "Add app role assignment to service principal" and new application creation would have surfaced the change.
- Password resets alone leave the door open: responders who reset the compromised user but do not review application credentials, role assignments and registered devices leave every T1098 change in place.
- Ownerless non-human identities: credentials added to a service principal nobody owns go unnoticed for months. See the OWASP NHI Top 10 NHI1 Improper Offboarding Guide.
Framework mapping
| Framework | Relevant items |
|---|---|
| NIST SP 800-53 Rev. 5 | AC-2 Account Management and AC-2(4) Automated Audit Actions; AC-6 Least Privilege and AC-6(9) Log Use of Privileged Functions; CM-5 Access Restrictions for Change; AU-12 Audit Record Generation; AU-6 Audit Record Review, Analysis, and Reporting; SI-4 System Monitoring |
| NIST CSF 2.0 | PR.AA-01 identities and credentials managed; PR.AA-05 access permissions managed; DE.CM-03 personnel activity and technology usage monitored |
| ISO/IEC 27001:2022 Annex A | 5.18 Access rights; 8.2 Privileged access rights; 8.15 Logging; 8.16 Monitoring activities |
| CIS Controls v8.1 | Control 5 Account Management; Control 6 Access Control Management; Control 8 Audit Log Management |
| MITRE ATT&CK | Related: T1078 Valid Accounts, T1136 Create Account, T1078.004 Cloud Accounts |
Practitioner checklist
- Map each of T1098.001 to T1098.007 to the platforms you run and name the log source for each.
- Enable Audit User Account Management and Audit Security Group Management, Microsoft 365 unified audit, CloudTrail management events and Kubernetes RBAC auditing.
- Alert on credentials added to service principals, applications and cloud users, and on any privileged role or group assignment.
- Alert on new MFA methods and device registrations, especially within hours of a risky sign-in.
- Remove the right to add credentials or assign roles from general-purpose and automation identities that do not need it.
- Put privileged roles behind just-in-time activation with approval and phishing-resistant MFA.
- Enforce key-creation restrictions for cloud service accounts and disable app passwords and unused delegation.
- Add a seven-point persistence sweep to every identity incident playbook.
Standards and references
- MITRE ATT&CK: Account Manipulation (T1098)
- MITRE ATT&CK: Additional Cloud Credentials (T1098.001)
- MITRE ATT&CK: Additional Cloud Roles (T1098.003)
- Microsoft Learn: 4738(S) A user account was changed
- Microsoft Learn: Microsoft Entra audit log activity reference
- Google Cloud: Restricting service account usage
- NIST: SP 800-53 Rev. 5
- NIST: Cybersecurity Framework 2.0
Related NHI Mgmt Group resources: ITDR Guide · MITRE ATT&CK T1552 Unsecured Credentials Guide · Git Secret Scanning Guide · OWASP NHI Top 10 NHI2 Secret Leakage Guide · MITRE ATT&CK Guide for Defenders