Kioptrix smbmap โ€œNT_STATUS_LOGON_FAILUREโ€ triage: username format + domain blank test (Working Title)

smbmap NT_STATUS_LOGON_FAILURE

Stop Chasing SMB Mysteries: Mastering NT_STATUS_LOGON_FAILURE

The fastest way to waste an afternoon is treating smbmap NT_STATUS_LOGON_FAILURE like a network mystery. Port 445 is fine; the target is simply rejecting how youโ€™re presenting identity.

NT_STATUS_LOGON_FAILURE is an authentication status, not a timeout or routing problem. It typically points to credential context issues (domain vs. local), username formats (SAM vs. UPN), or policy denials. Changing five flags at once teaches you nothingโ€”except humility.

  • โšก Get a fast signal without triggering account lockouts.
  • ๐Ÿ” Prove identity context before chasing SMB signing or NTLM policy.
  • ๐Ÿ“ Leave with evidence defenders can actually reproduce.

Use a five-minute, single-variable format ladderโ€”including the blank-domain test (omit -d)โ€”to quickly learn whether the host expects local SAM or Active Directory validation without noisy recursion. One variable. One host. Clean notes.

Fast Answer (Snippet-ready, 40โ€“80 words)
If smbmap returns NT_STATUS_LOGON_FAILURE, treat it like a credential-format mismatch first, not a network failure. Test username formats (DOMAIN\user, user@domain, .\localuser) and run a blank-domain attempt (omit -d or set -d '') to see whether the target expects local SAM vs AD auth. If auth succeeds but permissions fail, shift to smbmap โ€œaccess deniedโ€ triage. Also verify SMB dialect/signing, account lockout policy, and that youโ€™re hitting the right host (DC vs member server).

smbmap NT_STATUS_LOGON_FAILURE

Who this is for / not for

Who this is for

  • Authorized pentesters, internal security engineers, IT admins validating SMB access
  • People who can safely test credentials without triggering lockouts

Who this is not for

  • Anyone without explicit written authorization
  • Anyone uncertain about account lockout thresholds or change-control windows

Operator confession: the first time I saw NT_STATUS_LOGON_FAILURE on a client job, I โ€œfixedโ€ it by changing five things at once and then proudly learned nothing. This post is the antidote: one variable at a time, evidence you can defend, and no helpdesk bonfires. If you need a clean framework for scope and sequencing before you touch a tool, start with a security testing strategy that prevents chaotic testing.

Takeaway: Treat NT_STATUS_LOGON_FAILURE as an identity-presentation problem first, then expand outward.
  • Reachable SMB can still reject your logon cleanly
  • Username format is often the โ€œone characterโ€ fix
  • Lockout-safe pacing is part of professional testing

Apply in 60 seconds: Write down your target host role guess (DC/member/NAS) before you run a single command.

NT_STATUS_LOGON_FAILURE decoded: what it actually means here

The server is reachable; your auth is rejected

NT_STATUS_LOGON_FAILURE is not the same vibe as timeouts, resets, or โ€œconnection refused.โ€ Itโ€™s the system telling you: โ€œI heard you. I negotiated enough SMB to understand your request. And I am saying no.โ€ In other words, the transport and basic protocol negotiation worked. You made it to the bouncer. Your name just didnโ€™t match the guest list.

The practical implication: donโ€™t burn time โ€œfixing routingโ€ if port 445 is open and the error is a logon failure. Your first win is usually identity context: domain vs local, NetBIOS vs DNS, UPN vs SAM, and โ€œare we talking to the box we think weโ€™re talking to?โ€

Open loop: one tiny character can flip the outcome

A backslash (\) is not decoration. An at-sign (@) isnโ€™t just email cosplay. A dot prefix (.\) is a steering wheel. Those tiny characters tell the target whether to validate against local SAM, Active Directory, or a workgroup-style identity store. One character can swap the entire authentication path.

Show me the nerdy details

SMB authentication often funnels into either Kerberos (domain context, SPNs, tickets) or NTLM (challenge-response). Your username format helps the client/server pick which identity provider to query and how to package the logon attempt. When you โ€œadd a domain,โ€ you can accidentally force the server to validate against a domain controller it canโ€™t reach or a domain name it doesnโ€™t recognize, producing the same user-facing failure even when the password is correct.

First triage pass: confirm youโ€™re testing the right SMB surface

Target identity check: DC vs member server vs NAS

