Remote Services T1021

Tactic: Lateral Movement

Adversaries may use Valid Accounts to log into a service that accepts remote connections, such as telnet, SSH, and VNC. The adversary may then perform actions as the logged-on user.

Events covered

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

ProviderEventTitle
SysmonEvent ID 1Process creation
SysmonEvent ID 2A process changed a file creation time
SysmonEvent ID 3Network connection
SysmonEvent ID 7Image loaded
SysmonEvent ID 10ProcessAccess
SysmonEvent ID 11FileCreate
SysmonEvent ID 12RegistryEvent (Object create and delete)
SysmonEvent ID 13RegistryEvent (Value Set)
SysmonEvent ID 14RegistryEvent (Key and Value Rename)
SysmonEvent ID 17PipeEvent (Pipe Created)
SysmonEvent ID 18PipeEvent (Pipe Connected)
Security-AuditingEvent ID 4624An account was successfully logged on.
Security-AuditingEvent ID 4625An account failed to log on.
Security-AuditingEvent ID 4656A handle to an object was requested.
Security-AuditingEvent ID 4663An attempt was made to access an object.
Security-AuditingEvent ID 4672Special privileges assigned to new logon.
Security-AuditingEvent ID 4674An operation was attempted on a privileged object.
Security-AuditingEvent ID 4688A new process has been created.
Security-AuditingEvent ID 4697A service was installed in the system.
Security-AuditingEvent ID 4698A scheduled task was created.
Security-AuditingEvent ID 4768A Kerberos authentication ticket (TGT) was requested.
Security-AuditingEvent ID 4769A Kerberos service ticket was requested.
Security-AuditingEvent ID 4770A Kerberos service ticket was renewed.
Security-AuditingEvent ID 4771Kerberos pre-authentication failed.
Security-AuditingEvent ID 4776The domain controller attempted to validate the credentials for an account.
Security-AuditingEvent ID 4778A session was reconnected to a Window Station.
Security-AuditingEvent ID 4779A session was disconnected from a Window Station.
Security-AuditingEvent ID 4825A user was denied the access to Remote Desktop.
Security-AuditingEvent ID 4964Special groups have been assigned to a new logon.
Security-AuditingEvent ID 5140A network share object was accessed.
Security-AuditingEvent ID 5142A network share object was added.
Security-AuditingEvent ID 5143A network share object was modified.
Security-AuditingEvent ID 5145A network share object was checked to see whether client can be granted desired access.
Security-AuditingEvent ID 5152The Windows Filtering Platform blocked a packet.
Security-AuditingEvent ID 5154The Windows Filtering Platform has permitted an application or service to listen on a port for incoming connections.
Security-AuditingEvent ID 5155The Windows Filtering Platform has blocked an application or service from listening on a port for incoming connections.
Security-AuditingEvent ID 5156The Windows Filtering Platform has permitted a connection.
Security-AuditingEvent ID 5157The Windows Filtering Platform has blocked a connection.
Security-AuditingEvent ID 5158The Windows Filtering Platform has permitted a bind to a local port.
Security-AuditingEvent ID 5159The Windows Filtering Platform has blocked a bind to a local port.
Defender-DeviceEventsanyDefender event (any)
Defender-DeviceFileEventsFileCreatedFile created
Defender-DeviceFileEventsFileModifiedFile modified
Defender-DeviceFileEventsFileRenamedFile renamed
Defender-DeviceImageLoadEventsanyImage load (any)
Defender-DeviceImageLoadEventsImageLoadedImage loaded
Defender-DeviceLogonEventsLogonSuccessLogon succeeded
Defender-DeviceNetworkEventsanyNetwork activity (any)
Defender-DeviceNetworkEventsConnectionSuccessConnection succeeded
Defender-DeviceNetworkEventsInboundConnectionAcceptedInbound connection accepted
Defender-DeviceProcessEventsanyProcess activity (any)
PowerShellEvent ID 4103Payload Context: ContextInfo User Data: UserData.
PowerShellEvent ID 4104Creating Scriptblock text (MessageNumber of MessageTotal).
SMBServerEvent ID 4000The SMB client connection to the share was established.
TerminalServices-LocalSessionManagerEvent ID 21Remote Desktop Services: Session logon succeeded.
TerminalServices-LocalSessionManagerEvent ID 24Remote Desktop Services: Session has been disconnected.
TerminalServices-LocalSessionManagerEvent ID 25Remote Desktop Services: Session reconnection succeeded.
TerminalServices-RemoteConnectionManagerEvent ID 1149Remote Desktop Services: User authentication succeeded.
OpenSSHEvent ID 4process: payload.
PowerShellEvent ID 400Event ID 400
PowerShellEvent ID 800Event ID 800
Service-Control-ManagerEvent ID 7045A service was installed in the system.

