[metadata]
creation_date = "2020/02/18"
maturity = "production"
updated_date = "2020/11/03"

[rule]
author = ["Elastic"]
description = """
This rule detects events that may describe network events of proxy use to the Internet. It includes popular HTTP proxy
ports and SOCKS proxy ports. Typically, environments will use an internal IP address for a proxy server. It can also be
used to circumvent network controls and detection mechanisms.
"""
false_positives = [
    """
    Some proxied applications may use these ports but this usually occurs in local traffic using private IPs which this
    rule does not match. Proxies are widely used as a security technology but in enterprise environments this is usually
    local traffic which this rule does not match. If desired, internet proxy services using these ports can be added to
    allowlists. Some screen recording applications may use these ports. Proxy port activity involving an unusual source
    or destination may be more suspicious. Some cloud environments may use this port when VPNs or direct connects are
    not in use and cloud instances are accessed across the Internet. Because these ports are in the ephemeral range,
    this rule may false under certain conditions such as when a NATed web server replies to a client which has used a
    port in the range by coincidence. In this case, such servers can be excluded if desired.
    """,
]
index = ["filebeat-*", "packetbeat-*", "logs-endpoint.events.*"]
language = "kuery"
license = "Elastic License"
name = "Proxy Port Activity to the Internet"
risk_score = 47
rule_id = "ad0e5e75-dd89-4875-8d0a-dfdc1828b5f3"
severity = "medium"
tags = ["Elastic", "Host", "Network", "Threat Detection", "Command and Control"]
type = "query"

query = '''
event.category:(network or network_traffic) and network.transport:tcp and (destination.port:(1080 or 3128 or 8080) or event.dataset:zeek.socks) and
  source.ip:(
    10.0.0.0/8 or
    172.16.0.0/12 or
    192.168.0.0/16
  ) and
  not destination.ip:(
    10.0.0.0/8 or
    127.0.0.0/8 or
    169.254.0.0/16 or
    172.16.0.0/12 or
    192.168.0.0/16 or
    224.0.0.0/4 or
    "::1" or
    "FE80::/10" or
    "FF00::/8"
  )
'''


[[rule.threat]]
framework = "MITRE ATT&CK"

[rule.threat.tactic]
id = "TA0011"
name = "Command and Control"
reference = "https://attack.mitre.org/tactics/TA0011/"

