T1557.001 Splunk · SPL

Detect LLMNR/NBT-NS Poisoning and SMB Relay in Splunk

Adversaries may spoof an authoritative source for name resolution to force communication with an adversary-controlled system, collecting or relaying authentication materials. By responding to LLMNR (UDP 5355) and NBT-NS (UDP 137) queries, attackers poison name resolution so that victims authenticate to the adversary system, capturing NTLMv1/v2 hashes for offline cracking or relay attacks. Captured hashes may be relayed directly to SMB, LDAP, MSSQL, or HTTP services to authenticate as the victim without ever cracking the hash. Tools such as Responder, Inveigh, Impacket ntlmrelayx, and NBNSpoof are commonly used. Threat actors including Lazarus Group and Wizard Spider have used this technique for credential collection and lateral movement.

MITRE ATT&CK

Tactic
Credential Access Collection
Technique
T1557 Adversary-in-the-Middle
Sub-technique
T1557.001 LLMNR/NBT-NS Poisoning and SMB Relay
Canonical reference
https://attack.mitre.org/techniques/T1557/001/

SPL Detection Query

Splunk (SPL)
spl
index=wineventlog sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" EventCode=1
| eval LowerImage=lower(Image), LowerCmdLine=lower(CommandLine)
| eval IsKnownTool=if(
    match(LowerImage, "(responder\.exe|inveigh\.exe|ntlmrelayx\.exe|smbrelayx\.exe|multirelay\.exe|nbnspoof\.exe|conveigh\.exe)"),
    1, 0)
| eval IsPythonPoisoner=if(
    match(LowerImage, "python[23]?\.exe") AND
    match(LowerCmdLine, "(responder|inveigh|ntlmrelayx|smbrelayx|multirelay|nbnspoof|llmnr_response)"),
    1, 0)
| eval HasInveighKeyword=if(
    match(LowerCmdLine, "(invoke-inveigh|inveigh-unprivileged|\\binveigh\\b)"),
    1, 0)
| eval HasRelayKeyword=if(
    match(LowerCmdLine, "(ntlmrelayx|smbrelayx|multirelay|-rpv)"),
    1, 0)
| eval HasLLMNRKeyword=if(
    match(LowerCmdLine, "(llmnr|nbt-ns|nbns|llmnrspoof|nbrespond)"),
    1, 0)
| eval SuspicionScore=IsKnownTool + IsPythonPoisoner + HasInveighKeyword + HasRelayKeyword + HasLLMNRKeyword
| where SuspicionScore > 0
| table _time, host, User, Image, CommandLine, ParentImage, ParentCommandLine,
        IsKnownTool, IsPythonPoisoner, HasInveighKeyword, HasRelayKeyword, HasLLMNRKeyword, SuspicionScore
| sort - SuspicionScore - _time
high severity high confidence

Detects LLMNR/NBT-NS poisoning tool execution using Sysmon Event ID 1 (Process Creation). Evaluates process image names and command lines against known poisoning tool signatures including Responder, Inveigh, ntlmrelayx, smbrelayx, MultiRelay, and their Python-based variants. Assigns a cumulative suspicion score across five indicator categories. Results sorted by SuspicionScore descending to surface the highest-confidence events first. A score of 2 or higher indicates multiple corroborating indicators and warrants immediate triage.

Data Sources

Process: Process CreationCommand: Command ExecutionSysmon Event ID 1

Required Sourcetypes

XmlWinEventLog:Microsoft-Windows-Sysmon/Operational

False Positives & Tuning

  • Authorized penetration testing activities on the same network segment where these tools are explicitly sanctioned
  • Security research or training environments running Responder or Inveigh in isolated lab infrastructure
  • Network debugging Python scripts that reference LLMNR or NBT-NS in legitimate diagnostic contexts
  • Purple team exercises where Responder execution is pre-approved and documented in change management
  • Security assessment platforms bundling Inveigh for authorized internal network assessments
Download portable Sigma rule (.yml)

Other platforms for T1557.001


Testing Methodology

Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Invoke-Inveigh LLMNR and NBT-NS Poisoning via PowerShell

    Expected signal: Sysmon Event ID 1: powershell.exe with CommandLine containing 'Invoke-Inveigh', 'Net.WebClient', and 'DownloadString'. Sysmon Event ID 3: PowerShell process binding/connecting on UDP 5355 and UDP 137. PowerShell ScriptBlock Log Event ID 4104 capturing the full Inveigh module code and runtime output. Sysmon Event ID 22 (DNS Query) for the GitHub download request.

  2. Test 2Responder Python Execution in Analyze Mode

    Expected signal: Sysmon Event ID 1: python3.exe with CommandLine containing 'Responder.py' and '-I'. Sysmon Event ID 3: python3.exe binding on UDP 5355 (LLMNR) and UDP 137 (NBT-NS). DeviceNetworkEvents: InitiatingProcessFileName=python3.exe with LocalPort=5355 or 137. DeviceProcessEvents: FileName=python3.exe, ProcessCommandLine contains 'Responder'.

  3. Test 3Impacket ntlmrelayx Relay Tool Execution Against Loopback Target

    Expected signal: Sysmon Event ID 1: python3.exe with CommandLine containing 'ntlmrelayx.py', '-t', and 'smb://'. Sysmon Event ID 3: python3.exe attempting TCP connection to 127.0.0.1:445. DeviceProcessEvents: FileName=python3.exe, ProcessCommandLine contains 'ntlmrelayx'. Connection will fail (no SMB listener on loopback) but all process creation telemetry fires.

  4. Test 4Disable LLMNR and NBT-NS via Registry — Defensive Control Validation

    Expected signal: Sysmon Event ID 13 (Registry Value Set): HKLM\SOFTWARE\Policies\Microsoft\Windows NT\DNSClient\EnableMulticast set to DWORD 0. Sysmon Event ID 1: powershell.exe with CommandLine containing 'Win32_NetworkAdapterConfiguration' and 'SetTcpipNetbios'. Security Event ID 4657 (if Object Access auditing enabled): registry key modification logged.

Unlock Pro Content

Get the full detection package for T1557.001 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections