mirror of
https://github.com/splunk/security_content
synced 2026-06-08 17:32:49 +00:00
78 lines
3.2 KiB
YAML
78 lines
3.2 KiB
YAML
name: Services Escalate Exe
|
|
id: c448488c-b7ec-11eb-8253-acde48001122
|
|
version: 1
|
|
date: '2021-05-18'
|
|
author: Michael Haag, Splunk
|
|
type: TTP
|
|
datamodel:
|
|
- Endpoint
|
|
description: The following analytic identifies the use of `svc-exe` with Cobalt Strike.
|
|
The behavior typically follows after an adversary has already gained initial access
|
|
and is escalating privileges. Using `svc-exe`, a randomly named binary will be downloaded
|
|
from the remote Teamserver and placed on disk within `C:\Windows\400619a.exe`. Following,
|
|
the binary will be added to the registry under key `HKLM\System\CurrentControlSet\Services\400619a\`
|
|
with multiple keys and values added to look like a legitimate service. Upon loading,
|
|
`services.exe` will spawn the randomly named binary from `\\127.0.0.1\ADMIN$\400619a.exe`.
|
|
The process lineage is completed with `400619a.exe` spawning rundll32.exe, which
|
|
is the default `spawnto_` value for Cobalt Strike. The `spawnto_` value is arbitrary
|
|
and may be any process on disk (typically system32/syswow64 binary). The `spawnto_`
|
|
process will also contain a network connection. During triage, review parallel procesess
|
|
and identify any additional file modifications.
|
|
search: '| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time)
|
|
as lastTime from datamodel=Endpoint.Processes where Processes.parent_process_name=services.exe
|
|
Processes.process_path=*admin$* by Processes.dest Processes.user Processes.parent_process
|
|
Processes.process_name Processes.process Processes.process_id Processes.parent_process_id
|
|
| `drop_dm_object_name(Processes)` | `security_content_ctime(firstTime)` | `security_content_ctime(lastTime)`
|
|
| `services_escalate_exe_filter`'
|
|
how_to_implement: To successfully implement this search, you will need to ensure that
|
|
DNS data is populating the Network_Resolution data model.
|
|
known_false_positives: False positives should be limited as `services.exe` should
|
|
never spawn a process from `ADMIN$`. Filter as needed.
|
|
references:
|
|
- https://thedfirreport.com/2021/03/29/sodinokibi-aka-revil-ransomware/
|
|
- https://attack.mitre.org/techniques/T1548/
|
|
- https://hstechdocs.helpsystems.com/manuals/cobaltstrike/current/userguide/index.htm#cshid=1085
|
|
tags:
|
|
analytic_story:
|
|
- Cobalt Strike
|
|
confidence: 95
|
|
context:
|
|
- Source:Endpoint
|
|
- Stage:Privilege Escalation
|
|
dataset:
|
|
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1055/cobalt_strike/windows-sysmon.log
|
|
impact: 80
|
|
kill_chain_phases:
|
|
- Exploitation
|
|
message: A service process $parent_process_name$ with process path $process_path$
|
|
in host $dest$
|
|
mitre_attack_id:
|
|
- T1548
|
|
observable:
|
|
- name: Processes.dest
|
|
type: Hostname
|
|
role:
|
|
- Victim
|
|
- name: Processes.user
|
|
type: User
|
|
role:
|
|
- Victim
|
|
product:
|
|
- Splunk Enterprise
|
|
- Splunk Enterprise Security
|
|
- Splunk Cloud
|
|
required_fields:
|
|
- _time
|
|
- Processes.dest
|
|
- Processes.user
|
|
- Processes.parent_process
|
|
- Processes.process_name
|
|
- Processes.process
|
|
- Processes.process_id
|
|
- Processes.parent_process_id
|
|
risk_score: 76
|
|
security_domain: endpoint
|
|
supported_tas:
|
|
- Splunk_TA_microsoft_sysmon
|
|
asset_type: Endpoint
|