Branch was auto-updated.

This commit is contained in:
pyth0n1c
2022-01-13 10:22:30 -08:00
committed by GitHub
82 changed files with 41 additions and 4513 deletions
+40 -17
View File
@@ -40,6 +40,13 @@ def process_deprecated(file,file_path):
file['description'] = DESCRIPTION_ANNOTATION + file['description']
return file
def process_experimental(file,file_path):
DESCRIPTION_ANNOTATION = "WARNING, this is a experimental detection, Splunk Threat Research has not been able to test, simulate, or build datasets for this detection. Use at your own risk. This analytic is NOT supported. If you have any questions feel free to email us at: research@splunk.com. "
if 'experimental' in file_path:
file['experimental'] = True
file['experimental'] = DESCRIPTION_ANNOTATION + file['description']
return file
def load_file(file_path):
with open(file_path, 'r', encoding="utf-8") as stream:
try:
@@ -47,6 +54,7 @@ def load_file(file_path):
# mark any files that have been deprecated
file = process_deprecated(file,file_path)
file = process_experimental(file,file_path)
except yaml.YAMLError as exc:
print(exc)
@@ -105,29 +113,44 @@ def generate_ssa_yaml(detections, TEMPLATE_PATH, OUTPUT_PATH):
yaml.Dumper.ignore_aliases = lambda *args : True
# wiping old detections for SSA
shutil.rmtree(OUTPUT_PATH + '/detections/*', ignore_errors=True)
shutil.rmtree(OUTPUT_PATH + '/srs/', ignore_errors=True)
shutil.rmtree(OUTPUT_PATH + '/complex/', ignore_errors=True)
os.makedirs(OUTPUT_PATH + '/complex/')
os.makedirs(OUTPUT_PATH + '/srs/')
for d in detections:
manifest_file = OUTPUT_PATH + '/detections/ssa___' + d['name'].lower().replace(" ", "_") + '.yml'
# skip deprecated
if ('deprecated' in d and d['deprecated']) or ('experimental' in d and d['experimental']):
continue
else:
# check if the search contains "stats", "first_time_event", or "adaptive_threshold" which would make it a complex pipeline
pattern = re.compile('stats|first_time_event|adaptive_threshold|conditional_anomaly')
# remove unused fields
del d['risk']
del d['deployment']
del d['mappings']
del d['savedsearch_annotations']
if re.findall("stats|first_time_event|adaptive_threshold", d['search']):
# it is a complex pipeline
manifest_file = OUTPUT_PATH + '/complex/ssa___' + d['name'].lower().replace(" ", "_") + '.yml'
else:
# it is a simple pipeline can be placed on SRS (Simple Rule Service)
manifest_file = OUTPUT_PATH + '/srs/ssa___' + d['name'].lower().replace(" ", "_") + '.yml'
# add detection test
test_file = 'ssa___' + d['name'].lower().replace(" ", "_") + '.test.yml'
for file in glob.glob('tests/*/*'):
if test_file == file.split("/")[-1]:
with open(file, 'r') as file:
test_yaml = yaml.safe_load(file)
d['test'] = test_yaml
# remove unused fields
del d['risk']
del d['deployment']
del d['mappings']
del d['savedsearch_annotations']
with open(manifest_file, 'w') as file:
documents = yaml.dump(d, file, sort_keys=True)
# add detection test
test_file = 'ssa___' + d['name'].lower().replace(" ", "_") + '.test.yml'
for file in glob.glob('tests/*/*'):
if test_file == file.split("/")[-1]:
with open(file, 'r') as file:
test_yaml = yaml.safe_load(file)
d['test'] = test_yaml
return OUTPUT_PATH + '/detections/'
with open(manifest_file, 'w') as file:
documents = yaml.dump(d, file, sort_keys=True)
return OUTPUT_PATH
def generate_savedsearches_conf(detections, deployments, TEMPLATE_PATH, OUTPUT_PATH):
'''
@@ -1,126 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2021-11-24'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. The following
analytic identifites the use of Mimikatz modules attempting to perform Pass-the-Ticket,
Golden or Silver Kerberos ticket attacks and Skeleton Key attack. This behavior
is typically performed within interactive Mimikatz memory space, however it may
be identified on the command-line. A Pass-the-Ticket (ptt) attack is performed once
an adversary has established access to a single endpoint and retrieved the kerberos
ticket to now begin moving laterally using this method. Typically, it blends in
with logon activity as the ticket can be copied to another system and passed into
the current session effectively simulating a logon without any communication with
the Domain Controller. A Golden or Silver ticket attack requires some setup by the
adversary, but once performed it will simulate lateral based authentication to additional
endpoints.'
how_to_implement: To successfully implement this search, you need to be ingesting
logs with the process name, parent process, and command-line executions from your
endpoints. If you are using Sysmon, you must have at least version 6.0.4 of the
Sysmon TA.
id: 759a653f-cb92-40f9-94c9-ec4e47b0f709
known_false_positives: None identified as this is strictly identifying known command-line
attributes related to Mimikatz.
name: Applying Stolen Credentials via Mimikatz modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/gentilkiwi/mimikatz
- https://adsecurity.org/?p=1275
- https://adsecurity.org/?p=1515
- https://adsecurity.org/?page_id=1821#KERBEROSPTT
- https://attack.mitre.org/software/S0002/
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1550.002/T1550.002.md#atomic-test-1---mimikatz-pass-the-hash
risk_message: Mimikatz malware is violating authentication processes by injecting
golden or silver Kerberos tickets or passing stolen authentication tokens. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via command
$cmd_line$
search: '| from read_ssa_enriched_events() | eval timestamp=parse_long(ucast(map_get(input_event,
"_time"), "string", null)), cmd_line=ucast(map_get(input_event, "process"), "string",
null), event_id=ucast(map_get(input_event, "event_id"), "string", null) | where
cmd_line != null AND ( match_regex(cmd_line, /(?i)kerberos::ptt/)=true OR match_regex(cmd_line,
/(?i)kerberos::golden/)=true OR match_regex(cmd_line, /(?i)kerberos::silver/)=true
OR match_regex(cmd_line, /(?i)misc::skeleton/)=true ) | eval start_time = timestamp,
end_time = timestamp, entities = mvappend( ucast(map_get(input_event, "dest_user_id"),
"string", null), ucast(map_get(input_event, "dest_device_id"), "string", null)),
body=create_map(["event_id", event_id, "cmd_line", cmd_line]) | into write_ssa_detected_events();'
tags:
analytic_story:
- Credential Dumping
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1555/applying_stolen_credentials/logAllMimikatzModules.log
impact: 90
kill_chain_phases:
- Actions on Objectives
message: Mimikatz malware is violating authentication processes by injecting golden
or silver Kerberos tickets or passing stolen authentication tokens. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via
command $cmd_line$
mitre_attack_id:
- T1055
- T1068
- T1078
- T1098
- T1134
- T1543
- T1547
- T1548
- T1554
- T1556
- T1558
- T1558.002
- T1558.001
- T1003
- T1003.001
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
- cmd_line
risk_score: 90
risk_severity: high
security_domain: endpoint
test:
name: Applying Stolen Credentials via Mimikatz modules - SSA Unit test
tests:
- attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logAllMimikatzModules.log
file_name: logAllMimikatzModules.log
source: WinEventLog:Security
description: Test applying stolen credentials detections
file: endpoint/ssa___applying_stolen_credentials_via_mimikatz_modules.yml
name: Applying Stolen Credentials via Mimikatz modules
pass_condition: '@count_gt(0)'
type: TTP
version: 2
@@ -1,121 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2021-11-24'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. The following
analytic identifies commonly used PowerSploit modules that perform credential access,
spoofing of authentication processes, user impersonation and attempting to manipulate
tokens. Specifically, the following modules `Invoke-CredentialInjection`, `Invoke-TokenManipulation`,
`Invoke-UserImpersonation`, `Get-System`, and `Invoke-RevertToSelf` were identfiied
as modules used to access credentials. PowerSploit is an archived project on GitHub,
but much of its modules and scripts are still utilized today by adversaries. This
behavior is typically performed within interactive PowerShell sessions or injected
into processes, however it may be identified on the command-line.'
how_to_implement: To successfully implement this search, you need to be ingesting
logs with the process name, parent process, and command-line executions from your
endpoints. If you are using Sysmon, you must have at least version 6.0.4 of the
Sysmon TA.
id: 270b482d-2af2-448f-9923-9cf005f61be4
known_false_positives: None identified as this is strictly identifying known command-line
attributes related to PowerSploit.
name: Applying Stolen Credentials via PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
- https://attack.mitre.org/software/S0194/
risk_message: PowerSploit malware is violating authentication by injecting stolen
credentials, manipulating authentication tokens or impersonating system or user
accounts. Operation is performed at the device $dest_device_id$, by the account
$dest_user_id$ via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Invoke-CredentialInjection/)=true OR match_regex(cmd_line, /(?i)Invoke-TokenManipulation/)=true
OR match_regex(cmd_line, /(?i)Invoke-UserImpersonation/)=true OR match_regex(cmd_line,
/(?i)Get-System/)=true OR match_regex(cmd_line, /(?i)Invoke-RevertToSelf/)=true
)
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Credential Dumping
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1555/applying_stolen_credentials/logAllPowerSploitModulesWithOldNames.log
impact: 90
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is violating authentication by injecting stolen credentials,
manipulating authentication tokens or impersonating system or user accounts. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via
command $cmd_line$
mitre_attack_id:
- T1055
- T1068
- T1078
- T1098
- T1134
- T1543
- T1547
- T1548
- T1554
- T1555
- T1558
- T1059.001
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
- cmd_line
risk_score: 90
risk_severity: high
security_domain: endpoint
test:
name: Applying Stolen Credentials via PowerSploit modules - SSA Unit test
tests:
- attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1555/applying_stolen_credentials/logAllPowerSploitModulesWithOldNames.log
file_name: logAllPowerSploitModulesWithOldNames.log
source: WinEventLog:Security
description: Test applying stolen credentials detections
file: endpoint/ssa___applying_stolen_credentials_via_powersploit_modules.yml
name: Applying Stolen Credentials via PowerSploit
pass_condition: '@count_gt(0)'
type: TTP
version: 2
@@ -1,93 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2021-11-24'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. The following
analytic identifies the use of a DSInternals module, `Test-PasswordQuality`, that
verifies password strength. Adversaries have utilized this module to determine password
complexity or to identify accounts with weak passwords.'
how_to_implement: To successfully implement this search, you need to be ingesting
logs with the process name, parent process, and command-line executions from your
endpoints. If you are using Sysmon, you must have at least version 6.0.4 of the
Sysmon TA.
id: 5526d3a4-2497-4e8d-9d3c-7a34c9aace2f
known_false_positives: None identified as this is strictly identifying known command-line
attributes related to DSInternals.
name: Assessment of Credential Strength via DSInternals modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/MichaelGrafnetter/DSInternals
- https://attack.mitre.org/techniques/T1059/001/
risk_message: DSInternals tool kit is assessing password strength at the device $dest_device_id$.
Account attempting this operation is $dest_user_id$ via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Test-PasswordQuality/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Credential Dumping
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 85
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
- Stage:Credential Access
impact: 30
kill_chain_phases:
- Actions on Objectives
message: DSInternals tool kit is assessing password strength at the device $dest_device_id$.
Account attempting this operation is $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1078
- T1098
- T1087
- T1201
- T1552
- T1555
- T1059.001
- T1059
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
- cmd_line
risk_score: 25
risk_severity: medium
security_domain: endpoint
type: TTP
version: 2
@@ -1,100 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2021-11-29'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. The following
analytic identifies the use of CacheDump with the `-s` parameter to dump cached
credentials on the associated endpoint. Adversaries use Cachedump as it is a publicly-available
tool that extracts cached password hashes from a system''s registry.'
how_to_implement: To successfully implement this search, you need to be ingesting
logs with the process name, parent process, and command-line executions from your
endpoints. If you are using Sysmon, you must have at least version 6.0.4 of the
Sysmon TA.
id: 312582f2-5e91-42c1-a275-cd67f31373c8
known_false_positives: False positives will be limited as this analytic targets specific
credential dumping process names. Filter as needed.
name: Credential Extraction indicative of FGDump and CacheDump with s option
product:
- Splunk Behavioral Analytics
references:
- https://attack.mitre.org/software/S0119/
- https://en.kali.tools/all/?tool=182
- http://foofus.net/goons/fizzgig/fgdump/
- https://attack.mitre.org/software/S0120/
risk_message: Malicious actor is accessing stored credentials via FGDump or CacheDump
tools. Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via process $process_name$.
search: ' | from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), process_name=ucast(map_get(input_event,
"process_name"), "string", null), process_path=ucast(map_get(input_event, "process_path"),
"string", null), parent_process_name=ucast(map_get(input_event, "parent_process_name"),
"string", null), event_id=ucast(map_get(input_event, "event_id"), "string", null)
| where cmd_line != null AND process_name != null AND parent_process_name != null
AND match_regex(parent_process_name, /(?i)System32\\services.exe/)=true AND match_regex(process_name,
/(?i)cachedump\d{0,2}.exe/)=true AND match_regex(process_path, /(?i)\\Temp/)=true
AND match_regex(cmd_line, /(?i)\-s/)=true
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line, "process_name",
process_name, "parent_process_name", parent_process_name]) | into write_ssa_detected_events();'
tags:
analytic_story:
- Unusual Processes
- Credential Dumping
asset_type: Windows
cis20:
- CIS 16
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logFgdump.log
impact: 70
kill_chain_phases:
- Actions on Objectives
message: Malicious actor is accessing stored credentials via FGDump or CacheDump
tools. Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via process $process_name$.
mitre_attack_id:
- T1003
- T1003.002
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: process_name
role:
- Child Process
type: Process
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- process_name
- parent_process_name
- _time
- process_path
- dest_user_id
- process
- cmd_line
risk_score: 70
risk_severity: low
security_domain: endpoint
type: TTP
version: 2
@@ -1,93 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2021-11-29'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. The following
analytic identifies the use of CacheDump with the `-v` parameter to dump cached
credentials on the associated endpoint. Adversaries use Cachedump as it is a publicly-available
tool that extracts cached password hashes from a system''s registry.'
how_to_implement: To successfully implement this search, you need to be ingesting
logs with the process name, parent process, and command-line executions from your
endpoints. If you are using Sysmon, you must have at least version 6.0.4 of the
Sysmon TA.
id: 3c40b0ef-a03f-460a-9484-e4b9117cbb38
known_false_positives: False positives will be limited as this analytic targets specific
credential dumping process names. Filter as needed.
name: Credential Extraction indicative of FGDump and CacheDump with v option
product:
- Splunk Behavioral Analytics
references: []
risk_message: Malicious actor is accessing stored credentials via FGDump or CacheDump
tools. Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via process $process_name$
search: ' | from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), process_name=ucast(map_get(input_event,
"process_name"), "string", null), process_path=ucast(map_get(input_event, "process_path"),
"string", null), event_id=ucast(map_get(input_event, "event_id"), "string", null)
| where cmd_line != null AND process_name != null AND process_path != null AND match_regex(process_name,
/(?i)cachedump\d{0,2}.exe/)=true AND match_regex(process_path, /(?i)\\Temp/)=true
AND match_regex(cmd_line, /(?i)\-v/)=true
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line, "process_name",
process_name]) | into write_ssa_detected_events();'
tags:
analytic_story:
- Unusual Processes
- Credential Dumping
asset_type: Windows
cis20:
- CIS 16
confidence: 90
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logFgdump.log
impact: 70
kill_chain_phases:
- Actions on Objectives
message: Malicious actor is accessing stored credentials via FGDump or CacheDump
tools. Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via process $process_name$
mitre_attack_id:
- T1003
- T1003.002
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: process_name
role:
- Child Process
type: Process
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- process_name
- _time
- process_path
- dest_user_id
- process
- cmd_line
risk_score: 63
risk_severity: low
security_domain: endpoint
type: TTP
version: 2
@@ -1,85 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-10-18'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. Credential
extraction is often an illegal recovery of credential material from secured authentication
resources and repositories. This process may also involve decryption or other transformations
of the stored credential material. LaZagne is a tool that extracts various kinds
of credentials from a local computer, including account passwords, domain passwords,
browser passwords, etc.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 341975fa-4ad0-4f01-9acc-df4f69742db7
known_false_positives: None identified.
name: Credential Extraction indicative of Lazagne command line options
product:
- Splunk Behavioral Analytics
references: []
risk_message: Lazagne malware is extracting/decoding encoded credentials. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via command
$cmd_line$
search: ' | from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND match_regex(cmd_line,
/(?i)all\s+\-oA\s+\-output/)=true
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Credential Dumping
asset_type: Windows
cis20:
- CIS 16
confidence: 90
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logLazagneCredDump.log
impact: 70
kill_chain_phases:
- Actions on Objectives
message: Lazagne malware is extracting/decoding encoded credentials. Operation is
performed at the device $dest_device_id$, by the account $dest_user_id$ via command
$cmd_line$
mitre_attack_id:
- T1003
- T1555
nist:
- PR.IP
- PR.AC
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 63
risk_severity: low
security_domain: endpoint
type: TTP
version: 1
@@ -1,104 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2021-11-29'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. The following
analytic identifies modules within DSInternals that are used for extracting credentials
from Active Directory. Modules include `ConvertFrom-ADManagedPasswordBlob`, `ConvertFrom-GPPrefPassword`,
`ConvertFrom-UnicodePasswor`, `ConvertTo-GPPrefPassword`,`ConvertTo-KerberosKey`,
`ConvertTo-LMHash`, `ConvertTo-NTHash` `ConvertTo-OrgIdHash` or `ConvertTo-UnicodePassword`.
Adversaries may use these modules for decrypting or transforming the stored credentials.'
how_to_implement: To successfully implement this search, you need to be ingesting
logs with the process name, parent process, and command-line executions from your
endpoints. If you are using Sysmon, you must have at least version 6.0.4 of the
Sysmon TA.
id: 73e23834-c7ad-4860-bfd0-7d8ffe6527c2
known_false_positives: None identified as this is strictly identifying known command-line
attributes related to DSInternals.
name: Credential Extraction indicative of use of DSInternals credential conversion
modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/MichaelGrafnetter/DSInternals
- https://attack.mitre.org/techniques/T1059/001/
risk_message: DSInternals tool kit is converting stolen credential material to a form
applicable to authentications. Operation is performed on the device $dest_device_id$,
by the account $dest_user_id$ via process $process_name$.
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
process_name=ucast(map_get(input_event, "process_name"), "string", null), process_path=ucast(map_get(input_event,
"process_path"), "string", null), cmd_line=ucast(map_get(input_event, "process"),
"string", null), parent_process_name=ucast(map_get(input_event, "parent_process_name"),
"string", null), event_id=ucast(map_get(input_event, "event_id"), "string", null)
| where cmd_line != null AND ( match_regex(cmd_line, /(?i)ConvertFrom-ADManagedPasswordBlob/)=true
OR match_regex(cmd_line, /(?i)ConvertFrom-GPPrefPassword/)=true OR match_regex(cmd_line,
/(?i)ConvertFrom-UnicodePassword/)=true OR match_regex(cmd_line, /(?i)ConvertTo-GPPrefPassword/)=true
OR match_regex(cmd_line, /(?i)ConvertTo-KerberosKey/)=true OR match_regex(cmd_line,
/(?i)ConvertTo-LMHash/)=true OR match_regex(cmd_line, /(?i)ConvertTo-NTHash/)=true
OR match_regex(cmd_line, /(?i)ConvertTo-OrgIdHash/)=true OR match_regex(cmd_line,
/(?i)ConvertTo-UnicodePassword/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line, "process_name",
process_name]) | into write_ssa_detected_events();'
tags:
analytic_story:
- Credential Dumping
- Malicious PowerShell
asset_type: Windows
cis20:
- CIS 16
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logAllDSInternalsModules.log
impact: 70
kill_chain_phases:
- Actions on Objectives
message: DSInternals tool kit is converting stolen credential material to a form
applicable to authentications. Operation is performed on the device $dest_device_id$,
by the account $dest_user_id$ via process $process_name$.
mitre_attack_id:
- T1003
- T1003.002
- T1059.001
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: process_name
role:
- Child Process
type: process
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- process_name
- parent_process_name
- _time
- process_path
- dest_user_id
- cmd_line
risk_score: 70
risk_severity: low
security_domain: endpoint
type: TTP
version: 2
@@ -1,106 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2021-11-29'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. The following
analytic identifies modules of DSInternals being used on the associated endpoint.
Adversaries may use these modules for manipulating data related to Active Directory
and credentials.'
how_to_implement: To successfully implement this search, you need to be ingesting
logs with the process name, parent process, and command-line executions from your
endpoints. If you are using Sysmon, you must have at least version 6.0.4 of the
Sysmon TA.
id: 5d2172f0-8a7d-4ecd-aad9-2dcc95699e0d
known_false_positives: None identified as this is strictly identifying known command-line
attributes related to DSInternals.
name: Credential Extraction indicative of use of DSInternals modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/MichaelGrafnetter/DSInternals
- https://attack.mitre.org/techniques/T1059/001/
risk_message: DSInternals tool kit is accessing sensitive credential material such
as KDS root key, or accessing sensitive authentication infrastructure such as LsaPolicyInformation.
Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via process $process_name$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
process_name=ucast(map_get(input_event, "process_name"), "string", null), process_path=ucast(map_get(input_event,
"process_path"), "string", null), cmd_line=ucast(map_get(input_event, "process"),
"string", null), parent_process_name=ucast(map_get(input_event, "parent_process_name"),
"string", null), event_id=ucast(map_get(input_event, "event_id"), "string", null)
| where cmd_line != null AND ( match_regex(cmd_line, /(?i)Get-ADDBBackupKey/)=true
OR match_regex(cmd_line, /(?i)Get-ADDBDomainController/)=true OR match_regex(cmd_line,
/(?i)Get-ADDBKdsRootKey/)=true OR match_regex(cmd_line, /(?i)Get-ADDBSchemaAttribute/)=true
OR match_regex(cmd_line, /(?i)Get-ADKeyCredential/)=true OR match_regex(cmd_line,
/(?i)Get-ADReplAccount/)=true OR match_regex(cmd_line, /(?i)Get-ADReplBackupKey/)=true
OR match_regex(cmd_line, /(?i)Get-ADSIAccount/)=true OR match_regex(cmd_line, /(?i)Get-AzureADUserEx/)=true
OR match_regex(cmd_line, /(?i)Get-BootKey/)=true OR match_regex(cmd_line, /(?i)Get-LsaBackupKey/)=true
OR match_regex(cmd_line, /(?i)Get-LsaPolicyInformation/)=true OR match_regex(cmd_line,
/(?i)Get-SamPasswordPolicy/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line, "process_name",
process_name]) | into write_ssa_detected_events();'
tags:
analytic_story:
- Credential Dumping
- Malicious PowerShell
asset_type: Windows
cis20:
- CIS 16
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logAllDSInternalsModules.log
impact: 70
kill_chain_phases:
- Actions on Objectives
message: DSInternals tool kit is accessing sensitive credential material such as
KDS root key, or accessing sensitive authentication infrastructure such as LsaPolicyInformation.
Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via process $process_name$
mitre_attack_id:
- T1003
- T1003.002
- T1059.001
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: process_name
role:
- Child Process
type: Process
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- process_name
- parent_process_name
- _time
- process_path
- dest_user_id
- process
- cmd_line
risk_score: 70
risk_severity: low
security_domain: endpoint
type: TTP
version: 2
@@ -1,90 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-10-21'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. Credential
extraction is often an illegal recovery of credential material from secured authentication
resources and repositories. This process may also involve decryption or other transformations
of the stored credential material. Mimikatz is a collection of tools and modules
commonly employed in Windows exploits.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 966b635f-98e8-4aa4-9b49-47ed2cedcc85
known_false_positives: None identified.
name: Credential Extraction indicative of use of Mimikatz modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/gentilkiwi/mimikatz
risk_message: Mimikatz malware is extracting/decoding encoded credentials from stores
such as SAM or LSA dumps. Operation is performed at the device $dest_device_id$,
by the account $dest_user_id$ via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)CRYPTO::Certificates/)=true OR match_regex(cmd_line, /(?i)CRYPTO::keys/)=true
OR match_regex(cmd_line, /(?i)kerberos::list/)=true OR match_regex(cmd_line, /(?i)kerberos::tgt/)=true
OR match_regex(cmd_line, /(?i)lsadump::sam/)=true OR match_regex(cmd_line, /(?i)lsadump::secrets/)=true
OR match_regex(cmd_line, /(?i)lsadump::cache/)=true OR match_regex(cmd_line, /(?i)lsadump::lsa/)=true
OR match_regex(cmd_line, /(?i)lsadump::trust/)=true OR match_regex(cmd_line, /(?i)lsadump::backupkeys/)=true
)
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Credential Dumping
- Unusual Processes
asset_type: Windows
cis20:
- CIS 16
confidence: 95
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logAllMimikatzModules.log
impact: 70
kill_chain_phases:
- Actions on Objectives
message: Mimikatz malware is extracting/decoding encoded credentials from stores
such as SAM or LSA dumps. Operation is performed at the device $dest_device_id$,
by the account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1003
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 66
risk_severity: low
security_domain: endpoint
type: TTP
version: 1
@@ -1,91 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-10-21'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. Credential
extraction is often an illegal recovery of credential material from secured authentication
resources and repositories. This process may also involve decryption or other transformations
of the stored credential material. PowerSploit is a collection of Microsoft PowerShell
modules commonly employed in exploits.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 5f1186a4-e681-446e-851c-dc9574ad28eb
known_false_positives: None identified.
name: Credential Extraction indicative of use of PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is extracting encoded credentials or spoofing automated
logings. Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Get-ApplicationHost/)=true OR match_regex(cmd_line, /(?i)Get-CachedGPPPassword/)=true
OR match_regex(cmd_line, /(?i)Get-GPPAutologon/)=true OR match_regex(cmd_line, /(?i)Get-GPPPassword/)=true
OR match_regex(cmd_line, /(?i)Get-RegistryAutoLogon/)=true OR match_regex(cmd_line,
/(?i)Get-SiteListPassword/)=true OR match_regex(cmd_line, /(?i)Get-SPNTicket/)=true
OR match_regex(cmd_line, /(?i)Request-SPNTicket/)=true OR match_regex(cmd_line,
/(?i)Get-VaultCredential/)=true OR match_regex(cmd_line, /(?i)Invoke-Kerberoast/)=true
)
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Credential Dumping
- Malicious PowerShell
asset_type: Windows
cis20:
- CIS 16
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logAllPowerSploitModulesWithOldNames.log
impact: 70
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is extracting encoded credentials or spoofing automated
logings. Operation is performed at the device $dest_device_id$, by the account
$dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1003
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 70
risk_severity: low
security_domain: endpoint
type: TTP
version: 1
@@ -1,95 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-10-18'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. Credential
extraction is often an illegal recovery of credential material from secured authentication
resources and repositories. This process may also involve decryption or other transformations
of the stored credential material. Native Microsoft debuggers, such as kd, ntkd,
livekd and windbg, can be leveraged to read credential material directly from memory
and process dumps.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: c20bb8ec-e1b0-4640-b0ef-3a4c54f8c112
known_false_positives: Although unlikely, using debuggers this way may be indicative
of developers analyzing crash dumps of their code. Note, even for developers this
is an unusual way of working on code - debuggers are mostly used to step through
code, not analyze its crash dumps.
name: Credential Extraction native Microsoft debuggers peek into the kernel
product:
- Splunk Behavioral Analytics
references:
- https://medium.com/@clermont1050/covid-19-cyber-infection-c615ead7c29
risk_message: Malicious actor is extracting/decoding encoded credentials via Microsoft's
native debugging tools. Operation is performed at the device $dest_device_id$, by
the account $dest_user_id$ via command $cmd_line$
search: ' | from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), process_name=ucast(map_get(input_event,
"process_name"), "string", null), parent_process_name=ucast(map_get(input_event,
"parent_process_name"), "string", null), event_id=ucast(map_get(input_event, "event_id"),
"string", null) | where cmd_line != null AND parent_process_name != null AND process_name
!= null AND ( match_regex(parent_process_name, /(?i)ntkd\.exe/)=true OR match_regex(parent_process_name,
/(?i)livekd\.exe/)=true ) AND match_regex(process_name, /(?i)conhost\.exe/)=true
AND match_regex(cmd_line, /(?i)0xffffffff/)=true AND match_regex(cmd_line, /(?i)\-ForceV1/)=true
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line, "process_name",
process_name, "parent_process_name", parent_process_name]) | into write_ssa_detected_events();'
tags:
analytic_story:
- Credential Dumping
- Unusual Processes
asset_type: Windows
cis20:
- CIS 16
confidence: 90
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logLiveKDFullKernelDump.log
impact: 70
kill_chain_phases:
- Actions on Objectives
message: Malicious actor is extracting/decoding encoded credentials via Microsoft's
native debugging tools. Operation is performed at the device $dest_device_id$,
by the account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1003
nist:
- PR.IP
- PR.AC
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- process_name
- parent_process_name
- _time
- dest_device_id
- dest_user_id
- process
risk_score: 63
risk_severity: low
security_domain: endpoint
type: TTP
version: 1
@@ -1,91 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-10-18'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. Credential
extraction is often an illegal recovery of credential material from secured authentication
resources and repositories. This process may also involve decryption or other transformations
of the stored credential material. Native Microsoft debuggers, such as kd, ntkd,
livekd and windbg, can be leveraged to read credential material directly from memory
and process dumps.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: adc51a77-90c9-4358-b43c-f10dd1a27d05
known_false_positives: Although unlikely, using debuggers this way may be indicative
of developers analyzing crash dumps of their code. Note, even for developers this
is an unusual way of working on code - debuggers are mostly used to step through
code, not analyze its crash dumps.
name: Credential Extraction native Microsoft debuggers via z command line option
product:
- Splunk Behavioral Analytics
references: []
risk_message: Malicious actor is extracting/decoding encoded credentials via Microsoft's
native debugging tools. Operation is performed at the device $dest_device_id$, by
the account $dest_user_id$ via command $cmd_line$
search: ' | from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), process_name=ucast(map_get(input_event,
"process_name"), "string", null), event_id=ucast(map_get(input_event, "event_id"),
"string", null) | where cmd_line != null AND process_name != null AND ( match_regex(process_name,
/^(?i)ntkd\.exe/)=true OR match_regex(process_name, /^(?i)kd\.exe/)=true ) AND match_regex(cmd_line,
/(?i)\-z\s+/)=true
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line, "process_name",
process_name]) | into write_ssa_detected_events();'
tags:
analytic_story:
- Credential Dumping
- Unusual Processes
asset_type: Windows
cis20:
- CIS 16
confidence: 90
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logLiveKDFullKernelDump.log
impact: 70
kill_chain_phases:
- Actions on Objectives
message: Malicious actor is extracting/decoding encoded credentials via Microsoft's
native debugging tools. Operation is performed at the device $dest_device_id$,
by the account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1003
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- process_name
- _time
- dest_device_id
- dest_user_id
- process
risk_score: 63
risk_severity: low
security_domain: endpoint
type: TTP
version: 1
@@ -1,86 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-10-18'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. Credential
extraction is often an illegal recovery of credential material from secured authentication
resources and repositories. This process may also involve decryption or other transformations
of the stored credential material. PowerSploit and DSInternals are common exploit
APIs offering PowerShell modules for various exploits of Windows and Active Directory
environments.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: e4f126b5-e6bc-4a5c-b1a8-d07bc6c4a49f
known_false_positives: None identified.
name: Credential Extraction via Get-ADDBAccount module present in PowerSploit and
DSInternals
product:
- Splunk Behavioral Analytics
references: []
risk_message: PowerSploit malware is accessing stored credentials via Get-ADDBAccount
module. Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via command $cmd_line$
search: ' | from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND match_regex(cmd_line,
/(?i)Get-ADDBAccount/)=true AND match_regex(cmd_line, /(?i)\-dbpath[\s;:\.\|]+/)=true
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Credential Dumping
- Malicious PowerShell
asset_type: Windows
cis20:
- CIS 16
confidence: 90
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logPowerShellModule.log
impact: 70
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is accessing stored credentials via Get-ADDBAccount
module. Operation is performed at the device $dest_device_id$, by the account
$dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1003
nist:
- PR.IP
- PR.AC
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 63
risk_severity: low
security_domain: endpoint
type: TTP
version: 1
-94
View File
@@ -1,94 +0,0 @@
author: Xiao Lin, Splunk
datamodel:
- Certificates
date: '2020-10-21'
description: This search detects a potential kerberoasting attack via service principal
name requests
how_to_implement: The test data is converted from Windows Security Event logs generated
from Attach Range simulation and used in SPL search and extended to SPL2
id: dabdd6d7-3e10-42be-8711-4e124f7a3850
known_false_positives: Older systems that support kerberos RC4 by default NetApp may
generate false positives
name: Detect Kerberoasting
product:
- Splunk Behavioral Analytics
references:
- Initial ESCU implementation by Jose Hernandez and Patrick Bareiss
risk_message: Kerberoasting malware is potentially applying stolen credentials. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via command
$cmd_line$
search: ' | from read_ssa_enriched_events() | eval _time=map_get(input_event, "_time"),
EventCode=map_get(input_event, "event_code"), TicketOptions=map_get(input_event,
"ticket_options"), TicketEncryptionType=map_get(input_event, "ticket_encryption_type"),
ServiceName=map_get(input_event, "service_name"), ServiceID=map_get(input_event,
"service_id"), dest_user_id=ucast(map_get(input_event, "dest_user_id"), "string",
null), dest_device_id=ucast(map_get(input_event, "dest_device_id"), "string", null),
event_id=ucast(map_get(input_event, "event_id"), "string", null) | where EventCode="4769"
AND TicketOptions="0x40810000" AND TicketEncryptionType="0x17" | first_time_event
input_columns=["EventCode","TicketOptions","TicketEncryptionType","ServiceName","ServiceID"]
| where first_time_EventCode_TicketOptions_TicketEncryptionType_ServiceName_ServiceID
| eval start_time=_time, end_time=_time | eval body=create_map(["event_id", event_id,
"EventCode", EventCode, "ServiceName", ServiceName, "TicketOptions", TicketOptions,
"TicketEncryptionType", TicketEncryptionType]), entities = mvappend(ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)) | select start_time, end_time, entities, body | into write_ssa_detected_events();'
tags:
analytic_story:
- Credential Dumping
cis20:
- CIS 8
- CIS 16
confidence: 20
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
impact: 70
kill_chain_phases:
- Actions on Objectives
message: Kerberoasting malware is potentially applying stolen credentials. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via
command $cmd_line$
mitre_attack_id:
- T1558.003
- T1558
nist:
- DE.CM
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- service_name
- _time
- event_code
- ticket_encryption_type
- service_id
- ticket_options
risk_score: 14
risk_severity: medium
security_domain: endpoint
test:
name: Detect Kerberoasting - SSA Unit test
tests:
- attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1558.003/atomic_red_team/windows-security.log
file_name: windows-security.log
source: WinEventLog:Security
description: Test detection of kerberoasting
file: endpoint/ssa___detect_kerberoasting.yml
name: Detect kerberoasting
pass_condition: '@count_eq(0)'
type: TTP
version: 2
-92
View File
@@ -1,92 +0,0 @@
author: Xiao Lin, Splunk
datamodel:
- Authentication
date: '2020-10-21'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This search
looks for specific authentication events from the Windows Security Event logs to
detect potential attempts using Pass-the-Hash technique.'
how_to_implement: The test data is converted from Windows Security Event logs generated
from Attach Range simulation and used in SPL search and extended to SPL2
id: 7cd8b9fa-6b0c-424f-92a6-9c5287a72f5f
known_false_positives: Legitimate logon activity by authorized NTLM systems may be
detected by this search. Please investigate as appropriate.
name: Detect Pass the Hash
product:
- Splunk Behavioral Analytics
references:
- Initial ESCU implementation by Bhavin Patel and Patrick Bareiss
risk_message: Potential use of the pass the hash/token attacks that spoof authentication.
Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via command $cmd_line$
search: ' | from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null))
| eval signature_id=map_get(input_event, "signature_id"), authentication_type=map_get(input_event,
"authentication_type"), authentication_method=map_get(input_event, "authentication_method"),
origin_device_domain=map_get(input_event, "origin_device_domain"), dest_user_id=ucast(map_get(input_event,
"dest_user_id"), "string", null), dest_device_id=ucast(map_get(input_event, "dest_device_id"),
"string", null), event_id=ucast(map_get(input_event, "event_id"), "string", null)
| where (authentication_type="3" AND authentication_method="NtLmSsp") OR (authentication_type="9"
AND authentication_method="seclogo")
| eval start_time=timestamp, end_time=timestamp, entities=mvappend(dest_device_id,
dest_user_id), body=create_map(["event_id", event_id, "authentication_type", authentication_type,
"authentication_method", authentication_method]) | into write_ssa_detected_events();'
tags:
analytic_story:
- Lateral Movement
cis20:
- CIS 3
- CIS 5
- CIS 16
confidence: 20
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
impact: 80
kill_chain_phases:
- Actions on Objectives
message: Potential use of the pass the hash/token attacks that spoof authentication.
Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via command $cmd_line$
mitre_attack_id:
- T1550
- T1550.002
nist:
- PR.PT
- PR.AT
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- signature_id
- authentication_type
- _time
- authentication_method
- origin_device_domain
- dest_user_id
- dest_device_id
risk_score: 16
risk_severity: medium
security_domain: endpoint
type: TTP
version: 1
@@ -1,89 +0,0 @@
author: Ignacio Bermudez Corrales, Splunk
datamodel:
- Endpoint_Processes
date: '2021-11-30'
description: This search looks for command-line arguments that use a `/c` parameter
to execute a command that has not previously been seen. This is an implementation
on SPL2 of the rule `First time seen command line argument` by @bpatel. 'The following
analytic identifies first time seen command-line arguments on a single endpoint.
The analytic looks for arguments instantiated by `cmd.exe /c` and the associated
command-line. Adversaries automate or spawn multiple processes using this method,
this analytic may assist with identifying the first time it's been found on this
endpoint.'
how_to_implement: To successfully implement this search, you need to be ingesting
logs with the process name, parent process, and command-line executions from your
endpoints. If you are using Sysmon, you must have at least version 6.0.4 of the
Sysmon TA.
id: fc0edc95-ff2b-48b0-9f6f-63da3789fd23
known_false_positives: Legitimate programs use command-line arguments to execute.
Verify the command-line arguments to check what command/program is being executed.
Filtering will be needed.
name: First time seen command line argument
product:
- Splunk Behavioral Analytics
references: []
risk_message: A process $process_name$ ha been identified in the environment with
a command-line $cmd_line$ not previously seen before on host $dest_device_id$
search: '| from read_ssa_enriched_events() | eval timestamp=parse_long(ucast(map_get(input_event,
"_time"), "string", null)) | eval dest_user_id=ucast(map_get(input_event, "dest_user_id"),
"string", null), dest_device_id=ucast(map_get(input_event, "dest_device_id"), "string",
null), process_name=ucast(map_get(input_event, "process_name"), "string", null),
cmd_line=ucast(map_get(input_event, "process"), "string", null), cmd_line_norm=lower(cmd_line),
cmd_line_norm=replace(cmd_line_norm, /[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}/,
"GUID"), cmd_line_norm=replace(cmd_line_norm, /(?<=\s)+\\[^:]*(?=\\.*\.\w{3}(\s|$)+)/,
"\\PATH"), /* replaces " \\Something\\Something\\command.ext" => "PATH\\command.ext"
*/ cmd_line_norm=replace(cmd_line_norm, /\w:\\[^:]*(?=\\.*\.\w{3}(\s|$)+)/, "\\PATH"),
/* replaces "C:\\Something\\Something\\command.ext" => "PATH\\command.ext" */ cmd_line_norm=replace(cmd_line_norm,
/\d+/, "N"), event_id=ucast(map_get(input_event, "event_id"), "string", null) |
where process_name="cmd.exe" AND match_regex(ucast(cmd_line, "string", ""), /.*
\/[cC] .*/)=true | select process_name, cmd_line, cmd_line_norm, timestamp, dest_device_id,
dest_user_id | first_time_event input_columns=["cmd_line_norm"] | where first_time_cmd_line_norm
| eval start_time = timestamp, end_time = timestamp, entities = mvappend(dest_device_id,
dest_user_id), body=create_map(["event_id", event_id, "cmd_line", cmd_line, "process_name",
process_name]) | into write_ssa_detected_events();'
tags:
analytic_story:
- Unusual Processes
cis20:
- CIS 3
- CIS 8
confidence: 60
context:
- source:endpoint
- stage: Defense Evasion
impact: 50
kill_chain_phases:
- Command and Control
- Actions on Objectives
message: A process $process_name$ ha been identified in the environment with a command-line
$cmd_line$ not previously seen before on host $dest_device_id$
mitre_attack_id:
- T1059
- T1202
nist:
- PR.PT
- DE.CM
- PR.IP
observable:
- name: dest_device_id
role:
- Victim
type: Hostname
- name: dest_user_id
role:
- Victim
type: user
product:
- Splunk Behavioral Analytics
required_fields:
- process_name
- _time
- dest_device_id
- dest_user_id
- process
- cmd_line
risk_score: 30
risk_severity: medium
security_domain: endpoint
type: Anomaly
version: 4
@@ -1,92 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-09'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies access to PowerSploit modules that enable illegaly access user content,
such as key logging, audio recording, screenshots, tapping into http and RDP sessions,
etc.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 01fc7d91-eb0c-478e-8633-e4fa4904463a
known_false_positives: None identified.
name: Illegal Access To User Content via PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is tapping into user content - microphone, camera,
ongoing HTTP or RDP session. Operation is performed at the device $dest_device_id$,
by the account $dest_user_id$ via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Get-HttpStatus/)=true OR match_regex(cmd_line, /(?i)Get-Keystrokes/)=true OR
match_regex(cmd_line, /(?i)Get-MicrophoneAudio/)=true OR match_regex(cmd_line, /(?i)Get-NetRDPSession/)=true
OR match_regex(cmd_line, /(?i)Get-TimedScreenshot/)=true OR match_regex(cmd_line,
/(?i)Get-WebConfig/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Malicious PowerShell
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Exfiltration
- Stage:Command And Control
- Consequence:Loss Of Control
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1021/illegal_access_to_content/logAllPowerSploitModulesWithOldNames.log
impact: 85
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is tapping into user content - microphone, camera,
ongoing HTTP or RDP session. Operation is performed at the device $dest_device_id$,
by the account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1021
- T1113
- T1123
- T1563
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 85
risk_severity: high
security_domain: endpoint
type: TTP
version: 1
@@ -1,93 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-09'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies access to PowerSploit modules that create accounts illegaly.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 20fba62a-fa5b-46cc-b39f-473fa248fee2
known_false_positives: None identified.
name: Illegal Account Creation via PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is creating illegal domain accounts. Operation is
performed at the device $dest_device_id$, by the account $dest_user_id$ via command
$cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)New-DomainUser/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Persistence Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Persistence
- Consequence:Loss Of Control
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1585/illegal_account_creation/logAllPowerSploitModulesWithOldNames.log
impact: 80
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is creating illegal domain accounts. Operation is performed
at the device $dest_device_id$, by the account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1585
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 80
risk_severity: high
security_domain: endpoint
test:
name: Illegal Account Creation via PowerSploit modules - SSA Unit test
tests:
- attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1021/illegal_access_to_content/logAllPowerSploitModulesWithOldNames.log
file_name: logAllPowerSploitModulesWithOldNames.log
source: WinEventLog:Security
description: Test illegal account creation detections
file: endpoint/ssa___illegal_account_creation_via_powersploit_modules.yml
name: Illegal Account Creation via PowerSploit modules
pass_condition: '@count_gt(0)'
type: TTP
version: 1
@@ -1,83 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-09'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies access to PowerSploit modules that delete event logs.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 4ddb3b0d-f95f-4ae2-b4e8-663296453a7b
known_false_positives: None identified.
name: Illegal Deletion of Logs via Mimikatz modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/gentilkiwi/mimikatz
risk_message: Mimikatz malware is deleting event logs to cover tracks of malicious
activity. Operation is performed at the device $dest_device_id$, by the account
$dest_user_id$ via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)event::drop/)=true OR match_regex(cmd_line, /(?i)event::clear/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Log Manipulation
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Command And Control
- Consequence:Loss Of Control
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1070/illegal_log_deletion/logAllMimikatzModules.log
impact: 50
kill_chain_phases:
- Actions on Objectives
message: Mimikatz malware is deleting event logs to cover tracks of malicious activity.
Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via command $cmd_line$
mitre_attack_id:
- T1070
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 50
risk_severity: medium
security_domain: endpoint
type: TTP
version: 1
@@ -1,85 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-09'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies use of DSInternals modules that enable or disable accounts illegaly.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 3e0f9962-9989-445f-878c-939443326b63
known_false_positives: None identified.
name: Illegal Enabling or Disabling of Accounts via DSInternals modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/MichaelGrafnetter/DSInternals
risk_message: DSInternals malware is illegally enabling or disabling accounts. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via command
$cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Disable-ADDBAccount/)=true OR match_regex(cmd_line, /(?i)Enable-ADDBAccount/)=true
)
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Persistence Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Command And Control
- Consequence:Loss Of Control
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1098/account_manipulation/logAllDSInternalsModules.log
impact: 80
kill_chain_phases:
- Actions on Objectives
message: DSInternals malware is illegally enabling or disabling accounts. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via
command $cmd_line$
mitre_attack_id:
- T1078
- T1098
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 80
risk_severity: high
security_domain: endpoint
type: TTP
version: 1
@@ -1,89 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-09'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies use of DSInternals modules for illegal management of Active Directoty
elements and policies.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: a587ca9f-c138-47b4-ba51-699f319b8cc5
known_false_positives: None identified.
name: Illegal Management of Active Directory Elements and Policies via DSInternals
modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/MichaelGrafnetter/DSInternals
risk_message: DSInternals malware is controlling infrastructure by modifying Active
Directory elements, domain controllers, and policies. Operation is performed at
the device $dest_device_id$, by the account $dest_user_id$ via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Remove-ADDBObject/)=true OR match_regex(cmd_line, /(?i)Set-ADDBDomainController/)=true
OR match_regex(cmd_line, /(?i)Set-ADDBPrimaryGroup/)=true OR match_regex(cmd_line,
/(?i)Set-LsaPolicyInformation/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Persistence Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Command And Control
- Consequence:Loss Of Control
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1484/logAllDSInternalsModules.log
impact: 90
kill_chain_phases:
- Actions on Objectives
message: DSInternals malware is controlling infrastructure by modifying Active Directory
elements, domain controllers, and policies. Operation is performed at the device
$dest_device_id$, by the account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1098
- T1207
- T1484
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 90
risk_severity: high
security_domain: endpoint
type: TTP
version: 1
@@ -1,90 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-09'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies access to PowerSploit modules that enable illegal management of computers
and Active Directory elements.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 75760c11-7d48-4968-b828-013b299e8f6d
known_false_positives: None identified.
name: Illegal Management of Computers and Active Directory Elements via PowerSploit
modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is controlling infrastructure by modifying Active
Directory elements or local Master Boot Records. Operation is performed at the device
$dest_device_id$, by the account $dest_user_id$ via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Set-DomainObject/)=true OR match_regex(cmd_line, /(?i)Set-ADObject/)=true OR
match_regex(cmd_line, /(?i)Set-DomainObjectOwner/)=true OR match_regex(cmd_line,
/(?i)Set-MasterBootRecord/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Persistence Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Command And Control
- Consequence:Loss Of Control
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1484/logAllPowerSploitModulesWithOldNames.log
impact: 90
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is controlling infrastructure by modifying Active Directory
elements or local Master Boot Records. Operation is performed at the device $dest_device_id$,
by the account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1098
- T1207
- T1484
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 90
risk_severity: high
security_domain: endpoint
type: TTP
version: 1
@@ -1,104 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-09'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies access to PowerSploit modules that illegaly elevate general privileges
or ensure persistence, e.g., enable manipulation of registry, task scheduling, persistent
WMI, access to OS objects under desired identities.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 88c10ee9-fe72-4bce-b343-5b129044b991
known_false_positives: None identified.
name: Illegal Privilege Elevation and Persistence via PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is planting attack persistence elements, altering
privileges and access controls. Operation is performed at the device $dest_device_id$,
by the account $dest_user_id$ via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Add-DomainObjectAcl/)=true OR match_regex(cmd_line, /(?i)Add-ObjectAcl/)=true
OR match_regex(cmd_line, /(?i)Enable-Privilege/)=true OR match_regex(cmd_line, /(?i)New-ElevatedPersistenceOption/)=true
OR match_regex(cmd_line, /(?i)New-UserPersistenceOption/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Malicious PowerShell
- Windows Persistence Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Privilege Escalation
- Stage:Command And Control
- Stage:Persistence
- Consequence:Loss Of Control
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1548/logAllPowerSploitModulesWithOldNames.log
impact: 90
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is planting attack persistence elements, altering privileges
and access controls. Operation is performed at the device $dest_device_id$, by
the account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1053
- T1134
- T1548
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 90
risk_severity: high
security_domain: endpoint
test:
name: Illegal Privilege Elevation and Persistence via PowerSploit modules - SSA
Unit test
tests:
- attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1548/logAllPowerSploitModulesWithOldNames.log
file_name: logAllPowerSploitModulesWithOldNames.log
source: WinEventLog:Security
description: Test privilege elevation and persistence detections
file: endpoint/ssa___illegal_privilege_elevation_and_persistence_via_powersploit_modules.yml
name: Illegal Privilege Elevation and Persistence via PowerSploit modules
pass_condition: '@count_gt(0)'
type: TTP
version: 1
@@ -1,97 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-09'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies use of Mimikatz modules for illegal privilege elevation.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 2f873b1f-6352-4844-b7b9-b419f09a42c7
known_false_positives: None identified.
name: Illegal Privilege Elevation via Mimikatz modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/gentilkiwi/mimikatz
risk_message: Mimikatz malware is setting highest privileges to malicious entities.
Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)privilege::debug/)=true OR match_regex(cmd_line, /(?i)token::elevate/)=true
)
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Privilege Escalation
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Privilege Escalation
- Stage:Command And Control
- Consequence:Loss Of Control
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1548/logAllMimikatzModules.log
impact: 90
kill_chain_phases:
- Actions on Objectives
message: Mimikatz malware is setting highest privileges to malicious entities. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via
command $cmd_line$
mitre_attack_id:
- T1134
- T1548
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 90
risk_severity: high
security_domain: endpoint
test:
name: Illegal Privilege Elevation via Mimikatz modules - SSA Unit test
tests:
- attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1548/logAllMimikatzModules.log
file_name: logAllMimikatzModules.log
source: WinEventLog:Security
description: Test illegal privilege elevation detections
file: endpoint/ssa___illegal_privilege_elevation_via_mimikatz_modules.yml
name: Illegal Privilege Elevation via Mimikatz modules
pass_condition: '@count_gt(0)'
type: TTP
version: 1
@@ -1,100 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-09'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies use of Mimikatz modules for illegal control over services and processes,
including the authentication service.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: aaf3adf1-73e1-4477-b4ee-3771898964f1
known_false_positives: None identified.
name: Illegal Service and Process Control via Mimikatz modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/gentilkiwi/mimikatz
risk_message: Mimikatz malware is controlling computer's processess and services.
Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)process::start/)=true OR match_regex(cmd_line, /(?i)service::\+/)=true OR match_regex(cmd_line,
/(?i)service::\-/)=true OR match_regex(cmd_line, /(?i)service::start/)=true OR match_regex(cmd_line,
/(?i)service::stop/)=true OR match_regex(cmd_line, /(?i)service::suspend/)=true
OR match_regex(cmd_line, /(?i)misc::memssp/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Service Abuse
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Command And Control
- Consequence:Loss Of Control
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logAllMimikatzModules.log
impact: 90
kill_chain_phases:
- Actions on Objectives
message: Mimikatz malware is controlling computer's processess and services. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via
command $cmd_line$
mitre_attack_id:
- T1055
- T1106
- T1569
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 90
risk_severity: high
security_domain: endpoint
test:
name: Illegal Service and Process Control via Mimikatz modules - SSA Unit test
tests:
- attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logAllMimikatzModules.log
file_name: logAllMimikatzModules.log
source: WinEventLog:Security
description: Test illegal service and process control detections
file: endpoint/ssa___illegal_service_and_process_control_via_mimikatz_modules.yml
name: Illegal Service and Process Control via Mimikatz modules
pass_condition: '@count_gt(0)'
type: TTP
version: 1
@@ -1,110 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-09'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies access to PowerSploit modules that enable illegal control of services
and processes, such as installing or spoofing of malicious services, injecting malicious
code in DLLs and EXEs, invoking shell code and WMI commands, modifying access to
service objects, etc.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 0e910e5b-309d-4bc3-8af2-0030c02aa353
known_false_positives: None identified.
name: Illegal Service and Process Control via PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is controlling computer's processess and services.
Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Install-SSP/)=true OR match_regex(cmd_line, /(?i)Set-CriticalProcess/)=true
OR match_regex(cmd_line, /(?i)Install-ServiceBinary/)=true OR match_regex(cmd_line,
/(?i)Restore-ServiceBinary/)=true OR match_regex(cmd_line, /(?i)Write-ServiceBinary/)=true
OR match_regex(cmd_line, /(?i)Set-ServiceBinaryPath/)=true OR match_regex(cmd_line,
/(?i)Invoke-ReflectivePEInjection/)=true OR match_regex(cmd_line, /(?i)Invoke-DllInjection/)=true
OR match_regex(cmd_line, /(?i)Invoke-ServiceAbuse/)=true OR match_regex(cmd_line,
/(?i)Invoke-Shellcode/)=true OR match_regex(cmd_line, /(?i)Invoke-WScriptUACBypass/)=true
OR match_regex(cmd_line, /(?i)Invoke-WmiCommand/)=true OR match_regex(cmd_line,
/(?i)Write-HijackDll/)=true OR match_regex(cmd_line, /(?i)Add-ServiceDacl/)=true
)
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Service Abuse
- Malicious PowerShell
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
- Stage:Credential Access
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logAllPowerSploitModulesWithOldNames.log
impact: 90
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is controlling computer's processess and services.
Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via command $cmd_line$
mitre_attack_id:
- T1055
- T1106
- T1569
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 90
risk_severity: high
security_domain: endpoint
test:
name: Illegal Service and Process Control via PowerSploit modules - SSA Unit test
tests:
- attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logAllPowerSploitModulesWithOldNames.log
file_name: logAllPowerSploitModulesWithOldNames.log
source: WinEventLog:Security
description: Test illegal service and process control detections
file: endpoint/ssa___illegal_service_and_process_control_via_powersploit_modules.yml
name: Illegal Service and Process Control via PowerSploit modules
pass_condition: '@count_gt(0)'
type: TTP
version: 1
@@ -1,62 +0,0 @@
author: Xiao Lin, Splunk
datamodel: []
date: '2020-08-25'
description: Malicious mails can conduct phishing that induces readers to open attachment,
click links or trigger third party service. This detect uses Natural Language Processing
(NLP) approach to analyze an email message's content (Sender, Subject and Body)
and judge whether it is a phishing email. The detection adopts a deep learning (neural
network) model that employs character level embeddings plus LSTM layers to perform
classification. The model is pre-trained and then published as ONNX format. Current
sample model is trained using the dataset published at https://github.com/splunk/attack_data/tree/master/datasets/T1566_Phishing_Email/splunk_train.json
User are expected to re-train the model by combining with their own training data
for better accuracy using the provided model file (SMLE notebook). DSP pipeline
then processes the email message and passes it as an event to Apply ML Models function,
which returns the probability of a phishing email. Current implementation assumes
the email is fed to DSP in JSON format contains at least email's sender, subject
and its message body, including reply content, if any.
how_to_implement: Events are fed to DSP contains at least email's sender, subject
and its message body.
id: 4b237388-dfa1-41a6-91d4-4de2d598376f
known_false_positives: Because of imbalance of anomaly data in training, the model
will less likely report false positive. Instead, the model is more prone to false
negative. Current best recall score is ~85%
name: Phishing Email Detection by Machine Learning Method - SSA
product:
- Splunk Behavioral Analytics
references: []
search: '| from read_ssa_enriched_events() | eval eventLine=concat(ucast(map_get(input_event,
"From"), "string", " "), " ", ucast(map_get(input_event, "Subject"), "string", "
"), " ", ucast(map_get(input_event, "Content"), "string", " "), " "),
_time=map_get(input_event, "_time") | where eventLine IS NOT NULL | eval mapC={"
": 32, "!": 33, "\"": 34, "#": 35, "$": 36, "%": 37, "&": 38, "`": 39, "(": 40,
")": 41, "*": 42, "+": 43, ",": 44, "-": 45, ".": 46, "/": 47, "0": 48, "1": 49,
"2": 50, "3": 51, "4": 52, "5": 53, "6": 54, "7": 55, "8": 56, "9": 57, ":": 58,
";": 59, "<": 60, "=": 61, ">": 62, "?": 63, "@": 64, "A": 65, "B": 66, "C": 67,
"D": 68, "E": 69, "F": 70, "G": 71, "H": 72, "I": 73, "J": 74, "K": 75, "L": 76,
"M": 77, "N": 78, "O": 79, "P": 80, "Q": 81, "R": 82, "S": 83, "T": 84, "U": 85,
"V": 86, "W": 87, "X": 88, "Y": 89, "Z": 90, "[": 91, "\\": 92, "]": 93, "^": 94,
"_": 95, "`": 96, "a": 97, "b": 98, "c": 99, "d": 100, "e": 101, "f": 102, "g":
103, "h": 104, "i": 105, "j": 106, "k": 107, "l": 108, "m": 109, "n": 110, "o":
111, "p": 112, "q": 113, "r": 114, "s": 115, "t": 116, "u": 117, "v": 118, "w":
119, "x": 120, "y": 121, "z": 122, "{": 123, "|": 124, "}": 125, "~": 126}, ml_in
= for_each(iterator(mvrange(1,129), "i"), cast(map_get(mapC, substr(eventLine, i,
1)), "float") ) | apply_model connection_id="YOUR_S3_ONNX_CONNECTOR_ID" name="phishing_email_v8"
path="s3://smle-experiments/models/phishing_email" | eval probability = mvindex(ml_out,
0) | where probability > 0.5 | eval start_time=_time, end_time=_time, entities="TBD",
body="TBD" | select probability, body, entities, start_time, end_time | into write_ssa_detected_events();'
tags:
cis20:
- CIS 8
kill_chain_phases:
- Actions on Objectives
mitre_attack_id:
- T1566
nist:
- PR.PT
- DE.CM
product:
- Splunk Behavioral Analytics
risk_severity: low
security_domain: mail server
type: Anomaly
version: 1
@@ -1,96 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-04'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies use of PowerSploit modules that facilitate access probing with admin
credentials as well as probing access to system services.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: d405af5d-99f1-45af-8dfb-b8f98b764247
known_false_positives: None identified.
name: Probing Access with Stolen Credentials via PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is probing access with stolen credentials. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via command
$cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Test-AdminAccess/)=true OR match_regex(cmd_line, /(?i)Invoke-CheckLocalAdminAccess/)=true
OR match_regex(cmd_line, /(?i)Test-ServiceDaclPermission/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Privilege Escalation
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
- Stage:Credential Access
impact: 60
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is probing access with stolen credentials. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via
command $cmd_line$
mitre_attack_id:
- T1078
- T1098
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_user_id
- dest_device_id
risk_score: 60
risk_severity: low
security_domain: endpoint
test:
name: Probing Access with Stolen Credentials via PowerSploit modules - SSA Unit
test
tests:
- attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logAllPowerSploitModulesWithOldNames.log
file_name: logAllPowerSploitModulesWithOldNames.log
source: WinEventLog:Security
description: Test access probing with stolen credentials detections
file: endpoint/ssa___probing_access_with_stolen_credentials_via_powersploit_modules.yml
name: Probing Access with Stolen Credentials via PowerSploit modules
pass_condition: '@count_gt(0)'
type: TTP
version: 1
@@ -1,88 +0,0 @@
author: Peter Gael, Splunk; Ignacio Bermudez Corrales, Splunk
datamodel:
- Endpoint_Processes
date: '2021-11-30'
description: An attacker may use LOLBAS tools spawned from vulnerable applications
not typically used by system administrators. This analytic leverages the Splunk
Streaming ML DSP plugin to find rare parent/child relationships. The list of application
has been extracted from https://github.com/LOLBAS-Project/LOLBAS/tree/master/yml/OSBinaries
how_to_implement: Collect endpoint data such as sysmon or 4688 events.
id: cf090c78-bcc6-11eb-8529-0242ac130003
known_false_positives: Some custom tools used by administrators could be used rarely
to launch remotely applications. This might trigger false positives at the beginning
when it has not collected yet enough data to construct the baseline.
name: Rare Parent-Child Process Relationship
product:
- Splunk Behavioral Analytics
references:
- https://github.com/LOLBAS-Project/LOLBAS/tree/master/yml/OSBinaries
search: '| from read_ssa_enriched_events() | eval timestamp=parse_long(ucast(map_get(input_event,
"_time"), "string", null)) | eval parent_process=lower(ucast(map_get(input_event,
"parent_process_name"), "string", null)), parent_process_name=mvindex(split(parent_process,
"\\"), -1), process_name=lower(ucast(map_get(input_event, "process_name"), "string",
null)), cmd_line=ucast(map_get(input_event, "process"), "string", null), dest_user_id=ucast(map_get(input_event,
"dest_user_id"), "string", null), dest_device_id=ucast(map_get(input_event, "dest_device_id"),
"string", null), event_id=ucast(map_get(input_event, "event_id"), "string", null)
| where parent_process_name!=null | select parent_process_name, process_name, cmd_line,
timestamp, dest_device_id, dest_user_id | conditional_anomaly conditional="parent_process_name"
target="process_name" | where (process_name="powershell.exe" OR process_name="regsvcs.exe"
OR process_name="ftp.exe" OR process_name="dfsvc.exe" OR process_name="rasautou.exe"
OR process_name="schtasks.exe" OR process_name="xwizard.exe" OR process_name="findstr.exe"
OR process_name="esentutl.exe" OR process_name="cscript.exe" OR process_name="reg.exe"
OR process_name="csc.exe" OR process_name="atbroker.exe" OR process_name="print.exe"
OR process_name="pcwrun.exe" OR process_name="vbc.exe" OR process_name="rpcping.exe"
OR process_name="wsreset.exe" OR process_name="ilasm.exe" OR process_name="certutil.exe"
OR process_name="replace.exe" OR process_name="mshta.exe" OR process_name="bitsadmin.exe"
OR process_name="wscript.exe" OR process_name="ieexec.exe" OR process_name="cmd.exe"
OR process_name="microsoft.workflow.compiler.exe" OR process_name="runscripthelper.exe"
OR process_name="makecab.exe" OR process_name="forfiles.exe" OR process_name="desktopimgdownldr.exe"
OR process_name="control.exe" OR process_name="msbuild.exe" OR process_name="register-cimprovider.exe"
OR process_name="tttracer.exe" OR process_name="ie4uinit.exe" OR process_name="sc.exe"
OR process_name="bash.exe" OR process_name="hh.exe" OR process_name="cmstp.exe"
OR process_name="mmc.exe" OR process_name="jsc.exe" OR process_name="scriptrunner.exe"
OR process_name="odbcconf.exe" OR process_name="extexport.exe" OR process_name="msdt.exe"
OR process_name="diskshadow.exe" OR process_name="extrac32.exe" OR process_name="eventvwr.exe"
OR process_name="mavinject.exe" OR process_name="regasm.exe" OR process_name="gpscript.exe"
OR process_name="rundll32.exe" OR process_name="regsvr32.exe" OR process_name="regedit.exe"
OR process_name="msiexec.exe" OR process_name="gfxdownloadwrapper.exe" OR process_name="presentationhost.exe"
OR process_name="regini.exe" OR process_name="wmic.exe" OR process_name="runonce.exe"
OR process_name="syncappvpublishingserver.exe" OR process_name="verclsid.exe" OR
process_name="psr.exe" OR process_name="infdefaultinstall.exe" OR process_name="explorer.exe"
OR process_name="expand.exe" OR process_name="installutil.exe" OR process_name="netsh.exe"
OR process_name="wab.exe" OR process_name="dnscmd.exe" OR process_name="at.exe"
OR process_name="pcalua.exe" OR process_name="cmdkey.exe" OR process_name="msconfig.exe")
| eval input = (-1)*log(output) | adaptive_threshold algorithm="gaussian" threshold=0.001
window=604800000L | where label AND input > mean | eval start_time = timestamp,
end_time = timestamp, entities = mvappend(dest_device_id, dest_user_id), body =
create_map(["process_name", process_name, "parent_process_name", parent_process_name,
"input", input, "mean", mean, "variance", variance, "output", output, "cmd_line",
cmd_line]) | into write_ssa_detected_events();'
tags:
analytic_story:
- Unusual Processes
cis20:
- CIS 8
kill_chain_phases:
- Exploitation
mitre_attack_id:
- T1203
- T1059
- T1053
- T1072
nist:
- PR.PT
- DE.CM
product:
- Splunk Behavioral Analytics
required_fields:
- process
- process_name
- parent_process_name
- _time
- dest_device_id
- dest_user_id
- cmd_line
risk_severity: low
security_domain: endpoint
type: Anomaly
version: 2
@@ -1,85 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-05'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies use of Mimikatz modules for discovery of accounts and groups and access
to them.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 1bce67aa-3fc4-4886-9089-67f0bfebbef6
known_false_positives: None identified.
name: Reconnaissance and Access to Accounts and Groups via Mimikatz modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/gentilkiwi/mimikatz
risk_message: Mimikatz malware is searching for and using specific accounts and groups.
Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)net::user/)=true OR match_regex(cmd_line, /(?i)net::group/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Discovery Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
- Stage:Command And Control
- Consequence:Loss Of Control
impact: 80
kill_chain_phases:
- Actions on Objectives
message: Mimikatz malware is searching for and using specific accounts and groups.
Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via command $cmd_line$
mitre_attack_id:
- T1078
- T1087
- T1484
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
risk_score: 80
risk_severity: high
security_domain: endpoint
type: TTP
version: 1
@@ -1,109 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-05'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies access to PowerSploit modules that discover accounts, groups and policies
that can be accessed or taken over.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 63422f8e-766c-468f-8133-2ba6795e263b
known_false_positives: None identified.
name: Reconnaissance and Access to Accounts Groups and Policies via PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is searching for and using specific accounts, groups
and policies, such as the last logged on account, a local Net group, etc. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via command
$cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Find-DomainLocalGroupMember/)=true OR match_regex(cmd_line, /(?i)Invoke-EnumerateLocalAdmin/)=true
OR match_regex(cmd_line, /(?i)Find-DomainUserEvent/)=true OR match_regex(cmd_line,
/(?i)Invoke-EventHunter/)=true OR match_regex(cmd_line, /(?i)Find-DomainUserLocation/)=true
OR match_regex(cmd_line, /(?i)Invoke-UserHunter/)=true OR match_regex(cmd_line,
/(?i)Get-DomainForeignGroupMember/)=true OR match_regex(cmd_line, /(?i)Find-ForeignGroup/)=true
OR match_regex(cmd_line, /(?i)Get-DomainForeignUser/)=true OR match_regex(cmd_line,
/(?i)Find-ForeignUser/)=true OR match_regex(cmd_line, /(?i)Get-DomainGPO/)=true
OR match_regex(cmd_line, /(?i)Get-NetGPO/)=true OR match_regex(cmd_line, /(?i)Get-DomainGPOComputerLocalGroupMapping/)=true
OR match_regex(cmd_line, /(?i)Find-GPOComputerAdmin/)=true OR match_regex(cmd_line,
/(?i)Get-DomainGPOLocalGroup/)=true OR match_regex(cmd_line, /(?i)Get-NetGPOGroup/)=true
OR match_regex(cmd_line, /(?i)Get-DomainGPOUserLocalGroupMapping/)=true OR match_regex(cmd_line,
/(?i)Find-GPOLocation/)=true OR match_regex(cmd_line, /(?i)Get-DomainGroup/)=true
OR match_regex(cmd_line, /(?i)Get-NetGroup/)=true OR match_regex(cmd_line, /(?i)Get-DomainGroupMember/)=true
OR match_regex(cmd_line, /(?i)Get-NetGroupMember/)=true OR match_regex(cmd_line,
/(?i)Get-DomainManagedSecurityGroup/)=true OR match_regex(cmd_line, /(?i)Find-ManagedSecurityGroups/)=true
OR match_regex(cmd_line, /(?i)Get-DomainOU/)=true OR match_regex(cmd_line, /(?i)Get-NetOU/)=true
OR match_regex(cmd_line, /(?i)Get-DomainUser/)=true OR match_regex(cmd_line, /(?i)Get-NetUser/)=true
OR match_regex(cmd_line, /(?i)Get-DomainUserEvent/)=true OR match_regex(cmd_line,
/(?i)Get-UserEvent/)=true OR match_regex(cmd_line, /(?i)Get-NetLocalGroup/)=true
OR match_regex(cmd_line, /(?i)Get-NetLocalGroupMember/)=true OR match_regex(cmd_line,
/(?i)Get-NetLoggedon/)=true OR match_regex(cmd_line, /(?i)Get-RegLoggedOn/)=true
OR match_regex(cmd_line, /(?i)Get-WMIRegLastLoggedOn/)=true OR match_regex(cmd_line,
/(?i)Get-LastLoggedOn/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Discovery Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
- Stage:Command And Control
- Consequence:Loss Of Control
impact: 80
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is searching for and using specific accounts, groups
and policies, such as the last logged on account, a local Net group, etc. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via
command $cmd_line$
mitre_attack_id:
- T1078
- T1087
- T1484
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
risk_score: 80
risk_severity: high
security_domain: endpoint
type: TTP
version: 1
@@ -1,98 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-06'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies access to PowerSploit modules for reconnaissance and access to elements
of Active Directory infrastructure, such as domain identifiers, AD sites and forests,
and trust relations.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: db08ac40-ee14-43e9-9a75-dddd059ef812
known_false_positives: None identified.
name: Reconnaissance and Access to Active Directoty Infrastructure via PowerSploit
modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is seaching for or accessing Active Directory objects
such as domain sites, domain trusts, AD forests, etc. Operation is performed at
the device $dest_device_id$, by the account $dest_user_id$ via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Get-DomainSID/)=true OR match_regex(cmd_line, /(?i)Get-DomainSite/)=true OR
match_regex(cmd_line, /(?i)Get-NetSite/)=true OR match_regex(cmd_line, /(?i)Get-DomainSubnet/)=true
OR match_regex(cmd_line, /(?i)Get-NetSubnet/)=true OR match_regex(cmd_line, /(?i)Get-DomainTrust/)=true
OR match_regex(cmd_line, /(?i)Get-NetDomainTrust/)=true OR match_regex(cmd_line,
/(?i)Get-DomainTrustMapping/)=true OR match_regex(cmd_line, /(?i)Invoke-MapDomainTrust/)=true
OR match_regex(cmd_line, /(?i)Get-Forest/)=true OR match_regex(cmd_line, /(?i)Get-NetForest/)=true
OR match_regex(cmd_line, /(?i)Get-ForestDomain/)=true OR match_regex(cmd_line, /(?i)Get-NetForestDomain/)=true
OR match_regex(cmd_line, /(?i)Get-ForestGlobalCatalog/)=true OR match_regex(cmd_line,
/(?i)Get-NetForestCatalog/)=true OR match_regex(cmd_line, /(?i)Get-ForestTrust/)=true
OR match_regex(cmd_line, /(?i)Get-NetForestTrust/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Discovery Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
- Stage:Command And Control
- Consequence:Loss Of Control
impact: 80
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is seaching for or accessing Active Directory objects
such as domain sites, domain trusts, AD forests, etc. Operation is performed at
the device $dest_device_id$, by the account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1199
- T1482
- T1590
- T1591
- T1595
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
risk_score: 80
risk_severity: high
security_domain: endpoint
type: TTP
version: 1
@@ -1,90 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-06'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies access to PowerSploit modules that discover computers, servers and domains
that can be accessed or taken over.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: fe1c4c5a-09f3-4b43-8129-560a7f38a08b
known_false_positives: None identified.
name: Reconnaissance and Access to Computers and Domains via PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is seaching for or accessing domain controllers,
computers, file servers, etc. Operation is performed at the device $dest_device_id$,
by the account $dest_user_id$ via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Get-ComputerDetail/)=true OR match_regex(cmd_line, /(?i)Get-Domain/)=true OR
match_regex(cmd_line, /(?i)Get-NetDomain/)=true OR match_regex(cmd_line, /(?i)Get-DomainComputer/)=true
OR match_regex(cmd_line, /(?i)Get-NetComputer/)=true OR match_regex(cmd_line, /(?i)Get-DomainController/)=true
OR match_regex(cmd_line, /(?i)Get-NetDomainController/)=true OR match_regex(cmd_line,
/(?i)Get-DomainFileServer/)=true OR match_regex(cmd_line, /(?i)Get-NetFileServer/)=true
)
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Discovery Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
- Stage:Command And Control
- Consequence:Loss Of Control
impact: 80
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is seaching for or accessing domain controllers, computers,
file servers, etc. Operation is performed at the device $dest_device_id$, by the
account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1592
- T1590
- T1087
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
risk_score: 80
risk_severity: high
security_domain: endpoint
type: TTP
version: 1
@@ -1,81 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-06'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies use of Mimikatz modules for discovery of computers and servers and access
to them.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 48664505-7d22-44ee-87d2-4c8a5bdc3d14
known_false_positives: None identified.
name: Reconnaissance and Access to Computers via Mimikatz modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/gentilkiwi/mimikatz
risk_message: Mimikatz malware is collecting information about computers. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via command
$cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)net::ServerInfo/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Discovery Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
impact: 50
kill_chain_phases:
- Actions on Objectives
message: Mimikatz malware is collecting information about computers. Operation is
performed at the device $dest_device_id$, by the account $dest_user_id$ via command
$cmd_line$
mitre_attack_id:
- T1592
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
risk_score: 50
risk_severity: medium
security_domain: endpoint
type: TTP
version: 1
@@ -1,98 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-06'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies access to PowerSploit modules that discover and access operating system
elements, such as processes, services, registry locations, security packages and
files.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: c1d33ad9-1727-4f9f-a474-4adbe4fed68a
known_false_positives: None identified.
name: Reconnaissance and Access to Operating System Elements via PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is searching for and tapping into ongoing processes,
mounted drives or other operating system elements. Operation is performed at the
device $dest_device_id$, by the account $dest_user_id$ via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Find-DomainProcess/)=true OR match_regex(cmd_line, /(?i)Invoke-ProcessHunter/)=true
OR match_regex(cmd_line, /(?i)Get-ServiceDetail/)=true OR match_regex(cmd_line,
/(?i)Get-WMIProcess/)=true OR match_regex(cmd_line, /(?i)Get-NetProcess/)=true OR
match_regex(cmd_line, /(?i)Get-SecurityPackage/)=true OR match_regex(cmd_line, /(?i)Find-DomainObjectPropertyOutlier/)=true
OR match_regex(cmd_line, /(?i)Get-DomainObject/)=true OR match_regex(cmd_line, /(?i)Get-ADObject/)=true
OR match_regex(cmd_line, /(?i)Get-WMIRegMountedDrive/)=true OR match_regex(cmd_line,
/(?i)Get-RegistryMountedDrive/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Discovery Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
- Stage:Command And Control
- Consequence:Loss Of Control
impact: 80
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is searching for and tapping into ongoing processes,
mounted drives or other operating system elements. Operation is performed at the
device $dest_device_id$, by the account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1057
- T1083
- T1592.002
- T1046
- T1012
- T1007
- T1047
- T1592
- T1518
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
risk_score: 80
risk_severity: high
security_domain: endpoint
type: TTP
version: 1
@@ -1,80 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-06'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies use of Mimikatz modules for discovery and access to services and processes.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 0243d37c-57c1-4182-bfd1-39b212255fc8
known_false_positives: None identified.
name: Reconnaissance and Access to Processes and Services via Mimikatz modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/gentilkiwi/mimikatz
risk_message: Mimikatz malware is listing processes and services. Operation is performed
at the device $dest_device_id$, by the account $dest_user_id$ via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)process::list/)=true OR match_regex(cmd_line, /(?i)service::list/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Discovery Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
impact: 50
kill_chain_phases:
- Actions on Objectives
message: Mimikatz malware is listing processes and services. Operation is performed
at the device $dest_device_id$, by the account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1007
- T1046
- T1057
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
risk_score: 50
risk_severity: medium
security_domain: endpoint
type: TTP
version: 1
@@ -1,85 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-06'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies use of Mimikatz modules for discovery and access to network shares.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: c97b6eb9-1d8b-4017-bbbb-2af7fc17bc3f
known_false_positives: None identified.
name: Reconnaissance and Access to Shared Resources via Mimikatz modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/gentilkiwi/mimikatz
risk_message: Mimikatz malware is searching for and accessing network shares. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via command
$cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)net::share/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Discovery Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
- Stage:Lateral Movement
- Stage:Collection
impact: 70
kill_chain_phases:
- Actions on Objectives
message: Mimikatz malware is searching for and accessing network shares. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via
command $cmd_line$
mitre_attack_id:
- T1021
- T1039
- T1135
- T1021.002
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
risk_score: 70
risk_severity: low
security_domain: endpoint
type: TTP
version: 1
@@ -1,90 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-06'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies access to PowerSploit modules that discover and access network and distributed
file system shares.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 6b7ca431-6b1e-4b40-9589-21cb368e369e
known_false_positives: None identified.
name: Reconnaissance and Access to Shared Resources via PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is searching for and accessing network shares. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via command
$cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Find-DomainShare/)=true OR match_regex(cmd_line, /(?i)Invoke-ShareFinder/)=true
OR match_regex(cmd_line, /(?i)Find-InterestingDomainShareFile/)=true OR match_regex(cmd_line,
/(?i)Invoke-FileFinder/)=true OR match_regex(cmd_line, /(?i)Find-InterestingFile/)=true
OR match_regex(cmd_line, /(?i)Get-DomainDFSShare/)=true OR match_regex(cmd_line,
/(?i)Get-DFSshare/)=true OR match_regex(cmd_line, /(?i)Get-NetShare/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Discovery Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
- Stage:Lateral Movement
- Stage:Collection
impact: 70
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is searching for and accessing network shares. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via
command $cmd_line$
mitre_attack_id:
- T1021
- T1039
- T1135
- T1021.002
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
risk_score: 70
risk_severity: low
security_domain: endpoint
type: TTP
version: 1
@@ -1,101 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-05'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies use of PowerSploit modules that discover opportunities for malicious
access and persistence. Some examples include access to admin accounts, weak access
control policies, landing paths for dropping malicious software or data to exfiltrate,
registry locations to land autorun parameters, task scheduling opportunities, as
well as services and system files that can be compromised.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 3d8bd7f3-1061-4ac7-9225-6764cc0684d7
known_false_positives: None identified.
name: Reconnaissance of Access and Persistence Opportunities via PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is searching for an entry point into the infrastructure,
such as local admin accounts, opportunities to hijack processes, unattended install
files, or modifiable access objects. Operation is performed at the device $dest_device_id$,
by the account $dest_user_id$ via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Find-LocalAdminAccess/)=true OR match_regex(cmd_line, /(?i)Find-InterestingDomainAcl/)=true
OR match_regex(cmd_line, /(?i)Invoke-ACLScanner/)=true OR match_regex(cmd_line,
/(?i)Find-PathDLLHijack/)=true OR match_regex(cmd_line, /(?i)Find-ProcessDLLHijack/)=true
OR match_regex(cmd_line, /(?i)Get-DomainObjectAcl/)=true OR match_regex(cmd_line,
/(?i)Get-ObjectAcl/)=true OR match_regex(cmd_line, /(?i)Get-DomainPolicy/)=true
OR match_regex(cmd_line, /(?i)Get-ModifiablePath/)=true OR match_regex(cmd_line,
/(?i)Get-ModifiableRegistryAutoRun/)=true OR match_regex(cmd_line, /(?i)Get-ModifiableScheduledTaskFile/)=true
OR match_regex(cmd_line, /(?i)Get-ModifiableService/)=true OR match_regex(cmd_line,
/(?i)Get-ModifiableServiceFile/)=true OR match_regex(cmd_line, /(?i)Get-PathAcl/)=true
OR match_regex(cmd_line, /(?i)Get-UnattendedInstallFile/)=true OR match_regex(cmd_line,
/(?i)Get-UnquotedService/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Discovery Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
impact: 60
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is searching for an entry point into the infrastructure,
such as local admin accounts, opportunities to hijack processes, unattended install
files, or modifiable access objects. Operation is performed at the device $dest_device_id$,
by the account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1053
- T1068
- T1078
- T1543
- T1547
- T1574
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
risk_score: 60
risk_severity: low
security_domain: endpoint
type: TTP
version: 1
@@ -1,90 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-06'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies access to PowerSploit modules for reconnaissance of connectivity.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 525d32fd-65dd-4732-9b72-3cfc7ddddbd2
known_false_positives: None identified.
name: Reconnaissance of Connectivity via PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is performing port scans or searching for various
connectivity details such as DNS data, proxies, or ongoing RDP connections. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via command
$cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Get-DomainDNSRecord/)=true OR match_regex(cmd_line, /(?i)Get-DNSRecord/)=true
OR match_regex(cmd_line, /(?i)Get-DomainDNSZone/)=true OR match_regex(cmd_line,
/(?i)Get-DNSZone/)=true OR match_regex(cmd_line, /(?i)Invoke-ReverseDnsLookup/)=true
OR match_regex(cmd_line, /(?i)Get-WMIRegCachedRDPConnection/)=true OR match_regex(cmd_line,
/(?i)Get-CachedRDPConnection/)=true OR match_regex(cmd_line, /(?i)Get-WMIRegProxy/)=true
OR match_regex(cmd_line, /(?i)Get-Proxy/)=true OR match_regex(cmd_line, /(?i)Invoke-Portscan/)=true
)
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Discovery Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
impact: 70
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is performing port scans or searching for various connectivity
details such as DNS data, proxies, or ongoing RDP connections. Operation is performed
at the device $dest_device_id$, by the account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1021
- T1039
- T1135
- T1021.002
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
risk_score: 70
risk_severity: low
security_domain: endpoint
type: TTP
version: 1
@@ -1,91 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-03'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies reconnaissance of credential stores and use of CryptoAPI services by
Mimikatz modules.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 5facee5b-79e4-47ab-b0e6-c625acc0554f
known_false_positives: None identified.
name: Reconnaissance of Credential Stores and Services via Mimikatz modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/gentilkiwi/mimikatz
risk_message: Mimikatz malware is searching for and accessing credential stores. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via command
$cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)crypto::capi/)=true OR match_regex(cmd_line, /(?i)crypto::cng/)=true OR match_regex(cmd_line,
/(?i)crypto::providers/)=true OR match_regex(cmd_line, /(?i)crypto::stores/)=true
OR match_regex(cmd_line, /(?i)crypto::sc/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Discovery Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
- Stage:Credential Access
impact: 80
kill_chain_phases:
- Actions on Objectives
message: Mimikatz malware is searching for and accessing credential stores. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via
command $cmd_line$
mitre_attack_id:
- T1098
- T1590.001
- T1078
- T1589.001
- T1590
- T1068
- T1589
- T1590.003
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
risk_score: 80
risk_severity: high
security_domain: endpoint
type: TTP
version: 1
@@ -1,83 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-05'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies use of PowerSploit modules for assessment of presence of defensive tools.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 24b4e659-63a2-4e7b-89ac-87dd659c7110
known_false_positives: None identified.
name: Reconnaissance of Defensive Tools via PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is looking for presence of anti virus software.
Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Find-AVSignature/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Discovery Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
impact: 40
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is looking for presence of anti virus software. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via
command $cmd_line$
mitre_attack_id:
- T1592.002
- T1595.002
- T1592
- T1595
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
risk_score: 40
risk_severity: medium
security_domain: endpoint
type: TTP
version: 1
@@ -1,82 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-05'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies use of PowerSploit modules for assessment of privilege escalation opportunities.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: b9b4492c-2af8-449b-beb4-b1b78d963321
known_false_positives: None identified.
name: Reconnaissance of Privilege Escalation Opportunities via PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is engaging its privilege escalation module. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via command
$cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Invoke-PrivescAudit/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Discovery Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
impact: 60
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is engaging its privilege escalation module. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via
command $cmd_line$
mitre_attack_id:
- T1068
- T1078
- T1098
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
risk_score: 60
risk_severity: low
security_domain: endpoint
type: TTP
version: 1
@@ -1,90 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-05'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies use of Mimikatz modules for discovery of process or service hijacking
opportunities via Microsoft Detours compatibility. Microsoft Detours is an open
source library for intercepting, monitoring and instrumenting binary functions on
Microsoft Windows. Detours intercepts Win32 functions by re-writing the in-memory
code for target functions. The Detours package also contains utilities to attach
arbitrary DLLs and data segments called payloads to any Win32 binary.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: fc5c1cbd-7494-4314-aad2-458d6fd4fada
known_false_positives: None identified.
name: Reconnaissance of Process or Service Hijacking Opportunities via Mimikatz modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/gentilkiwi/mimikatz
- https://en.wikipedia.org/wiki/Microsoft_Detours
risk_message: Mimikatz malware is looking for and invoking Microsoft Detours package
that enables spoofing of in-memory code. Operation is performed at the device $dest_device_id$,
by the account $dest_user_id$ via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)misc::detours/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Discovery Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Recon
- Stage:Command And Control
- Consequence:Loss Of Control
impact: 70
kill_chain_phases:
- Actions on Objectives
message: Mimikatz malware is looking for and invoking Microsoft Detours package
that enables spoofing of in-memory code. Operation is performed at the device
$dest_device_id$, by the account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1543
- T1055
- T1574
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- _time
- process
- dest_device_id
- dest_user_id
risk_score: 70
risk_severity: low
security_domain: endpoint
type: TTP
version: 1
@@ -1,106 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-03'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies illegal setting of credentials via DSInternals modules.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: d5ef590f-9bde-49eb-9c63-2f5b62a65b9c
known_false_positives: None identified.
name: Setting Credentials via DSInternals modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/MichaelGrafnetter/DSInternals
risk_message: DSInternals malware is accessing, using or setting Active Directory
or Azure credentials and accounts. Operation is performed at the device $dest_device_id$,
by the account $dest_user_id$ via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
process_name=ucast(map_get(input_event, "process_name"), "string", null), process_path=ucast(map_get(input_event,
"process_path"), "string", null), cmd_line=ucast(map_get(input_event, "process"),
"string", null), parent_process_name=ucast(map_get(input_event, "parent_process_name"),
"string", null), event_id=ucast(map_get(input_event, "event_id"), "string", null)
| where cmd_line != null AND ( match_regex(cmd_line, /(?i)Add-ADDBSidHistory/)=true
OR match_regex(cmd_line, /(?i)Add-ADReplNgcKey/)=true OR match_regex(cmd_line, /(?i)Set-ADDBAccountPassword/)=true
OR match_regex(cmd_line, /(?i)Set-ADDBAccountPasswordHash/)=true OR match_regex(cmd_line,
/(?i)Set-ADDBBootKey/)=true OR match_regex(cmd_line, /(?i)Set-SamAccountPasswordHash/)=true
OR match_regex(cmd_line, /(?i)Set-AzureADUserEx/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Persistence Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Source:Cloud Data
- Stage:Credential Access
- Consequence:Loss Of Control
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1098/account_manipulation/logAllDSInternalsModules.log
impact: 80
kill_chain_phases:
- Actions on Objectives
message: DSInternals malware is accessing, using or setting Active Directory or
Azure credentials and accounts. Operation is performed at the device $dest_device_id$,
by the account $dest_user_id$ via command $cmd_line$
mitre_attack_id:
- T1068
- T1078
- T1098
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- process_name
- parent_process_name
- _time
- process_path
- dest_user_id
- process
risk_score: 80
risk_severity: high
security_domain: endpoint
test:
name: Setting Credentials via DSInternals modules - SSA Unit test
tests:
- attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logAllDSInternalsModules.log
file_name: logAllDSInternalsModules.log
source: WinEventLog:Security
description: Test illegal credential setting detections
file: endpoint/ssa___setting_credentials_via_dsinternals_modules.yml
name: Setting Credentials via DSInternals modules
pass_condition: '@count_gt(0)'
type: TTP
version: 1
@@ -1,96 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-03'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies illegal setting of credentials via Mimikatz modules.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: c8b84699-7652-4363-910f-efd1ca82f780
known_false_positives: None identified.
name: Setting Credentials via Mimikatz modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/gentilkiwi/mimikatz
risk_message: Mimikatz malware is accessing, using or setting account credentials.
Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)misc::addsid/)=true OR match_regex(cmd_line, /(?i)CRYPTO::scauth/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Persistence Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
- Consequence:Loss Of Control
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1098/account_manipulation/logAllMimikatzModules.log
impact: 80
kill_chain_phases:
- Actions on Objectives
message: Mimikatz malware is accessing, using or setting account credentials. Operation
is performed at the device $dest_device_id$, by the account $dest_user_id$ via
command $cmd_line$
mitre_attack_id:
- T1068
- T1078
- T1098
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 80
risk_severity: high
security_domain: endpoint
test:
name: Setting Credentials via Mimikatz modules - SSA Unit test
tests:
- attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logAllMimikatzModules.log
file_name: logAllMimikatzModules.log
source: WinEventLog:Security
description: Test illegal credential setting detections
file: endpoint/ssa___setting_credentials_via_mimikatz_modules.yml
name: Setting Credentials via Mimikatz modules
pass_condition: '@count_gt(0)'
type: TTP
version: 1
@@ -1,96 +0,0 @@
author: Stanislav Miskovic, Splunk
datamodel:
- Endpoint_Processes
date: '2020-11-03'
deprecated: true
description: 'WARNING, this detection has been marked deprecated by the Splunk Threat
Research team, this means that it will no longer be maintained or supported. If
you have any questions feel free to email us at: research@splunk.com. This detection
identifies illegal setting of credentials via PowerSploit modules.'
how_to_implement: You must be ingesting Windows Security logs from devices of interest,
including the event ID 4688 with enabled command line logging.
id: 07b2a501-f967-4ddc-9f56-2dce46dfce44
known_false_positives: None identified.
name: Setting Credentials via PowerSploit modules
product:
- Splunk Behavioral Analytics
references:
- https://github.com/PowerShellMafia/PowerSploit
risk_message: PowerSploit malware is setting passwords on Active Directory accounts.
Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via command $cmd_line$
search: '| from read_ssa_enriched_events()
| eval timestamp=parse_long(ucast(map_get(input_event, "_time"), "string", null)),
cmd_line=ucast(map_get(input_event, "process"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line != null AND ( match_regex(cmd_line,
/(?i)Set-DomainUserPassword/)=true )
| eval start_time = timestamp, end_time = timestamp, entities = mvappend( ucast(map_get(input_event,
"dest_user_id"), "string", null), ucast(map_get(input_event, "dest_device_id"),
"string", null)), body=create_map(["event_id", event_id, "cmd_line", cmd_line])
| into write_ssa_detected_events();'
tags:
analytic_story:
- Windows Persistence Techniques
asset_type: Windows
cis20:
- CIS 16
- CIS 20
confidence: 100
context:
- Source:AD
- Source:Endpoint
- Stage:Credential Access
- Consequence:Loss Of Control
dataset:
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1098/account_manipulation/logAllPowerSploitModulesWithOldNames.log
impact: 90
kill_chain_phases:
- Actions on Objectives
message: PowerSploit malware is setting passwords on Active Directory accounts.
Operation is performed at the device $dest_device_id$, by the account $dest_user_id$
via command $cmd_line$
mitre_attack_id:
- T1068
- T1078
- T1098
nist:
- PR.AC
- PR.IP
observable:
- name: dest_user_id
role:
- Actor
type: User
- name: dest_device_id
role:
- Victim
type: Hostname
- name: cmd_line
role:
- Others
type: processname
product:
- Splunk Behavioral Analytics
required_fields:
- dest_device_id
- dest_user_id
- process
- _time
risk_score: 90
risk_severity: high
security_domain: endpoint
test:
name: Setting Credentials via PowerSploit modules - SSA Unit test
tests:
- attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1003/credential_extraction/logAllPowerSploitModulesWithOldNames.log
file_name: logAllPowerSploitModulesWithOldNames.log
source: WinEventLog:Security
description: Test illegal credential setting detections
file: endpoint/ssa___setting_credentials_via_powersploit_modules.yml
name: Setting Credentials via PowerSploit modules
pass_condition: '@count_gt(0)'
type: TTP
version: 1
@@ -1,87 +0,0 @@
author: Ignacio Bermudez Corrales, Splunk
datamodel:
- Endpoint_Processes
date: '2020-10-06'
description: Command lines that are extremely long may be indicative of malicious
activity on your hosts. This search leverages the Splunk Streaming ML DSP plugin
to help identify command lines with lengths that are unusual for a given user. This
detection is inspired on Unusually Long Command Line authored by Rico Valdez.
how_to_implement: You must be ingesting sysmon endpoint data that monitors command
lines.
id: 58f43aba-1775-445e-b19c-be2b87d83ae3
known_false_positives: This detection may flag suspiciously long command lines when
there is not sufficient evidence (samples) for a given process that this detection
is tracking; or when there is high variability in the length of the command line
for the tracked process. Also, some legitimate applications may use long command
lines. Such is the case of Ansible, that encodes Powershell scripts using long base64.
Attackers may use this technique to obfuscate their payloads.
name: Unusually Long Command Line
product:
- Splunk Behavioral Analytics
references: []
risk_message: A process $process_name$ with a long commandline $cmd_line$ executed
in host $dest_device_id$
search: ' | from read_ssa_enriched_events() | eval timestamp=parse_long(ucast(map_get(input_event,
"_time"), "string", null)) | eval cmd_line=ucast(map_get(input_event, "process"),
"string", null), dest_user_id=ucast(map_get(input_event, "dest_user_id"), "string",
null), dest_device_id=ucast(map_get(input_event, "dest_device_id"), "string", null),
process_name=ucast(map_get(input_event, "process_name"), "string", null), event_id=ucast(map_get(input_event,
"event_id"), "string", null) | where cmd_line!=null and dest_user_id!=null | eval
cmd_line_norm=replace(cast(cmd_line, "string"), /\s(--?\w+)|(\/\w+)/, " ARG"), cmd_line_norm=replace(cmd_line_norm,
/\w:\\[^\s]+/, "PATH"), cmd_line_norm=replace(cmd_line_norm, /\d+/, "N"), input=parse_double(len(coalesce(cmd_line_norm,
""))) | select timestamp, process_name, dest_device_id, dest_user_id, cmd_line,
input | adaptive_threshold algorithm="quantile" entity="process_name" window=60480000
| where label AND quantile>0.99 | first_time_event input_columns=["dest_device_id",
"cmd_line"] | where first_time_dest_device_id_cmd_line | eval start_time = timestamp,
end_time = timestamp, entities = mvappend(dest_device_id, dest_user_id), body=create_map(["event_id",
event_id, "cmd_line", cmd_line, "process_name", process_name]) | into write_ssa_detected_events();'
tags:
analytic_story:
- Unusual Processes
cis20:
- CIS 8
confidence: 40
context:
- source:endpoint
- stage: Defense Evasion
impact: 30
kill_chain_phases:
- Actions on Objectives
message: A process $process_name$ with a long commandline $cmd_line$ executed in
host $dest_device_id$
nist:
- PR.PT
- DE.CM
observable:
- name: dest_device_id
role:
- Victim
type: Hostname
- name: dest_user_id
role:
- Victim
type: user
product:
- Splunk Behavioral Analytics
required_fields:
- process_name
- _time
- dest_device_id
- dest_user_id
- process
risk_score: 12
risk_severity: medium
security_domain: endpoint
test:
name: Unusually Long Command Line - SSA Unit Test
tests:
- attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1059.003/unusally_cmd_line/windows-security.log
file_name: windows-security.log
source: WinEventLog:Security
description: Test unusually long command lines
file: endpoint/ssa___unusually_long_command_line.yml
name: Unusually Long Command Line
pass_condition: '@count_gt(0)'
type: Anomaly
version: 1
@@ -107,7 +107,7 @@ test:
- attack_data:
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1105/atomic_red_team/windows-security.log
file_name: windows-security.log
source: WinEventLog:security
source: WinEventLog:Security
file: endpoint/ssa___windows_curl_upload_to_remote_destination.yml
name: Windows Curl Upload to Remote Destination
pass_condition: '@count_gt(0)'
@@ -1,12 +0,0 @@
name: Unusually Long Command Line Unit Test
tests:
- name: Unusually Long Command Line
file: endpoint/unusually_long_command_line.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/T1036.003/atomic_red_team/windows-sysmon.log
source: XmlWinEventLog:Microsoft-Windows-Sysmon/Operational
sourcetype: xmlwineventlog