VNC (Virtual Network Computing) from the Internetedit

This rule detects network events that may indicate the use of VNC traffic from 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 back-door vector.

Rule type: query

Rule indices:

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

Severity: high

Risk score: 73

Runs every: 5 minutes

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

Maximum alerts per execution: 100

Tags:

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

Version: 8 (version history)

Added (Elastic Stack release): 7.6.0

Last modified (Elastic Stack release): 7.12.0

Rule authors: Elastic

Rule license: Elastic License v2

Potential false positivesedit

VNC connections may be received 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 queryedit

event.category:(network or network_traffic) and network.transport:tcp
and destination.port >= 5800 and destination.port <= 5810 and not
source.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" ) and destination.ip:( 10.0.0.0/8 or 172.16.0.0/12 or
192.168.0.0/16 )

Threat mappingedit

Framework: MITRE ATT&CKTM

Rule version historyedit

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 not
    source.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") and destination.ip:(10.0.0.0/8 or
    172.16.0.0/12 or 192.168.0.0/16)
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 not source.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") and
    destination.ip:(10.0.0.0/8 or 172.16.0.0/12 or 192.168.0.0/16)
Version 3 (7.7.0 release)
  • Updated query, changed from:

    network.transport: tcp and (destination.port >= 5800 and
    destination.port <= 5810) and ( network.direction: inbound or ( not
    source.ip: (10.0.0.0/8 or 172.16.0.0/12 or 192.168.0.0/16) and
    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.