Detection rules › Elastic

Startup/Logon Script added to Group Policy Object

Author
Elastic
Source
upstream

Detects the modification of Group Policy Objects (GPO) to add a startup/logon script to users or computer objects.

MITRE ATT&CK coverage

TacticTechniques
PersistenceT1037 Boot or Logon Initialization Scripts, T1547 Boot or Logon Autostart Execution
Privilege EscalationT1037 Boot or Logon Initialization Scripts, T1484 Domain or Tenant Policy Modification, T1484.001 Domain or Tenant Policy Modification: Group Policy Modification, T1547 Boot or Logon Autostart Execution
Defense EvasionT1484 Domain or Tenant Policy Modification, T1484.001 Domain or Tenant Policy Modification: Group Policy Modification

Event coverage

ProviderEvent IDTitle
Security-Auditing5136A directory service object was modified.
Security-Auditing5145A network share object was checked to see whether client can be granted desired access.

Stages and Predicates

Stage 1: eql:any

winlog.event_data.AttributeLDAPDisplayName:"gPCMachineExtensionNames" and winlog.event_data.AttributeValue:"40B66650-4972-11D1-A7CA-0000F87571E3" and winlog.event_data.AttributeValue:"42B5FAAE-6536-11D2-AE5A-0000F87571E3"

Stage 2: eql:any

winlog.event_data.AccessList:"%%4417" and winlog.event_data.RelativeTargetName:"*\\scripts.ini" and winlog.event_data.ShareName:"\\\\*\\SYSVOL"

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
winlog.event_data.AccessListwildcard
  • *%%4417* corpus 2 (elastic 2)
winlog.event_data.AttributeLDAPDisplayNamewildcard
  • gPCMachineExtensionNames corpus 3 (elastic 3)
  • gPCUserExtensionNames corpus 2 (elastic 2)
winlog.event_data.AttributeValuewildcard
  • *40B6664F-4972-11D1-A7CA-0000F87571E3*
  • *40B66650-4972-11D1-A7CA-0000F87571E3*
  • *42B5FAAE-6536-11D2-AE5A-0000F87571E3*
winlog.event_data.RelativeTargetNamewildcard
  • *\psscripts.ini
  • *\scripts.ini
winlog.event_data.ShareNamewildcard
  • \\*\SYSVOL corpus 2 (elastic 2)

Neighbors

Broader alternatives (more inclusive than this rule)

These rules match a superset of what this rule catches. They cover the same events plus more. Use them if you want wider coverage and can absorb more false positives.

Often fire together

Rules that target events appearing in the same incident timelines. They pattern-match on adjacent steps of the same TTP, so an alert from one is often paired with alerts from these. Useful for triage context and for assembling chained-detection rules.

Share event IDs (chain-detection candidates)

Rules that observe the same Windows event-ID pairs as this one. If you're authoring a multi-stage / sequence rule that spans these events, these are the existing detections that already cover one or both endpoints.