Authoring guide

Patterns shared across the 387 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 (246 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
CommandLine86contains 48, match 13, regex_match 13, in 8, eq 6, wildcard 5, starts_with 3, ends_with 2, is_null 1, ne 1 use , net.*use.*(C|ADMIN|IPC)\$, cp , -r , \\\\
Image60ends_with 46, eq 9, starts_with 6, contains 5, wildcard 2, is_null 1, regex_match 1\net.exe, \net1.exe, \cmd.exe, /dev/shm/, \mmc.exe
process_name58eq 40, in 13, wildcard 3, match 2, ends_with 1, is_not_null 1, ne 1, starts_with 1cmd.exe, powershell.exe, pwsh.exe, mstsc.exe, svchost.exe
EventType56eq 38, in 15, starts_with 4, ne 3exec, creation, ConnectionSuccess, ssh_login, ProcessRollup2
EventID55eq 54, in 11, 4688, 4104, 5145, 4624
event.type46eq 40, in 8start, change, creation, process_started, connection
DestinationPort36eq 22, in 6, ge 4, gt 2, match 2, le 13389, 445, 5985, 5986, 135
parent_process_name33eq 22, contains 3, match 3, ne 3, in 2, ends_with 1wsmprovhost.exe, microsoft.tri.sensor.exe, mmc.exe, services.exe, svchost.exe
OriginalFileName30eq 29, in 1net.exe, net1.exe, powershell.exe, powershell_ise.exe, psexec.c
src_ip28ne 16, eq 7, cidr_match 4, is_not_null 4, in 2, contains 1, starts_with 1127.0.0.1, ::1, 10.0.0.0/8, %vulnerability_scanners%, %admin_jump_hosts%
host.os.type22eq 22
event.category19eq 15, in 4process, file, network, network_traffic, authentication
process.args19eq 12, starts_with 5, wildcard 5, contains 1, ends_with 1, in 1\\, --nc, -Embedding, -L, -R
ShareName16eq 6, wildcard 5, in 2, contains 1, ends_with 1, match 1\\*\ADMIN$, \\\\\*\\IPC$, C$, ADMIN$, Admin$
Initiated15eq 15incoming, ingress, true, egress

Top indicator values (2214 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
34606
event.typeeq
change
677
src_ipne
127.0.0.1
1523
src_ipne
::1
1521
EventIDeq
1
12237
EventIDeq
4688
11313
EventIDeq
4104
8268
EventIDeq
5145
718
EventIDeq
4624
525
DestinationPorteq
3389
1011
DestinationPorteq
445
58
Initiatedeq
incoming
1010
Initiatedeq
ingress
1012
Protocoleq
tcp
918
event.outcomeeq
success
8251
process_ideq
4
811
DeviceProducteq
X Series
77
DeviceVendoreq
Vectra Networks
77
EventTypeeq
exec
7171
EventTypeeq
creation
525
Imageends_with
\net.exe
749
Imageends_with
\net1.exe
747
EventTypein
exec
6171
OriginalFileNameeq
net.exe
628
OriginalFileNameeq
net1.exe
644
SubjectUserNameends_with
$
63
event.categoryeq
process
6128
process_nameeq
cmd.exe
677
src_ipeq
::1
66
LogonTypeeq
RemoteInteractive
58

Exclusions (623 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
SubjectUserNameends_with
$
6
src_ipeq
::1
5
process_namein
*:\\program files \(x86\)\\adobe*
4
process_namein
*:\\program files \(x86\)\\google*
4
process_namein
*:\\program files \(x86\)\\microsoft*
4
process_namein
*:\\program files\\adobe*
4
process_namein
*:\\program files\\google*
4
process_namein
*:\\program files\\microsoft*
4
process_namein
*:\\windows\\system32\\searchindexer.exe
4
process_namein
*:\\windows\\system32\\svchost.exe
4
process_namein
*:\\windows\\systemapps\\microsoft*
4
process_namein
*\\amazon\\ssm\\instance*
4
process_namein
*\\appdata\\local\\google*
4
process_namein
*\\appdata\\local\\kingsoft\\*
4
process_namein
*\\appdata\\local\\microsoft*
4

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 127 rules

Elastic 89 rules

Splunk 101 rules

Kusto 47 rules

YARA-L 7 rules

Panther 16 rules