skip to content

Holding one student account in a domain with 400 service principal names, which accounts do you roast and which do you skip?

level: seniorimportance: should knowfreq 38%

answer

  1. you can ask for all 400
  2. cracking is the real cost
  3. machine-keyed accounts are noise
  4. old + human-named + privileged
  5. pre-auth off fingerprints an old account

basics

~20 s

Skip machine-keyed accounts — computer accounts and group-managed service accounts — because their random keys will not crack. Target human-owned service accounts: old, role-named, ideally privileged. Pre-authentication left off is an account-age fingerprint that flags a legacy, likely-weak password worth taking first.

solid answer

~50 s

You can request all 400 for nearly nothing, so requesting is not the constraint — cracking is, and that is where you triage. Discard the computer accounts (names ending in a dollar sign) and any group-managed service accounts: their passwords are long random keys the directory rotates, so cracking is hopeless. Among what remains, prefer accounts that look human-provisioned — created years ago, named like service roles (svc_, sql_, backup_), never rotated. An account with 'do not require pre-authentication' set is a strong tell: that flag is an interoperability leftover from a legacy app nobody removed, so the account is old and its password probably predates any decent standard and was set once. Then weight by privilege and blast radius: a service account that is also local administrator on its app servers is worth far more than a low-value one. You spend your GPU-hours on the handful most likely to be both crackable and useful.

go deeper

for a junior

Know that not every roastable account is worth attacking and that accounts with machine-generated passwords can be ignored.

for a middle

Explain the signals — account age, naming convention, last-password-set date — that predict a crackable password.

for a senior

Show a concrete triage: discard machine-keyed accounts, weight the rest by crack-likelihood times privilege, and read pre-auth-off as an age fingerprint.

for a principal

Own which service accounts in your estate must carry machine-generated keys first, ranked by what a single crack would reach.

**The request is free; the crack is the budget.** An attacker holding one ordinary account can request service tickets for all 400 SPNs at negligible cost. So the interesting decision is not *what can I request* but *what is worth cracking*, because every candidate you take on consumes GPU-hours you could spend elsewhere. Good targeting is a selection function: **expected value ≈ probability the password cracks × value if it does**, and a competent operator ranks the 400 by that product rather than roasting blindly. **Discard the machine-keyed accounts immediately.** Two large groups are noise. *Computer accounts* (their names end in `$`) and *group-managed service accounts (gMSAs)* do not have human-chosen passwords — the directory generates ~120 random characters and rotates them. Their keyspace is astronomically large, so the crack probability is effectively zero. Requesting them wastes nothing, but *analyzing* them wastes your attention; a good operator filters them out before spending a single GPU-hour. **Signals that predict a crackable password.** Among the human-owned service accounts, look for the fingerprints of a password a person set and forgot: - **Age.** An account created many years ago and never touched is likely to carry a password set once, to an old standard, and never rotated. - **Naming.** Conventions like `svc_`, `sql_`, `app_`, `backup_`, or a vendor product name mark accounts that run software and were configured by a human at install time. - **No recent password change.** A password-last-set date far in the past is the single strongest 'set once, forgotten' signal. - **Group membership / rights.** Not a crackability signal but a *value* signal — see blast radius below. **Pre-authentication off as an account-age fingerprint.** The flag 'do not require Kerberos pre-authentication' is almost never chosen deliberately in a modern build. It survives from an old application or appliance that could not perform pre-authentication, switched on years ago and never switched back. So its presence does two things at once: it makes the account *AS-REP roastable* (you can pull sealed material without even holding a valid account), and — the part this leaf cares about — it **dates the account**. An account old enough to have needed that tick almost certainly carries a password from the same era: set once, to a weak standard, never rotated. Read the flag as a prediction about the password, not merely as a door. **Weight by blast radius, not just crackability.** The value half of the product is what a cracked password *reaches*. A service account whose password is reused as the local administrator on its app tier turns a single crack into control of those hosts — so it can be worth real compute even if the password is moderately hard. A service account that is a member of a privileged group is worth more still. Conversely, a low-privilege account with a crackable password may not be worth one GPU-hour. Rank by crack-probability times reach, and spend the budget from the top. **Putting it together for the 400.** Filter out the `$` computer accounts and the gMSAs. Sort the human-owned remainder by password-last-set age, pull the pre-auth-off accounts to the front as likely-weak legacy, and re-weight the whole list by privilege and known password reuse. You will find that of 400 SPNs, a dozen or two are worth cracking — and one of those, if its password doubles as a local-admin credential, is the whole game.

  • Why treat 'do not require pre-authentication' as a signal about the password rather than just a way in?
    The setting is almost never chosen deliberately today; it survives from a legacy app or appliance provisioned long ago that could not do pre-authentication. Its presence dates the account, and an account that old usually carries a password set once, to an old standard, and never rotated — exactly the crackable kind.
  • How does an account being local administrator on its own servers change its priority?
    It multiplies the payoff. A cracked service password that is reused as the local administrator on the app tier hands you those hosts immediately, so even a moderately hard password becomes worth the compute — whereas a low-privilege account with the same password strength is not worth a single GPU-hour.
  • Should you roast the group-managed service accounts just in case?
    No. Their passwords are roughly 120 random characters the directory sets and rotates, so cracking is hopeless — they are roastable in the mechanical sense and worthless in the economic one. Even filtering them out earns you time; spending compute on them earns you nothing.

saying these in an interview costs you the question

  • Roasting all 400 and trying to crack everything
  • Naming computer accounts as prime targets
  • Reading pre-auth off only as easy access, not a weak-password tell
  • Treating every SPN account as equally valuable

context