Connection to Commonly Abused Web Services

edit

Adversaries may implement command and control communications that use common web services in order to hide their activity. This attack technique is typically targeted to an organization and uses web services common to the victim network which allows the adversary to blend into legitimate traffic. activity. These popular services are typically targeted since they have most likely been used before a compromise and allow adversaries to blend in the network.

Rule type: eql

Rule indices:

  • winlogbeat-*
  • logs-endpoint.events.*
  • logs-windows.*

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
  • Windows
  • Threat Detection
  • Command and Control

Version: 6 (version history)

Added (Elastic Stack release): 7.11.0

Last modified (Elastic Stack release): 8.0.0

Rule authors: Elastic

Rule license: Elastic License v2

Rule query

edit
network where network.protocol == "dns" and process.name != null
and user.id not in ("S-1-5-18", "S-1-5-19", "S-1-5-20") and /* Add
new WebSvc domains here */ dns.question.name : (
"raw.githubusercontent.*", "*.pastebin.*",
"*drive.google.*", "*docs.live.*",
"*api.dropboxapi.*", "*dropboxusercontent.*",
"*onedrive.*", "*4shared.*", "*.file.io",
"*filebin.net", "*slack-files.com", "*ghostbin.*",
"*ngrok.*", "*portmap.*", "*serveo.net",
"*localtunnel.me", "*pagekite.me", "*localxpose.io",
"*notabug.org", "rawcdn.githack.*",
"paste.nrecom.net", "zerobin.net", "controlc.com",
"requestbin.net", "cdn.discordapp.com",
"discordapp.com", "discord.com" ) and /* Insert noisy
false positives here */ not process.executable : (
"?:\\Program Files\\*.exe", "?:\\Program Files (x86)\\*.exe",
"?:\\Windows\\System32\\WWAHost.exe",
"?:\\Windows\\System32\\smartscreen.exe",
"?:\\Windows\\System32\\MicrosoftEdgeCP.exe",
"?:\\ProgramData\\Microsoft\\Windows
Defender\\Platform\\*\\MsMpEng.exe", "?:\\Users\\*\\AppData\\Loc
al\\Google\\Chrome\\Application\\chrome.exe",
"?:\\Users\\*\\AppData\\Local\\Programs\\Fiddler\\Fiddler.exe",
"?:\\Users\\*\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe",
"?:\\Users\\*\\AppData\\Local\\Microsoft\\OneDrive\\OneDrive.exe",
"?:\\Windows\\system32\\mobsync.exe",
"?:\\Windows\\SysWOW64\\mobsync.exe",
"?:\\Users\\*\\AppData\\Local\\Discord\\-*\\Discord.exe" )

Threat mapping

edit

Framework: MITRE ATT&CKTM

Rule version history

edit
Version 6 (8.0.0 release)
  • Updated query, changed from:

    network where network.protocol == "dns" and process.name != null
    and user.id not in ("S-1-5-18", "S-1-5-19", "S-1-5-20") and /* Add
    new WebSvc domains here */ dns.question.name : (
    "raw.githubusercontent.*", "*.pastebin.*",
    "*drive.google.*", "*docs.live.*",
    "*api.dropboxapi.*", "*dropboxusercontent.*",
    "*onedrive.*", "*4shared.*", "*.file.io",
    "*filebin.net", "*slack-files.com", "*ghostbin.*",
    "*ngrok.*", "*portmap.*", "*serveo.net",
    "*localtunnel.me", "*pagekite.me", "*localxpose.io",
    "*notabug.org", "rawcdn.githack.*",
    "paste.nrecom.net", "zerobin.net", "controlc.com",
    "requestbin.net" ) and /* Insert noisy false positives here */
    not process.executable : ( "?:\\Program Files\\*.exe",
    "?:\\Program Files (x86)\\*.exe",
    "?:\\Windows\\System32\\WWAHost.exe",
    "?:\\Windows\\System32\\smartscreen.exe",
    "?:\\Windows\\System32\\MicrosoftEdgeCP.exe",
    "?:\\ProgramData\\Microsoft\\Windows
    Defender\\Platform\\*\\MsMpEng.exe", "?:\\Users\\*\\AppData\\Loc
    al\\Google\\Chrome\\Application\\chrome.exe",
    "?:\\Users\\*\\AppData\\Local\\Programs\\Fiddler\\Fiddler.exe",
    "?:\\Users\\*\\AppData\\Local\\Programs\\Microsoft VS Code\\Code.exe",
    "?:\\Users\\*\\AppData\\Local\\Microsoft\\OneDrive\\OneDrive.exe",
    "?:\\Windows\\system32\\mobsync.exe",
    "?:\\Windows\\SysWOW64\\mobsync.exe" )
Version 5 (7.16.0 release)
  • Formatting only
Version 4 (7.13.0 release)
  • Updated query, changed from:

    network where network.protocol == "dns" and /* Add new WebSvc
    domains here */ dns.question.name : (
    "*.githubusercontent.*", "*.pastebin.*",
    "*drive.google.*", "*docs.live.*",
    "*api.dropboxapi.*", "*dropboxusercontent.*",
    "*onedrive.*", "*4shared.*", "*.file.io",
    "*filebin.net", "*slack-files.com", "*ghostbin.*",
    "*ngrok.*", "*portmap.*", "*serveo.net",
    "*localtunnel.me", "*pagekite.me", "*localxpose.io",
    "*notabug.org" ) and /* Insert noisy false positives here */
    not process.name : ( "MicrosoftEdgeCP.exe",
    "MicrosoftEdge.exe", "iexplore.exe", "chrome.exe",
    "msedge.exe", "opera.exe", "firefox.exe",
    "Dropbox.exe", "slack.exe", "svchost.exe",
    "thunderbird.exe", "outlook.exe", "OneDrive.exe" )
Version 3 (7.12.0 release)
  • Updated query, changed from:

    network where network.protocol == "dns" and /* Add new
    WebSvc domains here */ wildcard(dns.question.name,
    "*.githubusercontent.*",
    "*.pastebin.*",
    "*drive.google.*",
    "*docs.live.*",
    "*api.dropboxapi.*",
    "*dropboxusercontent.*",
    "*onedrive.*", "*4shared.*",
    "*.file.io", "*filebin.net",
    "*slack-files.com",
    "*ghostbin.*", "*ngrok.*",
    "*portmap.*", "*serveo.net",
    "*localtunnel.me",
    "*pagekite.me",
    "*localxpose.io",
    "*notabug.org" ) and
    /* Insert noisy false positives here */ not process.name
    in ("MicrosoftEdgeCP.exe",
    "MicrosoftEdge.exe",
    "iexplore.exe", "chrome.exe",
    "msedge.exe", "opera.exe",
    "firefox.exe", "Dropbox.exe",
    "slack.exe", "svchost.exe",
    "thunderbird.exe", "outlook.exe",
    "OneDrive.exe")
Version 2 (7.11.2 release)
  • Formatting only