T1090.002 Sumo Logic CSE · Sumo

Detect External Proxy in Sumo Logic CSE

Adversaries may use an external proxy to act as an intermediary for network communications to a command and control server to avoid direct connections to their infrastructure. Tools like HTRAN, ZXProxy, and ZXPortMap enable traffic redirection through proxies or port redirection. External connection proxies mask the destination of C2 traffic and are typically implemented with port redirectors. Compromised systems outside the victim environment, cloud-based resources, or VPS infrastructure may be used. Victim systems communicate directly with the external proxy, which then forwards traffic to the actual C2 server.

MITRE ATT&CK

Tactic
Command and Control
Technique
T1090 Proxy
Sub-technique
T1090.002 External Proxy
Canonical reference
https://attack.mitre.org/techniques/T1090/002/

Sumo Detection Query

Sumo Logic CSE (Sumo)
sql
(_sourceCategory=*windows*sysmon* OR _sourceCategory=*endpoint* OR _sourceCategory=*wineventlog*)
| where EventCode in ("1", "3") or event_id in ("1", "3")
| eval process_lower = toLowerCase(if(!isNull(Image), Image, process_name))
| eval cmdline_lower = toLowerCase(if(!isNull(CommandLine), CommandLine, command_line))
| eval dest_port = toInt(if(!isNull(DestinationPort), DestinationPort,
                    if(!isNull(destination_port), destination_port, "0")))
| eval dest_ip = if(!isNull(DestinationIp), DestinationIp,
                 if(!isNull(destination_ip), destination_ip, ""))
| eval is_known_proxy_tool = if(
    matches(process_lower, "(htran|zxproxy|zxportmap|chisel|frpc|frps|proxychains|revsocks|socat|stunnel|privoxy|iodine|dns2tcp|ptunnel|3proxy|ss-local|shadowsocks)") or
    matches(cmdline_lower, "(htran|zxproxy|chisel|frpc|proxychains|socat|socks5://|socks4://|-socks[45]|connect-proxy)"),
    1, 0)
| eval is_ssh_socks = if(
    matches(process_lower, "(\\bssh\\.exe|\\bssh$|plink\\.exe)") and
    matches(cmdline_lower, "(-[fnqt]*d\\s+\\d+|-nnt\\s*-d|-nt\\s*-d|-fnd|-fnqd)"),
    1, 0)
| eval is_proxy_port_conn = if(
    dest_port in (1080, 3128, 8080, 8888, 9050, 9051, 4444, 1337, 31337, 8443, 4443) and
    !matches(process_lower, "(chrome|firefox|msedge|iexplore|opera|brave|curl|wget)") and
    !matches(dest_ip, "^(10\\.|172\\.(1[6-9]|2[0-9]|3[01])\\.|192\\.168\\.|127\\.)"),
    1, 0)
| eval suspicion_score = is_known_proxy_tool + is_ssh_socks + is_proxy_port_conn
| where suspicion_score > 0
| fields _messageTime, host, User, process_lower, cmdline_lower, ParentImage,
         dest_ip, dest_port, is_known_proxy_tool, is_ssh_socks, is_proxy_port_conn,
         suspicion_score
| sort by suspicion_score desc, _messageTime desc
high severity medium confidence

Detects T1090.002 External Proxy usage in Sumo Logic by parsing Windows Sysmon process creation (Event ID 1) and network connection (Event ID 3) events. Computes a multi-signal suspicion score across three independent flags: known proxy tool name or SOCKS argument present in command line; SSH process using dynamic port forwarding (-D) for local SOCKS proxy creation; and outbound network connection to a well-known proxy port from a non-browser process to a public IP. Events scoring above zero are surfaced for triage.

Data Sources

Windows Sysmon operational event log (Event IDs 1 and 3) forwarded to Sumo LogicSumo Logic Cloud SIEM Enterprise normalized endpoint process and network events

Required Tables

_sourceCategory matching Windows Sysmon or endpoint process/network dataSumo Logic CSE normalized schema: process_name, command_line, destination_ip, destination_port

False Positives & Tuning

  • Security engineers using socat or stunnel for legitimate TLS termination, port translation, or certificate testing in development and staging environments.
  • Privacy-focused users or journalists running Tor Browser locally, which connects via SOCKS to port 9050 by default and will reliably trigger the proxy port branch.
  • Penetration testers or red team operators using Chisel, FRP, or revsocks under an authorized engagement scope where process names will exactly match known proxy tool indicators.
  • System administrators using proxychains to route maintenance scripts or patch management tools through an internal hop proxy, which is common in air-gapped or segmented networks.
Download portable Sigma rule (.yml)

Other platforms for T1090.002


Testing Methodology

Validate this detection against 5 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1SOCKS5 Proxy via SSH Dynamic Port Forwarding

    Expected signal: Sysmon for Linux or auditd: Process creation for ssh with command line containing '-D 1080'. Network connection event showing TCP bind on 127.0.0.1:1080. If Sysmon EID 3 is available, outbound TCP connection to the target SSH server on port 2222.

  2. Test 2TCP Port Forwarding via Chisel Proxy Tool

    Expected signal: Sysmon Event ID 1: Process Create for chisel.exe with command line containing 'client' and 'socks'. Sysmon Event ID 3: Network connection from chisel.exe to 127.0.0.1:8080. Sysmon Event ID 11: File creation of chisel.exe in %TEMP%. Security Event ID 4688 (if command line auditing enabled).

  3. Test 3HTRAN Port Redirector Execution

    Expected signal: Sysmon Event ID 1: Process Create for cmd.exe with CommandLine containing 'htran'. If actual HTRAN binary is used in an authorized test environment: direct process creation event with '-listen' argument and IP:port parameters. Security Event ID 4688 with htran.exe image path.

  4. Test 4FRP (Fast Reverse Proxy) Client Configuration and Execution

    Expected signal: Sysmon Event ID 11: File creation of frpc.ini in %TEMP% with content showing server_addr, server_port, and plugin=socks5. Sysmon Event ID 1: PowerShell process creation with command containing 'frpc.ini'. The configuration file content reveals the external C2 relay address (192.0.2.1).

  5. Test 5SOCKS Proxy via Netcat-style Listener (socat)

    Expected signal: Linux auditd/Sysmon for Linux: Process creation for socat with arguments 'TCP4-LISTEN:1080' and 'TCP4:192.0.2.1:4444'. Network socket creation binding to local port 1080. If Sysmon EID 3 available: outbound connection attempt to 192.0.2.1:4444.

Unlock Pro Content

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

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections