← Back to Feed CACHED · 2026-06-12 15:19:30 · CACHE_KEY tenable:63478
tenable:63478 · Disclosed 2013-01-08

Microsoft Windows LM / NTLMv1 Authentication Enabled

ASSESSED — NOISGATE V0.5
Vendor
Reassessed
Verdict:
Do you agree?
01 · The Real Story

Leaving NTLMv1 on is like letting users hand out photocopies of their badge every time a door reader glitches

This Nessus finding is not a single CVE; it is a Windows authentication *configuration weakness*. Tenable plugin 63478 fires when the host is configured to attempt LM and/or NTLMv1 for outbound authentication, typically where HKLM\SYSTEM\CurrentControlSet\Control\Lsa\LmCompatibilityLevel is below 3. In practice that means legacy challenge-response can still be negotiated from affected Windows hosts, exposing LM/NetNTLMv1 material that is far weaker than NTLMv2 and far easier to abuse if captured on the wire.

Tenable's MEDIUM label is fair only for a lone workstation viewed in isolation. In a real enterprise, this setting is an *amplifier* for common internal attack paths: name-resolution poisoning, coerced authentication, NTLM relay into unsigned services, or offline cracking with commodity tooling. The decisive reality check is role blast radius: if the same weak auth posture exists on systems participating in AD, trusts, certificate enrollment, or admin workflows, the chain can end in tenant-wide or domain-wide compromise. That pushes this out of backlog hygiene and into HIGH.

"Vendor says medium; in an AD estate this is a credential-capture primitive that can become domain-scale fast."
02 · The Attack Path

4 steps from start to impact.

STEP 01

Get on-path or trigger outbound NTLM

The attacker needs an internal foothold or a position to coerce a Windows host into authenticating to an attacker-controlled service. Common tooling is Responder for LLMNR/NBNS/WPAD poisoning or a coercion path that makes a server initiate SMB/HTTP auth. This is not internet-drive-by; it is almost always a post-initial-access move inside the estate.
Conditions required:
  • Internal network presence, adjacent segment visibility, or a host already compromised
  • A Windows host that will attempt NTLM to an attacker-controlled endpoint
  • Legacy name resolution or a coercion path that still works in the environment
Where this breaks in practice:
  • Modern networks that disable LLMNR/NBNS/WPAD remove the easiest capture path
  • Kerberos remains preferred for normal AD flows, so the attacker often has to force fallback
  • Network segmentation and NAC can sharply reduce who can see or poison the target
Detection/coverage: Nessus detects only the weak local setting, not exploitation. Network detections come from poisoned name-resolution traffic, unexpected WPAD/SMB listeners, and Windows NTLM operational logs where enabled.
STEP 02

Capture LM/NetNTLMv1 challenge-response

Because LmCompatibilityLevel is below 3, the victim can negotiate LM or NTLMv1 during outbound auth. Responder can capture the challenge-response, and the weakness here is structural: LM/NTLMv1 uses legacy cryptography that Microsoft explicitly calls weak and deprecated. At this point the attacker has reusable material to crack offline or, in some paths, to relay onward.
Conditions required:
  • Victim host actually negotiates LM or NTLMv1 rather than NTLMv2/Kerberos
  • Attacker-controlled listener receives the authentication attempt
Where this breaks in practice:
  • If the estate already enforces NTLMv2-only, this step dies
  • Credential Guard and newer platform controls reduce some NTLMv1-derived exposure
  • Strong user behavior around hostnames rather than raw IPs lowers NTLM fallback opportunities
Detection/coverage: Credentialed audits catch the setting directly. On DCs, Microsoft recommends NTLM auditing; relevant telemetry includes the Microsoft-Windows-NTLM/Operational channel and Netlogon/LSA events for pass-through trust cases.
STEP 03

Turn the capture into usable access

There are two practical routes. Route A is offline cracking with hashcat mode 5500/27000 against captured NetNTLMv1 material; route B is relaying the authentication with Impacket ntlmrelayx into a service that still accepts NTLM without EPA/signing, especially SMB/LDAP/HTTP-adjacent targets. Which path works depends less on the victim and more on what the target services allow.
Conditions required:
  • Captured auth belongs to an account with meaningful privileges or reuse potential
  • For relay: a target service that accepts NTLM and lacks protections like EPA or signing
  • For cracking: password entropy weak enough for practical recovery
