Skip to content

Latest commit

 

History

History
80 lines (48 loc) · 3.82 KB

T1090.md

File metadata and controls

80 lines (48 loc) · 3.82 KB

T1090 - Connection 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 to avoid direct connections to their infrastructure. Many tools exist that enable traffic redirection through proxies or port redirection, including [HTRAN](https://attack.mitre.org/software/S0040), ZXProxy, and ZXPortMap. (Citation: Trend Micro APT Attack Tools) Adversaries use these types of proxies to manage command and control communications, to reduce the number of simultaneous outbound network connections, to provide resiliency in the face of connection loss, or to ride over existing trusted communications paths between victims to avoid suspicion.

External connection proxies are used to mask the destination of C2 traffic and are typically implemented with port redirectors. Compromised systems outside of the victim environment may be used for these purposes, as well as purchased infrastructure such as cloud-based resources or virtual private servers. Proxies may be chosen based on the low likelihood that a connection to them from a compromised system would be investigated. Victim systems would communicate directly with the external proxy on the internet and then the proxy would forward communications to the C2 server.

Internal connection proxies can be used to consolidate internal connections from compromised systems. Adversaries may use a compromised internal system as a proxy in order to conceal the true destination of C2 traffic. The proxy can redirect traffic from compromised systems inside the network to an external C2 server making discovery of malicious traffic difficult. Additionally, the network can be used to relay information from one system to another in order to avoid broadcasting traffic to all systems.

Atomic Tests


Atomic Test #1 - Connection Proxy

Enable traffic redirection.

Note that this test may conflict with pre-existing system configuration.

Supported Platforms: macOS, Linux

Inputs:

Name Description Type Default Value
proxy_server Proxy server URL (host:port) url 127.0.0.1:8080
proxy_scheme Protocol to proxy (http or https) string http

Attack Commands: Run with sh!

export #{proxy_scheme}_proxy=#{proxy_server}

Cleanup Commands:

unset http_proxy
unset https_proxy


Atomic Test #2 - portproxy reg key

Adds a registry key to set up a proxy on the endpoint at HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PortProxy\v4tov4

Supported Platforms: Windows

Inputs:

Name Description Type Default Value
listenport Specifies the IPv4 port, by port number or service name, on which to listen. string 1337
connectport Specifies the IPv4 port, by port number or service name, to which to connect. If connectport is not specified, the default is the value of listenport on the local computer. string 1337
connectaddress Specifies the IPv4 address to which to connect. Acceptable values are IP address, computer NetBIOS name, or computer DNS name. If an address is not specified, the default is the local computer. string 127.0.0.1

Attack Commands: Run with powershell! Elevation Required (e.g. root or admin)

netsh interface portproxy add v4tov4 listenport=#{listenport} connectport=#{connectport} connectaddress=#{connectaddress}

Cleanup Commands:

netsh interface portproxy delete v4tov4 listenport=#{listenport}