Detection rules › YARA-L
Google Workspace Malicious File Downloaded
Identifies when a user downloads a potentially malicious file from Google Drive.
MITRE ATT&CK coverage
| Tactic | Techniques |
|---|---|
| Execution |
Telemetry coverage
Rules detecting the same action
These rules filter on the same operation.
- Google Workspace Encryption Key File Accessed By An Anonymous User (YARA-L)
- Google Workspace Many Docs Downloaded (Panther)
- Google Workspace Multiple Files Copied From Google Drive (YARA-L)
- Google Workspace Multiple Files Downloaded From Google Drive (YARA-L)
- Google Workspace Object Copied from External Drive with App Consent (Elastic)
- Google Workspace Suspicious Login and Google Drive File Download (YARA-L)
Rule body
// Copyright 2023 Google LLC. Licensed under Apache-2.0.
rule google_workspace_malicious_file_downloaded {
meta:
author = "Google Cloud Security"
description = "Identifies when a user downloads a potentially malicious file from Google Drive."
rule_id = "mr_72af4504-955b-4c61-9071-bb767c9bae88"
rule_name = "Google Workspace Malicious File Downloaded"
mitre_attack_tactic = "Execution"
mitre_attack_technique = "User Execution: Malicious File"
mitre_attack_url = "https://attack.mitre.org/techniques/T1204/002/"
mitre_attack_version = "v13.1"
type = "Alert"
data_source = "Workspace Activity"
severity = "Medium"
priority = "Medium"
events:
$ws.metadata.vendor_name = "Google Workspace"
$ws.metadata.product_name = "drive"
($ws.metadata.product_event_type = "download" or
$ws.metadata.product_event_type = "view" or
$ws.metadata.product_event_type = "copy")
($ws.target.resource.attribute.labels["visibility"] = "people_with_link" or
$ws.target.resource.attribute.labels["visibility"] = "public_on_the_web")
$ws.target.resource.name = /.*\.dll|.*\.exe|.*\.scr|.*\.jar|.*\.pif|.*\.app|.*\.dmg|.*\.pkg|.*\.elf|.*\.so|.*\.bin|.*\.deb|.*\.rpm|.*\.sh|.*\.hta|.*\.lnk/
outcome:
$risk_score = max(35)
$mitre_attack_tactic = "Execution"
$mitre_attack_technique = "User Execution: Malicious File"
$mitre_attack_technique_id = "T1204.002"
$event_count = count_distinct($ws.metadata.id)
$product_event_type = $ws.metadata.product_event_type
$userid = $ws.principal.user.userid
$doc_type = $ws.src.resource.attribute.labels["doc_type"]
$owner = $ws.target.resource.attribute.labels["owner"]
$doc_name = $ws.target.resource.name
//$doc_id = $ws.target.resource.product_object_id
condition:
$ws
}
YARA-L rule structure
Condition
Fires when at least one $ws event.
Events
$ws
metadata.product_event_typeis one of:downloadviewcopy
target.resource.attribute.labels["visibility"]is one of:people_with_linkpublic_on_the_web
target.resource.name matches ".*\.dll|.*\.exe|.*\.scr|.*\.jar|.*\.pif|.*\.app|.*\.dmg|.*\.pkg|.*\.elf|.*\.so|.*\.bin|.*\.deb|.*\.rpm|.*\.sh|.*\.hta|.*\.lnk"
Outcome
Outcome variables add context to a detection. When the rule generates an alert, $risk_score is displayed with it.
| Field | Expression |
|---|---|
risk_score | max(35) |
event_count | count_distinct($ws.metadata.id) |
product_event_type | $ws.metadata.product_event_type |
userid | $ws.principal.user.userid |
doc_type | $ws.src.resource.attribute.labels["doc_type"] |
owner | $ws.target.resource.attribute.labels["owner"] |
doc_name | $ws.target.resource.name |