Same credentials, different outcomes, and itโ€™s not personal. A domain controller, a member server, and a NAS appliance can all speak SMB while validating identities differently. Some NAS boxes fake a โ€œdomainโ€ label that behaves more like a workgroup. Some member servers canโ€™t reach the DC due to segmentation (or the DC is in a different site), so they reject domain logons even though the password is correct.

Quick mental model:

  • DC: expects AD-centric identity; tends to be strict and noisy in logs
  • Member server: can validate via AD but may have local SAM accounts too
  • NAS/workgroup: may not behave like AD at all, even if it claims it does

I once spent 40 minutes โ€œfixing credentialsโ€ on what I thought was a file server. It was a load balancer VIP pointing at a storage cluster node with its own local users. The password was fine. My assumptions werenโ€™t.

SMB version/signing reality check (before you change anything)

Modern Windows environments increasingly harden SMB and NTLM. Microsoftโ€™s SMB security hardening guidance describes options to block NTLM authentication for outbound SMB connections and other protections that can change what โ€œused to work.โ€ When SMB signing or NTLM policies are tightened, tooling can collapse multiple distinct failures into โ€œlogon failureโ€ symptoms. The fix might be โ€œuse the right auth path,โ€ not โ€œtry the password louder.โ€ If you suspect your enumeration is being distorted by version/dialect visibility, compare with why smbclient canโ€™t show a Samba version so you donโ€™t over-trust a single banner.

Micro-check: โ€œAre you sure youโ€™re not talking to the wrong box?โ€

  • Is this IP a VIP, NAT, or load balancer address?
  • Does DNS resolve to the same host you think youโ€™re hitting?
  • Are there multiple interfaces and youโ€™re arriving via a management subnet?

Practical tip: if you have authorization, pair your SMB test with a lightweight host identity check (banner, hostname, or SMB server name) so youโ€™re not authenticating into a mirage.

Money Block: Eligibility checklist (safe-to-test or stop)
  • Yes/No: Do you have written authorization that explicitly includes SMB authentication testing?
  • Yes/No: Do you know the account lockout threshold (or have permission to verify it)?
  • Yes/No: Are you testing during an approved window with an incident contact identified?
  • Yes/No: Are you limiting to shares-only probes (no recursion) for the first pass?

Neutral next step: If any answer is โ€œNo,โ€ pause and get the missing constraint in writing before you continue. (If you need language for that, borrowing structure from a pen test SOW template helps keep scope crisp.)

smbmap NT_STATUS_LOGON_FAILURE

Username format matrix: the 6 variants that solve most failures

This is the heart of the fix. When you see NT_STATUS_LOGON_FAILURE, run a format ladder like a grown-up: same host, same password, one formatting change per attempt. Donโ€™t improvise. Improv is for jazz, not authentication.

Try 1: DOMAIN\username

When it works best: classic AD logon using a NetBIOS domain (often short, uppercase in documentation, but case-insensitive in practice). If the environment is โ€œtraditional Windows domain,โ€ this is the first format many operators reach for.

Try 2: username@domain.tld

When UPN is required or more reliable: UPN format can be the cleanest route in multi-domain forests, renamed domains, or environments where the NetBIOS name is obscure. If youโ€™ve ever muttered โ€œwhat even is the NetBIOS name,โ€ try UPN sooner.

Try 3: .\username (local account)

When the host expects local SAM authentication: This explicitly tells Windows, โ€œvalidate me locally.โ€ Itโ€™s useful on member servers with local break-glass accounts, lab boxes, or appliances presenting SMB via Windows services.

Try 4: plain username with domain omitted

When SMB defaults to a local context or cached auth: Some servers interpret a bare username in a local-first way, especially outside strict AD patterns. Itโ€™s also a useful setup for the blank-domain test youโ€™ll run next.

Try 5: NetBIOS domain vs DNS domain (theyโ€™re not synonyms)

These are the classics that waste afternoons:

  • ACME\jane (NetBIOS domain)
  • acme.local\jane (often wrong; looks plausible, isnโ€™t a SAM-style domain)
  • jane@acme.com (UPN; might be correct even if the DNS domain differs)

In many orgs, the DNS domain, email domain, and NetBIOS domain are related but not identical. Your job is not to guess beautifully. Your job is to test systematically.

Try 6: machine-local quirks (NAS appliances, workgroups)

