mirror of
https://github.com/splunk/security_content
synced 2026-06-08 17:32:49 +00:00
Merge pull request #2699 from splunk/remove_ba_powerview
remove BA detection
This commit is contained in:
@@ -1,64 +0,0 @@
|
||||
name: Windows PowerView AD Access Control List Enumeration
|
||||
id: 2b301d6c-0527-4dbd-8d2d-5345bc4be0cf
|
||||
version: 1
|
||||
date: '2023-05-02'
|
||||
author: Mauricio Velazco, Splunk
|
||||
status: production
|
||||
type: TTP
|
||||
description: The following analytic leverages Event ID 4104 to identify the execution of the PowerView powershell commandlets `Get-ObjectAcl` or `Get-DomainObjectAcl`. This commandlets
|
||||
are used to enumerate Access Control List permissions given to Active Directory objects. In an active directory environment, an object is an entity that represents an available resource within
|
||||
the organizations network, such as domain controllers, users, groups, computers, shares, etc. Maintaining Active Directory permissions is complicated and hard to manage, especially in complex
|
||||
and large environments with multiple domains. Weak permissions may allow adversaries and red teamers to escalate their privileges in Active Directory. PowerView is a common tool leveraged
|
||||
by attackers to identify and exploit configuration weaknesses.
|
||||
data_source:
|
||||
- Powershell 4104
|
||||
search:
|
||||
selection1:
|
||||
process.cmd_line|re: 'get-objectacl'
|
||||
selection2:
|
||||
process.cmd_line|re: 'get-domainobjectacl'
|
||||
condition: selection1 or 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
|
||||
https://docs.splunk.com/Documentation/UBA/5.0.4.1/GetDataIn/AddPowerShell#Configure_module_logging_for_PowerShell.
|
||||
known_false_positives: Administrators may leverage PowerView for legitimate purposes, filter as needed.
|
||||
references:
|
||||
- https://attack.mitre.org/techniques/T1078/002/
|
||||
- https://medium.com/r3d-buck3t/enumerating-access-controls-in-active-directory-c06e2efa8b89
|
||||
- https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-active-directory-acls-aces
|
||||
- https://powersploit.readthedocs.io/en/latest/Recon/Get-DomainObjectAcl/
|
||||
tags:
|
||||
analytic_story:
|
||||
- Active Directory Privilege Escalation
|
||||
asset_type: Endpoint
|
||||
confidence: 50
|
||||
impact: 40
|
||||
message: PowerView AD acccess control list enumeration detected on $Computer$
|
||||
mitre_attack_id:
|
||||
- T1078.002
|
||||
- T1069
|
||||
observable:
|
||||
- name: Computer
|
||||
type: Hostname
|
||||
role:
|
||||
- Victim
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- _time
|
||||
- EventCode
|
||||
- ScriptBlockText
|
||||
- Opcode
|
||||
- Computer
|
||||
- UserID
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
risk_score: 20
|
||||
security_domain: endpoint
|
||||
tests:
|
||||
- name: True Positive Test
|
||||
attack_data:
|
||||
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1078.002/powerview_acl_enumeration/windows-powershell.log
|
||||
source: XmlWinEventLog
|
||||
sourcetype: XmlWinEventLog
|
||||
update_timestamp: true
|
||||
@@ -1,109 +0,0 @@
|
||||
name: Windows PowerView AD Access Control List Enumeration
|
||||
id: 2b301d6c-0527-4dbd-8d2d-5345bc4be0cf
|
||||
version: 1
|
||||
description: The following analytic leverages Event ID 4104 to identify the execution
|
||||
of the PowerView powershell commandlets `Get-ObjectAcl` or `Get-DomainObjectAcl`.
|
||||
This commandlets are used to enumerate Access Control List permissions given to
|
||||
Active Directory objects. In an active directory environment, an object is an entity
|
||||
that represents an available resource within the organizations network, such as
|
||||
domain controllers, users, groups, computers, shares, etc. Maintaining Active Directory
|
||||
permissions is complicated and hard to manage, especially in complex and large environments
|
||||
with multiple domains. Weak permissions may allow adversaries and red teamers to
|
||||
escalate their privileges in Active Directory. PowerView is a common tool leveraged
|
||||
by attackers to identify and exploit configuration weaknesses.
|
||||
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>",
|
||||
null) | eval metadata_uid = ucast(map_get(metadata, "uid"),"string", null) | eval
|
||||
device=ucast(map_get(input_event,"device"), "map<string, any>", null) | eval device_hostname=ucast(map_get(device,"hostname"),
|
||||
"string", null) | eval process=ucast(map_get(input_event,"process"), "map<string,
|
||||
any>", null) | eval process_file=ucast(map_get(process,"file"), "map<string, any>",
|
||||
null) | eval process_file_path=ucast(map_get(process_file,"path"), "string", null)
|
||||
| eval process_uid=ucast(map_get(process,"uid"), "string", null) | eval process_cmd_line=ucast(map_get(process,"cmd_line"),
|
||||
"string", null) | eval 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_uid=ucast(map_get(actor_user,"uid"), "string", null) | where match_regex(process_cmd_line,
|
||||
/(?i)get-objectacl/)=true OR match_regex(process_cmd_line, /(?i)get-domainobjectacl/)=true
|
||||
|
||||
| eval body=create_map(
|
||||
"devices", [
|
||||
create_map(
|
||||
"hostname", device_hostname, "type_id", 0, "uuid", ucast(map_get(device,"uuid"), "string", null)
|
||||
)
|
||||
],
|
||||
"time", timestamp,
|
||||
"evidence", create_map("device.hostname", device_hostname, "process.file.path", process_file_path, "process.uid", process_uid, "process.cmd_line", process_cmd_line, "actor.user.uid", actor_user_uid),
|
||||
"message", concat("Windows PowerView AD Access Control List Enumeration has been triggered on ", device_hostname, " by ", "Unknown", "."),
|
||||
"users", [
|
||||
create_map(
|
||||
"name", "Unknown", "uid", ucast(map_get(actor_user,"uid"), "string", null)
|
||||
)
|
||||
],
|
||||
"activity_id", 1,
|
||||
"category_uid", 2,
|
||||
"class_uid", 102001,
|
||||
"risk_level_id", 1,
|
||||
"risk_score", 20,
|
||||
"severity_id", 0,
|
||||
"rule", create_map("name", "Windows PowerView AD Access Control List Enumeration", "uid", "2b301d6c-0527-4dbd-8d2d-5345bc4be0cf", "type", "Streaming"),
|
||||
"metadata", create_map("customer_uid", ucast(map_get(metadata,"customer_uid"), "string", null), "product", create_map("name", "Behavior Analytics", "vendor_name", "Splunk"), "version", "1.0.0-rc.2", "logged_time", time()),
|
||||
"type_uid", 10200101,
|
||||
"start_time", timestamp,
|
||||
"end_time", timestamp
|
||||
)
|
||||
| into write_ba_finding_events();'
|
||||
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
|
||||
https://docs.splunk.com/Documentation/UBA/5.0.4.1/GetDataIn/AddPowerShell#Configure_module_logging_for_PowerShell.
|
||||
known_false_positives: Administrators may leverage PowerView for legitimate purposes,
|
||||
filter as needed.
|
||||
references:
|
||||
- https://attack.mitre.org/techniques/T1078/002/
|
||||
- https://medium.com/r3d-buck3t/enumerating-access-controls-in-active-directory-c06e2efa8b89
|
||||
- https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-active-directory-acls-aces
|
||||
- https://powersploit.readthedocs.io/en/latest/Recon/Get-DomainObjectAcl/
|
||||
tags:
|
||||
required_fields:
|
||||
- device.hostname
|
||||
- process.file.path
|
||||
- process.uid
|
||||
- process.cmd_line
|
||||
- actor.user.uid
|
||||
risk_score: 20
|
||||
security_domain: endpoint
|
||||
risk_severity: low
|
||||
research_site_url: https://research.splunk.com/endpoint/2b301d6c-0527-4dbd-8d2d-5345bc4be0cf/
|
||||
event_schema: ocsf
|
||||
mappings:
|
||||
- ocsf: device.hostname
|
||||
cim: dest
|
||||
- ocsf: process.file.path
|
||||
cim: process_path
|
||||
- ocsf: process.uid
|
||||
cim: process_id
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: actor.user.uid
|
||||
cim: user_id
|
||||
annotations:
|
||||
analytic_story:
|
||||
- Active Directory Privilege Escalation
|
||||
cis20:
|
||||
- CIS 10
|
||||
kill_chain_phases:
|
||||
- Exploitation
|
||||
- Delivery
|
||||
- Installation
|
||||
mitre_attack_id:
|
||||
- T1078.002
|
||||
- T1069
|
||||
nist:
|
||||
- DE.CM
|
||||
test:
|
||||
name: Windows PowerView AD Access Control List Enumeration Unit Test
|
||||
tests:
|
||||
- name: Windows PowerView AD Access Control List Enumeration
|
||||
attack_data:
|
||||
- file_name: windows-powershell.log
|
||||
data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1078.002/powerview_acl_enumeration/windows-powershell.log
|
||||
source: XmlWinEventLog
|
||||
runtime: SPL-DSP
|
||||
-90
@@ -1,90 +0,0 @@
|
||||
name: Windows PowerView AD Access Control List Enumeration
|
||||
id: 2b301d6c-0527-4dbd-8d2d-5345bc4be0cf
|
||||
version: 1
|
||||
date: '2023-05-02'
|
||||
author: Mauricio Velazco, Splunk
|
||||
type: TTP
|
||||
status: production
|
||||
description: The following analytic leverages Event ID 4104 to identify the execution
|
||||
of the PowerView powershell commandlets `Get-ObjectAcl` or `Get-DomainObjectAcl`.
|
||||
This commandlets are used to enumerate Access Control List permissions given to
|
||||
Active Directory objects. In an active directory environment, an object is an entity
|
||||
that represents an available resource within the organizations network, such as
|
||||
domain controllers, users, groups, computers, shares, etc. Maintaining Active Directory
|
||||
permissions is complicated and hard to manage, especially in complex and large environments
|
||||
with multiple domains. Weak permissions may allow adversaries and red teamers to
|
||||
escalate their privileges in Active Directory. PowerView is a common tool leveraged
|
||||
by attackers to identify and exploit configuration weaknesses.
|
||||
data_source:
|
||||
- Powershell 4104
|
||||
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>",
|
||||
null) | eval metadata_uid = ucast(map_get(metadata, "uid"),"string", null) | eval
|
||||
device=ucast(map_get(input_event,"device"), "map<string, any>", null) | eval device_hostname=ucast(map_get(device,"hostname"),
|
||||
"string", null) | eval process=ucast(map_get(input_event,"process"), "map<string,
|
||||
any>", null) | eval process_file=ucast(map_get(process,"file"), "map<string, any>",
|
||||
null) | eval process_file_path=ucast(map_get(process_file,"path"), "string", null)
|
||||
| eval process_uid=ucast(map_get(process,"uid"), "string", null) | eval process_cmd_line=ucast(map_get(process,"cmd_line"),
|
||||
"string", null) | eval 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_uid=ucast(map_get(actor_user,"uid"), "string", null) | where match_regex(process_cmd_line,
|
||||
/(?i)get-objectacl/)=true OR match_regex(process_cmd_line, /(?i)get-domainobjectacl/)=true
|
||||
--finding_report--'
|
||||
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
|
||||
https://docs.splunk.com/Documentation/UBA/5.0.4.1/GetDataIn/AddPowerShell#Configure_module_logging_for_PowerShell.
|
||||
known_false_positives: Administrators may leverage PowerView for legitimate purposes,
|
||||
filter as needed.
|
||||
references:
|
||||
- https://attack.mitre.org/techniques/T1078/002/
|
||||
- https://medium.com/r3d-buck3t/enumerating-access-controls-in-active-directory-c06e2efa8b89
|
||||
- https://www.ired.team/offensive-security-experiments/active-directory-kerberos-abuse/abusing-active-directory-acls-aces
|
||||
- https://powersploit.readthedocs.io/en/latest/Recon/Get-DomainObjectAcl/
|
||||
tags:
|
||||
analytic_story:
|
||||
- Active Directory Privilege Escalation
|
||||
asset_type: Endpoint
|
||||
confidence: 50
|
||||
impact: 40
|
||||
message: PowerView AD acccess control list enumeration detected on $Computer$
|
||||
mitre_attack_id:
|
||||
- T1078.002
|
||||
- T1069
|
||||
observable:
|
||||
- name: device.hostname
|
||||
type: Hostname
|
||||
- name: process.file.path
|
||||
type: File
|
||||
- name: process.uid
|
||||
type: Other
|
||||
- name: process.cmd_line
|
||||
type: Other
|
||||
- name: actor.user.uid
|
||||
type: Other
|
||||
product:
|
||||
- Splunk Behavioral Analytics
|
||||
required_fields:
|
||||
- device.hostname
|
||||
- process.file.path
|
||||
- process.uid
|
||||
- process.cmd_line
|
||||
- actor.user.uid
|
||||
risk_score: 20
|
||||
security_domain: endpoint
|
||||
mappings:
|
||||
- ocsf: device.hostname
|
||||
cim: dest
|
||||
- ocsf: process.file.path
|
||||
cim: process_path
|
||||
- ocsf: process.uid
|
||||
cim: process_id
|
||||
- ocsf: process.cmd_line
|
||||
cim: process
|
||||
- ocsf: actor.user.uid
|
||||
cim: user_id
|
||||
tests:
|
||||
- name: True Positive Test
|
||||
attack_data:
|
||||
- data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1078.002/powerview_acl_enumeration/windows-powershell.log
|
||||
source: XmlWinEventLog
|
||||
sourcetype: XmlWinEventLog
|
||||
Reference in New Issue
Block a user