T1090
Proxy
Adversaries may use a connection proxy to direct network traffic between systems or act as an intermediary for network communications to a command and control server. This avoids direct connections to adversary infrastructure, provides resiliency, and may allow C2 traffic to blend with legitimate communications. Proxies may be implemented using standalone tools (HTRAN, FRP, Earthworm, Chisel), built into implants (SombRAT SOCKS proxy, ZxShell), or leveraged through cloud CDN infrastructure.
Microsoft Sentinel / Defender
kusto
let KnownProxyTools = dynamic([
"htran", "ew.exe", "earthworm", "frpc", "frps", "frp",
"chisel", "revsocks", "ligolo", "proxychains",
"3proxy", "socks5", "ngrok", "iox", "gost",
"npc.exe", "nps.exe", "invoke-ngrok"
]);
let ProxyCommandPatterns = dynamic([
"-socks", "-socks5", "-socks4",
"lcx", "htran", "portmap",
"-L ", "-R ", "-D ",
"proxytunnel", "proxychains",
"connect-proxy", "corkscrew"
]);
let SuspiciousListenerPatterns = dynamic([
"0.0.0.0", "*:4444", "*:1080", "*:8080", "*:9050", "*:10080"
]);
let ProxyResults = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName has_any (KnownProxyTools)
or ProcessCommandLine has_any (ProxyCommandPatterns)
or (FileName =~ "plink.exe" and ProcessCommandLine has_any ("-R", "-L", "-D"))
or (FileName =~ "ssh.exe" and ProcessCommandLine has_any ("-R", "-L", "-D") and ProcessCommandLine !has "scp")
or (FileName =~ "netsh.exe" and ProcessCommandLine has "portproxy")
or (ProcessCommandLine has "frpc" and ProcessCommandLine has "ini")
| extend ToolType = case(
FileName has_any ("htran", "ew.exe", "earthworm"), "Known Proxy Tool",
FileName has_any ("frpc", "frps", "frp"), "Fast Reverse Proxy (FRP)",
FileName has_any ("chisel", "revsocks", "ligolo"), "Tunneling Tool",
FileName has_any ("ngrok", "invoke-ngrok"), "Ngrok Tunnel",
FileName =~ "netsh.exe" and ProcessCommandLine has "portproxy", "Netsh Port Proxy",
FileName has_any ("plink.exe", "ssh.exe"), "SSH Tunnel",
"Generic Proxy Pattern"
)
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
InitiatingProcessFileName, InitiatingProcessCommandLine,
InitiatingProcessAccountName, FolderPath, ToolType;
let NetshPortProxy = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName =~ "netsh.exe"
| where ProcessCommandLine has_all ("portproxy", "add")
| extend ToolType = "Netsh Port Proxy"
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
InitiatingProcessFileName, InitiatingProcessCommandLine,
InitiatingProcessAccountName, FolderPath, ToolType;
union ProxyResults, NetshPortProxy
| sort by Timestamp desc high severity
medium confidence
Data Sources
Process: Process Creation Command: Command Execution Microsoft Defender for Endpoint
Required Tables
DeviceProcessEvents
False Positives
- SSH tunneling by developers and sysadmins for legitimate port forwarding (database access, jump hosts, VS Code Remote)
- Ngrok or similar tools used by developers to expose local web services during testing or demos
- Corporate proxy clients (Zscaler, Netskope agents) that implement local SOCKS listeners
- Netsh portproxy rules created by network administrators for legitimate service redirection
- Penetration testing tools and authorized red team activity using proxychains or Chisel
Last updated: 2026-04-13 Research depth: deep
References (10)
- https://attack.mitre.org/techniques/T1090/
- https://github.com/fatedier/frp
- https://github.com/jpillora/chisel
- https://www.cisa.gov/news-events/cybersecurity-advisories/aa23-144a
- https://www.mandiant.com/resources/blog/cutting-edge-part-2
- https://blog.trendmicro.com/trendlabs-security-intelligence/in-depth-look-apt-attack-tools-of-the-trade/
- https://learn.microsoft.com/en-us/windows-server/networking/technologies/netsh/netsh-interface-portproxy
- https://learn.microsoft.com/en-us/defender-endpoint/advanced-hunting-devicenetworkevents-table
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1090/T1090.md
- https://github.com/SigmaHQ/sigma/tree/master/rules/network
Unlock Pro Content
Get the full detection package for T1090 including response playbook, investigation guide, and atomic red team tests.
Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance