VNC (Virtual Network Computing) to the Internet

edit

This rule detects network events that may indicate the use of VNC traffic to the Internet. VNC is commonly used by system administrators to remotely control a system for maintenance or to use shared resources. It should almost never be directly exposed to the Internet, as it is frequently targeted and exploited by threat actors as an initial access or backdoor vector.

Rule type: query

Rule indices:

  • auditbeat-*
  • filebeat-*
  • packetbeat-*
  • logs-endpoint.events.*

Severity: medium

Risk score: 47

Runs every: 5 minutes

Searches indices from: now-9m (Date Math format, see also Additional look-back time)

Maximum alerts per execution: 100

References:

Tags:

  • Elastic
  • Host
  • Network
  • Threat Detection
  • Command and Control
  • Host

Version: 100 (version history)

Added (Elastic Stack release): 7.6.0

Last modified (Elastic Stack release): 8.5.0

Rule authors: Elastic

Rule license: Elastic License v2

Potential false positives

edit

VNC connections may be made directly to Linux cloud server instances but such connections are usually made only by engineers. VNC is less common than SSH or RDP but may be required by some work flows such as remote access and support for specialized software products or servers. Such work-flows are usually known and not unexpected. Usage that is unfamiliar to server or network owners can be unexpected and suspicious.

Rule query

edit
event.category:(network or network_traffic) and network.transport:tcp
and destination.port >= 5800 and destination.port <= 5810 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.0.0.0/24 or
192.0.0.0/29 or 192.0.0.8/32 or 192.0.0.9/32 or
192.0.0.10/32 or 192.0.0.170/32 or 192.0.0.171/32 or
192.0.2.0/24 or 192.31.196.0/24 or 192.52.193.0/24 or
192.168.0.0/16 or 192.88.99.0/24 or 224.0.0.0/4 or
100.64.0.0/10 or 192.175.48.0/24 or 198.18.0.0/15 or
198.51.100.0/24 or 203.0.113.0/24 or 240.0.0.0/4 or "::1"
or "FE80::/10" or "FF00::/8" )

Threat mapping

edit

Framework: MITRE ATT&CKTM

Rule version history

edit
Version 100 (8.5.0 release)
  • Formatting only
Version 12 (8.4.0 release)
  • Formatting only
Version 11 (7.15.0 release)
  • Formatting only
Version 10 (7.14.0 release)
  • Updated query, changed from:

    event.category:(network or network_traffic) and network.transport:tcp
    and destination.port >= 5800 and destination.port <= 5810 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" )
Version 8 (7.12.0 release)
  • Formatting only
Version 7 (7.11.2 release)
  • Formatting only
Version 6 (7.11.0 release)
  • Updated query, changed from:

    event.category:(network or network_traffic) and network.transport:tcp
    and destination.port >= 5800 and destination.port <= 5810 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 172.16.0.0/12 or
    192.168.0.0/16 or "::1")
Version 5 (7.10.0 release)
  • Formatting only
Version 4 (7.9.0 release)
  • Updated query, changed from:

    network.transport:tcp and destination.port >= 5800 and
    destination.port <= 5810 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
    172.16.0.0/12 or 192.168.0.0/16 or "::1")
Version 3 (7.7.0 release)
  • Updated query, changed from:

    network.transport: tcp and (destination.port >= 5800 and
    destination.port <= 5810) and ( network.direction: outbound or (
    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 172.16.0.0/12 or 192.168.0.0/16) ) )
Version 2 (7.6.1 release)
  • Removed auditbeat-*, packetbeat-*, and winlogbeat-* from the rule indices.