Persistence via TelemetryController Scheduled Task Hijack

Detects the successful hijack of Microsoft Compatibility Appraiser scheduled task to establish persistence with an integrity level of system.

Elastic rule (View on GitHub)

  1[metadata]
  2creation_date = "2020/08/17"
  3integration = ["endpoint", "windows", "system"]
  4maturity = "production"
  5updated_date = "2024/05/21"
  6
  7[rule]
  8author = ["Elastic"]
  9description = """
 10Detects the successful hijack of Microsoft Compatibility Appraiser scheduled task to establish persistence with an
 11integrity level of system.
 12"""
 13from = "now-9m"
 14index = [
 15    "winlogbeat-*",
 16    "logs-endpoint.events.process-*",
 17    "logs-windows.*",
 18    "endgame-*",
 19    "logs-system.security*",
 20]
 21language = "eql"
 22license = "Elastic License v2"
 23name = "Persistence via TelemetryController Scheduled Task Hijack"
 24references = ["https://www.trustedsec.com/blog/abusing-windows-telemetry-for-persistence"]
 25risk_score = 73
 26rule_id = "68921d85-d0dc-48b3-865f-43291ca2c4f2"
 27setup = """## Setup
 28
 29If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2,
 30events will not define `event.ingested` and default fallback for EQL rules was not added until version 8.2.
 31Hence for this rule to work effectively, users will need to add a custom ingest pipeline to populate
 32`event.ingested` to @timestamp.
 33For more details on adding a custom ingest pipeline refer - https://www.elastic.co/guide/en/fleet/current/data-streams-pipeline-tutorial.html
 34"""
 35severity = "high"
 36tags = [
 37    "Domain: Endpoint",
 38    "OS: Windows",
 39    "Use Case: Threat Detection",
 40    "Tactic: Persistence",
 41    "Tactic: Privilege Escalation",
 42    "Data Source: Elastic Endgame",
 43    "Data Source: Elastic Defend",
 44]
 45timestamp_override = "event.ingested"
 46type = "eql"
 47
 48query = '''
 49process where host.os.type == "windows" and event.type == "start" and
 50  process.parent.name : "CompatTelRunner.exe" and process.args : "-cv*" and
 51  not process.name : ("conhost.exe",
 52                      "DeviceCensus.exe",
 53                      "CompatTelRunner.exe",
 54                      "DismHost.exe",
 55                      "rundll32.exe",
 56                      "powershell.exe")
 57'''
 58
 59
 60[[rule.threat]]
 61framework = "MITRE ATT&CK"
 62[[rule.threat.technique]]
 63id = "T1053"
 64name = "Scheduled Task/Job"
 65reference = "https://attack.mitre.org/techniques/T1053/"
 66[[rule.threat.technique.subtechnique]]
 67id = "T1053.005"
 68name = "Scheduled Task"
 69reference = "https://attack.mitre.org/techniques/T1053/005/"
 70
 71
 72[[rule.threat.technique]]
 73id = "T1574"
 74name = "Hijack Execution Flow"
 75reference = "https://attack.mitre.org/techniques/T1574/"
 76
 77
 78[rule.threat.tactic]
 79id = "TA0003"
 80name = "Persistence"
 81reference = "https://attack.mitre.org/tactics/TA0003/"
 82[[rule.threat]]
 83framework = "MITRE ATT&CK"
 84[[rule.threat.technique]]
 85id = "T1053"
 86name = "Scheduled Task/Job"
 87reference = "https://attack.mitre.org/techniques/T1053/"
 88[[rule.threat.technique.subtechnique]]
 89id = "T1053.005"
 90name = "Scheduled Task"
 91reference = "https://attack.mitre.org/techniques/T1053/005/"
 92
 93
 94[[rule.threat.technique]]
 95id = "T1574"
 96name = "Hijack Execution Flow"
 97reference = "https://attack.mitre.org/techniques/T1574/"
 98
 99
100[rule.threat.tactic]
101id = "TA0004"
102name = "Privilege Escalation"
103reference = "https://attack.mitre.org/tactics/TA0004/"

References

Related rules

to-top