Privilege escalation through pipe impersonation.
What gives it awayA privileged process connecting to a pipe hosted by an unprivileged one, shortly before a process appears running as SYSTEM.
ATT&CK T1134.002Nothing matches that yet. Tell us what you were looking for and it goes on the list.
Sysmon · Event 18
A process attached to a pipe another process was hosting. Paired with Event 17 it shows both ends of the conversation — which is how you tell what actually talked to a suspicious pipe rather than just that one existed.
Also written as Sysmon 18Sysmon Event ID 18Pipe Connectednamed pipe connected sysmon
Event 17 tells you a pipe was created; 18 tells you what connected. For privilege escalation via impersonation, the connecting process is often the more interesting of the two, because that is the process about to receive a token it should not have.
Sanitised. Addresses come from the RFC 5737 documentation ranges.
Pipe Connected:
RuleName: -
EventType: ConnectPipe
UtcTime: 2026-08-28 09:15:20.114
ProcessGuid: {a1b2c3d4-0000-0000-0000-0000000012ef}
ProcessId: 812
PipeName: \a1b2c3d4e5
Image: C:\Windows\System32\services.exe
User: NT AUTHORITY\SYSTEM Everything else in the log line is context.
Most of the time it is one of these.
What gives it awayA privileged process connecting to a pipe hosted by an unprivileged one, shortly before a process appears running as SYSTEM.
ATT&CK T1134.002What gives it awayA connection to a pipe hosted by a binary in a temp or user-writable directory.
ATT&CK T1071What gives it awayPipe connections arriving on a remote host, alongside IPC$ access in Event 5145.
ATT&CK T1021.002Event | where Source == 'Microsoft-Windows-Sysmon' and EventID in (17, 18) | where Image has_any ('\\Temp\\','\\AppData\\') | project TimeGenerated, Computer, EventID, Image, PipeName | order by TimeGenerated asc Event | where Source == 'Microsoft-Windows-Sysmon' and EventID == 18 | summarize hosts = dcount(Computer) by PipeName, Image | where hosts <= 2 17 records a pipe being created — one process opening a channel. 18 records something connecting to it. Together they show both ends, which is what you need to understand pipe-based privilege escalation, where an unprivileged process hosts a pipe and waits for a privileged one to connect.
An unprivileged process creates a pipe and persuades a privileged process to connect to it. Once connected, the pipe's owner can impersonate the connecting process's security context. The pattern in the logs is an Event 17 from a low-privilege process followed by an Event 18 from a high-privilege one, and then something new appearing as SYSTEM.
Last reviewed 28 August 2026