Where this breaks in practice:
  • Strong passwords can make cracking unprofitable
  • SMB signing, LDAP signing, channel binding, and EPA break many relay outcomes
  • Relay usually needs another misconfiguration on the destination service, not just NTLMv1 on the source
Detection/coverage: Look for unusual inbound SMB/HTTP auth to nonstandard hosts, suspicious certificate enrollment traffic, or ntlmrelayx-style follow-on actions. Defender products may catch the tooling, but only after the environment already allowed the weak protocol.
STEP 04

Pivot to admin, identity, or certificate abuse

Once the attacker recovers a password or successfully relays a privileged session, the chain moves into standard AD abuse: lateral movement, local admin reuse, LDAP changes, or certificate issuance against AD CS. Microsoft explicitly documents NTLM relay as a real risk to AD CS and trust relationships. This is where a 'medium' config finding stops being medium.
Conditions required:
  • Administrative or delegated privileges on the captured/relayed identity
  • Reachable high-value targets such as DCs, AD CS, or management servers
Where this breaks in practice:
  • Tiering, PAWs, ESAE-style separation, and admin scoping reduce blast radius
  • Protected Users, credential hygiene, and service hardening limit reuse
  • No privilege on the captured identity can keep impact at single-host scope
Detection/coverage: Downstream detections depend on the landing zone: LDAP write events, certificate enrollment logs, suspicious admin logons, and lateral movement telemetry. The original Nessus plugin does not prove exploitability to those targets.
03 · Intelligence Metadata

The supporting signals.

In-the-wild statusNo CISA KEV entry because this is not a CVE, but the *technique family* is absolutely real-world. Microsoft still publishes NTLM relay mitigations for AD CS and trust scenarios.
Proof-of-concept availabilityResponder for capture/poisoning, Impacket ntlmrelayx for relay, and hashcat for offline cracking are all public, mature, and widely used.
EPSSN/A — no CVE, so no FIRST EPSS record applies.
KEV statusN/A — no CVE / no KEV record for Tenable plugin 63478.
CVSS / vectorNo vendor CVSS vector surfaced by Tenable. This is a local audit/config finding, not a remotely exploitable software defect by itself.
Affected scopeWindows hosts configured with LmCompatibilityLevel 0, 1, or 2, which allows outbound LM and/or NTLMv1 behavior. Tenable describes the host as configured to attempt LM/NTLMv1 for outbound auth.
Fixed stateMinimum safe floor is LmCompatibilityLevel >= 3 (NTLMv2 only outbound). 5 is stronger where compatibility allows because DCs refuse LM and NTLM. On newer platforms, Microsoft has removed the NTLMv1 protocol from Windows 11 24H2 and Windows Server 2025, but that does not erase every downstream NTLM risk.
Exposure / scanning realityThis is a credentialed local Nessus check, so internet census tools like Shodan/Censys are a poor fit. Reachability is environment-specific; exposure population is whatever portion of your Windows fleet still inherits this weak policy.
Disclosure / datingTenable lists plugin publication on 2013-01-11 with vulnerability publication date 2013-01-08. Microsoft continues to refresh NTLMv1 audit and deprecation guidance, including a June 2024 deprecation callout and later platform removal notes.
Reporting / attributionMicrosoft's NTLMv1 guidance acknowledges Mark Gamache of T-Mobile USA for work helping protect customers from attacks against NTLMv1/LM network authentication.
04 · The Call

noisgate verdict.

Final Verdict
UPGRADED to HIGH (7.8/10)

This lands in HIGH because the single most decisive factor is the role multiplier: the same weak-auth setting, when present in AD-adjacent workflows, can turn ordinary internal foothold activity into identity-scale compromise. The chain is not internet-trivial, but once an attacker is inside, LM/NTLMv1 meaningfully lowers the cost of capture, crack, or relay operations.

HIGH Finding semantics and affected configuration (`LmCompatibilityLevel < 3`)
MEDIUM Fleet-wide blast radius without your exact AD/AD CS/admin-tiering context