Workgroup-mode patterns can look like โ€œdomain failuresโ€ because there is no domain controller to consult. Some devices accept WORKGROUP\user, some accept just user, and some want their own โ€œlocal realmโ€ label. When youโ€™re dealing with a NAS, assume it might be doing its own thing until proven otherwise.

Takeaway: Your first goal is not โ€œget in.โ€ Your first goal is โ€œlearn which identity store the host expects.โ€
  • .\user is an explicit local SAM hint
  • DOMAIN\user tests NetBIOS domain context
  • user@domain tests UPN-based domain validation

Apply in 60 seconds: Write your four-attempt ladder in your notes before running it, then stick to it.

Domain blank test: why โ€œno -dโ€ is a real diagnostic, not a hack

The blank-domain test is the simplest โ€œtellโ€ for local-vs-domain expectations, and itโ€™s criminally underused. Itโ€™s not a trick. Itโ€™s controlled science: remove domain context and see what changes.

What โ€œblank domainโ€ changes under the hood

When you specify a domain, you can force a domain-first resolution path. Thatโ€™s great when the server expects AD validation, and a disaster when the server expects local accounts or canโ€™t contact a domain controller. Omitting domain can let the target treat the identity as local or use default context.

Practical test sequence: keep everything constant except domain

Run two attempts that are identical except for domain context:

  • Attempt A: with domain explicitly set (for example, -d ACME)
  • Attempt B: no domain provided (omit -d entirely or set it blank)

If Attempt B succeeds or produces a meaningfully different response, you just learned something valuable: domain context is steering validation, and you can now narrow your investigation instead of thrashing.

Curiosity gap: the surprising case where removing info fixes auth

This happens more than people admit. Adding a domain can be โ€œmore correctโ€ on paper while being wrong in practice: it can push the server down a path it cannot complete (wrong domain name, unreachable DC, restricted NTLM policy), resulting in failure even with correct credentials.

Show me the nerdy details

In hardened environments, outbound NTLM for SMB can be blocked or limited, and signing requirements can affect negotiated behavior. Tooling may report a generic authentication failure even when the underlying reason is โ€œthis auth method is not permitted for this connection.โ€ Thatโ€™s why you isolate variables: format and domain context first, then policy-level factors (NTLM blocking, signing requirements, logon rights).

smbmap command patterns: minimal, controlled, non-chaotic tests

Your goal is to learn quickly without being noisy. That means: shares-only first, no recursion, no โ€œletโ€™s crawl the whole filesystem and see what happens.โ€ The best pentest operators I know move like surgeons, not leaf blowers.

Baseline read-only probe (avoid noisy recursion)

Start with the lightest action that confirms authentication and basic authorization: list shares. If you can list shares, youโ€™ve proven the credential format and network path are functional. Then you can decide what to test next based on scope.

One change at a time: the โ€œsingle-variableโ€ rule

If you change the username format and the domain and the target host and a flag, you didnโ€™t run a test. You performed a magic trick on yourself.

Keep a tiny โ€œvariable freezeโ€ checklist:

  • Same host (same IP/DNS)
  • Same password (exact same quoting)
  • Same smbmap options (except the one youโ€™re testing)
  • Same time window (avoid crossing policy changes / lockout resets)

Pattern interrupt: Letโ€™s be honestโ€ฆ youโ€™re probably changing three things at once

Iโ€™ve done it too: you edit the domain, swap the username, add a flag you saw in a blog post, and then you stare at a new error like itโ€™s a tarot card. The fix is boring and powerful: treat each attempt like a lab run. Label it. Log it. Move on. If you want a guardrail for โ€œstop tweaking, start proving,โ€ borrow the OSCP rabbit hole rule and apply it to SMB triage.

Money Block: Mini calculator (lockout-safe attempt budget)

Use this to decide how many format tests you can safely run before you pause.

Safe triage budget: (calculate above)

Neutral next step: If you donโ€™t know the threshold, assume itโ€™s low and stop after 3 failures.

The lockout landmine: donโ€™t turn triage into an incident

There are two ways to lose trust on a professional engagement: exfiltrate something you shouldnโ€™t, or lock out half the sales team at 9:07 AM. The second one is surprisingly easy. (If your engagement docs donโ€™t explicitly cover lockout risk and operational guardrails, fix that upstream with a pentest limitation of liability section that matches reality.)

Know the lockout policy before you brute-force formats

Account lockout thresholds vary wildly. Some organizations disable lockouts for certain accounts; others lock aggressively. Microsoftโ€™s security policy documentation describes how the lockout threshold setting works and the operational trade-offs. The only universally safe rule is this: if you donโ€™t know the threshold, act like itโ€™s 3โ€“5.

