System Network Connections Discovery T1049

Tactic: Discovery

Adversaries may attempt to get a listing of network connections to or from the compromised system they are currently accessing or from remote systems by querying for information over the network.

Events covered

7 catalog events are tagged with this technique by at least one rule.

Authoring guide

Patterns shared across the 33 rules above: which fields they filter on, what specific values they look for, and what they exclude. The catalog normalizes field names across vendors so Sigma's Image, Elastic's process.name, and Splunk's process_name collapse into one row. Each rule contributes at most once per row.

Fields filtered most (27 distinct)

The fields most rules look at when detecting this technique. The How column shows the operators authors use (eq, wildcard, regex_match, match) and how often each appears. Sample values are concrete examples to start from, not an exhaustive list.

FieldRulesHowSample values
CommandLine16contains 7, regex_match 3, ends_with 2, in 2, match 2, eq 1, is_not_null 1(?i)netstat(\.exe)?|net(\.exe)?\s+(use|sessions)|Get-TCPC..., (?i)whoami|systeminfo|ipconfig|arp|nltest|dclist|domain_t..., accounts, group, localgroup
process_name13eq 10, in 2, match 2arp.exe, (?i)(whoami|systeminfo|ipconfig|arp|nltest|tasklist|net1?..., atbroker.exe, bginfo.exe, net.exe
EventID8eq 84104, 4688, 1, 4103
Image6ends_with 5, eq 1, is_not_null 1, starts_with 1, wildcard 1/last, /lsof, /netstat, \net.exe, \net1.exe
OriginalFileName6eq 6net.exe, net1.exe, netsh.exe, sharpview.exe
event.type6eq 6start
EventType3eq 2, in 1exec, exec_event, fork
event.category3eq 3process
host.os.type3eq 2, in 1
process.args3eq 2, in 2, starts_with 1, wildcard 1*.cluster.local, *.svc, *.svc.cluster.local, -s, config
ParentImage2ends_with 1, eq 1?:\program files (x86)\teamcity\jre\bin\java.exe, ?:\program files\teamcity\jre\bin\java.exe, ?:\teamcity\buildagent\jre\bin\java.exe, \searchfilterhost.exe, \searchprotocolhost.exe
ScriptBlockText2contains 1, eq 1, in 1.getgporeport(), ::getipglobalproperties(), ::getprocesses, get-nettcpconnection
Type2eq 2
dc_process2gt 23
dc_process_name2gt 21

Top indicator values (422 distinct)

Specific (field, operator, value) combinations the rules check for, ranked by how many rules under this technique use each one. The Corpus reach column counts how many rules across the entire catalog (any technique) check the same combination. High numbers point to widely-used indicators that are likely noisy on their own; combine them with another condition for useful signal. Blank means the combination is specific to rules under this technique. Click a value to expand the rules under this technique that use it.

FieldKindValueRules (here)Corpus reach
event.typeeq
start
6606
process_nameeq
net.exe
522
process_nameeq
netstat.exe
58
process_nameeq
arp.exe
48
process_nameeq
nbtstat.exe
48
process_nameeq
net1.exe
435
process_nameeq
netsh.exe
418
process_nameeq
dsget.exe
37
process_nameeq
dsquery.exe
312
process_nameeq
gpresult.exe
37
process_nameeq
hostname.exe
37
process_nameeq
ipconfig.exe
38
process_nameeq
nltest.exe
310
process_nameeq
ping.exe
39
process_nameeq
powershell.exe
3104
process_nameeq
qprocess.exe
37
process_nameeq
quser.exe
38
process_nameeq
qwinsta.exe
38
process_nameeq
reg.exe
320
process_nameeq
sc.exe
329
process_nameeq
systeminfo.exe
37
process_nameeq
tasklist.exe
39
process_nameeq
tracert.exe
36
process_nameeq
whoami.exe
311
OriginalFileNameeq
net.exe
428
OriginalFileNameeq
net1.exe
444
CommandLineregex_match
(?i)netstat(\.exe)?|net(\.exe)?\s+(use|sessions)|Get-TCPConnection
33
EventIDeq
4104
3268
EventIDeq
4688
3313
event.categoryeq
process
3128

Exclusions (132 distinct)

Field/operator/value combinations excluded by rules under this technique (top-level not() clauses), sorted by how many rules exclude each. These are the false-positive paths the community has learned to filter out. A new rule that ignores the high-count entries here will likely fire on the same noisy paths. Click a value to expand the rules under this technique that exclude it.

FieldKindValueRules excluding
CommandLinematch
(?i)\x5cSplunkUniversalForwarder\x5c(etc|bin)\x5c
2
usermatch
\$$
2
CurrentDirectoryin
/opt/microsoft/mdatp/sbin
1
CurrentDirectoryin
/usr/lib/check_mk_agent/plugins
1
CurrentDirectoryin
/var/ossec
1
EventDatacontains
gc_service.exe
1
EventDatacontains
gc_worker.exe
1
Imageends_with
/who
1
Imagestarts_with
/run/containerd/
1
Imagestarts_with
/srv/snp/docker/
1
Imagestarts_with
/tmp/.criu
1
Imagestarts_with
/tmp/go-build
1
ParentCommandLinecontains
/usr/bin/landscape-sysinfo
1
ParentImagecontains
gc_service.exe
1
ParentImagecontains
gc_worker.exe
1

Rules under this technique

Every rule in the catalog tagged with this technique, grouped by vendor. Click a rule title for its full predicates, exclusions, and indicators.

Platform (all)
Domain (all)

Sigma 9 rules

Elastic 9 rules

Splunk 14 rules

Kusto 1 rule