Why this verdict

  • Attacker position downgrade: exploitation normally requires internal network access or a prior foothold, which implies the attacker is already past initial access. That is real downward pressure versus an unauthenticated internet RCE, but it does *not* make the finding harmless.
  • Compounding friction: the chain narrows further because many environments prefer Kerberos, and capture/relay success often depends on legacy name resolution, NTLM fallback, or a second misconfiguration on the destination service such as missing signing or EPA. Those prerequisites are why this is not CRITICAL.
  • Role multiplier: on a low-value role like a workstation or isolated member host, the documented chain usually ends at single-host or single-user impact unless the captured credential is privileged. On a typical member server, success can mean host compromise or lateral movement. On high-value roles adjacent to identity — especially DC-admin workflows, AD CS, or trust paths documented by Microsoft — the same chain can end in domain or fleet compromise. That keeps the verdict floored at HIGH even though the opening step is post-initial-access.

Why not higher?

This is not a one-packet takeover. The attacker generally needs internal positioning, a way to induce NTLM, and either weak passwords or a second service-side weakness to relay into meaningful privilege. Those compounding prerequisites keep it below CRITICAL for the average host.

Why not lower?

Calling this MEDIUM ignores enterprise reality. Public, mature tooling exists; Microsoft still documents NTLM relay risk today; and the same setting becomes an identity-scale problem when it touches admin workflows, AD CS, or trust boundaries. For a 10,000-host shop, that is too much blast radius to treat as routine hygiene.

05 · Compensating Control

What to do — in priority order.

  1. Enforce NTLMv2-only — Set Network security: LAN Manager authentication level to at least Send NTLMv2 response only (LmCompatibilityLevel=3) and, where compatibility allows, to Refuse LM & NTLM (5). For a HIGH verdict, deploy this control within 30 days on exposed tiers first: admin workstations, management servers, jump hosts, DC-adjacent systems, and anything talking to AD CS.
  2. Turn on NTLM auditing — Enable Microsoft NTLM auditing on domain controllers and review the Microsoft-Windows-NTLM/Operational and Netlogon/LSA events to find the last legacy dependencies before enforcement. Do this within 30 days so you can break the weakest paths before full rollout.
  3. Require signing and EPA where NTLM still exists — Enable SMB signing and, for HTTP/AD CS-style endpoints, Extended Protection for Authentication and related binding protections. This matters because even if a source host still emits NTLM, relay success drops sharply when the destination service enforces modern channel protections; deploy within 30 days on certificate, identity, and admin-facing services.
  4. Kill easy capture paths — Disable LLMNR/NBNS/WPAD where operationally possible and remove workflows that force NTLM by IP address or legacy naming. This does not fix the root setting, but it cuts the most common Responder-style capture path and should be in place within 30 days for user and server segments.
  5. Harden privileged identities — Move admins to tiered accounts, reduce standing local admin, and keep privileged users off ordinary workstations and member servers. This does not remove NTLMv1, but it limits what a captured or relayed credential can buy while you complete remediation within the 180-day window.
What doesn't work
  • Relying on MFA alone does not stop replay or relay of NTLM-based network authentication once the protocol exchange is already underway on SMB/HTTP/LDAP paths.
  • Setting the policy only on domain controllers is not enough, because this finding is about outbound behavior on the source host. A client or member server that still emits LM/NTLMv1 remains a credential leak.
  • Counting on EDR as the primary fix is wishful thinking. EDR may catch Responder or ntlmrelayx, but it is after you've already left weak auth turned on across the estate.
06 · Verification

Crowdsourced verification payload.

Run this on the target Windows host or through your remote management plane with local administrator rights so the registry and OS role can be read reliably. Example: powershell.exe -ExecutionPolicy Bypass -File .\check-ntlmv1.ps1; it prints VULNERABLE, PATCHED, or UNKNOWN and exits 0, 1, or 2 respectively.

noisgate-verify.ps1
POWERSHELLREAD-ONLYSAFE
# check-ntlmv1.ps1

# Verifies whether a Windows host is configured to allow LM/NTLMv1 outbound auth

# Exit codes: 0=PATCHED, 1=VULNERABLE, 2=UNKNOWN