Safe cadence: spacing attempts and stopping early

A simple playbook that keeps you alive:

  • Run up to 3 attempts max if policy is unknown
  • Space attempts (donโ€™t rapid-fire)
  • Pause if you see any sign of throttling, delays, or weirdness
  • Do not โ€œsprayโ€ the same account across many hosts quickly

Curiosity gap: why the fourth attempt is often the one that locks you

Counter resets, replication timing, and multi-host testing can stack failures in unexpected ways. You think you did โ€œjust one more test,โ€ but the domain thinks you did four, and the helpdesk thinks you did it on purpose.

Show me the nerdy details

Lockout counting can be affected by where authentication is validated (local vs domain), how many systems receive attempts, and how quickly failures replicate. Even when you test โ€œone host at a time,โ€ the account might be validated by a domain controller that aggregates failures across multiple sources, especially if youโ€™re also doing other authentication checks in parallel (SMB + WinRM + RDP). Treat the account as a shared global resource, not a local toy.

Common mistakes that cause false โ€œLOGON_FAILUREโ€ (and how to dodge them)

Mistake: Wrong domain flavor (NetBIOS vs DNS vs UPN)

This is the number-one โ€œI swear the creds are rightโ€ trap. A domain can have a NetBIOS name (ACME), a DNS name (acme.local), and an email/UPN suffix (acme.com) that do not align the way your intuition wants them to. Dodge it by testing both DOMAIN\user and user@domain in a controlled ladder.

Mistake: Hitting a host that canโ€™t validate the identity source

A member server that canโ€™t reach a domain controller might reject AD logons. A segmented network can produce โ€œauth failuresโ€ that are really โ€œvalidation failures.โ€ If the same creds work on one server but not another, donโ€™t immediately assume password issues. Assume host role + reachability + policy.

Mistake: Special characters + shell escaping (your password got mangled)

If your password contains characters like !, $, quotes, or backslashes, your shell might interpret them. Your โ€œcorrect passwordโ€ may not be the password your tool actually sent. The fix is unglamorous: quote properly, escape where needed, and verify the exact string youโ€™re passing. If youโ€™re building a repeatable lab workflow, standardize this in your notes using Kali Linux lab logging so โ€œmy shell ate my passwordโ€ doesnโ€™t become a recurring villain.

Mistake: Assuming SMB creds equal WinRM/RDP creds

Windows logon rights differ by service. A user can be allowed to log on interactively (RDP) but denied network logon (SMB), or vice versa. Thatโ€™s why โ€œthe password works in RDPโ€ doesnโ€™t automatically exonerate your SMB test.

Pattern interrupt: Hereโ€™s what no one tells youโ€ฆ โ€œcorrect passwordโ€ can still be denied

Two classic policy reasons:

  • โ€œDeny access to this computer from the networkโ€ can block SMB even with correct credentials
  • Share-level ACLs can produce confusing access outcomes after authentication succeeds
Takeaway: โ€œCorrect passwordโ€ is necessary, not sufficient.
  • Format can misroute validation
  • Policy can deny network logon
  • Shells can silently alter your password string

Apply in 60 seconds: Re-run one failing attempt with a deliberately wrong password and compare behavior. If identical, your issue may be format/policy, not the secret itself.

When the format tests fail: the next three checks that save hours

If youโ€™ve run your format ladder (including blank domain) and everything still fails, donโ€™t despair. This is where disciplined operators stop guessing and start narrowing.

Check 1: Is the account allowed for network logon?

Look for restrictions like:

  • โ€œLog on toโ€ limits (allowed workstations only)
  • Time-of-day restrictions
  • Group policy that denies network logon to specific groups

These can produce โ€œlogon failureโ€ symptoms even when credentials are valid. For a pentest, the action is usually: document the behavior, confirm with stakeholders, and avoid repeated attempts that look like brute force.

Check 2: SMB signing/NTLM restrictions

In modern Windows, SMB hardening can influence whether NTLM is permitted for certain SMB connections. Microsoft documentation describes SMB client protections that can prevent NTLM authentication for outbound connections, which can show up as authentication failure from your toolโ€™s perspective. If you suspect policy hardening, the fix is often โ€œuse the approved auth pathโ€ (Kerberos where possible, correct realm context, correct hostnames), not โ€œtry 20 variants.โ€

