Detect Netsh Helper DLL in Google Chronicle
Adversaries may establish persistence by executing malicious content triggered by Netsh commands. Netsh.exe (also referred to as network shell) is a Windows command-line scripting utility that interacts with the network configuration of a system. Netsh contains functionality to add helper DLLs for extending functionality of the built-in tool. The paths to registered netsh helper DLLs are entered into the Windows Registry at HKLM\SOFTWARE\Microsoft\NetSh. Adversaries can use netsh.exe helper DLLs to trigger execution of arbitrary code in a trusted process (netsh.exe) whenever netsh.exe is executed, which may also provide privilege escalation if netsh.exe runs elevated.
MITRE ATT&CK
- Tactic
- Privilege Escalation Persistence
- Technique
- T1546 Event Triggered Execution
- Sub-technique
- T1546.007 Netsh Helper DLL
- Canonical reference
- https://attack.mitre.org/techniques/T1546/007/
YARA-L Detection Query
rule netsh_helper_dll_persistence {
meta:
author = "Argus Detection Engineering"
description = "Detects Netsh Helper DLL persistence (T1546.007) via registry modifications to HKLM\\SOFTWARE\\Microsoft\\NetSh with non-system DLL paths, or netsh.exe execution"
mitre_attack_tactic = "Persistence"
mitre_attack_technique = "T1546.007"
severity = "HIGH"
confidence = "HIGH"
events:
(
// Sysmon registry events for NetSh key modifications with suspicious DLL paths
($e.metadata.event_type = "REGISTRY_MODIFICATION"
and $e.target.registry.registry_key re `(?i).*SOFTWARE\\Microsoft\\NetSh.*`
and not $e.target.registry.registry_value_data re `(?i).*windows\\system32.*`
and not $e.target.registry.registry_value_data re `(?i).*syswow64.*`
)
or
// netsh.exe process creation events
($e.metadata.event_type = "PROCESS_LAUNCH"
and $e.target.process.file.full_path re `(?i).*\\netsh\.exe`
)
)
and $e.principal.hostname = $hostname
condition:
$e
} Chronicle YARA-L 2.0 rule detecting Netsh Helper DLL persistence (T1546.007) by matching UDM events for registry modifications to the NetSh key with non-system DLL paths, and netsh.exe process launch events across the environment.
Data Sources
Required Tables
False Positives & Tuning
- Legitimate VPN clients (e.g., OpenVPN, WireGuard Windows implementations) that install custom netsh helper DLLs in their application installation directories
- Windows network diagnostics or built-in features that use netsh.exe frequently for legitimate troubleshooting tasks will match process launch alerts
- Software deployment systems that register third-party netsh helper DLLs as part of enterprise network configuration packages stored outside system directories
Other platforms for T1546.007
Testing Methodology
Validate this detection against 3 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.
- Test 1Register Malicious Helper DLL in NetSh Registry
Expected signal: Sysmon Event ID 13 (Registry Value Set): TargetObject=HKLM\SOFTWARE\Microsoft\NetSh\ArgusTestHelper, Details=C:\Users\Public\argus_helper.dll. Security Event ID 4657 if registry auditing enabled. Process creation for reg.exe with add arguments.
- Test 2Register Helper via netsh Command
Expected signal: Process creation for netsh.exe with 'add helper' arguments. Sysmon Event ID 13 for the resulting registry modification to HKLM\SOFTWARE\Microsoft\NetSh. The netsh.exe itself making the registry change is a valid detection path.
- Test 3Create and Register Functional Helper DLL
Expected signal: Process creation for powershell.exe using Add-Type. File creation event for netsh_test_helper.dll in Public folder. Sysmon Event ID 13 for NetSh registry key modification. The DLL in a user-writable path (Public) registered in NetSh is the highest-confidence indicator.
References (4)
- https://attack.mitre.org/techniques/T1546/007/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1546.007/T1546.007.md
- https://www.fireeye.com/blog/threat-research/2017/05/fin7-shim-databases-persistence.html
- https://docs.microsoft.com/en-us/windows-server/networking/technologies/netsh/netsh-contexts
Unlock Pro Content
Get the full detection package for T1546.007 including response playbook, investigation guide, and atomic red team tests.