name: Excel Spawning PowerShell id: 42d40a22-9be3-11eb-8f08-acde48001122 version: 1 date: '2021-04-12' author: Michael Haag, Splunk type: batch datamodel: - Endpoint description: The following detection identifies Microsoft Excel spawning PowerShell. Typically, this is not common behavior and not default with Excel.exe. Excel.exe will generally be found in the following path `C:\Program Files\Microsoft Office\root\Office16` (version will vary). PowerShell spawning from Excel.exe is common for a spearphishing attachment and is actively used. Albeit, the command executed will most likely be encoded and captured via another detection. During triage, review parallel processes and identify any files that may have been written. search: '| tstats `security_content_summariesonly` count values(Processes.process) min(_time) as firstTime max(_time) as lastTime from datamodel=Endpoint.Processes where Processes.parent_process_name="excel.exe" Processes.process_name IN ("powershell.exe", "pwsh.exe") by Processes.parent_process Processes.process_name Processes.user Processes.dest | `drop_dm_object_name("Processes")` | `security_content_ctime(firstTime)`|`security_content_ctime(lastTime)` | `excel_spawning_powershell_filter`' how_to_implement: To successfully implement this search you need to be ingesting information on process that include the name of the process responsible for the changes from your endpoints into the `Endpoint` datamodel in the `Processes` node. known_false_positives: False positives should be limited, but if any are present, filter as needed. references: - https://redcanary.com/threat-detection-report/techniques/powershell/ - https://attack.mitre.org/techniques/T1566/001/ tags: analytic_story: - Spearphishing Attachments automated_detection_testing: passed dataset: - https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1566.001/macro/windows-sysmon.log kill_chain_phases: - Exploitation mitre_attack_id: - T1003.002 product: - Splunk Enterprise - Splunk Enterprise Security - Splunk Cloud required_fields: - _time - process_name - process_id - parent_process_name - dest - user - parent_process_id security_domain: endpoint