Check 3: Are you seeing a different error masked as logon failure?

Tools donโ€™t always preserve nuance. A blocked auth method, an unreachable validation source, or a policy-based denial can collapse into a generic failure. If you have defender collaboration, correlate with logs (Security event IDs, SMB server logs) rather than asking the network the same question 30 times. If youโ€™re building a broader signal-quality habit, the mindset from reducing Nmap service detection false positives applies: donโ€™t confuse tool output with ground truth.

Show me the nerdy details

Some environments implement protections against NTLM relay and credential misuse that change server behavior. Depending on client/server versions and policy, you might see โ€œaccess deniedโ€ or โ€œlogon failureโ€ where older systems would have allowed a weaker auth negotiation. If your engagement permits, validate with a known-good Windows client in the same segment using the same identity context; differences often reveal policy gating rather than credential errors.

Short Story: I once watched a junior tester โ€œproveโ€ a password was wrong because smbmap kept returning NT_STATUS_LOGON_FAILURE. They tried fifteen variations in five minutes, on three servers, during business hours. The account locked. The clientโ€™s CFO couldnโ€™t access a share needed for payroll. Suddenly the most important incident was not the pentest finding, but the testerโ€™s timeline. We went back, slowed down, and ran a single-variable ladder on one host.

The magic fix was embarrassingly small: the user was a local break-glass account, and the server wanted .\username with no domain at all. The password was correct the entire time. What failed was our respect for systems that count. The report still shipped. The relationship needed longer to recover. (If you want a clean post-mortem structure for moments like this, keep a copy of how to read a penetration test report handy so the โ€œwhat happenedโ€ and โ€œwhat it meansโ€ donโ€™t blur.)

Money Block: Decision card (When A vs B)
Choose โ€œlocal-firstโ€
Use .\user or omit domain
  • Member server likely has local SAM users
  • NAS/workgroup vibes
  • Domain name is unknown or suspect

Trade-off: Faster signal, but may miss domain-only accounts.

Choose โ€œdomain-firstโ€
Use DOMAIN\user or user@domain
  • Target is clearly AD-integrated
  • DC/member server is confirmed
  • You know NetBIOS or UPN suffix

Trade-off: More โ€œcorrect,โ€ but fails hard if domain context is wrong.

Neutral next step: Pick one card and run only its first two attempts before switching strategies.

Evidence-driven triage notes: what to record for a clean write-up

If you want defenders to trust your conclusion, donโ€™t hand them vibes. Hand them a reproducible record. Your notes should make it obvious you tested carefully and minimized impact. (And if youโ€™re training juniors, itโ€™s worth standardizing these notes right next to your Kali pentest report template so โ€œevidence firstโ€ becomes muscle memory.)

Capture the exact tuple: host + user format + domain context + time

  • Host: IP/DNS, plus what you believe it is (DC/member/NAS)
  • User format: exact string (e.g., .\jane vs ACME\jane)
  • Domain context: explicit domain, blank domain, or omitted
  • Timestamp: include timezone if relevant

Keep a โ€œformat ladderโ€ log so you donโ€™t retest the same thing

Make a four-row table in your notes and fill it like a pilot checklist. It prevents accidental duplication and keeps you from โ€œtrying the same thing again, but angrier.โ€ If you want a ready-made place to store these tiny tables, slot them into your Obsidian OSCP enumeration template.

Attempt #User formatDomain contextResultTime
1.\userno -d(log)(time)
2userno -d(log)(time)
3DOMAIN\user-d DOMAIN(log)(time)
4user@domain.tld(UPN)(log)(time)

Curiosity gap: the one datapoint that makes defenders trust your report

Write down your lockout awareness and impact minimization:

  • โ€œStopped after 3 failures due to unknown lockout threshold.โ€
  • โ€œShares-only probes; no recursion or brute forcing.โ€
  • โ€œSingle host for format ladder; no spraying across fleet.โ€

This is the difference between โ€œprofessional testโ€ and โ€œsomeone ran a tool.โ€ If you need a defensible way to package that story for stakeholders, align it with penetration test report reading so your findings land as decisions, not drama.

Next step (one concrete action)

Run a controlled โ€œformat ladderโ€ on one host (shares-only), stopping before lockout risk

Do this on one host first. Keep it boring. Keep it defensible.

  • Test order: .\user โ†’ plain user (no -d) โ†’ DOMAIN\user โ†’ user@domain
  • Stop rule: stop after 3 failures if lockout policy is unknown
  • Record: host + format + domain context + timestamp for each attempt
