T1090.003 IBM QRadar · QRadar

Detect Multi-hop Proxy in IBM QRadar

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.

MITRE ATT&CK

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

QRadar Detection Query

IBM QRadar (QRadar)
sql
SELECT
  DATEFORMAT(starttime, 'YYYY-MM-dd HH:mm:ss') AS event_time,
  username,
  sourceip,
  destinationip,
  LONG(destinationport) AS destination_port,
  QIDNAME(qid) AS event_name,
  CATEGORYNAME(highlevelcategory) AS high_category,
  LOGSOURCENAME(logsourceid) AS log_source,
  "EventID",
  UTF8(payload) AS raw_log
FROM events
WHERE
  (
    "EventID" IN ('1', '4688')
    AND (
      UTF8(payload) ILIKE '%tor.exe%'
      OR UTF8(payload) ILIKE '%proxychains%'
      OR UTF8(payload) ILIKE '%proxifier%'
      OR UTF8(payload) ILIKE '%3proxy.exe%'
      OR UTF8(payload) ILIKE '%srelay.exe%'
      OR UTF8(payload) ILIKE '%microsocks%'
      OR UTF8(payload) ILIKE '%redsocks%'
      OR UTF8(payload) ILIKE '%plink.exe%'
      OR UTF8(payload) ILIKE '%socks5%'
      OR UTF8(payload) ILIKE '%socks4%'
      OR UTF8(payload) ILIKE '%tor2web%'
      OR UTF8(payload) ILIKE '%ProxyJump%'
      OR UTF8(payload) ILIKE '%ProxyCommand%'
      OR UTF8(payload) ILIKE '%DynamicForward%'
    )
  )
  OR (
    "EventID" = '3'
    AND LONG(destinationport) IN (9001, 9030, 9040, 9050, 9051, 9150, 9151)
    AND NOT (
      destinationip INCIDR '10.0.0.0/8'
      OR destinationip INCIDR '172.16.0.0/12'
      OR destinationip INCIDR '192.168.0.0/16'
      OR destinationip INCIDR '127.0.0.0/8'
    )
  )
ORDER BY starttime DESC
LAST 24 HOURS
high severity medium confidence

Detects T1090.003 multi-hop proxy activity using Windows Sysmon and Security audit events ingested into QRadar. Scans payload UTF8 content of process creation events (Sysmon EventID 1, Security EventID 4688) for known proxy tool filenames and suspicious proxy-related command-line arguments. Additionally identifies Sysmon network connection events (EventID 3) with destination ports matching known Tor relay ports destined for public (non-RFC1918) IP addresses. Uses AQL INCIDR for private IP exclusion and ILIKE for case-insensitive payload searches.

Data Sources

Windows Sysmon via QRadar DSM (EventID 1, 3)Windows Security Event Log via QRadar DSM (EventID 4688)IBM QRadar SIEM event pipeline

Required Tables

events

False Positives & Tuning

  • Legitimate SSH dynamic port forwarding sessions established by system administrators tunneling traffic through jump hosts for routine privileged access management
  • Privacy or anonymization tools (Tor Browser, Proxifier configured for corporate proxy bypass) sanctioned by the organization and installed on managed endpoints
  • Security assessment tooling such as ProxyChains or plink executed by authorized penetration testers on devices included in the scope of a documented red team exercise
Download portable Sigma rule (.yml)

Other platforms for T1090.003


Testing Methodology

Validate this detection against 4 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 1Launch Tor Process as SOCKS Proxy

    Expected signal: Sysmon Event ID 1: Process Create with Image path in %TEMP%\tortest\tor\tor.exe and CommandLine containing --SocksPort 9050. Sysmon Event ID 3: Multiple outbound TCP connections to public IPs on ports 9001 and 9030 (Tor directory and guard connections). Sysmon Event ID 11: File creation events for tor.exe and torrc in non-standard temp path.

  2. Test 2ProxyChains Multi-hop Configuration and Execution

    Expected signal: Linux auditd/syslog: Process creation for proxychains4 with command line referencing the config file. Sysmon for Linux (if deployed) Event ID 1: Process Create for proxychains4 with full command line. Network connection attempts through the configured SOCKS chain. File creation event for /tmp/test_proxychains.conf.

  3. Test 3SSH Dynamic Port Forwarding (Multi-hop SOCKS Proxy)

    Expected signal: Sysmon Event ID 1 (Linux) or Security Event ID 4688 (Windows with OpenSSH): Process Create for ssh with CommandLine containing '-D 1080' or '-J jumphost.example.com'. Sysmon Event ID 3: Outbound TCP connection to 192.0.2.1:22 and jumphost.example.com:22. The -D flag creates a listening socket on local port 1080 visible in netstat/socket monitoring.

  4. Test 4SOCKS Proxy via Netcat/Ncat Relay Chain Simulation

    Expected signal: Sysmon Event ID 1: Multiple ncat.exe or nc.exe process creation events with -l (listen) and -c (command/forward) flags. Sysmon Event ID 3: Network listen and connection events on ports 18080 and 18081. Security Event ID 4688 (if command line auditing enabled): ncat.exe process creation with forwarding arguments.

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