Detection rules › Splunk

Detect Computer Changed with Anonymous Account

Status
production
Group by
PasswordLastSet, SubjectDomainName, action, app, dest, process_id, signature, signature_id, status, user, user_group, vendor_product
Author
Rod Soto, Jose Hernandez, Splunk
Source
github.com/splunk/security_content

The following analytic detects changes to computer accounts using an anonymous logon. It leverages Windows Security Event Codes 4742 (Computer Change) with a SubjectUserName of a value "ANONYMOUS LOGON". This activity can be significant because anonymous logons should not typically be modifying computer accounts, indicating potential unauthorized access or misconfiguration. If confirmed malicious, this could allow an attacker to alter computer accounts, potentially leading to privilege escalation or persistent access within the network.

MITRE ATT&CK coverage

TacticTechniques
Lateral MovementT1210 Exploitation of Remote Services

Event coverage

Rule body splunk

name: Detect Computer Changed with Anonymous Account
id: 1400624a-d42d-484d-8843-e6753e6e3645
version: 11
creation_date: '2020-09-18'
modification_date: '2026-05-13'
author: Rod Soto, Jose Hernandez, Splunk
status: production
type: Hunting
description: |
    The following analytic detects changes to computer accounts using an anonymous logon.
    It leverages Windows Security Event Codes 4742 (Computer Change) with a SubjectUserName of a value "ANONYMOUS LOGON".
    This activity can be significant because anonymous logons should not typically be modifying computer accounts, indicating potential unauthorized access or misconfiguration.
    If confirmed malicious, this could allow an attacker to alter computer accounts, potentially leading to privilege escalation or persistent access within the network.
data_source:
    - Windows Event Log Security 4742
search: |-
    `wineventlog_security`
    EventCode=4742
    SubjectUserName="ANONYMOUS LOGON"
    PasswordLastSet="*"
    | stats count min(_time) as firstTime max(_time) as lastTime
        BY action app dest ProcessID PasswordLastSet
           signature signature_id src_user status
           SubjectDomainName user user_group vendor_product
    | `security_content_ctime(firstTime)`
    | `security_content_ctime(lastTime)`
    | `detect_computer_changed_with_anonymous_account_filter`
how_to_implement: |
    This search requires "Audit Computer Account Management" sub-category in the audit policy to be enabled on the system in order to generate Event ID 4742, as well as "Audit Logon" to generate Event ID 4624.
    We strongly recommend that you specify your environment-specific configurations (index, source, sourcetype, etc.) for Windows Event Logs.
    Replace the macro definition with configurations for your Splunk environment. The search also uses a post-filter macro designed to filter out known false positives.
known_false_positives: Some legitimate, legacy devices may utilize this functionality and generate false positives. Apply additional tuning as needed.
references:
    - https://www.lares.com/blog/from-lares-labs-defensive-guidance-for-zerologon-cve-2020-1472/
    - https://netwrix.com/en/cybersecurity-glossary/cyber-security-attacks/zerologon-vulnerability/
    - https://github.com/sbousseaden/EVTX-ATTACK-SAMPLES/blob/master/Credential%20Access/Zerologon_VoidSec_CVE-2020-1472_4626_LT3_Anonym_follwedby_4742_DC_Anony_DC.evtx
analytic_story:
    - Detect Zerologon Attack
asset_type: Windows
cve:
    - CVE-2020-1472
mitre_attack_id:
    - T1210
product:
    - Splunk Enterprise
    - Splunk Enterprise Security
    - Splunk Cloud
category: endpoint
security_domain: endpoint
tests:
    - name: True Positive Test
      attack_data:
        - data: https://media.githubusercontent.com/media/splunk/attack_data/master/datasets/attack_techniques/T1212/zerologon/zerologon.log
          source: XmlWinEventLog:Security
          sourcetype: XmlWinEventLog
      test_type: unit

Stages and Predicates

Stage 1: search

`wineventlog_security`
EventCode=4742
SubjectUserName="ANONYMOUS LOGON"
PasswordLastSet="*"

Stage 2: stats

| stats count min(_time) as firstTime max(_time) as lastTime
    BY action app dest ProcessID PasswordLastSet
       signature signature_id src_user status
       SubjectDomainName user user_group vendor_product

Stage 3: search

| `security_content_ctime(firstTime)`

Stage 4: search

| `security_content_ctime(lastTime)`

Stage 5: search

| `detect_computer_changed_with_anonymous_account_filter`

Indicators

Each row is a field, operator, and value that the rule matches. The corpus column counts how many other rules in the catalog look for the same combination: high numbers point to widely-used, community-vetted indicators. Blank or 1 shows that the indicator is specific to this rule.

FieldKindValues
EventCodeeq
  • 4742 corpus 6 (splunk 6)
PasswordLastSeteq
  • "*"
SubjectUserNameeq
  • "ANONYMOUS LOGON" corpus 3 (splunk 2, sigma 1)