Money Block: Quote-prep list (what to gather before you escalate)
  • Target host role (DC/member/NAS) and how you determined it
  • The four-attempt ladder results with timestamps
  • Whether you omitted domain or used -d ''
  • Whether the password contains special characters (escaping risk)
  • Any sign of NTLM/SMB hardening changes on the client side

Neutral next step: Share this packet of facts with defenders before increasing test volume. If your teamโ€™s escalation path is fuzzy, define it next to your incident response retainer playbook so โ€œwho do we call?โ€ isnโ€™t decided mid-fire.

smbmap NT_STATUS_LOGON_FAILURE

FAQ

Why does smbmap say NT_STATUS_LOGON_FAILURE even when the password is correct?

Because โ€œcorrect passwordโ€ is only one part of the equation. The host may be rejecting the identity context (domain vs local), denying network logon rights, or refusing an auth method (for example, environments hardened against certain NTLM behaviors). Tool output can flatten multiple causes into a single failure message.

What username format should I try first for an AD environment: DOMAIN\user or user@domain?

If you know the NetBIOS domain name confidently, start with DOMAIN\user. If you donโ€™t (or the environment is complex), try user@domain early because UPN can be more robust across domain naming weirdness. The win is not guessing; itโ€™s logging a consistent ladder.

How do I test a blank domain in smbmap without breaking the command?

Run the same test twice: once with a domain specified, and once with no domain provided. In practice, that means omitting -d entirely, or setting an explicitly blank domain if your wrapper supports it. Keep everything else identical so the domain context is the only variable.

Whatโ€™s the difference between NetBIOS domain and DNS domain for SMB authentication?

NetBIOS domain names are often short (like ACME) and commonly used in the DOMAIN\user format. DNS domains look like acme.local and may not map cleanly to SAM-style domain strings. UPN suffixes (email-style) can be different again. Thatโ€™s why โ€œit looks rightโ€ can still be wrong.

Can a local account authenticate over SMB using .\username?

Yes, in many cases, if the account exists in the local SAM database on that host and network logon is allowed. .\username explicitly signals local authentication intent, which can resolve โ€œdomain mismatchโ€ failures quickly.

Does SMB share access require different permissions than local logon or RDP?

Often, yes. SMB access can be governed by network logon rights, share permissions, and NTFS permissions, while RDP is governed by interactive logon rights and Remote Desktop Users group membership. A credential that works in one context can be denied in another without contradicting itself.

How many failed attempts risk account lockout in typical US enterprise settings?

Thereโ€™s no universal number. Some organizations disable lockouts for certain accounts; others lock after a small number of failures. Microsoftโ€™s lockout threshold policy documentation explains the setting and trade-offs, but your engagement must treat the real environment as unknown until confirmed. If you donโ€™t know the threshold, stop after 3.

Conclusion

Letโ€™s close the loop from the hook: when smbmap throws NT_STATUS_LOGON_FAILURE, itโ€™s rarely a dramatic network mystery. Itโ€™s usually a quiet identity mismatch, made louder by haste. The fix is not more attempts. The fix is better attempts: a format ladder, a blank-domain diagnostic, and lockout-safe pacing that keeps the business running while you learn.

Hereโ€™s a compact โ€œwhat you didโ€ infographic you can drop into your report (or your brain) as a final sanity check. If you want your write-up to read like an investigation instead of a tool dump, align this flow with a report structure defenders can verify.

NT_STATUS_LOGON_FAILURE Triage Flow (Low-noise, lockout-aware)
1) Confirm surface
  • Right host? (VIP/NAT?)
  • DC vs member vs NAS
  • SMB reachable (445 open)
2) Run format ladder
  • .\user
  • user (no domain)
  • DOMAIN\user
  • user@domain
3) Blank-domain test
  • Same host, same flags
  • Only domain context changes
  • Log the difference
4) If still failing
  • Network logon rights?
  • NTLM/SMB hardening?
  • Tool masking nuance?

Rule of thumb: If lockout policy is unknown, stop after 3 failures and escalate with evidence.

Your next 15-minute action: pick one host, run the four-step ladder shares-only, record the tuple (host + format + domain context + time), and stop early if policy is unknown. If you do nothing else, do that. It turns โ€œlogon failureโ€ from a wall into a map.

Last reviewed: 2026-02-24.