diff --git a/detections/endpoint/excel_spawning_windows_script_host.yml b/detections/endpoint/excel_spawning_windows_script_host.yml new file mode 100644 index 0000000000..7c6f04f3ec --- /dev/null +++ b/detections/endpoint/excel_spawning_windows_script_host.yml @@ -0,0 +1,48 @@ +name: Excel Spawning Windows Script Host +id: 57fe880a-9be3-11eb-9bf3-acde48001122 +version: 1 +date: '2021-04-12' +author: Michael Haag, Splunk +type: batch +datamodel: +- Endpoint +description: The following detection identifies Microsoft Excel spawning Windows Script Host - `cscript.exe` or `wscript.exe`. + 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). `cscript.exe` or `wscript.exe` default location is `c:\windows\system32\` or c:windows\syswow64`. `cscript.exe` or `wscript.exe` spawning from Excel.exe is common for a spearphishing + attachment and is actively used. Albeit, the command-line executed will most likely be + obfuscated and captured via another detection. During triage, review parallel processes + and identify any files that may have been written. Review the reputation of the remote destination and block accordingly. +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 ("cscript.exe", "wscript.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_windows_script_host_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. In some instances, `cscript.exe` is used for legitimate business practices. +references: +- https://app.any.run/tasks/8ecfbc29-03d0-421c-a5bf-3905d29192a2/ +- https://attack.mitre.org/techniques/T1566/001/ +tags: + analytic_story: + - Spearphishing Attachments + dataset: [] + 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 \ No newline at end of file diff --git a/tests/endpoint/excel_spawning_windows_script_host.test.yml b/tests/endpoint/excel_spawning_windows_script_host.test.yml new file mode 100644 index 0000000000..9f3e80bd51 --- /dev/null +++ b/tests/endpoint/excel_spawning_windows_script_host.test.yml @@ -0,0 +1,12 @@ +name: Excel Spawning Windows Script Host Unit Test +tests: +- name: Excel Spawning Windows Script Host + file: endpoint/excel_spawning_windows_script_host.yml + pass_condition: '| stats count | where count > 0' + earliest_time: '-24h' + latest_time: 'now' + attack_data: + - file_name: windows-sysmon.log + data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1566.001/macro/windows-sysmon.log + source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational + sourcetype: xmlwineventlog \ No newline at end of file