[metadata] creation_date = "2020/11/15" maturity = "production" updated_date = "2022/03/31" [rule] author = ["Elastic"] description = """ Identifies process execution with a single character process name. This is often done by adversaries while staging or executing temporary utilities. """ from = "now-9m" index = ["winlogbeat-*", "logs-endpoint.events.*", "logs-windows.*"] language = "eql" license = "Elastic License v2" name = "Suspicious Execution - Short Program Name" note = """## Config If enabling an EQL rule on a non-elastic-agent index (such as beats) for versions <8.2, events will not define `event.ingested` and default fallback for EQL rules was not added until 8.2, so you will need to add a custom pipeline to populate `event.ingested` to @timestamp for this rule to work. """ risk_score = 47 rule_id = "17c7f6a5-5bc9-4e1f-92bf-13632d24384d" severity = "medium" tags = ["Elastic", "Host", "Windows", "Threat Detection", "Execution"] timestamp_override = "event.ingested" type = "eql" query = ''' process where event.type in ("start", "process_started") and length(process.name) > 0 and length(process.name) == 5 and host.os.name == "Windows" and length(process.pe.original_file_name) > 5 '''