FTP (File Transfer Protocol) Activity to the Internet

edit

FTP (File Transfer Protocol) Activity to the Internet

edit

Detects events that may indicate the use of FTP network connections to the Internet. The File Transfer Protocol (FTP) has been around in its current form since the 1980s. It can be a common and efficient procedure on your network to send and receive files. Because of this, adversaries will also often use this protocol to exfiltrate data from your network or download new tools. Additionally, FTP is a plain-text protocol which, if intercepted, may expose usernames and passwords. FTP activity involving servers subject to regulations or compliance standards may be unauthorized.

Rule type: query

Rule indices:

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

Severity: low

Risk score: 21

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 positives

edit

FTP servers should be excluded from this rule as this is expected behavior. Some business workflows may use FTP for data exchange. These workflows often have expected characteristics such as users, sources, and destinations. FTP activity involving an unusual source or destination may be more suspicious. FTP activity involving a production server that has no known associated FTP workflow or business requirement is often suspicious.

Rule query

edit
event.category:(network or network_traffic) and network.transport:tcp
and (destination.port:(20 or 21) or event.dataset:zeek.ftp) 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" )

Threat mapping

edit

Framework: MITRE ATT&CKTM

Rule version history

edit
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:(20 or 21) or event.dataset:zeek.ftp) 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:(20 or 21) 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: (20 or 21) 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.