Leaving SMB unsigned is like mailing your house keys in an unsealed envelope through a neighborhood where everyone reads everyone else's mail
Tenable plugin 57608 fires when a Windows (or Samba) host's SMB server does not *require* message signing. Without signing, an adversary on the same network segment can intercept or coerce NTLM authentication and relay it to the unsigned target — gaining authenticated access as the victim principal. Every Windows version before Server 2025 / Windows 11 24H2 ships with SMB server signing not required on member servers and workstations (only domain controllers enforce it by default). That means the vast majority of enterprise Windows fleets — Server 2016, 2019, 2022, and Windows 10 — are vulnerable out of the box. Even Windows Server 2025 still does not require inbound SMB server signing on member servers, so the finding persists on current-generation OS unless explicitly hardened via GPO.
Tenable rates this MEDIUM (5.3) with a CVSS:3.0 vector of AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N, which models the issue as a minor integrity concern — someone might tamper with SMB traffic. That framing catastrophically undersells the real risk. In practice, 'SMB signing not required' is the pivotal precondition for NTLM relay attacks that routinely end in Domain Admin on red-team engagements. Tools like Responder + ntlmrelayx turn this misconfiguration into code execution on any host where a relayed user has local admin rights — and when combined with coercion primitives (PetitPotam, SpoolSample, DFSCoerce, ShadowCoerce), the chain escalates from zero-to-DA in under 10 minutes. The vendor MEDIUM is a significant understatement of the real-world blast radius.
5 steps from start to impact.
Establish internal network position
- Internal network access (Layer 3 reachability to target VLAN)
- Requires an initial access vector — phishing, VPN, physical — before any SMB relay is possible
- Network segmentation and NAC may limit which VLANs the attacker can reach
Poison name resolution with Responder
- LLMNR and/or NBT-NS enabled on the subnet (Windows default)
- At least one host on the subnet performing failed DNS lookups
- Organizations that have disabled LLMNR and NBT-NS via GPO block this step entirely
- Well-segmented networks reduce the pool of poisonable hosts
Coerce machine-account authentication (alternative to Step 2)
- Target machine runs one of the exploitable RPC services (Print Spooler, EFS, DFSNM, FSRVP)
- Attacker has IP reachability to the target's RPC ports (TCP 445 or 135+dynamic)
- PetitPotam unauthenticated coercion was patched in multiple rounds (but bypasses keep appearing through 2026)
- Print Spooler can be disabled on servers that don't need it
- Some coercion vectors require low-privilege domain authentication
Relay NTLM auth to unsigned SMB target
- Target host does not require SMB server signing (the finding)
- Relayed user account has administrative privileges on the target host
- If SMB signing is required on the target, the relay fails with STATUS_ACCESS_DENIED
- Hosts running Windows Server 2025 or Windows 11 24H2 Enterprise/Pro require signing by default
- AdminSDHolder / tiered administration limits which accounts are local admin on servers
--gen-relay-list enumerates unsigned hosts; Windows Security Event 4624 with Logon Type 3 from unexpected source IPsEscalate to Domain Admin
- Captured credential is sufficiently privileged (domain admin, DC machine account, or local admin on relay target)
- ADCS web enrollment or LDAP/S is accessible for cross-protocol relay
- ADCS web enrollment hardened with EPA (Extended Protection for Authentication) blocks HTTP relay
- LDAP signing and channel binding enabled on DCs blocks LDAP relay
- Credential Guard prevents post-exploitation credential theft from memory
Microsoft network server: Digitally sign communications (always) to Enabled in Default Domain Policy or a dedicated hardening GPO linked to all server and workstation OUs. This is the definitive fix — deploy within 30 days per the noisgate mitigation SLA for HIGH. Test with a pilot OU first; legacy devices (old NAS, MFPs, Linux/Samba clients) that don't support signing will fail to connect and need firmware updates or exemption with compensating network controls.Turn off multicast name resolution to Enabled under Computer Configuration → Administrative Templates → Network → DNS Client. Disable NBT-NS via DHCP option or network adapter settings. This breaks the Responder poisoning vector — the most common relay trigger. Deploy within 30 days. Does NOT block active coercion vectors (PetitPotam, SpoolSample).Network Security: Restrict NTLM: Incoming NTLM traffic and Outgoing NTLM traffic to remote servers to Deny all or Audit then Deny on high-value servers (ADCS, SQL, file servers). This prevents the relay from succeeding because the target refuses NTLM entirely, forcing Kerberos. Audit mode first to identify breakage. Deploy within 30 days. Requires thorough testing — many legacy apps rely on NTLM.Domain controller: LDAP server signing requirements to Require signing and enable LDAP channel binding on all DCs. This blocks cross-protocol relay from SMB to LDAP/S, closing the RBCD and machine-account-creation relay paths. Deploy within 30 days. Monitor LDAP signing audit events (Event ID 2889) before enforcing.- MFA / Conditional Access — NTLM relay operates at the network protocol layer, below interactive logon. The relay forwards the NTLM challenge-response directly; MFA is never triggered because the victim's machine already completed authentication before the relay happens.
- Standard antivirus signatures — the relay traffic is legitimate SMB protocol traffic. There are no malware payloads to signature-match. Responder and ntlmrelayx are Python scripts, not compiled malware, and are trivially modified to evade file-hash detection.
- Windows Firewall (default rules) — SMB port 445 is allowed inbound by default on Windows for file sharing. Blocking 445 breaks legitimate SMB functionality. Firewall rules alone cannot distinguish relay traffic from normal SMB traffic.
The supporting signals.
| In-the-Wild Exploitation | Actively exploited — NTLM relay via unsigned SMB is the most common internal network attack path observed in red team engagements and real-world breaches (e.g., APT groups leveraging PetitPotam+relay in 2025-2026). CVE-2025-24054 (NTLM hash disclosure) was exploited in the wild within days of its patch. |
|---|---|
| Proof-of-Concept | Mature, weaponized, push-button. Responder (Laurent Gaffié), ntlmrelayx.py (Impacket/SecureAuthCorp), PetitPotam (topotam), SpoolSample (Lee Christensen), DFSCoerce (Wh04m1001), CrackMapExec/NetExec relay list generation. All publicly available on GitHub. |
| EPSS Score | N/A — no CVE assigned to this misconfiguration. However, the relay-enabling CVEs it feeds (e.g., CVE-2025-24054) carry EPSS scores in the 95th+ percentile. |
| KEV Status | Not listed (configuration weakness, not a CVE). Related: CVE-2021-36942 (PetitPotam) was added to CISA KEV on 2022-01-10. |
| CVSS Vector (Tenable) | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N → 5.3 MEDIUM. This vector models only traffic tampering; it ignores the relay-to-RCE-to-DA chain entirely. |
| Affected Versions | All Windows versions with SMB server RequireSecuritySignature = False (the default on member servers and workstations). Includes Windows Server 2012/2012R2/2016/2019/2022 and Windows 7/8.1/10. Windows Server 2025 member servers still do NOT require inbound server signing by default. Samba servers with server signing = auto or disabled. |
| Fixed Versions | Windows 11 24H2 (Enterprise/Pro/Education) and Windows Server 2025 domain controllers enforce signing by default. All other OS versions require manual GPO or PowerShell configuration: Set-SmbServerConfiguration -RequireSecuritySignature $true. |
| Scanning/Exposure | Internally scanned — not an internet-facing finding. CrackMapExec --gen-relay-list and NetExec enumerate unsigned hosts. Nessus plugin 57608 is the canonical scanner. On typical pre-2025 enterprise networks, 60-80%+ of member servers and workstations flag positive (the default is unsigned). |
| Disclosure Date | 2012-01-19 (Tenable plugin publish date). The underlying protocol behavior has existed since SMB1 (1990s). Microsoft began changing defaults in Windows 11 24H2 and Server 2025 (2024). |
| Reporting Entity | Tenable (plugin author). The relay attack class is documented extensively by SecureAuthCorp/Fortra (Impacket), SpecterOps (BloodHound), Horizon3.ai, and Microsoft (KB5005413). |
Sources.
- Tenable Plugin 57608 — SMB Signing not required
- Microsoft Learn — Control SMB signing behavior
- Microsoft — Active Directory Hardening Series Part 6: Enforcing SMB Signing
- Microsoft — SMB Security Hardening in Windows Server 2025 & Windows 11
- The Hacker Recipes — NTLM Relay
- Horizon3.ai — NTLM Coercion: Impact and Risk
- TrustedSec — A Comprehensive Guide on Relaying
- Microsoft — KB5005413: Mitigating NTLM Relay Attacks on AD CS
Why this verdict
- Friction: internal network access required — the entire relay chain requires Layer 3 reachability to the target host. This is a real prerequisite that eliminates opportunistic internet-facing exploitation and is the primary reason this is not CRITICAL. However, post-initial-access (phishing, VPN, compromised endpoint) this prerequisite is trivially met.
- Friction: LLMNR/NBT-NS poisoning vs. coercion — broadcast poisoning requires same-subnet positioning, but active coercion primitives (PetitPotam, SpoolSample, DFSCoerce) work cross-subnet with only IP reachability, partially negating segmentation.
- Friction: admin rights on relay target — the relayed credential must have local admin on the target for RCE. In practice, service accounts, helpdesk accounts, and domain admins routinely authenticate to member servers, making this condition met on a high percentage of targets.
- Role multiplier: member servers running databases, file shares, backup, ADCS — the chain succeeds fully on any member server without SMB signing (the OS default). On these high-value hosts, successful relay of a privileged credential yields code execution → credential harvesting → domain compromise. Blast radius is domain-level. Since ≥60% of enterprise Windows hosts are member servers with signing not required by default, the high-value role population easily exceeds 1% of the installed base. Verdict floor: HIGH.
- Role multiplier: domain controllers as coercion sources — while DCs themselves require SMB signing (not relay targets), they are the *source* of coerced machine-account auth. PetitPotam coerces a DC to authenticate, and the relay targets the unsigned member server or ADCS HTTP endpoint. The DC's machine account is then impersonated. This means every unsigned member server in the domain is a stepping stone to DA when combined with DC coercion.
- Tool maturity demolishes complexity — Responder + ntlmrelayx is a two-command chain. PetitPotam + ntlmrelayx to ADCS ESC8 is a documented, automated, point-and-shoot path to DA. Attack complexity is effectively LOW despite the prerequisite chain.
Why not higher?
CRITICAL would require either unauthenticated remote exploitation from the internet or that the affected component is canonically a high-value-role-only component (like a hypervisor or IdP). SMB runs on *all* Windows hosts — workstations, dev boxes, printers — and the attack requires internal network positioning first. The internal-access prerequisite is real friction that compounds against opportunistic, mass exploitation. The blast radius is domain-level but only reachable after an initial access stage.
Why not lower?
MEDIUM ignores the demonstrated, repeatable, weaponized relay-to-DA chain that makes this the single most exploited misconfiguration on internal red-team engagements. The tools are mature, the chain is reliable, the default configuration is vulnerable, and the outcome is domain compromise. Downgrading below HIGH would require evidence that relay attacks are theoretical — they are not; they are confirmed in-the-wild and in every major pentest framework. The HIGH floor is set by domain-level blast radius on high-value member servers representing well over 1% of the installed base.
Crowdsourced verification payload.
Run this script locally on each target host with Administrator privileges. Invoke with: powershell -ExecutionPolicy Bypass -File .\Check-SMBSigning.ps1. No arguments required. For fleet-wide checks, deploy via SCCM, Intune, or Invoke-Command -ComputerName <hosts> -FilePath .\Check-SMBSigning.ps1.
#Requires -RunAsAdministrator
<#
.SYNOPSIS
Checks whether SMB server signing is required (Tenable plugin 57608).
.DESCRIPTION
Queries the local SMB server and client configuration to determine if
RequireSecuritySignature is enabled. Outputs VULNERABLE, PATCHED, or UNKNOWN.
.NOTES
Run locally on each target host with Administrator privileges.
Exit codes: 0 = PATCHED, 1 = VULNERABLE, 2 = UNKNOWN
#>
try {
$smbServer = Get-SmbServerConfiguration -ErrorAction Stop
$smbClient = Get-SmbClientConfiguration -ErrorAction Stop
$serverSigning = $smbServer.RequireSecuritySignature
$clientSigning = $smbClient.RequireSecuritySignature
Write-Host "=== SMB Signing Check (Tenable 57608) ==="
Write-Host "Hostname: $($env:COMPUTERNAME)"
Write-Host "OS Version: $([System.Environment]::OSVersion.VersionString)"
Write-Host "SMB Server RequireSecuritySignature: $serverSigning"
Write-Host "SMB Client RequireSecuritySignature: $clientSigning"
Write-Host ""
# Plugin 57608 specifically checks server-side signing
if ($serverSigning -eq $true) {
Write-Host "PATCHED - SMB server signing is REQUIRED on this host."
Write-Host "This host is NOT a valid NTLM relay target via SMB."
if ($clientSigning -ne $true) {
Write-Host "NOTE: SMB client signing is not required. Consider enabling for defense-in-depth."
}
exit 0
} else {
Write-Host "VULNERABLE - SMB server signing is NOT required on this host."
Write-Host "This host CAN be used as an NTLM relay target (Tenable plugin 57608)."
Write-Host ""
Write-Host "Remediation:"
Write-Host " GPO: Microsoft network server: Digitally sign communications (always) = Enabled"
Write-Host " PowerShell: Set-SmbServerConfiguration -RequireSecuritySignature `$true -Force"
exit 1
}
} catch {
Write-Host "UNKNOWN - Unable to query SMB configuration."
Write-Host "Error: $($_.Exception.Message)"
Write-Host "Ensure you are running as Administrator on a supported Windows version."
exit 2
}