T1090.003

Multi-hop Proxy

Adversaries may chain together multiple proxies to disguise the source of malicious traffic. Techniques include Tor onion routing, ProxyChains, SOCKS proxy chaining, operational relay box (ORB) networks, and peer-to-peer routing to make attribution difficult. Defenders can typically only see the last hop before their network boundary.

Microsoft Sentinel / Defender
kusto
let TorPorts = dynamic([9001, 9030, 9040, 9050, 9051, 9150, 9151]);
let KnownProxyTools = dynamic(["tor.exe", "tor2web", "proxychains", "proxifier.exe", "3proxy.exe", "srelay.exe", "microsocks", "redsocks"]);
let SuspiciousProxyArgs = dynamic(["proxychains", "socks5", "socks4", "tor2web", "-D ", "DynamicForward", "ProxyJump", "-o ProxyCommand"]);
// Detection 1: Known proxy tool process creation
let ProxyProcesses = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName has_any (KnownProxyTools)
    or ProcessCommandLine has_any (SuspiciousProxyArgs)
| extend DetectionType = "ProxyToolLaunch"
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
          InitiatingProcessFileName, InitiatingProcessCommandLine, DetectionType;
// Detection 2: Network connections to Tor ports
let TorConnections = DeviceNetworkEvents
| where Timestamp > ago(24h)
| where RemotePort in (TorPorts)
| where RemoteIPType == "Public"
| extend DetectionType = "TorPortConnection"
| project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine,
          RemoteIP, RemotePort, RemoteUrl, DetectionType;
// Detection 3: SSH used as multi-hop proxy (dynamic forwarding / ProxyJump)
let SSHProxyChain = DeviceProcessEvents
| where Timestamp > ago(24h)
| where FileName in~ ("ssh.exe", "ssh", "plink.exe")
| where ProcessCommandLine has_any ("-D ", "-w ", "ProxyJump", "-J ", "-o ProxyCommand", "DynamicForward")
| extend DetectionType = "SSHMultiHopProxy"
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
          InitiatingProcessFileName, InitiatingProcessCommandLine, DetectionType;
// Union all detections
ProxyProcesses
| union TorConnections
| union SSHProxyChain
| sort by Timestamp desc
high severity medium confidence

Data Sources

Process: Process Creation Network Traffic: Network Connection Creation Command: Command Execution Microsoft Defender for Endpoint

Required Tables

DeviceProcessEvents DeviceNetworkEvents

False Positives

  • Security researchers or penetration testers legitimately running Tor or proxy tools in authorized lab environments
  • Privacy-conscious employees using Tor Browser for legitimate personal browsing on non-managed devices that surface telemetry
  • SSH administrators using dynamic port forwarding (-D) or ProxyJump (-J) for legitimate bastion-host access patterns
  • VPN client software that internally routes through SOCKS5 on ports overlapping with Tor defaults (e.g., 9050)
  • Developer environments running local proxy tools (Proxifier, Privoxy) for testing API calls through corporate proxies

Unlock Pro Content

Get the full detection package for T1090.003 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections