Detect External Proxy in CrowdStrike LogScale
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/
LogScale Detection Query
#event_simpleName = /^(ProcessRollup2|NetworkConnectIP4)$/
| ImageFileName = /(?i)(htran|zxproxy|zxportmap|chisel|frpc|frps|proxychains|revsocks|socat|stunnel|privoxy|iodine|dns2tcp|ptunnel|3proxy|ss-local|shadowsocks)/ OR
CommandLine = /(?i)(htran|zxproxy|zxportmap|chisel|frpc|proxychains|socat|socks5:\/\/|socks4:\/\/|-socks[45]\s|--socks[45]|connect-proxy)/ OR
(
ImageFileName = /(?i)(\bssh\.exe$|\bssh$|plink\.exe$)/ AND
CommandLine = /(?i)(-[fnqt]*D\s+\d+|-nNT|-fND|-fnqD)\/
) OR
(
#event_simpleName = "NetworkConnectIP4" AND
RemotePort in (1080, 3128, 8080, 8888, 9050, 9051, 4444, 1337, 31337, 8443, 4443) AND
NOT ImageFileName = /(?i)(chrome\.exe|firefox\.exe|msedge\.exe|iexplore\.exe|opera\.exe|brave\.exe|curl\.exe|wget\.exe)/ AND
NOT RemoteAddressIP4 = /^(10\.|172\.(1[6-9]|2[0-9]|3[01])\.|192\.168\.|127\.)/
)
| eval detection_type = case(
ImageFileName = /(?i)(htran|zxproxy|zxportmap|chisel|frpc|frps|proxychains|revsocks|socat|stunnel|privoxy|iodine|dns2tcp|ptunnel|3proxy|ss-local|shadowsocks)/,
"KnownProxyToolExecution",
ImageFileName = /(?i)(\bssh\.exe$|\bssh$|plink\.exe$)/ AND CommandLine = /(?i)(-[fnqt]*D\s+\d+|-nNT|-fND)/,
"SSHDynamicForwarding",
CommandLine = /(?i)(socks5:\/\/|socks4:\/\/|-socks[45]|connect-proxy)/,
"SocksProxyArgument",
#event_simpleName = "NetworkConnectIP4",
"ProxyPortConnection",
"Other"
)
| table [@timestamp, ComputerName, UserName, ImageFileName, CommandLine,
ParentProcessImageFileName, RemoteAddressIP4, RemotePort, detection_type]
| sort @timestamp desc CrowdStrike LogScale (Falcon) detection for T1090.002 External Proxy combining ProcessRollup2 and NetworkConnectIP4 Falcon telemetry events. Matches four detection branches: (1) known proxy relay tool image name matches (chisel, frp, socat, stunnel, proxychains, etc.); (2) SSH process with dynamic port-forwarding command-line flags (-D); (3) SOCKS proxy URI scheme or argument present in any process command line; (4) outbound NetworkConnectIP4 connection to well-known proxy ports from non-browser processes to non-RFC1918 destinations. A CASE eval labels each match with its detection type for analyst triage.
Data Sources
Required Tables
False Positives & Tuning
- Red team or penetration testing operators using Chisel, FRP, or revsocks under authorized rules of engagement; Falcon will reliably detect these by image name.
- Legitimate socat or stunnel usage by system administrators for TLS wrapping, serial-over-TCP bridges, or debugging network services in enterprise environments.
- Corporate outbound proxy infrastructure where all workstations connect to a centralized proxy on port 8080 or 3128; the NetworkConnectIP4 branch will match if the proxy IP is public-facing.
- Tor Browser or I2P router processes connecting to local SOCKS daemon on ports 9050 or 9060 during normal privacy-tool usage on unmanaged or BYOD endpoints.
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.
- 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.
- 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).
- 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.
- 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).
- 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.
References (12)
- https://attack.mitre.org/techniques/T1090/002/
- https://arxiv.org/ftp/arxiv/papers/1408/1408.1136.pdf
- http://blog.trendmicro.com/trendlabs-security-intelligence/in-depth-look-apt-attack-tools-of-the-trade/
- https://www.mandiant.com/resources/blog/apt29-eye-spy-email
- https://github.com/jpillora/chisel
- https://github.com/fatedier/frp
- https://www.varonis.com/blog/what-is-htran
- https://www.cisa.gov/news-events/cybersecurity-advisories/aa22-277a
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1090.002/T1090.002.md
- https://thedfirreport.com/2022/04/04/stolen-images-campaign-ends-in-conti-ransomware/
- https://learn.microsoft.com/en-us/defender-endpoint/advanced-hunting-devicenetworkevents-table
- https://docs.splunk.com/Documentation/SplunkCloud/latest/SearchReference/CommonStatsFunctions
Unlock Pro Content
Get the full detection package for T1090.002 including response playbook, investigation guide, and atomic red team tests.