mirror of
https://github.com/splunk/security_content
synced 2026-06-08 17:32:49 +00:00
Branch was auto-updated.
This commit is contained in:
@@ -9,32 +9,6 @@ class FindingReportObject():
|
||||
|
||||
@staticmethod
|
||||
def writeFindingReport(detection : Detection) -> None:
|
||||
|
||||
# if detection.tags.confidence < 33:
|
||||
# detection.tags.confidence_id = 1
|
||||
# elif detection.tags.confidence < 66:
|
||||
# detection.tags.confidence_id = 2
|
||||
# else:
|
||||
# detection.tags.confidence_id = 3
|
||||
|
||||
# detection.tags.context_ids = list()
|
||||
# for context in detection.tags.context:
|
||||
# detection.tags.context_ids.append(SES_CONTEXT_MAPPING[context])
|
||||
|
||||
# if detection.tags.impact < 20:
|
||||
# detection.tags.impact_id = 1
|
||||
# elif detection.tags.impact < 40:
|
||||
# detection.tags.impact_id = 2
|
||||
# elif detection.tags.impact < 60:
|
||||
# detection.tags.impact_id = 3
|
||||
# elif detection.tags.impact < 80:
|
||||
# detection.tags.impact_id = 4
|
||||
# else:
|
||||
# detection.tags.impact_id = 5
|
||||
|
||||
# detection.tags.kill_chain_phases_id = dict()
|
||||
# for kill_chain_phase in detection.tags.kill_chain_phases:
|
||||
# detection.tags.kill_chain_phases_id[kill_chain_phase] = SES_KILL_CHAIN_MAPPINGS[kill_chain_phase]
|
||||
|
||||
|
||||
if detection.tags.risk_score < 20:
|
||||
@@ -53,15 +27,6 @@ class FindingReportObject():
|
||||
detection.tags.risk_level_id = 4
|
||||
detection.tags.risk_level = "Critical"
|
||||
|
||||
# observable_str = "["
|
||||
# for i in range(len(detection.tags.observable)):
|
||||
# observable_str = observable_str + 'create_map("name", "' + detection.tags.observable[i]["name"] + '", "type_id", ' + str(SES_OBSERVABLE_TYPE_MAPPING[detection.tags.observable[i]["type"]]) + ', "value", ' + detection.tags.observable[i]["name"].replace(".", "_") + ')'
|
||||
# if not i == (len(detection.tags.observable) - 1):
|
||||
# observable_str = observable_str + ', '
|
||||
# observable_str = observable_str + ']'
|
||||
|
||||
# detection.tags.observable_str = observable_str
|
||||
|
||||
evidence_str = "create_map("
|
||||
for i in range(len(detection.tags.observable)):
|
||||
evidence_str = evidence_str + '"' + detection.tags.observable[i]["name"] + '", ' + detection.tags.observable[i]["name"].replace(".", "_")
|
||||
@@ -71,10 +36,15 @@ class FindingReportObject():
|
||||
|
||||
detection.tags.evidence_str = evidence_str
|
||||
|
||||
if "actor.user.name" in detection.tags.required_fields:
|
||||
actor_user_name = "actor_user_name"
|
||||
else:
|
||||
actor_user_name = "\"Unknown\""
|
||||
|
||||
j2_env = Environment(
|
||||
loader=FileSystemLoader(os.path.join(os.path.dirname(__file__), 'templates')),
|
||||
trim_blocks=True)
|
||||
template = j2_env.get_template('finding_report.j2')
|
||||
body = template.render(detection=detection, attack_tactics_id_mapping=SES_ATTACK_TACTICS_ID_MAPPING)
|
||||
body = template.render(detection=detection, attack_tactics_id_mapping=SES_ATTACK_TACTICS_ID_MAPPING, actor_user_name=actor_user_name)
|
||||
|
||||
return body
|
||||
|
||||
+2
-2
@@ -7,10 +7,10 @@
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", {{ detection.tags.evidence_str }},
|
||||
"message", concat("{{ detection.name }} has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"message", concat("{{ detection.name }} has been triggered on ", device_hostname, " by ", {{ actor_user_name }}, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", {{ actor_user_name }}, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
|
||||
@@ -28,7 +28,6 @@ class SigmaConverterInputDto:
|
||||
detection_folder : str
|
||||
input_path: str
|
||||
log_source: str
|
||||
cim_to_ocsf: bool
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
@@ -159,9 +158,9 @@ class SigmaConverter():
|
||||
|
||||
cim_to_ocsf_mapping = self.get_cim_to_ocsf_mapping(data_source_new)
|
||||
|
||||
elif input_dto.cim_to_ocsf:
|
||||
field_mapping = self.get_cim_to_ocsf_mapping(data_source)
|
||||
cim_to_ocsf_mapping = field_mapping
|
||||
# elif input_dto.cim_to_ocsf:
|
||||
# field_mapping = self.get_cim_to_ocsf_mapping(data_source)
|
||||
# cim_to_ocsf_mapping = field_mapping
|
||||
|
||||
else:
|
||||
field_mapping = self.find_mapping(data_source.field_mappings, 'data_model', 'ocsf')
|
||||
@@ -171,7 +170,7 @@ class SigmaConverter():
|
||||
for field in field_mapping_underline["mapping"].keys():
|
||||
field_mapping_underline["mapping"][field] = field_mapping_underline["mapping"][field].replace(".", "_")
|
||||
|
||||
self.add_required_fields(field_mapping, detection)
|
||||
self.add_required_fields(cim_to_ocsf_mapping, detection)
|
||||
self.add_mappings(cim_to_ocsf_mapping, detection)
|
||||
|
||||
self.update_observables(detection)
|
||||
@@ -189,7 +188,7 @@ class SigmaConverter():
|
||||
)
|
||||
)
|
||||
|
||||
detection = self.convert_detection_fields(detection, field_mapping_underline)
|
||||
detection = self.convert_detection_fields(detection)
|
||||
sigma_rule = self.get_sigma_rule(detection, data_source)
|
||||
sigma_processing_pipeline = self.get_pipeline_from_processing_items(processing_items)
|
||||
|
||||
@@ -248,15 +247,27 @@ class SigmaConverter():
|
||||
}])
|
||||
|
||||
|
||||
def convert_detection_fields(self, detection: Detection, mappings: dict) -> Detection:
|
||||
# def convert_detection_fields(self, detection: Detection, mappings: dict) -> Detection:
|
||||
# for selection in detection.search.keys():
|
||||
# if selection != "condition":
|
||||
# new_selection = copy.deepcopy(detection.search[selection])
|
||||
# for field in detection.search[selection].keys():
|
||||
# for mapping in mappings["mapping"].keys():
|
||||
# if mapping == field:
|
||||
# new_selection[mappings["mapping"][mapping]] = detection.search[selection][field]
|
||||
# new_selection.pop(field)
|
||||
# detection.search[selection] = new_selection
|
||||
|
||||
# return detection
|
||||
|
||||
def convert_detection_fields(self, detection: Detection) -> Detection:
|
||||
for selection in detection.search.keys():
|
||||
if selection != "condition":
|
||||
new_selection = copy.deepcopy(detection.search[selection])
|
||||
for field in detection.search[selection].keys():
|
||||
for mapping in mappings["mapping"].keys():
|
||||
if mapping == field:
|
||||
new_selection[mappings["mapping"][mapping]] = detection.search[selection][field]
|
||||
new_selection.pop(field)
|
||||
new_field_name = field.replace(".", "_")
|
||||
new_selection[new_field_name] = detection.search[selection][field]
|
||||
new_selection.pop(field)
|
||||
detection.search[selection] = new_selection
|
||||
|
||||
return detection
|
||||
@@ -337,14 +348,9 @@ class SigmaConverter():
|
||||
|
||||
def add_required_fields(self, field_mapping: dict, detection: Detection) -> None:
|
||||
required_fields = list()
|
||||
required_fields = ["process.user.name", "device.hostname"]
|
||||
# required_fields = ["process.user.name", "device.hostname"]
|
||||
for mapping in field_mapping["mapping"].keys():
|
||||
for selection in detection.search.keys():
|
||||
if selection != "condition":
|
||||
for detection_field in detection.search[selection]:
|
||||
if detection_field.startswith(mapping):
|
||||
if not field_mapping["mapping"][mapping] in required_fields:
|
||||
required_fields.append(field_mapping["mapping"][mapping])
|
||||
required_fields.append(field_mapping["mapping"][mapping])
|
||||
|
||||
detection.tags.required_fields = required_fields
|
||||
|
||||
@@ -361,14 +367,19 @@ class SigmaConverter():
|
||||
def update_observables(self, detection : Detection) -> None:
|
||||
mapping_field_to_type = {
|
||||
"process.user.name": "User Name",
|
||||
"actor.user.name": "User Name",
|
||||
"device.hostname": "Hostname",
|
||||
"process.file.name": "File Name",
|
||||
"actor.process.file.name": "File Name",
|
||||
"actor.process.file.path": "File Name",
|
||||
"actor.process.cmd_line": "Process",
|
||||
"actor.user.uid": "Other",
|
||||
"process.cmd_line": "Other",
|
||||
"process.file.path": "File",
|
||||
"process.file.name": "File"
|
||||
"process.file.name": "File",
|
||||
"process.uid": "Other",
|
||||
"process.pid": "Other",
|
||||
"actor.process.pid": "Other"
|
||||
}
|
||||
|
||||
observables = list()
|
||||
|
||||
+1
-5
@@ -312,8 +312,6 @@ def convert(args) -> None:
|
||||
data_model = SigmaConverterTarget.RAW
|
||||
elif args.data_model == 'ocsf':
|
||||
data_model = SigmaConverterTarget.OCSF
|
||||
elif args.data_model == 'all':
|
||||
data_model = SigmaConverterTarget.ALL
|
||||
else:
|
||||
print("ERROR: data model " + args.data_model + " not supported")
|
||||
sys.exit(1)
|
||||
@@ -323,8 +321,7 @@ def convert(args) -> None:
|
||||
detection_path = args.detection_path,
|
||||
detection_folder = args.detection_folder,
|
||||
input_path = args.path,
|
||||
log_source = args.log_source,
|
||||
cim_to_ocsf = args.cim_to_ocsf
|
||||
log_source = args.log_source
|
||||
)
|
||||
|
||||
convert_input_dto = ConvertInputDto(
|
||||
@@ -414,7 +411,6 @@ def main(args):
|
||||
convert_parser.add_argument("-lo", "--log_source", required=False, type=str, help="converter log source")
|
||||
convert_parser.add_argument("-dp", "--detection_path", required=False, type=str, help="path to a single detection")
|
||||
convert_parser.add_argument("-df", "--detection_folder", required=False, type=str, help="path to a detection folder")
|
||||
convert_parser.add_argument("-cto", "--cim_to_ocsf", action=argparse.BooleanOptionalAction, help="temp: cim to ocsf")
|
||||
convert_parser.add_argument("-o", "--output", required=True, type=str, help="output path to store the detections")
|
||||
convert_parser.set_defaults(func=convert)
|
||||
|
||||
|
||||
@@ -21,4 +21,21 @@ raw_fields:
|
||||
- MessageNumber
|
||||
- MessageTotal
|
||||
- ScriptBlockId
|
||||
- ScriptBlockText
|
||||
- ScriptBlockText
|
||||
- Path
|
||||
field_mappings:
|
||||
- data_model: cim
|
||||
data_set: Endpoint.Processes
|
||||
mapping:
|
||||
Computer: Processes.dest
|
||||
Path: Processes.process_path
|
||||
ScriptBlockId: Processes.process_id
|
||||
ScriptBlockText: Processes.process
|
||||
UserID: Processes.user_id
|
||||
- data_model: ocsf
|
||||
mapping:
|
||||
Computer: device.hostname
|
||||
Path: process.file.path
|
||||
ScriptBlockId: process.uid
|
||||
ScriptBlockText: process.cmd_line
|
||||
UserID: actor.user.uid
|
||||
|
||||
@@ -44,7 +44,7 @@ field_mappings:
|
||||
NewProcessName: process.file.path
|
||||
NewProcessName|endswith: process.file.name
|
||||
Process_Command_Line: process.cmd_line
|
||||
SubjectUserSid: process.user.name
|
||||
SubjectUserSid: actor.user.name
|
||||
ProcessId: actor.process.pid
|
||||
ParentProcessName: actor.process.file.path
|
||||
ParentProcessName|endswith: actor.process.file.name
|
||||
|
||||
@@ -11,13 +11,13 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: WinRAR.exe
|
||||
process.file.name: WinRAR.exe
|
||||
selection2:
|
||||
process_name|startswith: 7z
|
||||
process.file.name|startswith: 7z
|
||||
selection3:
|
||||
process_name|startswith: winzip
|
||||
process.file.name|startswith: winzip
|
||||
selection4:
|
||||
parent_process_name|endswith:
|
||||
actor.process.file.name|endswith:
|
||||
- powershell.exe
|
||||
- cmd.exe
|
||||
condition: (selection1 or selection2 or selection3) and selection4
|
||||
@@ -42,33 +42,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1560.001
|
||||
- T1560
|
||||
observable:
|
||||
- name: user
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- Processes.process_name
|
||||
- Processes.process
|
||||
- Processes.dest
|
||||
- Processes.user
|
||||
- Processes.parent_process_name
|
||||
- Processes.parent_process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 42
|
||||
|
||||
@@ -14,8 +14,8 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: sc.exe
|
||||
process|contains: delete
|
||||
process.file.name: sc.exe
|
||||
process.cmd_line|contains: delete
|
||||
condition: selection1
|
||||
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
|
||||
@@ -39,34 +39,10 @@ tags:
|
||||
- T1489
|
||||
- T1543
|
||||
- T1543.003
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 36
|
||||
|
||||
@@ -14,11 +14,11 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains: config
|
||||
process.cmd_line|contains: config
|
||||
selection2:
|
||||
process|contains: disabled
|
||||
process.cmd_line|contains: disabled
|
||||
selection3:
|
||||
process_name: sc.exe
|
||||
process.file.name: sc.exe
|
||||
condition: selection1 and selection2 and selection3
|
||||
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
|
||||
@@ -41,33 +41,10 @@ tags:
|
||||
on endpoint $dest_device_id$ by user $dest_user_id$ attempting to disable a service.
|
||||
mitre_attack_id:
|
||||
- T1489
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 36
|
||||
|
||||
@@ -12,11 +12,11 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name:
|
||||
process.file.name:
|
||||
- reg.exe
|
||||
- cmd.exe
|
||||
selection2:
|
||||
process|re:
|
||||
process.cmd_line|re:
|
||||
- HKEY_LOCAL_MACHINE\System
|
||||
- HKEY_LOCAL_MACHINE\SAM
|
||||
- HKEY_LOCAL_MACHINE\Security
|
||||
@@ -24,7 +24,7 @@ search:
|
||||
- HKLM\SAM
|
||||
- HKLM\Security
|
||||
selection3:
|
||||
process|re: save
|
||||
process.cmd_line|re: save
|
||||
condition: selection1 and (selection2) and selection3
|
||||
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
|
||||
@@ -40,32 +40,15 @@ tags:
|
||||
asset_type: Endpoint
|
||||
confidence: 90
|
||||
impact: 70
|
||||
message: An attempt to save registry keys storing credentials has been performed on
|
||||
message: An attempt to save registry keys storing credentials has been performed
|
||||
on
|
||||
mitre_attack_id:
|
||||
- T1003
|
||||
- T1003.002
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Actor
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- process_name
|
||||
- _time
|
||||
- dest_device_id
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 63
|
||||
|
||||
@@ -12,11 +12,11 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: bcdedit.exe
|
||||
process.file.name: bcdedit.exe
|
||||
selection2:
|
||||
process|contains: 'no'
|
||||
process.cmd_line|contains: 'no'
|
||||
selection3:
|
||||
process|contains: recoveryenabled
|
||||
process.cmd_line|contains: recoveryenabled
|
||||
condition: selection1 and (selection2 and selection3)
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -37,34 +37,10 @@ tags:
|
||||
to recover the endpoint.
|
||||
mitre_attack_id:
|
||||
- T1490
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 80
|
||||
|
||||
@@ -12,8 +12,8 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: cipher.exe
|
||||
process|contains: '/W:'
|
||||
process.file.name: cipher.exe
|
||||
process.cmd_line|contains: '/W:'
|
||||
condition: selection1
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -35,38 +35,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1070.004
|
||||
- T1070
|
||||
observable:
|
||||
- name: user
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- Processes.dest
|
||||
- Processes.user
|
||||
- Processes.parent_process_name
|
||||
- Processes.parent_process
|
||||
- Processes.original_file_name
|
||||
- Processes.process_name
|
||||
- Processes.process
|
||||
- Processes.process_id
|
||||
- Processes.parent_process_path
|
||||
- Processes.process_path
|
||||
- Processes.parent_process_id
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 90
|
||||
|
||||
@@ -15,11 +15,11 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains: user
|
||||
process.cmd_line|contains: user
|
||||
selection2:
|
||||
process|contains: /delete
|
||||
process.cmd_line|contains: /delete
|
||||
selection3:
|
||||
process_name:
|
||||
process.file.name:
|
||||
- net.exe
|
||||
- net1.exe
|
||||
condition: selection1 and selection2 and (selection3)
|
||||
@@ -43,34 +43,10 @@ tags:
|
||||
account.
|
||||
mitre_attack_id:
|
||||
- T1531
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 49
|
||||
|
||||
@@ -13,11 +13,11 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name:
|
||||
process.file.name:
|
||||
- icacls.exe
|
||||
- xcacls.exe
|
||||
- cacls.exe
|
||||
process|re: deny
|
||||
process.cmd_line|re: deny
|
||||
condition: (selection1)
|
||||
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
|
||||
@@ -34,30 +34,14 @@ tags:
|
||||
asset_type: Endpoint
|
||||
confidence: 70
|
||||
impact: 50
|
||||
message: A cacls process $process_name$ with commandline $process$ try to deny
|
||||
a permission of a file or directory in host $dest_device_id$
|
||||
message: A cacls process $process_name$ with commandline $process$ try to deny a
|
||||
permission of a file or directory in host $dest_device_id$
|
||||
mitre_attack_id:
|
||||
- T1222
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 35
|
||||
|
||||
@@ -11,27 +11,28 @@ description: The following analytic identifies parent processes, browsers, Windo
|
||||
need to be tuned to further enhance the risk.
|
||||
data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
search:
|
||||
selection1:
|
||||
parent_process_name:
|
||||
- winword.exe
|
||||
- excel.exe
|
||||
- outlook.exe
|
||||
- acrobat.exe
|
||||
- acrord32.exe
|
||||
- iexplore.exe
|
||||
- opera.exe
|
||||
- firefox.exe
|
||||
- powershell.exe
|
||||
actor.process.file.name:
|
||||
- winword.exe
|
||||
- excel.exe
|
||||
- outlook.exe
|
||||
- acrobat.exe
|
||||
- acrord32.exe
|
||||
- iexplore.exe
|
||||
- opera.exe
|
||||
- firefox.exe
|
||||
- powershell.exe
|
||||
selection2:
|
||||
parent_process_name: java.exe
|
||||
actor.process.file.name: java.exe
|
||||
selection3:
|
||||
parent_process_name|re: patch1-Hotfix1a
|
||||
actor.process.file.name|re: patch1-Hotfix1a
|
||||
selection4:
|
||||
parent_process_name: chrome.exe
|
||||
actor.process.file.name: chrome.exe
|
||||
selection5:
|
||||
process: chrome-extension
|
||||
condition: selection1 or (selection2 and not selection3) or (selection4 and not selection5)
|
||||
process.cmd_line: chrome-extension
|
||||
condition: selection1 or (selection2 and not selection3) or (selection4 and not
|
||||
selection5)
|
||||
how_to_implement: In order to successfully implement this analytic, you will need
|
||||
endpoint process data from a EDR product or Sysmon. This search has been modified
|
||||
to process raw sysmon data from attack_range's nxlogs on DSP.
|
||||
@@ -51,32 +52,10 @@ tags:
|
||||
that warrants investigating.
|
||||
mitre_attack_id:
|
||||
- T1059
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Actor
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- _time
|
||||
- dest_device_id
|
||||
- dest_user_id
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 35
|
||||
|
||||
@@ -16,7 +16,7 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- --multi-thread-streams
|
||||
- --transfers
|
||||
- --auto-confirm
|
||||
@@ -28,7 +28,7 @@ search:
|
||||
- pcloud
|
||||
- mega
|
||||
- copy
|
||||
process_name: rclone.exe
|
||||
process.file.name: rclone.exe
|
||||
condition: (selection1)
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -53,34 +53,10 @@ tags:
|
||||
remote cloud service to move files or folders.
|
||||
mitre_attack_id:
|
||||
- T1020
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 35
|
||||
|
||||
@@ -13,11 +13,11 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains: user
|
||||
process.cmd_line|contains: user
|
||||
selection2:
|
||||
process|contains: /active:no
|
||||
process.cmd_line|contains: /active:no
|
||||
selection3:
|
||||
process_name:
|
||||
process.file.name:
|
||||
- net.exe
|
||||
- net1.exe
|
||||
condition: selection1 and selection2 and (selection3)
|
||||
@@ -42,34 +42,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1489
|
||||
- T1078
|
||||
observable:
|
||||
- name: user
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 49
|
||||
|
||||
@@ -15,13 +15,13 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- -retry=
|
||||
- -type=
|
||||
- -q=
|
||||
- -qt=
|
||||
- -querytype=
|
||||
process_name: nslookup.exe
|
||||
process.file.name: nslookup.exe
|
||||
condition: (selection1)
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -46,34 +46,10 @@ tags:
|
||||
to DNS exfiltration.
|
||||
mitre_attack_id:
|
||||
- T1048
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 72
|
||||
|
||||
@@ -12,8 +12,8 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains: setzerodata
|
||||
process_name: fsutil.exe
|
||||
process.cmd_line|contains: setzerodata
|
||||
process.file.name: fsutil.exe
|
||||
condition: (selection1)
|
||||
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
|
||||
@@ -37,34 +37,10 @@ tags:
|
||||
deletion.
|
||||
mitre_attack_id:
|
||||
- T1070
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 54
|
||||
|
||||
@@ -13,11 +13,11 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name:
|
||||
process.file.name:
|
||||
- icacls.exe
|
||||
- xcacls.exe
|
||||
- cacls.exe
|
||||
process|re: grant
|
||||
process.cmd_line|re: grant
|
||||
condition: (selection1)
|
||||
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
|
||||
@@ -38,26 +38,10 @@ tags:
|
||||
user a permission to a file or directory in host $dest_device_id$
|
||||
mitre_attack_id:
|
||||
- T1222
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 35
|
||||
|
||||
@@ -13,8 +13,8 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: attrib.exe
|
||||
process|re: ''
|
||||
process.file.name: attrib.exe
|
||||
process.cmd_line|re: ''
|
||||
condition: selection1
|
||||
how_to_implement: You must be ingesting data that records process activity from your
|
||||
hosts to populate the Endpoint data model in the Processes node. You must also be
|
||||
@@ -38,24 +38,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1222.001
|
||||
- T1222
|
||||
observable:
|
||||
- name: user
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest
|
||||
type: Endpoint
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process
|
||||
type: Other
|
||||
role:
|
||||
- Attacker
|
||||
- Parent Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 72
|
||||
|
||||
@@ -15,12 +15,12 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|re:
|
||||
process.cmd_line|re:
|
||||
- 'S-1-1-0:'
|
||||
- 'SYSTEM:'
|
||||
- 'everyone:'
|
||||
selection2:
|
||||
process_name:
|
||||
process.file.name:
|
||||
- icacls.exe
|
||||
- xcacls.exe
|
||||
- cacls.exe
|
||||
@@ -43,26 +43,10 @@ tags:
|
||||
a permission of a file or directory in host $dest_device_id$
|
||||
mitre_attack_id:
|
||||
- T1222
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 35
|
||||
|
||||
@@ -12,10 +12,10 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name:
|
||||
process.file.name:
|
||||
- cscript.exe
|
||||
- wscript.exe
|
||||
parent_process_name|re:
|
||||
actor.process.file.name|re:
|
||||
- visio.exe
|
||||
- mspub.exe
|
||||
- powerpnt.exe
|
||||
@@ -41,33 +41,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1566
|
||||
- T1566.001
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 63
|
||||
|
||||
@@ -13,13 +13,13 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains: shadowstorage
|
||||
process.cmd_line|contains: shadowstorage
|
||||
selection2:
|
||||
process|contains: resize
|
||||
process.cmd_line|contains: resize
|
||||
selection3:
|
||||
process|contains: maxsize
|
||||
process.cmd_line|contains: maxsize
|
||||
selection4:
|
||||
process_name: vssadmin.exe
|
||||
process.file.name: vssadmin.exe
|
||||
condition: selection1 and selection2 and selection3 and selection4
|
||||
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
|
||||
@@ -42,34 +42,10 @@ tags:
|
||||
copy to perform offline password cracking.
|
||||
mitre_attack_id:
|
||||
- T1489
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 64
|
||||
|
||||
@@ -14,7 +14,7 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- .xls
|
||||
- .gz
|
||||
- .tar
|
||||
@@ -42,7 +42,7 @@ search:
|
||||
- '-p '
|
||||
- '-f '
|
||||
- '-c '
|
||||
process_name|contains: sdelete
|
||||
process.file.name|contains: sdelete
|
||||
condition: (selection1)
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -66,36 +66,10 @@ tags:
|
||||
- T1485
|
||||
- T1070.004
|
||||
- T1070
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest
|
||||
- user
|
||||
- parent_process_name
|
||||
- parent_process
|
||||
- process_name
|
||||
- process
|
||||
- process_id
|
||||
- process_path
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 42
|
||||
|
||||
@@ -15,7 +15,7 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name:
|
||||
process.file.name:
|
||||
- xwizard.exe
|
||||
- xpsrchvw.exe
|
||||
- xcopy.exe
|
||||
@@ -577,9 +577,9 @@ search:
|
||||
- adaptertroubleshooter.exe
|
||||
- arp.exe
|
||||
selection2:
|
||||
process_path|re: \\windows\\syswow64
|
||||
process.file.path|re: \\windows\\syswow64
|
||||
selection3:
|
||||
process_path|re: \\windows\\system32
|
||||
process.file.path|re: \\windows\\system32
|
||||
condition: selection1 and not selection2 and not selection3
|
||||
how_to_implement: Collect endpoint data such as sysmon or 4688 events.
|
||||
known_false_positives: None
|
||||
@@ -595,23 +595,10 @@ tags:
|
||||
folder path in host $dest_device_id$
|
||||
mitre_attack_id:
|
||||
- T1036
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- _time
|
||||
- dest_user_id
|
||||
- process_path
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 56
|
||||
|
||||
@@ -12,9 +12,9 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: wbadmin.exe
|
||||
process.file.name: wbadmin.exe
|
||||
selection2:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- systemstatebackup
|
||||
- catalog
|
||||
- delete
|
||||
@@ -40,34 +40,10 @@ tags:
|
||||
backups.
|
||||
mitre_attack_id:
|
||||
- T1490
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 15
|
||||
|
||||
@@ -12,15 +12,15 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|re:
|
||||
process.cmd_line|re:
|
||||
- powershell
|
||||
- setup
|
||||
- application
|
||||
- sysmon
|
||||
- system
|
||||
- security
|
||||
process|contains: ' cl '
|
||||
process_name: wevtutil.exe
|
||||
process.cmd_line|contains: ' cl '
|
||||
process.file.name: wevtutil.exe
|
||||
condition: (selection1)
|
||||
how_to_implement: You must be ingesting data that records process activity from your
|
||||
hosts to populate the Endpoint data model in the Processes node. You must also be
|
||||
@@ -41,30 +41,15 @@ tags:
|
||||
asset_type: Endpoint
|
||||
confidence: 90
|
||||
impact: 70
|
||||
message: A wevtutil process $process_name$ with commandline $process$ to clear
|
||||
event logs in host $dest_device_id$
|
||||
message: A wevtutil process $process_name$ with commandline $process$ to clear event
|
||||
logs in host $dest_device_id$
|
||||
mitre_attack_id:
|
||||
- T1070
|
||||
- T1070.001
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 63
|
||||
|
||||
@@ -12,11 +12,11 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains: /e:false
|
||||
process.cmd_line|contains: /e:false
|
||||
selection2:
|
||||
process|contains: ' sl '
|
||||
process.cmd_line|contains: ' sl '
|
||||
selection3:
|
||||
process_name: wevtutil.exe
|
||||
process.file.name: wevtutil.exe
|
||||
condition: selection1 and selection2 and selection3
|
||||
how_to_implement: You must be ingesting data that records process activity from your
|
||||
hosts to populate the Endpoint data model in the Processes node. You must also be
|
||||
@@ -41,25 +41,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1070
|
||||
- T1070.001
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 63
|
||||
|
||||
@@ -16,7 +16,7 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- resume
|
||||
- setcustomheaders
|
||||
- setminretrydelay
|
||||
@@ -24,7 +24,7 @@ search:
|
||||
- setnotifyflags
|
||||
- addfile
|
||||
- create
|
||||
process_name: bitsadmin.exe
|
||||
process.file.name: bitsadmin.exe
|
||||
condition: (selection1)
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -50,34 +50,10 @@ tags:
|
||||
on endpoint $dest$ by user $dest_user_id$ attempting to persist using BITS.
|
||||
mitre_attack_id:
|
||||
- T1197
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 56
|
||||
|
||||
@@ -21,8 +21,8 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains: transfer
|
||||
process_name: bitsadmin.exe
|
||||
process.cmd_line|contains: transfer
|
||||
process.file.name: bitsadmin.exe
|
||||
condition: (selection1)
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -50,34 +50,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1197
|
||||
- T1105
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 49
|
||||
|
||||
@@ -17,8 +17,8 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains: decode
|
||||
process_name: certutil.exe
|
||||
process.cmd_line|contains: decode
|
||||
process.file.name: certutil.exe
|
||||
condition: (selection1)
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -45,34 +45,10 @@ tags:
|
||||
on disk.
|
||||
mitre_attack_id:
|
||||
- T1140
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 40
|
||||
|
||||
@@ -16,13 +16,13 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: certutil.exe
|
||||
process.file.name: certutil.exe
|
||||
selection2:
|
||||
process|contains: split
|
||||
process.cmd_line|contains: split
|
||||
selection3:
|
||||
process|contains: urlcache
|
||||
process.cmd_line|contains: urlcache
|
||||
selection4:
|
||||
process|contains: urlcache
|
||||
process.cmd_line|contains: urlcache
|
||||
condition: selection1 and selection2 and selection3 or selection4
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -45,34 +45,10 @@ tags:
|
||||
on endpoint $dest_device_id$ by user $dest_user_id$ attempting to download a file.
|
||||
mitre_attack_id:
|
||||
- T1105
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 90
|
||||
|
||||
@@ -16,13 +16,13 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: certutil.exe
|
||||
process.file.name: certutil.exe
|
||||
selection2:
|
||||
process|contains: split
|
||||
process.cmd_line|contains: split
|
||||
selection3:
|
||||
process|contains: verifyctl
|
||||
process.cmd_line|contains: verifyctl
|
||||
selection4:
|
||||
process|contains: verifyctl
|
||||
process.cmd_line|contains: verifyctl
|
||||
condition: selection1 and selection2 and selection3 or selection4
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -46,34 +46,10 @@ tags:
|
||||
on endpoint $dest_device_id$ by user $dest_user_id$ attempting to download a file.
|
||||
mitre_attack_id:
|
||||
- T1105
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 90
|
||||
|
||||
@@ -17,8 +17,8 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|re: inprocserver32
|
||||
process_name: reg.exe
|
||||
process.cmd_line|re: inprocserver32
|
||||
process.file.name: reg.exe
|
||||
condition: selection1
|
||||
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
|
||||
@@ -40,34 +40,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1546.015
|
||||
- T1546
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 64
|
||||
|
||||
@@ -27,13 +27,13 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- '-F '
|
||||
- '--data '
|
||||
- '-d '
|
||||
- '--upload-file '
|
||||
- '-T '
|
||||
process_name|re: curl.exe
|
||||
process.file.name|re: curl.exe
|
||||
condition: selection1
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -56,34 +56,10 @@ tags:
|
||||
destination.
|
||||
mitre_attack_id:
|
||||
- T1105
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 80
|
||||
|
||||
@@ -11,11 +11,11 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name|re: mpcmdrun.exe
|
||||
process.file.name|re: mpcmdrun.exe
|
||||
selection2:
|
||||
process_path|re: \\windows defender
|
||||
process.file.path|re: \\windows defender
|
||||
selection3:
|
||||
process_path|re: \\microsoft\\windows defender\\platform
|
||||
process.file.path|re: \\microsoft\\windows defender\\platform
|
||||
condition: selection1 and not selection2 and not selection3
|
||||
how_to_implement: Collect endpoint data such as sysmon or 4688 events.
|
||||
known_false_positives: False positives may be present and filtering may be required.
|
||||
@@ -33,24 +33,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1036
|
||||
- T1036.003
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- _time
|
||||
- dest_user_id
|
||||
- process_path
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 56
|
||||
|
||||
@@ -15,10 +15,10 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- /s
|
||||
- -S
|
||||
process_name: diskshadow.exe
|
||||
process.file.name: diskshadow.exe
|
||||
condition: selection1
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on processes that include the name of the process responsible for the changes from
|
||||
@@ -37,34 +37,10 @@ tags:
|
||||
on endpoint $dest_device_id$ by user $dest_user_id$ attempting to run a script.
|
||||
mitre_attack_id:
|
||||
- T1218
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 49
|
||||
|
||||
@@ -15,7 +15,7 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name|re:
|
||||
process.file.name|re:
|
||||
- MSBuild.exe
|
||||
- comsvcconfig.exe
|
||||
- dfsradmin.exe
|
||||
@@ -60,7 +60,7 @@ search:
|
||||
- filehistory.exe
|
||||
- secureassessmentbrowser.exe
|
||||
selection2:
|
||||
process_path|re:
|
||||
process.file.path|re:
|
||||
- \\windows\\system32
|
||||
- \\windows\\syswow64
|
||||
- \\windows\\adws
|
||||
@@ -95,24 +95,10 @@ tags:
|
||||
- T1036.003
|
||||
- T1218
|
||||
- T1218.004
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- _time
|
||||
- dest_user_id
|
||||
- process_path
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 49
|
||||
|
||||
@@ -28,10 +28,10 @@ description: 'The following analytic identifies the usage of Exchange PowerShell
|
||||
This cmdlet returns all mail-enabled objects (for example, mailboxes, mail users,
|
||||
mail contacts, and distribution groups).'
|
||||
data_source:
|
||||
- Windows Security 4688
|
||||
- Powershell 4104
|
||||
search:
|
||||
selection1:
|
||||
process|re:
|
||||
process.cmd_line|re:
|
||||
- get-recipient
|
||||
- new-mailboxsearch
|
||||
- new-managementroleassignment
|
||||
@@ -63,22 +63,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1059
|
||||
- T1059.001
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 32
|
||||
|
||||
@@ -14,20 +14,20 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- ms-msdt:/id
|
||||
- ms-msdt:-id
|
||||
- ms-msdt:/id
|
||||
- 'ms-msdt:'
|
||||
- msdt
|
||||
process_name: msdt.exe
|
||||
process.file.name: msdt.exe
|
||||
selection2:
|
||||
process|re:
|
||||
process.cmd_line|re:
|
||||
- .xml
|
||||
- it_rebrowseforfile=
|
||||
- it_browseforfile=
|
||||
selection3:
|
||||
process|re: pcwdiagnostic
|
||||
process.cmd_line|re: pcwdiagnostic
|
||||
condition: selection1 and selection2 and selection3
|
||||
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
|
||||
@@ -54,30 +54,10 @@ tags:
|
||||
of indirect command execution.
|
||||
mitre_attack_id:
|
||||
- T1218
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 100
|
||||
|
||||
@@ -17,10 +17,10 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- https://
|
||||
- http://
|
||||
process_name: explorer.exe
|
||||
process.file.name: explorer.exe
|
||||
condition: (selection1)
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -40,34 +40,10 @@ tags:
|
||||
destination to download an additional payload.
|
||||
mitre_attack_id:
|
||||
- T1105
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 25
|
||||
|
||||
@@ -12,9 +12,9 @@ description: The following analytic identifies native living off the land binari
|
||||
regedit.exe) and DotNet binaries. It also does not include the category of OtherMSBinaries.
|
||||
data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
search:
|
||||
selection1:
|
||||
process_name:
|
||||
process.file.name:
|
||||
- bitsadmin.exe
|
||||
- certoc.exe
|
||||
- certreq.exe
|
||||
@@ -96,7 +96,7 @@ search:
|
||||
- wuauclt.exe
|
||||
- xwizard.exe
|
||||
selection2:
|
||||
process_path|re:
|
||||
process.file.path|re:
|
||||
- (?i)\\windows\\system32
|
||||
- (?i)\\windows\\syswow64
|
||||
- (?i)\\windows\\networkcontrolle
|
||||
@@ -128,24 +128,10 @@ tags:
|
||||
- T1036.003
|
||||
- T1218
|
||||
- T1218.004
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- _time
|
||||
- dest_user_id
|
||||
- process_path
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 49
|
||||
|
||||
@@ -13,7 +13,7 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name:
|
||||
process.file.name:
|
||||
- wscript.exe
|
||||
- cscript.exe
|
||||
- searchprotocolhost.exe
|
||||
@@ -23,7 +23,7 @@ search:
|
||||
- scrcons.exe
|
||||
- cmd.exe
|
||||
- powershell.exe
|
||||
parent_process_name|endswith: mshta.exe
|
||||
actor.process.file.name|endswith: mshta.exe
|
||||
condition: selection1
|
||||
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
|
||||
@@ -47,34 +47,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1218.005
|
||||
- T1218
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 80
|
||||
|
||||
@@ -16,10 +16,10 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- https://
|
||||
- http://
|
||||
process_name: mshta.exe
|
||||
process.file.name: mshta.exe
|
||||
condition: (selection1)
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -45,34 +45,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1218.005
|
||||
- T1218
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 80
|
||||
|
||||
@@ -14,11 +14,11 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- about
|
||||
- javascript
|
||||
- vbscript
|
||||
process_name: mshta.exe
|
||||
process.file.name: mshta.exe
|
||||
condition: (selection1)
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -44,34 +44,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1218.005
|
||||
- T1218
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 80
|
||||
|
||||
@@ -14,12 +14,12 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- '/f '
|
||||
- '-f '
|
||||
process_name: odbcconf.exe
|
||||
process.file.name: odbcconf.exe
|
||||
selection2:
|
||||
process|contains: .rsp
|
||||
process.cmd_line|contains: .rsp
|
||||
condition: (selection1) and selection2
|
||||
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
|
||||
@@ -41,30 +41,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1218.008
|
||||
- T1218
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 42
|
||||
|
||||
@@ -20,11 +20,11 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: ntdsutil.exe
|
||||
process.file.name: ntdsutil.exe
|
||||
selection2:
|
||||
process|contains: create
|
||||
process.cmd_line|contains: create
|
||||
selection3:
|
||||
process|contains: ntds
|
||||
process.cmd_line|contains: ntds
|
||||
condition: selection1 and (selection2 and selection3)
|
||||
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
|
||||
@@ -50,30 +50,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1003.003
|
||||
- T1003
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 50
|
||||
|
||||
@@ -19,14 +19,14 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- '-ma '
|
||||
- '-mm '
|
||||
process_name:
|
||||
process.file.name:
|
||||
- procdump64.exe
|
||||
- procdump.exe
|
||||
selection2:
|
||||
process|contains: lsass
|
||||
process.cmd_line|contains: lsass
|
||||
condition: (selection1) and selection2
|
||||
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
|
||||
@@ -49,30 +49,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1003.001
|
||||
- T1003
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 80
|
||||
|
||||
+4
-28
@@ -18,7 +18,7 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name:
|
||||
process.file.name:
|
||||
- powershell_ise.exe
|
||||
- powershell.exe
|
||||
- sqltoolsps.exe
|
||||
@@ -26,7 +26,7 @@ search:
|
||||
- pwsh.exe
|
||||
- pwsh.exe
|
||||
selection2:
|
||||
process|re: '(?i)[\-|\/]w(in*d*o*w*s*t*y*l*e*)*\s+[^-]'
|
||||
process.cmd_line|re: (?i)[\-|\/]w(in*d*o*w*s*t*y*l*e*)*\s+[^-]
|
||||
condition: selection1 and not selection2
|
||||
how_to_implement: You must be ingesting data that records process activity from your
|
||||
hosts to populate the Endpoint data model in the Processes node. You must also be
|
||||
@@ -55,34 +55,10 @@ tags:
|
||||
$dest$ executed by user $user$.
|
||||
mitre_attack_id:
|
||||
- T1020
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 35
|
||||
|
||||
+5
-17
@@ -14,12 +14,12 @@ description: The following analytic utilizes PowerShell Script Block Logging (Ev
|
||||
alike use may abuse Get-ADUSer to enumerate these accounts and attempt to crack
|
||||
their passwords offline.
|
||||
data_source:
|
||||
- Windows Security 4688
|
||||
- Powershell 4104
|
||||
search:
|
||||
selection1:
|
||||
process|contains: '4194304'
|
||||
process.cmd_line|contains: '4194304'
|
||||
selection2:
|
||||
process|re: get-aduser
|
||||
process.cmd_line|re: get-aduser
|
||||
condition: selection1 and selection2
|
||||
how_to_implement: To successfully implement this analytic, you will need to enable
|
||||
PowerShell Script Block Logging on some or all endpoints. Additional setup here
|
||||
@@ -40,22 +40,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1558
|
||||
- T1558.004
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 54
|
||||
|
||||
+5
-17
@@ -14,12 +14,12 @@ description: The following analytic utilizes PowerShell Script Block Logging (Ev
|
||||
Red Teams and adversaries alike use may leverage PowerView to enumerate these accounts
|
||||
and attempt to crack their passwords offline.
|
||||
data_source:
|
||||
- Windows Security 4688
|
||||
- Powershell 4104
|
||||
search:
|
||||
selection1:
|
||||
process|re: preauthnotrequired
|
||||
process.cmd_line|re: preauthnotrequired
|
||||
selection2:
|
||||
process|re: get-domainuser
|
||||
process.cmd_line|re: get-domainuser
|
||||
condition: selection1 and selection2
|
||||
how_to_implement: To successfully implement this analytic, you will need to enable
|
||||
PowerShell Script Block Logging on some or all endpoints. Additional setup here
|
||||
@@ -39,22 +39,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1558
|
||||
- T1558.004
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 54
|
||||
|
||||
@@ -14,7 +14,7 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name:
|
||||
process.file.name:
|
||||
- powershell_ise.exe
|
||||
- powershell.exe
|
||||
- sqltoolsps.exe
|
||||
@@ -22,7 +22,7 @@ search:
|
||||
- pwsh.exe
|
||||
- pwsh.exe
|
||||
selection2:
|
||||
process|re: downloadfile
|
||||
process.cmd_line|re: downloadfile
|
||||
condition: selection1 and selection2
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -49,34 +49,10 @@ tags:
|
||||
within PowerShell.
|
||||
mitre_attack_id:
|
||||
- T1020
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 35
|
||||
|
||||
@@ -16,7 +16,7 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name:
|
||||
process.file.name:
|
||||
- powershell_ise.exe
|
||||
- powershell.exe
|
||||
- sqltoolsps.exe
|
||||
@@ -24,7 +24,7 @@ search:
|
||||
- pwsh.exe
|
||||
- pwsh.exe
|
||||
selection2:
|
||||
process|re: start-bitstransfer
|
||||
process.cmd_line|re: start-bitstransfer
|
||||
condition: selection1 and selection2
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -47,34 +47,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1197
|
||||
- T1105
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 49
|
||||
|
||||
@@ -13,11 +13,11 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: rasautou.exe
|
||||
process.file.name: rasautou.exe
|
||||
selection2:
|
||||
process|re: '-p '
|
||||
process.cmd_line|re: '-p '
|
||||
selection3:
|
||||
process|re: '-d '
|
||||
process.cmd_line|re: '-d '
|
||||
condition: selection1 and selection2 and selection3
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -44,34 +44,10 @@ tags:
|
||||
- T1055.001
|
||||
- T1218
|
||||
- T1055
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 80
|
||||
|
||||
+4
-17
@@ -13,9 +13,9 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: acccheckconsole.exe
|
||||
process.file.name: acccheckconsole.exe
|
||||
selection2:
|
||||
process_path|re: \\program files (x86)\\windows kits\\10\\bin\\10.0.22000.0\\arm64\\accchecker
|
||||
process.file.path|re: \\program files (x86)\\windows kits\\10\\bin\\10.0.22000.0\\arm64\\accchecker
|
||||
condition: selection1 and not selection2
|
||||
how_to_implement: To successfully implement this search, you must be ingesting logs
|
||||
with the process name, command-line arguments, and parent processes from your endpoints.
|
||||
@@ -39,23 +39,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1036
|
||||
- T1036.003
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- _time
|
||||
- dest_user_id
|
||||
- process_path
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 14
|
||||
|
||||
+4
-17
@@ -13,9 +13,9 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: adplus.exe
|
||||
process.file.name: adplus.exe
|
||||
selection2:
|
||||
process_path|re: \\program files (x86)\\windows kits\\10\\debuggers\\x86
|
||||
process.file.path|re: \\program files (x86)\\windows kits\\10\\debuggers\\x86
|
||||
condition: selection1 and not selection2
|
||||
how_to_implement: To successfully implement this search, you must be ingesting logs
|
||||
with the process name, command-line arguments, and parent processes from your endpoints.
|
||||
@@ -39,23 +39,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1036
|
||||
- T1036.003
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- _time
|
||||
- dest_user_id
|
||||
- process_path
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 14
|
||||
|
||||
+4
-17
@@ -13,9 +13,9 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: advpack.dll
|
||||
process.file.name: advpack.dll
|
||||
selection2:
|
||||
process_path|re: \\windows\\syswow64
|
||||
process.file.path|re: \\windows\\syswow64
|
||||
condition: selection1 and not selection2
|
||||
how_to_implement: To successfully implement this search, you must be ingesting logs
|
||||
with the process name, command-line arguments, and parent processes from your endpoints.
|
||||
@@ -39,23 +39,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1036
|
||||
- T1036.003
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- _time
|
||||
- dest_user_id
|
||||
- process_path
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 14
|
||||
|
||||
+4
-17
@@ -13,9 +13,9 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: agentexecutor.exe
|
||||
process.file.name: agentexecutor.exe
|
||||
selection2:
|
||||
process_path|re: \\program files (x86)
|
||||
process.file.path|re: \\program files (x86)
|
||||
condition: selection1 and not selection2
|
||||
how_to_implement: To successfully implement this search, you must be ingesting logs
|
||||
with the process name, command-line arguments, and parent processes from your endpoints.
|
||||
@@ -39,23 +39,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1036
|
||||
- T1036.003
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- _time
|
||||
- dest_user_id
|
||||
- process_path
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 14
|
||||
|
||||
+4
-17
@@ -13,9 +13,9 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: appinstaller.exe
|
||||
process.file.name: appinstaller.exe
|
||||
selection2:
|
||||
process_path|re: \\program files\\windowsapps\\microsoft.desktopappinstaller_1.11.2521.0_x64__8wekyb3d8bbwe
|
||||
process.file.path|re: \\program files\\windowsapps\\microsoft.desktopappinstaller_1.11.2521.0_x64__8wekyb3d8bbwe
|
||||
condition: selection1 and not selection2
|
||||
how_to_implement: To successfully implement this search, you must be ingesting logs
|
||||
with the process name, command-line arguments, and parent processes from your endpoints.
|
||||
@@ -39,23 +39,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1036
|
||||
- T1036.003
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- _time
|
||||
- dest_user_id
|
||||
- process_path
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 14
|
||||
|
||||
+4
-17
@@ -13,9 +13,9 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: appvlp.exe
|
||||
process.file.name: appvlp.exe
|
||||
selection2:
|
||||
process_path|re: \\program files (x86)\\microsoft office\\root\\client
|
||||
process.file.path|re: \\program files (x86)\\microsoft office\\root\\client
|
||||
condition: selection1 and not selection2
|
||||
how_to_implement: To successfully implement this search, you must be ingesting logs
|
||||
with the process name, command-line arguments, and parent processes from your endpoints.
|
||||
@@ -39,23 +39,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1036
|
||||
- T1036.003
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- _time
|
||||
- dest_user_id
|
||||
- process_path
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 14
|
||||
|
||||
+4
-17
@@ -13,9 +13,9 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: aspnet_compiler.exe
|
||||
process.file.name: aspnet_compiler.exe
|
||||
selection2:
|
||||
process_path|re: \\windows\\microsoft.net\\framework64\\v4.0.30319
|
||||
process.file.path|re: \\windows\\microsoft.net\\framework64\\v4.0.30319
|
||||
condition: selection1 and not selection2
|
||||
how_to_implement: To successfully implement this search, you must be ingesting logs
|
||||
with the process name, command-line arguments, and parent processes from your endpoints.
|
||||
@@ -39,23 +39,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1036
|
||||
- T1036.003
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- _time
|
||||
- dest_user_id
|
||||
- process_path
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 14
|
||||
|
||||
+4
-17
@@ -13,9 +13,9 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: at.exe
|
||||
process.file.name: at.exe
|
||||
selection2:
|
||||
process_path|re: \\windows\\syswow64
|
||||
process.file.path|re: \\windows\\syswow64
|
||||
condition: selection1 and not selection2
|
||||
how_to_implement: To successfully implement this search, you must be ingesting logs
|
||||
with the process name, command-line arguments, and parent processes from your endpoints.
|
||||
@@ -39,23 +39,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1036
|
||||
- T1036.003
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- _time
|
||||
- dest_user_id
|
||||
- process_path
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 14
|
||||
|
||||
+4
-17
@@ -13,9 +13,9 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: atbroker.exe
|
||||
process.file.name: atbroker.exe
|
||||
selection2:
|
||||
process_path|re: \\windows\\syswow64
|
||||
process.file.path|re: \\windows\\syswow64
|
||||
condition: selection1 and not selection2
|
||||
how_to_implement: To successfully implement this search, you must be ingesting logs
|
||||
with the process name, command-line arguments, and parent processes from your endpoints.
|
||||
@@ -39,23 +39,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1036
|
||||
- T1036.003
|
||||
observable:
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- _time
|
||||
- dest_user_id
|
||||
- process_path
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 14
|
||||
|
||||
@@ -12,10 +12,10 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|re: minidump
|
||||
process_name: 'rundll32.exe'
|
||||
process.cmd_line|re: minidump
|
||||
process.file.name: rundll32.exe
|
||||
selection2:
|
||||
process|re: comsvcs.dll
|
||||
process.cmd_line|re: comsvcs.dll
|
||||
condition: selection1 and selection2
|
||||
how_to_implement: You must be ingesting endpoint data that tracks process activity,
|
||||
including Windows command line logging. You can see how we test this with [Event
|
||||
@@ -37,23 +37,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1003.003
|
||||
- T1003
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Actor
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- process_name
|
||||
- _tenant
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Actions on Objectives
|
||||
risk_score: 40
|
||||
|
||||
@@ -16,11 +16,11 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- about
|
||||
- javascript
|
||||
- vbscript
|
||||
process_name: rundll32.exe
|
||||
process.file.name: rundll32.exe
|
||||
condition: selection1
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -45,34 +45,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1218
|
||||
- T1218.005
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 56
|
||||
|
||||
@@ -15,10 +15,10 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: MSBuild.exe
|
||||
parent_process_name|re:
|
||||
- 'cscript.exe'
|
||||
- 'wscript.exe'
|
||||
process.file.name: MSBuild.exe
|
||||
actor.process.file.name|re:
|
||||
- cscript.exe
|
||||
- wscript.exe
|
||||
condition: selection1
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -42,34 +42,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1127.001
|
||||
- T1127
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process Name
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 80
|
||||
|
||||
+4
-24
@@ -15,8 +15,8 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains: -decompile
|
||||
process_name: hh.exe
|
||||
process.cmd_line|contains: -decompile
|
||||
process.file.name: hh.exe
|
||||
condition: selection1
|
||||
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
|
||||
@@ -40,30 +40,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1218.001
|
||||
- T1218
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 90
|
||||
|
||||
+4
-24
@@ -20,10 +20,10 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- https://
|
||||
- http://
|
||||
process_name: hh.exe
|
||||
process.file.name: hh.exe
|
||||
condition: (selection1)
|
||||
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
|
||||
@@ -50,30 +50,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1218.001
|
||||
- T1218
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 90
|
||||
|
||||
+4
-24
@@ -23,10 +23,10 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- 'mk:@MSITStore:'
|
||||
- 'its:'
|
||||
process_name: hh.exe
|
||||
process.file.name: hh.exe
|
||||
condition: (selection1)
|
||||
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
|
||||
@@ -53,30 +53,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1218.001
|
||||
- T1218
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 72
|
||||
|
||||
+4
-24
@@ -12,10 +12,10 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- '-y '
|
||||
- '/y '
|
||||
process_name: msiexec.exe
|
||||
process.file.name: msiexec.exe
|
||||
condition: (selection1)
|
||||
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
|
||||
@@ -36,30 +36,10 @@ tags:
|
||||
by user $dest_user_id$ attempting to register a file.
|
||||
mitre_attack_id:
|
||||
- T1218.007
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 35
|
||||
|
||||
+4
-24
@@ -12,10 +12,10 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- https://
|
||||
- http://
|
||||
process_name: msiexec.exe
|
||||
process.file.name: msiexec.exe
|
||||
condition: (selection1)
|
||||
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
|
||||
@@ -36,30 +36,10 @@ tags:
|
||||
by user $dest_user_id$ attempting to download a file.
|
||||
mitre_attack_id:
|
||||
- T1218.007
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 35
|
||||
|
||||
+4
-24
@@ -12,10 +12,10 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process|contains:
|
||||
process.cmd_line|contains:
|
||||
- '-z '
|
||||
- '/z '
|
||||
process_name: msiexec.exe
|
||||
process.file.name: msiexec.exe
|
||||
condition: (selection1)
|
||||
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
|
||||
@@ -36,30 +36,10 @@ tags:
|
||||
by user $dest_user_id$ attempting to unregister a DLL.
|
||||
mitre_attack_id:
|
||||
- T1218.007
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 35
|
||||
|
||||
@@ -16,8 +16,8 @@ data_source:
|
||||
- Windows Security 4688
|
||||
search:
|
||||
selection1:
|
||||
process_name: MSBuild.exe
|
||||
parent_process_name|re: wmiprvse.exe
|
||||
process.file.name: MSBuild.exe
|
||||
actor.process.file.name|re: wmiprvse.exe
|
||||
condition: selection1
|
||||
how_to_implement: To successfully implement this search you need to be ingesting information
|
||||
on process that include the name of the process responsible for the changes from
|
||||
@@ -41,34 +41,10 @@ tags:
|
||||
mitre_attack_id:
|
||||
- T1127
|
||||
- T1127.001
|
||||
observable:
|
||||
- name: dest_user_id
|
||||
type: User
|
||||
role:
|
||||
- Victim
|
||||
- name: dest_device_id
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
- name: parent_process_name
|
||||
type: Process Name
|
||||
role:
|
||||
- Parent Process
|
||||
- name: process_name
|
||||
type: Process
|
||||
role:
|
||||
- Child Process
|
||||
observable: []
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- dest_device_id
|
||||
- process_name
|
||||
- parent_process_name
|
||||
- process_path
|
||||
- dest_user_id
|
||||
- process
|
||||
- process
|
||||
required_fields: []
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 80
|
||||
|
||||
+22
-18
@@ -11,18 +11,18 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
(process_file_name="WinRAR.exe" OR like(process_file_name, "7z%") OR like(process_file_name,
|
||||
"winzip%")) AND (like(actor_process_file_name, "%powershell.exe") OR like(actor_process_file_name,
|
||||
"%cmd.exe"))
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where (process_file_name="WinRAR.exe" OR like(process_file_name, "7z%")
|
||||
OR like(process_file_name, "winzip%")) AND (like(actor_process_file_name, "%powershell.exe")
|
||||
OR like(actor_process_file_name, "%cmd.exe"))
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -30,11 +30,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.process.file.name", actor_process_file_name),
|
||||
"message", concat("Anomalous usage of Archive Tools has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Anomalous usage of Archive Tools has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -59,11 +59,15 @@ references:
|
||||
- https://attack.mitre.org/techniques/T1560/001/
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 42
|
||||
security_domain: endpoint
|
||||
risk_severity: low
|
||||
@@ -78,7 +82,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+22
-16
@@ -14,16 +14,17 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
like(process_cmd_line, "%delete%") AND process_file_name="sc.exe"
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where process_file_name="sc.exe" AND like(process_cmd_line, "%delete%")
|
||||
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -31,11 +32,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Attempt To Delete Services has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Attempt To Delete Services has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -62,10 +63,15 @@ references:
|
||||
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1543.003/T1543.003.md
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 36
|
||||
security_domain: endpoint
|
||||
risk_severity: low
|
||||
@@ -80,7 +86,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+22
-17
@@ -14,17 +14,17 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
like(process_cmd_line, "%config%") AND like(process_cmd_line, "%disabled%") AND
|
||||
process_file_name="sc.exe"
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where like(process_cmd_line, "%config%") AND like(process_cmd_line, "%disabled%")
|
||||
AND process_file_name="sc.exe"
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -32,11 +32,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Attempt To Disable Services has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Attempt To Disable Services has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -64,10 +64,15 @@ references:
|
||||
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1562.001/T1562.001.md#atomic-test-14---disable-arbitrary-security-windows-service
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 36
|
||||
security_domain: endpoint
|
||||
risk_severity: low
|
||||
@@ -82,7 +87,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+21
-16
@@ -12,16 +12,16 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
(process_file_name="reg.exe" OR process_file_name="cmd.exe") AND (match_regex(process_cmd_line,
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where (process_file_name="reg.exe" OR process_file_name="cmd.exe") AND (match_regex(process_cmd_line,
|
||||
/(?i)HKEY_LOCAL_MACHINE\\System/)=true OR match_regex(process_cmd_line, /(?i)HKEY_LOCAL_MACHINE\\SAM/)=true
|
||||
OR match_regex(process_cmd_line, /(?i)HKEY_LOCAL_MACHINE\\Security/)=true OR match_regex(process_cmd_line,
|
||||
/(?i)HKLM\\System/)=true OR match_regex(process_cmd_line, /(?i)HKLM\\SAM/)=true
|
||||
@@ -34,11 +34,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Attempted Credential Dump From Registry via Reg exe has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Attempted Credential Dump From Registry via Reg exe has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -64,10 +64,15 @@ references:
|
||||
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1003.002/T1003.002.md#atomic-test-1---registry-dump-of-sam-creds-and-secrets
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 63
|
||||
security_domain: endpoint
|
||||
risk_severity: medium
|
||||
@@ -82,7 +87,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+22
-17
@@ -12,17 +12,17 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
process_file_name="bcdedit.exe" AND (like(process_cmd_line, "%no%") AND like(process_cmd_line,
|
||||
"%recoveryenabled%"))
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where process_file_name="bcdedit.exe" AND (like(process_cmd_line, "%no%")
|
||||
AND like(process_cmd_line, "%recoveryenabled%"))
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -30,11 +30,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("BCDEdit Failure Recovery Modification has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("BCDEdit Failure Recovery Modification has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -58,10 +58,15 @@ references:
|
||||
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1490/T1490.md#atomic-test-4---windows---disable-windows-recovery-console-repair
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 80
|
||||
security_domain: endpoint
|
||||
risk_severity: high
|
||||
@@ -76,7 +81,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
@@ -12,16 +12,17 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
like(process_cmd_line, "%/W:%") AND process_file_name="cipher.exe"
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where process_file_name="cipher.exe" AND like(process_cmd_line, "%/W:%")
|
||||
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -29,11 +30,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Clear Unallocated Sector Using Cipher App has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Clear Unallocated Sector Using Cipher App has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -58,10 +59,15 @@ references:
|
||||
- https://www.sophos.com/en-us/medialibrary/PDFs/technical-papers/sophoslabs-ransomware-behavior-report.pdf
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 90
|
||||
security_domain: endpoint
|
||||
risk_severity: high
|
||||
@@ -76,7 +82,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+22
-17
@@ -15,17 +15,17 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
like(process_cmd_line, "%user%") AND like(process_cmd_line, "%/delete%") AND (process_file_name="net.exe"
|
||||
OR process_file_name="net1.exe")
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where like(process_cmd_line, "%user%") AND like(process_cmd_line, "%/delete%")
|
||||
AND (process_file_name="net.exe" OR process_file_name="net1.exe")
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -33,11 +33,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Delete A Net User has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Delete A Net User has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -63,10 +63,15 @@ references:
|
||||
- https://thedfirreport.com/2020/04/20/sqlserver-or-the-miner-in-the-basement/
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 49
|
||||
security_domain: endpoint
|
||||
risk_severity: low
|
||||
@@ -81,7 +86,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+23
-17
@@ -13,17 +13,18 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
match_regex(process_cmd_line, /(?i)deny/)=true AND (process_file_name="icacls.exe"
|
||||
OR process_file_name="xcacls.exe" OR process_file_name="cacls.exe")
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where (process_file_name="icacls.exe" OR process_file_name="xcacls.exe"
|
||||
OR process_file_name="cacls.exe") AND match_regex(process_cmd_line, /(?i)deny/)=true
|
||||
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -31,11 +32,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Deny Permission using Cacls Utility has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Deny Permission using Cacls Utility has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -61,10 +62,15 @@ references:
|
||||
- https://thedfirreport.com/2020/04/20/sqlserver-or-the-miner-in-the-basement/
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 35
|
||||
security_domain: endpoint
|
||||
risk_severity: low
|
||||
@@ -79,7 +85,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
@@ -13,18 +13,18 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
(actor_process_file_name="winword.exe" OR actor_process_file_name="excel.exe" OR
|
||||
actor_process_file_name="outlook.exe" OR actor_process_file_name="acrobat.exe" OR
|
||||
actor_process_file_name="acrord32.exe" OR actor_process_file_name="iexplore.exe"
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where (actor_process_file_name="winword.exe" OR actor_process_file_name="excel.exe"
|
||||
OR actor_process_file_name="outlook.exe" OR actor_process_file_name="acrobat.exe"
|
||||
OR actor_process_file_name="acrord32.exe" OR actor_process_file_name="iexplore.exe"
|
||||
OR actor_process_file_name="opera.exe" OR actor_process_file_name="firefox.exe"
|
||||
OR actor_process_file_name="powershell.exe") OR (actor_process_file_name="java.exe"
|
||||
AND (NOT match_regex(actor_process_file_name, /(?i)patch1-Hotfix1a/)=true)) OR (actor_process_file_name="chrome.exe"
|
||||
@@ -36,11 +36,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.cmd_line", process_cmd_line, "actor.process.file.name", actor_process_file_name),
|
||||
"message", concat("Detect Prohibited Applications Spawning cmd exe has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Detect Prohibited Applications Spawning cmd exe has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -65,10 +65,15 @@ references:
|
||||
- https://attack.mitre.org/techniques/T1059/
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 35
|
||||
security_domain: endpoint
|
||||
risk_severity: low
|
||||
@@ -83,7 +88,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+27
-21
@@ -16,21 +16,22 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
(like(process_cmd_line, "%--multi-thread-streams%") OR like(process_cmd_line, "%--transfers%")
|
||||
OR like(process_cmd_line, "%--auto-confirm%") OR like(process_cmd_line, "%--ignore-existing%")
|
||||
OR like(process_cmd_line, "%--no-check-certificate%") OR like(process_cmd_line,
|
||||
"%--progress%") OR like(process_cmd_line, "%--config%") OR like(process_cmd_line,
|
||||
"%ftp%") OR like(process_cmd_line, "%pcloud%") OR like(process_cmd_line, "%mega%")
|
||||
OR like(process_cmd_line, "%copy%")) AND process_file_name="rclone.exe"
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where (like(process_cmd_line, "%--multi-thread-streams%") OR like(process_cmd_line,
|
||||
"%--transfers%") OR like(process_cmd_line, "%--auto-confirm%") OR like(process_cmd_line,
|
||||
"%--ignore-existing%") OR like(process_cmd_line, "%--no-check-certificate%") OR
|
||||
like(process_cmd_line, "%--progress%") OR like(process_cmd_line, "%--config%") OR
|
||||
like(process_cmd_line, "%ftp%") OR like(process_cmd_line, "%pcloud%") OR like(process_cmd_line,
|
||||
"%mega%") OR like(process_cmd_line, "%copy%")) AND process_file_name="rclone.exe"
|
||||
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -38,11 +39,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Detect RClone Command-Line Usage has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Detect RClone Command-Line Usage has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -70,10 +71,15 @@ references:
|
||||
- https://thedfirreport.com/2021/11/29/continuing-the-bazar-ransomware-story/
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 35
|
||||
security_domain: endpoint
|
||||
risk_severity: low
|
||||
@@ -88,7 +94,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+22
-17
@@ -13,17 +13,17 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
like(process_cmd_line, "%user%") AND like(process_cmd_line, "%/active:no%") AND
|
||||
(process_file_name="net.exe" OR process_file_name="net1.exe")
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where like(process_cmd_line, "%user%") AND like(process_cmd_line, "%/active:no%")
|
||||
AND (process_file_name="net.exe" OR process_file_name="net1.exe")
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -31,11 +31,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Disable Net User Account has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Disable Net User Account has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -62,10 +62,15 @@ references:
|
||||
- https://thedfirreport.com/2020/04/20/sqlserver-or-the-miner-in-the-basement/
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 49
|
||||
security_domain: endpoint
|
||||
risk_severity: low
|
||||
@@ -80,7 +85,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+23
-18
@@ -15,18 +15,18 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
(like(process_cmd_line, "%-retry=%") OR like(process_cmd_line, "%-type=%") OR like(process_cmd_line,
|
||||
"%-q=%") OR like(process_cmd_line, "%-qt=%") OR like(process_cmd_line, "%-querytype=%"))
|
||||
AND process_file_name="nslookup.exe"
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where (like(process_cmd_line, "%-retry=%") OR like(process_cmd_line, "%-type=%")
|
||||
OR like(process_cmd_line, "%-q=%") OR like(process_cmd_line, "%-qt=%") OR like(process_cmd_line,
|
||||
"%-querytype=%")) AND process_file_name="nslookup.exe"
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -34,11 +34,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("DNS Exfiltration Using Nslookup App has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("DNS Exfiltration Using Nslookup App has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -65,10 +65,15 @@ references:
|
||||
- https://www.microsoft.com/security/blog/2021/01/20/deep-dive-into-the-solorigate-second-stage-activation-from-sunburst-to-teardrop-and-raindrop/
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 72
|
||||
security_domain: endpoint
|
||||
risk_severity: medium
|
||||
@@ -83,7 +88,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+22
-16
@@ -12,16 +12,17 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
like(process_cmd_line, "%setzerodata%") AND process_file_name="fsutil.exe"
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where like(process_cmd_line, "%setzerodata%") AND process_file_name="fsutil.exe"
|
||||
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -29,11 +30,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Fsutil Zeroing File has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Fsutil Zeroing File has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -60,10 +61,15 @@ references:
|
||||
- https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil-file
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 54
|
||||
security_domain: endpoint
|
||||
risk_severity: medium
|
||||
@@ -78,7 +84,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+23
-17
@@ -13,17 +13,18 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
match_regex(process_cmd_line, /(?i)grant/)=true AND (process_file_name="icacls.exe"
|
||||
OR process_file_name="xcacls.exe" OR process_file_name="cacls.exe")
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where (process_file_name="icacls.exe" OR process_file_name="xcacls.exe"
|
||||
OR process_file_name="cacls.exe") AND match_regex(process_cmd_line, /(?i)grant/)=true
|
||||
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -31,11 +32,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Grant Permission Using Cacls Utility has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Grant Permission Using Cacls Utility has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -61,10 +62,15 @@ references:
|
||||
- https://thedfirreport.com/2020/04/20/sqlserver-or-the-miner-in-the-basement/
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 35
|
||||
security_domain: endpoint
|
||||
risk_severity: low
|
||||
@@ -79,7 +85,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
@@ -13,16 +13,17 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
match_regex(process_cmd_line, /(?i)/)=true AND process_file_name="attrib.exe"
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where process_file_name="attrib.exe" AND match_regex(process_cmd_line, /(?i)/)=true
|
||||
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -30,11 +31,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Hiding Files And Directories With Attrib exe has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Hiding Files And Directories With Attrib exe has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -61,10 +62,15 @@ references:
|
||||
- https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/attrib
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 72
|
||||
security_domain: endpoint
|
||||
risk_severity: medium
|
||||
@@ -79,7 +85,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
@@ -15,16 +15,16 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
(match_regex(process_cmd_line, /(?i)S-1-1-0:/)=true OR match_regex(process_cmd_line,
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where (match_regex(process_cmd_line, /(?i)S-1-1-0:/)=true OR match_regex(process_cmd_line,
|
||||
/(?i)SYSTEM:/)=true OR match_regex(process_cmd_line, /(?i)everyone:/)=true) AND
|
||||
(process_file_name="icacls.exe" OR process_file_name="xcacls.exe" OR process_file_name="cacls.exe")
|
||||
|
||||
@@ -35,11 +35,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Modify ACLs Permission Of Files Or Folders has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Modify ACLs Permission Of Files Or Folders has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -65,10 +65,15 @@ references:
|
||||
- https://thedfirreport.com/2020/04/20/sqlserver-or-the-miner-in-the-basement/
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 35
|
||||
security_domain: endpoint
|
||||
risk_severity: low
|
||||
@@ -83,7 +88,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
@@ -12,20 +12,20 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
(match_regex(actor_process_file_name, /(?i)visio.exe/)=true OR match_regex(actor_process_file_name,
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where (process_file_name="cscript.exe" OR process_file_name="wscript.exe")
|
||||
AND (match_regex(actor_process_file_name, /(?i)visio.exe/)=true OR match_regex(actor_process_file_name,
|
||||
/(?i)mspub.exe/)=true OR match_regex(actor_process_file_name, /(?i)powerpnt.exe/)=true
|
||||
OR match_regex(actor_process_file_name, /(?i)excel.exe/)=true OR match_regex(actor_process_file_name,
|
||||
/(?i)winword.exe/)=true) AND (process_file_name="cscript.exe" OR process_file_name="wscript.exe")
|
||||
|
||||
/(?i)winword.exe/)=true)
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -33,11 +33,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.process.file.name", actor_process_file_name),
|
||||
"message", concat("Office Product Spawning Windows Script Host has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Office Product Spawning Windows Script Host has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -63,11 +63,15 @@ references:
|
||||
- https://blog.cluster25.duskrise.com/2022/09/23/in-the-footsteps-of-the-fancy-bear-powerpoint-graphite/
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 63
|
||||
security_domain: endpoint
|
||||
risk_severity: medium
|
||||
@@ -82,7 +86,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+23
-17
@@ -13,17 +13,18 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
like(process_cmd_line, "%shadowstorage%") AND like(process_cmd_line, "%resize%")
|
||||
AND like(process_cmd_line, "%maxsize%") AND process_file_name="vssadmin.exe"
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where like(process_cmd_line, "%shadowstorage%") AND like(process_cmd_line,
|
||||
"%resize%") AND like(process_cmd_line, "%maxsize%") AND process_file_name="vssadmin.exe"
|
||||
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -31,11 +32,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Resize Shadowstorage Volume has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Resize Shadowstorage Volume has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -62,10 +63,15 @@ references:
|
||||
- https://blog.virustotal.com/2020/11/keep-your-friends-close-keep-ransomware.html
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 64
|
||||
security_domain: endpoint
|
||||
risk_severity: medium
|
||||
@@ -80,7 +86,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+32
-27
@@ -14,27 +14,27 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
(like(process_cmd_line, "%.xls%") OR like(process_cmd_line, "%.gz%") OR like(process_cmd_line,
|
||||
"%.tar%") OR like(process_cmd_line, "%.rar%") OR like(process_cmd_line, "%.zip%")
|
||||
OR like(process_cmd_line, "%.7z%") OR like(process_cmd_line, "%.bmp%") OR like(process_cmd_line,
|
||||
"%.gif%") OR like(process_cmd_line, "%.png%") OR like(process_cmd_line, "%.jpg%")
|
||||
OR like(process_cmd_line, "%.txt%") OR like(process_cmd_line, "%.log%") OR like(process_cmd_line,
|
||||
"%.key%") OR like(process_cmd_line, "%.pdf%") OR like(process_cmd_line, "%.rtf%")
|
||||
OR like(process_cmd_line, "%.ppt%") OR like(process_cmd_line, "%.xls%") OR like(process_cmd_line,
|
||||
"%.doc%") OR like(process_cmd_line, "%-nobanner%") OR like(process_cmd_line, "%/accepteula%")
|
||||
OR like(process_cmd_line, "%-z %") OR like(process_cmd_line, "%-s %") OR like(process_cmd_line,
|
||||
"%-q %") OR like(process_cmd_line, "%-r %") OR like(process_cmd_line, "%-p %") OR
|
||||
like(process_cmd_line, "%-f %") OR like(process_cmd_line, "%-c %")) AND like(process_file_name,
|
||||
"%sdelete%")
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where (like(process_cmd_line, "%.xls%") OR like(process_cmd_line, "%.gz%")
|
||||
OR like(process_cmd_line, "%.tar%") OR like(process_cmd_line, "%.rar%") OR like(process_cmd_line,
|
||||
"%.zip%") OR like(process_cmd_line, "%.7z%") OR like(process_cmd_line, "%.bmp%")
|
||||
OR like(process_cmd_line, "%.gif%") OR like(process_cmd_line, "%.png%") OR like(process_cmd_line,
|
||||
"%.jpg%") OR like(process_cmd_line, "%.txt%") OR like(process_cmd_line, "%.log%")
|
||||
OR like(process_cmd_line, "%.key%") OR like(process_cmd_line, "%.pdf%") OR like(process_cmd_line,
|
||||
"%.rtf%") OR like(process_cmd_line, "%.ppt%") OR like(process_cmd_line, "%.xls%")
|
||||
OR like(process_cmd_line, "%.doc%") OR like(process_cmd_line, "%-nobanner%") OR
|
||||
like(process_cmd_line, "%/accepteula%") OR like(process_cmd_line, "%-z %") OR like(process_cmd_line,
|
||||
"%-s %") OR like(process_cmd_line, "%-q %") OR like(process_cmd_line, "%-r %") OR
|
||||
like(process_cmd_line, "%-p %") OR like(process_cmd_line, "%-f %") OR like(process_cmd_line,
|
||||
"%-c %")) AND like(process_file_name, "%sdelete%")
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -42,11 +42,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Sdelete Application Execution has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Sdelete Application Execution has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -73,10 +73,15 @@ references:
|
||||
- https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1485/T1485.md
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 42
|
||||
security_domain: endpoint
|
||||
risk_severity: low
|
||||
@@ -91,7 +96,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
name: System Process Running from Unexpected Location
|
||||
id: 28179107-099a-464a-94d3-08301e6c055f
|
||||
version: 5
|
||||
description: An attacker might try to use a different version of a system command
|
||||
without overriding the original, or they might try to avoid some detections by running
|
||||
the process from a different folder. This detection checks that a list of system
|
||||
processes are run inside C:\\Windows\System32 or C:\\Windows\SysWOW64. The list
|
||||
of system processes has been extracted from https://github.com/splunk/security_content/blob/develop/lookups/is_windows_system_file.csv
|
||||
version: 4
|
||||
description: An attacker tries might try to use different version of a system command
|
||||
without overriding original, or they might try to avoid some detection running the
|
||||
process from a different folder. This detection checks that a list of system processes
|
||||
run inside C:\\Windows\System32 or C:\\Windows\SysWOW64 The list of system processes
|
||||
has been extracted from https://github.com/splunk/security_content/blob/develop/lookups/is_windows_system_file.csv
|
||||
and the original detection https://github.com/splunk/security_content/blob/develop/detections/system_processes_run_from_unexpected_locations.yml
|
||||
search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(input_event,"time"),"long",
|
||||
null) | eval metadata = ucast(map_get(input_event, "metadata"),"map<string, any>",
|
||||
@@ -15,64 +15,64 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
(process_file_name="xwizard.exe" OR process_file_name="xpsrchvw.exe" OR process_file_name="xcopy.exe"
|
||||
OR process_file_name="wusa.exe" OR process_file_name="wuauclt.exe" OR process_file_name="wuapp.exe"
|
||||
OR process_file_name="wuapihost.exe" OR process_file_name="wsqmcons.exe" OR process_file_name="wsmprovhost.exe"
|
||||
OR process_file_name="wscript.exe" OR process_file_name="write.exe" OR process_file_name="wpr.exe"
|
||||
OR process_file_name="wpnpinst.exe" OR process_file_name="wowreg32.exe" OR process_file_name="wlrmdr.exe"
|
||||
OR process_file_name="wlanext.exe" OR process_file_name="wksprt.exe" OR process_file_name="wkspbroker.exe"
|
||||
OR process_file_name="wisptis.exe" OR process_file_name="winver.exe" OR process_file_name="winrshost.exe"
|
||||
OR process_file_name="winrs.exe" OR process_file_name="winresume.exe" OR process_file_name="winlogon.exe"
|
||||
OR process_file_name="winload.exe" OR process_file_name="wininit.exe" OR process_file_name="wimserv.exe"
|
||||
OR process_file_name="wifitask.exe" OR process_file_name="wiawow64.exe" OR process_file_name="wiaacmgr.exe"
|
||||
OR process_file_name="whoami.exe" OR process_file_name="where.exe" OR process_file_name="wextract.exe"
|
||||
OR process_file_name="wevtutil.exe" OR process_file_name="wermgr.exe" OR process_file_name="wecutil.exe"
|
||||
OR process_file_name="wbengine.exe" OR process_file_name="wbadmin.exe" OR process_file_name="waitfor.exe"
|
||||
OR process_file_name="w32tm.exe" OR process_file_name="vssadmin.exe" OR process_file_name="vmicsvc.exe"
|
||||
OR process_file_name="verifiergui.exe" OR process_file_name="verifier.exe" OR process_file_name="verclsid.exe"
|
||||
OR process_file_name="vdsldr.exe" OR process_file_name="vds.exe" OR process_file_name="userinit.exe"
|
||||
OR process_file_name="upnpcont.exe" OR process_file_name="unregmp2.exe" OR process_file_name="unlodctr.exe"
|
||||
OR process_file_name="ucsvc.exe" OR process_file_name="tzutil.exe" OR process_file_name="tzsync.exe"
|
||||
OR process_file_name="typeperf.exe" OR process_file_name="tskill.exe" OR process_file_name="tsdiscon.exe"
|
||||
OR process_file_name="tscon.exe" OR process_file_name="tracerpt.exe" OR process_file_name="tpmvscmgrsvr.exe"
|
||||
OR process_file_name="tpmvscmgr.exe" OR process_file_name="timeout.exe" OR process_file_name="tcmsetup.exe"
|
||||
OR process_file_name="taskmgr.exe" OR process_file_name="tasklist.exe" OR process_file_name="taskkill.exe"
|
||||
OR process_file_name="taskhostw.exe" OR process_file_name="taskhost.exe" OR process_file_name="taskeng.exe"
|
||||
OR process_file_name="takeown.exe" OR process_file_name="tabcal.exe" OR process_file_name="systray.exe"
|
||||
OR process_file_name="systemreset.exe" OR process_file_name="systeminfo.exe" OR
|
||||
process_file_name="syskey.exe" OR process_file_name="sxstrace.exe" OR process_file_name="svchost.exe"
|
||||
OR process_file_name="subst.exe" OR process_file_name="srdelayed.exe" OR process_file_name="spreview.exe"
|
||||
OR process_file_name="sppsvc.exe" OR process_file_name="spoolsv.exe" OR process_file_name="spinstall.exe"
|
||||
OR process_file_name="sort.exe" OR process_file_name="snmptrap.exe" OR process_file_name="smss.exe"
|
||||
OR process_file_name="slui.exe" OR process_file_name="sihost.exe" OR process_file_name="sigverif.exe"
|
||||
OR process_file_name="shutdown.exe" OR process_file_name="shrpubw.exe" OR process_file_name="shadow.exe"
|
||||
OR process_file_name="setx.exe" OR process_file_name="setupugc.exe" OR process_file_name="setupcl.exe"
|
||||
OR process_file_name="setspn.exe" OR process_file_name="sethc.exe" OR process_file_name="sessionmsg.exe"
|
||||
OR process_file_name="services.exe" OR process_file_name="secinit.exe" OR process_file_name="sdiagnhost.exe"
|
||||
OR process_file_name="sdclt.exe" OR process_file_name="sdchange.exe" OR process_file_name="sdbinst.exe"
|
||||
OR process_file_name="schtasks.exe" OR process_file_name="sc.exe" OR process_file_name="sbunattend.exe"
|
||||
OR process_file_name="rwinsta.exe" OR process_file_name="runonce.exe" OR process_file_name="rundll32.exe"
|
||||
OR process_file_name="runas.exe" OR process_file_name="rstrui.exe" OR process_file_name="rrinstaller.exe"
|
||||
OR process_file_name="rmttpmvscmgrsvr.exe" OR process_file_name="resmon.exe" OR
|
||||
process_file_name="reset.exe" OR process_file_name="replace.exe" OR process_file_name="repair-bde.exe"
|
||||
OR process_file_name="relog.exe" OR process_file_name="rekeywiz.exe" OR process_file_name="regsvr32.exe"
|
||||
OR process_file_name="regini.exe" OR process_file_name="regedt32.exe" OR process_file_name="reg.exe"
|
||||
OR process_file_name="recover.exe" OR process_file_name="recdisc.exe" OR process_file_name="rdrleakdiag.exe"
|
||||
OR process_file_name="rdpinput.exe" OR process_file_name="rdpclip.exe" OR process_file_name="rasphone.exe"
|
||||
OR process_file_name="raserver.exe" OR process_file_name="rasdial.exe" OR process_file_name="rasautou.exe"
|
||||
OR process_file_name="qwinsta.exe" OR process_file_name="quser.exe" OR process_file_name="query.exe"
|
||||
OR process_file_name="qprocess.exe" OR process_file_name="qappsrv.exe" OR process_file_name="pwlauncher.exe"
|
||||
OR process_file_name="psr.exe" OR process_file_name="provtool.exe" OR process_file_name="proquota.exe"
|
||||
OR process_file_name="printui.exe" OR process_file_name="printfilterpipelinesvc.exe"
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where (process_file_name="xwizard.exe" OR process_file_name="xpsrchvw.exe"
|
||||
OR process_file_name="xcopy.exe" OR process_file_name="wusa.exe" OR process_file_name="wuauclt.exe"
|
||||
OR process_file_name="wuapp.exe" OR process_file_name="wuapihost.exe" OR process_file_name="wsqmcons.exe"
|
||||
OR process_file_name="wsmprovhost.exe" OR process_file_name="wscript.exe" OR process_file_name="write.exe"
|
||||
OR process_file_name="wpr.exe" OR process_file_name="wpnpinst.exe" OR process_file_name="wowreg32.exe"
|
||||
OR process_file_name="wlrmdr.exe" OR process_file_name="wlanext.exe" OR process_file_name="wksprt.exe"
|
||||
OR process_file_name="wkspbroker.exe" OR process_file_name="wisptis.exe" OR process_file_name="winver.exe"
|
||||
OR process_file_name="winrshost.exe" OR process_file_name="winrs.exe" OR process_file_name="winresume.exe"
|
||||
OR process_file_name="winlogon.exe" OR process_file_name="winload.exe" OR process_file_name="wininit.exe"
|
||||
OR process_file_name="wimserv.exe" OR process_file_name="wifitask.exe" OR process_file_name="wiawow64.exe"
|
||||
OR process_file_name="wiaacmgr.exe" OR process_file_name="whoami.exe" OR process_file_name="where.exe"
|
||||
OR process_file_name="wextract.exe" OR process_file_name="wevtutil.exe" OR process_file_name="wermgr.exe"
|
||||
OR process_file_name="wecutil.exe" OR process_file_name="wbengine.exe" OR process_file_name="wbadmin.exe"
|
||||
OR process_file_name="waitfor.exe" OR process_file_name="w32tm.exe" OR process_file_name="vssadmin.exe"
|
||||
OR process_file_name="vmicsvc.exe" OR process_file_name="verifiergui.exe" OR process_file_name="verifier.exe"
|
||||
OR process_file_name="verclsid.exe" OR process_file_name="vdsldr.exe" OR process_file_name="vds.exe"
|
||||
OR process_file_name="userinit.exe" OR process_file_name="upnpcont.exe" OR process_file_name="unregmp2.exe"
|
||||
OR process_file_name="unlodctr.exe" OR process_file_name="ucsvc.exe" OR process_file_name="tzutil.exe"
|
||||
OR process_file_name="tzsync.exe" OR process_file_name="typeperf.exe" OR process_file_name="tskill.exe"
|
||||
OR process_file_name="tsdiscon.exe" OR process_file_name="tscon.exe" OR process_file_name="tracerpt.exe"
|
||||
OR process_file_name="tpmvscmgrsvr.exe" OR process_file_name="tpmvscmgr.exe" OR
|
||||
process_file_name="timeout.exe" OR process_file_name="tcmsetup.exe" OR process_file_name="taskmgr.exe"
|
||||
OR process_file_name="tasklist.exe" OR process_file_name="taskkill.exe" OR process_file_name="taskhostw.exe"
|
||||
OR process_file_name="taskhost.exe" OR process_file_name="taskeng.exe" OR process_file_name="takeown.exe"
|
||||
OR process_file_name="tabcal.exe" OR process_file_name="systray.exe" OR process_file_name="systemreset.exe"
|
||||
OR process_file_name="systeminfo.exe" OR process_file_name="syskey.exe" OR process_file_name="sxstrace.exe"
|
||||
OR process_file_name="svchost.exe" OR process_file_name="subst.exe" OR process_file_name="srdelayed.exe"
|
||||
OR process_file_name="spreview.exe" OR process_file_name="sppsvc.exe" OR process_file_name="spoolsv.exe"
|
||||
OR process_file_name="spinstall.exe" OR process_file_name="sort.exe" OR process_file_name="snmptrap.exe"
|
||||
OR process_file_name="smss.exe" OR process_file_name="slui.exe" OR process_file_name="sihost.exe"
|
||||
OR process_file_name="sigverif.exe" OR process_file_name="shutdown.exe" OR process_file_name="shrpubw.exe"
|
||||
OR process_file_name="shadow.exe" OR process_file_name="setx.exe" OR process_file_name="setupugc.exe"
|
||||
OR process_file_name="setupcl.exe" OR process_file_name="setspn.exe" OR process_file_name="sethc.exe"
|
||||
OR process_file_name="sessionmsg.exe" OR process_file_name="services.exe" OR process_file_name="secinit.exe"
|
||||
OR process_file_name="sdiagnhost.exe" OR process_file_name="sdclt.exe" OR process_file_name="sdchange.exe"
|
||||
OR process_file_name="sdbinst.exe" OR process_file_name="schtasks.exe" OR process_file_name="sc.exe"
|
||||
OR process_file_name="sbunattend.exe" OR process_file_name="rwinsta.exe" OR process_file_name="runonce.exe"
|
||||
OR process_file_name="rundll32.exe" OR process_file_name="runas.exe" OR process_file_name="rstrui.exe"
|
||||
OR process_file_name="rrinstaller.exe" OR process_file_name="rmttpmvscmgrsvr.exe"
|
||||
OR process_file_name="resmon.exe" OR process_file_name="reset.exe" OR process_file_name="replace.exe"
|
||||
OR process_file_name="repair-bde.exe" OR process_file_name="relog.exe" OR process_file_name="rekeywiz.exe"
|
||||
OR process_file_name="regsvr32.exe" OR process_file_name="regini.exe" OR process_file_name="regedt32.exe"
|
||||
OR process_file_name="reg.exe" OR process_file_name="recover.exe" OR process_file_name="recdisc.exe"
|
||||
OR process_file_name="rdrleakdiag.exe" OR process_file_name="rdpinput.exe" OR process_file_name="rdpclip.exe"
|
||||
OR process_file_name="rasphone.exe" OR process_file_name="raserver.exe" OR process_file_name="rasdial.exe"
|
||||
OR process_file_name="rasautou.exe" OR process_file_name="qwinsta.exe" OR process_file_name="quser.exe"
|
||||
OR process_file_name="query.exe" OR process_file_name="qprocess.exe" OR process_file_name="qappsrv.exe"
|
||||
OR process_file_name="pwlauncher.exe" OR process_file_name="psr.exe" OR process_file_name="provtool.exe"
|
||||
OR process_file_name="proquota.exe" OR process_file_name="printui.exe" OR process_file_name="printfilterpipelinesvc.exe"
|
||||
OR process_file_name="print.exe" OR process_file_name="prevhost.exe" OR process_file_name="powercfg.exe"
|
||||
OR process_file_name="poqexec.exe" OR process_file_name="plasrv.exe" OR process_file_name="phoneactivate.exe"
|
||||
OR process_file_name="perfmon.exe" OR process_file_name="pcwrun.exe" OR process_file_name="pcawrk.exe"
|
||||
@@ -243,11 +243,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("System Process Running from Unexpected Location has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("System Process Running from Unexpected Location has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -268,11 +268,15 @@ known_false_positives: None
|
||||
references: []
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 56
|
||||
security_domain: endpoint
|
||||
risk_severity: medium
|
||||
@@ -287,7 +291,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+21
-16
@@ -12,16 +12,16 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
process_file_name="wbadmin.exe" AND (like(process_cmd_line, "%systemstatebackup%")
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where process_file_name="wbadmin.exe" AND (like(process_cmd_line, "%systemstatebackup%")
|
||||
OR like(process_cmd_line, "%catalog%") OR like(process_cmd_line, "%delete%"))
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
@@ -30,11 +30,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("WBAdmin Delete System Backups has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("WBAdmin Delete System Backups has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -61,10 +61,15 @@ references:
|
||||
- https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/wbadmin
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 15
|
||||
security_domain: endpoint
|
||||
risk_severity: low
|
||||
@@ -79,7 +84,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+21
-16
@@ -12,16 +12,16 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
(match_regex(process_cmd_line, /(?i)powershell/)=true OR match_regex(process_cmd_line,
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where (match_regex(process_cmd_line, /(?i)powershell/)=true OR match_regex(process_cmd_line,
|
||||
/(?i)setup/)=true OR match_regex(process_cmd_line, /(?i)application/)=true OR match_regex(process_cmd_line,
|
||||
/(?i)sysmon/)=true OR match_regex(process_cmd_line, /(?i)system/)=true OR match_regex(process_cmd_line,
|
||||
/(?i)security/)=true) AND like(process_cmd_line, "% cl %") AND process_file_name="wevtutil.exe"
|
||||
@@ -33,11 +33,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("WevtUtil Usage To Clear Logs has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("WevtUtil Usage To Clear Logs has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -64,10 +64,15 @@ references:
|
||||
- https://www.splunk.com/en_us/blog/security/detecting-clop-ransomware.html
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 63
|
||||
security_domain: endpoint
|
||||
risk_severity: medium
|
||||
@@ -82,7 +87,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+22
-17
@@ -12,17 +12,17 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
like(process_cmd_line, "%/e:false%") AND like(process_cmd_line, "% sl %") AND process_file_name="wevtutil.exe"
|
||||
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where like(process_cmd_line, "%/e:false%") AND like(process_cmd_line, "%
|
||||
sl %") AND process_file_name="wevtutil.exe"
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -30,11 +30,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Wevtutil Usage To Disable Logs has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Wevtutil Usage To Disable Logs has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -61,10 +61,15 @@ references:
|
||||
- https://www.bleepingcomputer.com/news/security/new-ransom-x-ransomware-used-in-texas-txdot-cyberattack/
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 63
|
||||
security_domain: endpoint
|
||||
risk_severity: medium
|
||||
@@ -79,7 +84,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+21
-16
@@ -16,16 +16,16 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
(like(process_cmd_line, "%resume%") OR like(process_cmd_line, "%setcustomheaders%")
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where (like(process_cmd_line, "%resume%") OR like(process_cmd_line, "%setcustomheaders%")
|
||||
OR like(process_cmd_line, "%setminretrydelay%") OR like(process_cmd_line, "%setnotifycmdline%")
|
||||
OR like(process_cmd_line, "%setnotifyflags%") OR like(process_cmd_line, "%addfile%")
|
||||
OR like(process_cmd_line, "%create%")) AND process_file_name="bitsadmin.exe"
|
||||
@@ -36,11 +36,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Windows Bits Job Persistence has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Windows Bits Job Persistence has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -71,10 +71,15 @@ references:
|
||||
- https://lolbas-project.github.io/lolbas/Binaries/Bitsadmin/
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 56
|
||||
security_domain: endpoint
|
||||
risk_severity: medium
|
||||
@@ -89,7 +94,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+22
-16
@@ -21,16 +21,17 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
like(process_cmd_line, "%transfer%") AND process_file_name="bitsadmin.exe"
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where like(process_cmd_line, "%transfer%") AND process_file_name="bitsadmin.exe"
|
||||
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -38,11 +39,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Windows Bitsadmin Download File has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Windows Bitsadmin Download File has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -72,10 +73,15 @@ references:
|
||||
- https://thedfirreport.com/2021/03/29/sodinokibi-aka-revil-ransomware/
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 49
|
||||
security_domain: endpoint
|
||||
risk_severity: low
|
||||
@@ -90,7 +96,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
+22
-16
@@ -17,16 +17,17 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
any>", null) | eval process_file_path=ucast(map_get(process_file,"path"), "string",
|
||||
null) | eval process_file_name=ucast(map_get(process_file,"name"), "string", null)
|
||||
| eval process_cmd_line=ucast(map_get(process,"cmd_line"), "string", null) | eval
|
||||
process_user=ucast(map_get(process,"user"), "map<string, any>", null) | eval process_user_name=ucast(map_get(process_user,"name"),
|
||||
"string", null) | eval actor=ucast(map_get(input_event,"actor"), "map<string, any>",
|
||||
null) | eval actor_process=ucast(map_get(actor,"process"), "map<string, any>", null)
|
||||
| eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string", null) | eval
|
||||
actor_process_file=ucast(map_get(actor_process,"file"), "map<string, any>", null)
|
||||
| eval actor_process_file_path=ucast(map_get(actor_process_file,"path"), "string",
|
||||
null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"), "string",
|
||||
null) | eval device=ucast(map_get(input_event,"device"), "map<string, any>", null)
|
||||
| eval device_hostname=ucast(map_get(device,"hostname"), "string", null) | where
|
||||
like(process_cmd_line, "%decode%") AND process_file_name="certutil.exe"
|
||||
actor=ucast(map_get(input_event,"actor"), "map<string, any>", null) | eval actor_user=ucast(map_get(actor,"user"),
|
||||
"map<string, any>", null) | eval actor_user_name=ucast(map_get(actor_user,"name"),
|
||||
"string", null) | eval actor_process=ucast(map_get(actor,"process"), "map<string,
|
||||
any>", null) | eval actor_process_pid=ucast(map_get(actor_process,"pid"), "string",
|
||||
null) | eval actor_process_file=ucast(map_get(actor_process,"file"), "map<string,
|
||||
any>", null) | eval actor_process_file_path=ucast(map_get(actor_process_file,"path"),
|
||||
"string", null) | eval actor_process_file_name=ucast(map_get(actor_process_file,"name"),
|
||||
"string", null) | eval device=ucast(map_get(input_event,"device"), "map<string,
|
||||
any>", null) | eval device_hostname=ucast(map_get(device,"hostname"), "string",
|
||||
null) | where like(process_cmd_line, "%decode%") AND process_file_name="certutil.exe"
|
||||
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
@@ -34,11 +35,11 @@ search: ' | from read_ba_enriched_events() | eval timestamp = ucast(map_get(inpu
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("process.user.name", process_user_name, "device.hostname", device_hostname, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line),
|
||||
"message", concat("Windows CertUtil Decode File has been triggered on ", device_hostname, " by ", process_user_name, "."),
|
||||
"evidence", create_map("process.pid", process_pid, "process.file.path", process_file_path, "process.file.name", process_file_name, "process.cmd_line", process_cmd_line, "actor.user.name", actor_user_name, "actor.process.pid", actor_process_pid, "actor.process.file.path", actor_process_file_path, "actor.process.file.name", actor_process_file_name, "device.hostname", device_hostname),
|
||||
"message", concat("Windows CertUtil Decode File has been triggered on ", device_hostname, " by ", actor_user_name, "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", process_user_name, "uuid", ucast(map_get(process_user,"uuid"), "string", null)
|
||||
"name", actor_user_name, "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
@@ -69,10 +70,15 @@ references:
|
||||
- https://www.bleepingcomputer.com/news/security/certutilexe-could-allow-attackers-to-download-malware-while-bypassing-av/
|
||||
tags:
|
||||
required_fields:
|
||||
- process.user.name
|
||||
- device.hostname
|
||||
- process.pid
|
||||
- process.file.path
|
||||
- process.file.name
|
||||
- process.cmd_line
|
||||
- actor.user.name
|
||||
- actor.process.pid
|
||||
- actor.process.file.path
|
||||
- actor.process.file.name
|
||||
- device.hostname
|
||||
risk_score: 40
|
||||
security_domain: endpoint
|
||||
risk_severity: low
|
||||
@@ -87,7 +93,7 @@ tags:
|
||||
cim: process_name
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: process.user.name
|
||||
- ocsf: actor.user.name
|
||||
cim: user
|
||||
- ocsf: actor.process.pid
|
||||
cim: parent_process_id
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user