System Network Configuration Discovery
Adversaries may look for details about the network configuration and settings, such as IP and/or MAC addresses, of systems they access or through information discovery of remote systems. Several operating system administration utilities exist that can be used to gather this information, including ipconfig/ifconfig, arp, nbtstat, route, and netstat. Adversaries use this information during automated discovery to shape follow-on behaviors, including determining access within the target network and planning lateral movement paths. On ESXi hosts, esxcli commands such as 'esxcli network nic list' and 'esxcli network ip interface ipv4 get' are used. Network device CLIs may also be leveraged (e.g., 'show ip route', 'show ip interface'). Threat actors including Mustang Panda, HEXANE, and malware families such as Pikabot, Dyre, and Olympic Destroyer routinely perform this technique as part of initial reconnaissance after compromise.
What is T1016 System Network Configuration Discovery?
System Network Configuration Discovery (T1016) maps to the Discovery tactic — the adversary is trying to figure out your environment in MITRE ATT&CK.
This page provides production-ready detection logic for System Network Configuration Discovery, covering the data sources and telemetry it touches: Process: Process Creation, Command: Command Execution, Microsoft Defender for Endpoint. The queries below are rated low severity at medium confidence, and ship for 7 SIEM platforms — KQL, SPL, Elastic, QRadar, Sumo, YARA-L, LogScale.
MITRE ATT&CK
- Tactic
- Discovery
- Canonical reference
- https://attack.mitre.org/techniques/T1016/
let NetworkDiscoveryBinaries = dynamic([
"ipconfig.exe", "arp.exe", "nbtstat.exe", "route.exe", "netstat.exe",
"netsh.exe", "hostname.exe", "tracert.exe", "pathping.exe"
]);
let NetworkDiscoveryKeywords = dynamic([
"ipconfig", "ifconfig", "ip addr", "ip route", "ip link",
"arp -a", "arp -n", "netstat -r", "route print", "nbtstat",
"netsh interface", "Get-NetIPConfiguration", "Get-NetAdapter",
"Get-NetRoute", "Get-DnsClientServerAddress", "gwmi Win32_NetworkAdapterConfiguration",
"Win32_NetworkAdapter", "esxcli network", "show ip route", "show ip interface",
"networksetup", "system_profiler SPNetworkDataType"
]);
DeviceProcessEvents
| where Timestamp > ago(24h)
| where (
FileName in~ (NetworkDiscoveryBinaries)
or (FileName in~ ("powershell.exe", "pwsh.exe", "cmd.exe", "wscript.exe", "cscript.exe", "python.exe", "python3.exe")
and ProcessCommandLine has_any (NetworkDiscoveryKeywords))
)
| extend IsNativeDiscoveryTool = FileName in~ (NetworkDiscoveryBinaries)
| extend IsScriptedDiscovery = FileName in~ ("powershell.exe", "pwsh.exe", "cmd.exe", "wscript.exe", "cscript.exe")
| extend SuspiciousParent = InitiatingProcessFileName in~ (
"winword.exe", "excel.exe", "powerpnt.exe", "outlook.exe",
"mshta.exe", "wscript.exe", "cscript.exe", "rundll32.exe",
"regsvr32.exe", "msiexec.exe", "svchost.exe"
)
| extend CommandArgs = ProcessCommandLine
| project Timestamp, DeviceName, AccountName, AccountDomain,
FileName, ProcessCommandLine, InitiatingProcessFileName,
InitiatingProcessCommandLine, InitiatingProcessAccountName,
IsNativeDiscoveryTool, IsScriptedDiscovery, SuspiciousParent
| sort by Timestamp desc Detects system network configuration discovery activity using Microsoft Defender for Endpoint DeviceProcessEvents. Monitors execution of native network enumeration utilities (ipconfig.exe, arp.exe, nbtstat.exe, route.exe, netstat.exe, netsh.exe) as well as scripted equivalents via PowerShell WMI queries (Win32_NetworkAdapterConfiguration, Get-NetIPConfiguration, Get-NetAdapter). Flags executions originating from Office applications, script interpreters, or other suspicious parent processes that indicate post-exploitation discovery rather than administrative activity.
Data Sources
Required Tables
False Positives
- System administrators and helpdesk staff running ipconfig, arp, or netstat during routine troubleshooting
- IT monitoring agents (SolarWinds, PRTG, Nagios, Datadog) that enumerate network interfaces and routing tables on a schedule
- Software installers and configuration management tools (SCCM, Ansible, Puppet, Chef) that query network settings to configure applications
- Security scanners and vulnerability assessment tools that collect host network configuration as part of asset inventory
- Developer workstations where developers routinely use PowerShell Get-NetIPConfiguration or ip addr for network testing
Sigma rule & cross-platform mapping
The detection logic for System Network Configuration Discovery (T1016) above is provided in a vendor-neutral
form so you can deploy it on any SIEM. The same logic is shipped here as native
KQL (Microsoft Sentinel / Defender), SPL (Splunk), Elastic (Elastic Security (EQL)), QRadar (IBM QRadar (AQL)), Sumo (Sumo Logic CSE), YARA-L (Google Chronicle / SecOps), LogScale (CrowdStrike LogScale (CQL)) queries. In Sigma terms, this detection targets the
following logsource:
logsource:
category: process_creation
product: windows Browse the community-maintained Sigma rules for this technique:
Platform-specific guides for T1016
References (11)
- https://attack.mitre.org/techniques/T1016/
- https://attack.mitre.org/software/S0100/
- https://attack.mitre.org/software/S0101/
- https://attack.mitre.org/software/S0099/
- https://attack.mitre.org/software/S0102/
- https://attack.mitre.org/software/S0103/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1016/T1016.md
- https://www.mandiant.com/resources/apt41-initiates-global-intrusion-campaign-using-multiple-exploits
- https://www.trellix.com/en-au/blogs/research/ransomhouse-am-see/
- https://www.us-cert.gov/ncas/alerts/TA18-106A
- https://github.com/SigmaHQ/sigma/blob/master/rules/windows/process_creation/proc_creation_win_net_recon.yml
Testing Methodology
Validate this detection against 5 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 1Windows Network Configuration Enumeration via ipconfig
Expected signal: Sysmon Event ID 1: Process Create with Image=cmd.exe, CommandLine containing 'ipconfig /all'. Sysmon Event ID 11: File Create at %TEMP%\netconfig.txt. Security Event ID 4688 (if command line auditing enabled) showing cmd.exe spawning ipconfig.exe. Prefetch file IPCONFIG.EXE-*.pf updated.
- Test 2ARP Table and Routing Table Bulk Enumeration
Expected signal: Sysmon Event ID 1: Four separate Process Create events for arp.exe, route.exe, netstat.exe, and nbtstat.exe within seconds of each other, all with parent process cmd.exe. Security Event ID 4688 for each child process. Prefetch files for each tool updated.
- Test 3PowerShell WMI Network Adapter Enumeration
Expected signal: Sysmon Event ID 1: Process Create with Image=powershell.exe, CommandLine containing 'Win32_NetworkAdapterConfiguration'. PowerShell ScriptBlock Log Event ID 4104 with full script content. WMI Activity Event in Microsoft-Windows-WMI-Activity/Operational. No ipconfig.exe or arp.exe child process spawned — purely in-process WMI query.
- Test 4PowerShell Get-NetIPConfiguration and Get-NetAdapter Enumeration
Expected signal: Sysmon Event ID 1: Process Create with Image=powershell.exe, CommandLine containing 'Get-NetIPConfiguration', 'Get-NetAdapter', and 'Get-NetRoute'. PowerShell ScriptBlock Log Event ID 4104 with full cmdlet sequence. No child processes spawned. Microsoft-Windows-WMI-Activity/Operational may log underlying WMI calls made by these cmdlets.
- Test 5Linux Network Configuration Discovery via ip and arp
Expected signal: Linux auditd SYSCALL records for execve() calls for ip, arp, and cat with their arguments. Syslog process accounting entries. If auditd is configured with -a exit,always -F arch=b64 -S execve rules, EXECVE records show each command. /proc audit trail for process creation.
Unlock Pro Content
Get the full detection package for T1016 including response playbook, investigation guide, and atomic red team tests.