mirror of
https://github.com/splunk/security_content
synced 2026-06-08 17:32:49 +00:00
85 lines
3.9 KiB
YAML
85 lines
3.9 KiB
YAML
name: Windows Users Authenticate Using Explicit Credentials
|
|
id: e61918fa-9ca4-11eb-836c-acde48001122
|
|
version: 1
|
|
date: '2021-04-13'
|
|
author: Mauricio Velazco, Splunk
|
|
type: Anomaly
|
|
datamodel: []
|
|
description: 'The following analytic identifies a source user failing to authenticate
|
|
with multiple users using explicit credentials on a host. This behavior could represent
|
|
an adversary performing a Password Spraying attack against an Active Directory environment
|
|
to obtain initial access or elevate privileges. Event 4648 is generated when a process
|
|
attempts an account logon by explicitly specifying that accounts credentials. This
|
|
event generates on domain controllers, member servers, and workstations.\
|
|
|
|
The detection calculates the standard deviation for each host and leverages the
|
|
3-sigma statistical rule to identify an unusual number of users. To customize this
|
|
analytic, users can try different combinations of the `bucket` span time and the
|
|
calculation of the `upperBound` field. This logic can be used for real time security
|
|
monitoring as well as threat hunting exercises.\
|
|
|
|
This detection will trigger on the potenfially malicious host, perhaps controlled
|
|
via a trojan or operated by an insider threat, from where a password spraying attack
|
|
is being executed.\
|
|
|
|
The analytics returned fields allow analysts to investigate the event further by
|
|
providing fields like source account, attempted user accounts and the endpoint were
|
|
the behavior was identified.'
|
|
search: ' `wineventlog_security` EventCode=4648 | bucket span=2m _time | eval Source_Account
|
|
= mvindex(Account_Name, 0) | eval Destination_Account = mvindex(Account_Name, 1)
|
|
| search Source_Account != "*$" Source_Account !="-" Destination_Account !="*$"
|
|
| stats dc(Destination_Account) AS unique_accounts values(Destination_Account) as
|
|
tried_account by _time, ComputerName, Source_Account | eventstats avg(unique_accounts)
|
|
as comp_avg , stdev(unique_accounts) as comp_std by ComputerName | eval upperBound=(comp_avg+comp_std*3)
|
|
| eval isOutlier=if(unique_accounts > 10 and unique_accounts >= upperBound, 1, 0)
|
|
| search isOutlier=1 | `windows_users_authenticate_using_explicit_credentials_filter` '
|
|
how_to_implement: To successfully implement this search, you need to be ingesting
|
|
Windows Event Logs from domain controllers as well as member servers and workstations.
|
|
The Advanced Security Audit policy setting `Audit Logon` within `Logon/Logoff` needs
|
|
to be enabled.
|
|
known_false_positives: A source user failing attempting to authenticate multiple users
|
|
on a host is not a common behavior for regular systems. Some applications, however,
|
|
may exhibit this behavior in which case sets of users hosts can be added to an allow
|
|
list. Possible false positive scenarios include systems where several users connect
|
|
to like Mail servers, identity providers, remote desktop services, Citrix, etc.
|
|
references:
|
|
- https://attack.mitre.org/techniques/T1110/003/
|
|
- https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/event-4648
|
|
- https://docs.microsoft.com/en-us/windows/security/threat-protection/auditing/basic-audit-logon-events
|
|
tags:
|
|
analytic_story:
|
|
- Active Directory Password Spraying
|
|
- Insider Threat
|
|
confidence: 70
|
|
context:
|
|
- Source:Endpoint
|
|
- Stage:Initial Access
|
|
- Stage:Privilege Escalation
|
|
dataset:
|
|
- https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1110.003/purplesharp_explicit_credential_spray/windows-security.log
|
|
impact: 70
|
|
kill_chain_phases:
|
|
- Exploitation
|
|
message: Potential password spraying attack from $ComputerName$
|
|
mitre_attack_id:
|
|
- T1110.003
|
|
- T1110
|
|
observable:
|
|
- name: ComputerName
|
|
type: Endpoint
|
|
role:
|
|
- Victim
|
|
product:
|
|
- Splunk Enterprise
|
|
- Splunk Enterprise Security
|
|
- Splunk Cloud
|
|
required_fields:
|
|
- _time
|
|
- EventCode
|
|
- Security_ID
|
|
- Account_Name
|
|
- ComputerName
|
|
risk_score: 49
|
|
security_domain: endpoint
|
|
asset_type: Endpoint
|