$ErrorActionPreference = 'Stop'

function Write-Result {
    param(
        [string]$State,
        [int]$Code,
        [string]$Message
    )
    Write-Output ("{0} - {1}" -f $State, $Message)
    exit $Code
}

try {
    $regPath = 'HKLM:\SYSTEM\CurrentControlSet\Control\Lsa'
    $propName = 'LmCompatibilityLevel'
    $os = Get-CimInstance Win32_OperatingSystem
    $cs = Get-CimInstance Win32_ComputerSystem

    $caption = $os.Caption
    $version = $os.Version
    $role = switch ($cs.DomainRole) {
        0 { 'Standalone Workstation' }
        1 { 'Member Workstation' }
        2 { 'Standalone Server' }
        3 { 'Member Server' }
        4 { 'Backup Domain Controller' }
        5 { 'Primary Domain Controller' }
        default { 'Unknown' }
    }

    $item = Get-ItemProperty -Path $regPath -Name $propName -ErrorAction SilentlyContinue

    if ($null -eq $item) {
        Write-Result 'UNKNOWN' 2 ("{0} ({1}); role={2}; registry value {3} is not explicitly set. Check resultant GPO / local security policy." -f $caption, $version, $role, $propName)
    }

    $level = [int]$item.$propName

    switch ($level) {
        0 {
            Write-Result 'VULNERABLE' 1 ("{0} ({1}); role={2}; LmCompatibilityLevel=0 (Send LM & NTLM responses)." -f $caption, $version, $role)
        }
        1 {
            Write-Result 'VULNERABLE' 1 ("{0} ({1}); role={2}; LmCompatibilityLevel=1 (Send LM & NTLM; NTLMv2 session security if negotiated)." -f $caption, $version, $role)
        }
        2 {
            Write-Result 'VULNERABLE' 1 ("{0} ({1}); role={2}; LmCompatibilityLevel=2 (Send NTLM responses only / NTLMv1)." -f $caption, $version, $role)
        }
        3 {
            Write-Result 'PATCHED' 0 ("{0} ({1}); role={2}; LmCompatibilityLevel=3 (Send NTLMv2 response only)." -f $caption, $version, $role)
        }
        4 {
            Write-Result 'PATCHED' 0 ("{0} ({1}); role={2}; LmCompatibilityLevel=4 (Send NTLMv2 only; refuse LM)." -f $caption, $version, $role)
        }
        5 {
            Write-Result 'PATCHED' 0 ("{0} ({1}); role={2}; LmCompatibilityLevel=5 (Send NTLMv2 only; refuse LM & NTLM)." -f $caption, $version, $role)
        }
        default {
            Write-Result 'UNKNOWN' 2 ("{0} ({1}); role={2}; unexpected LmCompatibilityLevel={3}." -f $caption, $version, $role, $level)
        }
    }
}
catch {
    Write-Result 'UNKNOWN' 2 $_.Exception.Message
}
07 · Bottom Line

If you remember one thing.

TL;DR
Monday morning: treat this as an AD hardening project with teeth, not a cosmetic Nessus medium. Use the noisgate mitigation SLA for HIGH findings to audit dependencies and put interim controls in place within 30 days: enable NTLM auditing, kill easy capture paths, and enforce signing/EPA on services that still accept NTLM. Then use the noisgate remediation SLA to complete the actual fix within 180 days by pushing LmCompatibilityLevel >= 3 fleet-wide, moving high-value/admin tiers first and driving to 5 where compatibility permits.

Sources

  1. Tenable Nessus Plugin 63478
  2. Microsoft security guidance for NTLMv1 and LM
  3. Microsoft Learn: LAN Manager authentication level
  4. Microsoft Learn: audit NTLMv1 on domain controllers
  5. Microsoft Support: mitigations for NTLM relay on AD CS
  6. Microsoft Learn: NTLM overview
  7. Hashcat wiki modes including NetNTLMv1
  8. Fortra Impacket NTLM implementation
Peer Review

What defenders are saying.

Submit a review attribution: handle + country only
0 flags selected · stored anonymously
Validation Results

Crowdsourced verification outputs.

Results submitted by users who ran the verification payload against their environment.