skip to content

After an estate-wide password reset, which identity artefacts still let an intruder back in?

level: seniorimportance: must knowfreq 58%

answer

  1. passwords were never the only credential
  2. an application object holds several secrets
  3. session credentials cannot be individually deleted
  4. consent and device registration survive everything
  5. enumerate from the audit trail, whole dwell window

basics

~20 s

Anything that authenticates without a user password: consented application grants, service-principal secrets and certificates, API keys, static cloud keys and in-flight role sessions, intruder-registered authenticators, and a federation signing key. Enumerate from the intrusion timeline.

solid answer

~50 s

A mass password reset only closes the password path. What comes back three days later is almost always a non-password credential the adversary created while they had privilege. Work through the classes: OAuth consent grants they had approved, especially with mail or file scopes and `offline_access`; every client secret, certificate and federated credential on any application or service principal they touched, remembering that an application object can hold several and deleting one leaves the rest; API keys and personal access tokens in SaaS and source hosting; static cloud access keys, plus in-flight role sessions that cannot be individually deleted and need a deny-by-issue-time policy; authenticator devices they registered; mailbox delegation and forwarding; and, worst case, a token-signing key or added federation trust that mints assertions for anyone. Derive the list by re-reading the identity audit trail across the whole dwell window for credential-add, consent and device-registration events.

code

json · 14 lines
json
{
  "records": [
    { "event": "consent_granted_to_application", "actor": "[email protected]",
      "application_id": "a1b2c3", "scopes": ["Mail.Read", "offline_access"],
      "time": "2026-03-02T02:14:07Z" },
    { "event": "service_principal_credential_added", "actor": "[email protected]",
      "application_id": "a1b2c3", "credential_type": "client_secret",
      "expires": "2028-03-01", "time": "2026-03-02T02:16:41Z" },
    { "event": "sign_in", "principal_type": "service_principal",
      "application_id": "a1b2c3", "auth_method": "client_secret",
      "time": "2026-03-11T04:51:12Z" }
    ...
  ]
}

go deeper

for a junior

Know that plenty of credentials never involve a user password at all, and be able to name a few: API keys, application secrets, consented app grants and registered authenticator devices.

for a middle

Explain why each class survives a reset, and describe how an application registration can hold multiple secrets and certificates simultaneously.

for a senior

Show the method: enumerate revocation items from the identity audit trail across the full dwell window, assign owners, then verify by watching for use of anything you removed.

for a principal

Own the estate-level consequence: which credential types should be permitted at all, who may grant consent, and what maximum secret lifetime makes an incident like this survivable.

## The failure mode this question is about The estate is reset, everyone re-authenticates, the incident is closing, and on day three an authentication succeeds from infrastructure you have already blocked. Almost always the returning credential is one the adversary minted for themselves while they held privilege, precisely because it does not depend on any user's password. Enumerating that class of artefact is the substance of revocation in a modern identity estate. ## The classes to work through **Application consent grants.** A grant records that an application may act on a user's or the tenant's behalf with a set of scopes. The application then holds its own tokens, and a scope such as `offline_access` gives it a refresh token it can keep exchanging. Nothing about a password reset withdraws consent. Look for grants approved during the dwell window, especially mail-read, file-read and directory scopes, and for tenant-wide admin consent, which reaches every user at once. **Credentials on application and service identities.** An application registration or service principal can carry multiple client secrets, multiple certificates, and federated credentials that trust an external issuer. They are additive. Deleting the one secret you found in the logs leaves the others authenticating happily, and a secret created with a two-year expiry outlives the incident review by a wide margin. The rule is to enumerate every credential on every application object the compromised identities created or modified, and remove the ones you cannot account for. **API keys and personal access tokens.** SaaS platforms, source hosting and CI systems issue long-lived tokens tied to a user but independent of their password, and they are frequently scoped broadly. These are the quietest re-entry path because their use often looks like ordinary automation. **Cloud credentials.** Long-lived access keys are rotated or deleted outright. Temporary session credentials from an assumed role are different: they are self-contained until expiry and cannot be individually deleted, so you either wait out the session lifetime or attach a policy that denies actions for sessions issued before a chosen time, which is what the platform's revoke-sessions helper does under the covers. Also check for identities the adversary created rather than borrowed, and for trust-policy edits that let an external principal assume a role. **Registered authentication methods.** An authenticator or security key the adversary enrolled is both a way in and a way to own the recovery flow. Audit registered methods on every affected identity and re-enrol the genuine user through an out-of-band check. **Mailbox and collaboration persistence.** Forwarding rules, delegated mailbox access and sharing links keep delivering data with no authentication event at all. Remove them as part of revocation. **Federation.** The worst case is a stolen token-signing key or an added federation trust: the adversary mints assertions for any user, and no password reset anywhere in the estate touches it. Rotating signing material and reviewing trusted issuers belongs in the revocation plan whenever the compromise reached the identity infrastructure itself. ## Derive the list from the timeline, not from a template The generic checklist tells you which classes exist. It cannot tell you which objects in your tenant to act on. That comes from re-reading the identity audit trail across the entire dwell window, not just from the day the alert fired, filtering for credential-add, consent-granted, device-registered, trust-modified and role-assignment events, and for actor identities you already believe were held by the adversary. Every hit becomes a revocation item with an owner. If the dwell window is uncertain, widen it deliberately and say so, because an artefact created before your assumed start date is exactly the one that will still be there afterwards. ## Verifying, and what verification is worth Afterwards, watch authentication for the affected application objects and identities. Sustained absence of use is weak evidence, since a patient adversary simply waits, so pair it with a positive check that each enumerated credential is gone from the object, and keep a detection on first use of any credential you removed and on new credential-add events against those same objects. That is a much stronger position than declaring the reset complete. ## What a strong answer sounds like A strong answer names the classes rather than reciting one vendor's console, states plainly that these credentials are password-independent by design because automation needs them to be, and describes the enumerate-from-the-timeline method. A weak answer treats the mass reset as the containment and mentions only user-facing artefacts.

  • You delete the client secret the intruder used on an application registration. What residual risk remains?
    An application object can hold several client secrets, several certificates and federated credentials at once, and they are all equally valid. Deleting the one you saw in the logs leaves any other credential authenticating as that service principal, often with a multi-year expiry. Enumerate every credential on the object, remove the ones you cannot attribute to a known owner, and add a detection on future credential-add events against it.
  • Why can you not simply delete an in-flight cloud role session the adversary is using?
    Temporary session credentials are self-contained and are validated without consulting a stored record you can remove, so there is no delete operation for one. The practical control is a policy that denies all actions for sessions issued before a chosen time, applied to the role, which is what the platform's revoke-sessions helper generates. The alternative is to wait out the session lifetime, which is usually unacceptable.
  • How do you decide how far back to enumerate credential-add and consent events?
    Across the whole dwell window implied by the earliest confirmed adversary activity, and then wider, because your start date is an estimate that tends to move earlier as the investigation continues. If retention limits how far you can look, say so explicitly and record it as a residual risk rather than treating the visible window as the true one.

saying these in an interview costs you the question

  • Treats the mass password reset as the containment
  • Removes one client secret and calls the application clean
  • Assumes temporary cloud session credentials can be deleted individually
  • Never checks consent grants or registered authentication methods
  • Enumerates only from the alert date, not the dwell window

context