Hacker Directory — Understand what you hack.Hacker Directory — Understand what you hack.
Continue learning
TR
Contents15 chapters · 82 lessons
LESSON 09.01DERİN TEKNİK İNCELEME

The two halves of a GPO: GPC, GPT, and SYSVOL

GPO is the combination of GPC metadata in AD and GPT files in SYSVOL under the same policy GUID; You cannot say "GPO has been applied" without considering both replication paths and client reading together.

1. Core mechanism

A GPO is one logical object formed by Group Policy Container (GPC) metadata in AD and Group Policy Template (GPT) files in SYSVOL. Which client scope includes the GPO is established by link context on a site/domain/OU; the link is not part of the GPC. If one half is updated while the other is stale, the policy view seen by a client can change.

Interfaces and specifications

  • The client talks to the directory service on the domain controller for GPC.
  • The client reads the path domain\Policies\{GUID} in SYSVOL for GPT.
  • GPC and GPT are mapped to the same policy GUID; A single file path or a single LDAP object is not a GPO.
  • Policy settings are divided into sub-files such as registry, script or security template; The path of each setting is evaluated separately.
  • Replication delay may cause GPC and GPT copies to appear at different times.

Two halves, one identity

GPC is the container on the directory side; GPT is the file tree on the SYSVOL side. The policy GUID binds these.

This distinction fixes taglines like “GPO is a file” or “GPO is just an LDAP object.”

Version and match

The client determines which content to read by comparing the GPC metadata with the version and location information of the GPT content. This is a distributed reading flow, not instantaneous magic.

Replication limit

AD replication carries the GPC; SYSVOL replication carries the GPT through DFSR or, in legacy environments, FRS. The two paths can complete at different times and produce a temporary mismatch.

Reading result

To understand the effect of GPO, it is necessary to examine directory metadata, link and GPT files together; A single export output does not prove that the other half is healthy.

State and data flow

  1. Start: the same policy identity has GPC and GPT copies on DC-A and DC-B. This fixture follows a change to an existing GPO.
  2. The admin writes changed GPC metadata at DC-A; DC-B’s copy is not yet the same.
  3. The policy’s GPT file is updated in DC-A SYSVOL. GPC and GPT are stored and transferred separately.
  4. The client finds a candidate GPO from site/domain/OU links. The fixture’s security filter determines applicability separately.
  5. The client reads GPC and GPT copies at its selected DC-B separately; freshness depends on the comparison condition.
  6. Compare the two versions. Equality does not establish processing success; mismatch does not independently establish CSE failure.
  7. Inspect CSE processing and client output for the applicable policy. Success or failure here is an explicit fixture observation only.
  8. Compare the configured value, previous client value and observed result. Do not replace missing observations with success or failure.

2. Exploitation

Broken trust assumption

Publishing a GPO is not just saving a setting; directory metadata, SYSVOL content, link and the version that the client can read are required together.

Technical prerequisites

  • The GPC object must be accessible in AD.
  • The GPT folder must be accessible with the same policy GUID in SYSVOL.
  • The client must have the relevant domain/site/OU scope and the necessary read permissions.
  • Replication and version information must be consistent.

Exploitation mechanism

The red-side risk is that the GPC and GPT remain at different revisions under the same GUID, or that GPT reads are blocked. Even if the client finds GPO metadata and link context, failure to read GPT content can prevent affected client-side extension settings from being processed; a successful directory write alone does not prove application.

Limit of fault

If the GPC exists but the GPT does not, the client might see metadata but cannot read the policy files. A GPT folder also does not apply by itself without a matching GPC or a link in the client’s scope.

Thoughts of abuse

GPO write and SYSVOL write privileges are separate attack surfaces. Just because an account can read GPC doesn't mean it can modify it or write to GPT.

3. Defense & Detection

Telemetry scope

  • Do GPC object and GPT folder match the same GUID?
  • Is there AD and SYSVOL replication delay?
  • Does the principal who made the change have the expected authority on both the directory and file side?

Events and relevant fields

  • For GPO changes, directory service change audit and SYSVOL file access/replication telemetry are examined together.
  • The time and GUID correlation of the GPC attribute change and the file change in GPT is searched.
  • On the client side, the policy processing result is evaluated together with the error cause of the unapplied setting.
  • Event ID or field meaning is not confirmed without verification with the relevant Windows version and audit policy.
  • A single successful LDAP write does not indicate that the client is reading GPT.

blue telemetry

The blue side combines GPC metadata and GPT file movement in the same policy GUID and time context. Directory alone or filesystem log alone provides incomplete evidence.

defense limit

The goal is not to say “GPO has changed”; It is to distinguish which half is changed, by whom, for which client scope, and what the client actually reads.

Detection logic · KQL

// Synthetic schema: GUID-only candidate correlation; no time condition.
DirectoryChange | where AttributeName has "gPC" | join kind=inner (FileChange | where Path has "SYSVOL") on ObjectGuid

Query assumptions

  • There is no dataset; query was not run.
  • Field names are sample schema, not Windows event XML.
  • The join matches ObjectGuid only; widely separated changes may match. Validate timestamp fields and add a bounded time comparison before interpreting temporal proximity. A match does not prove client application.

False positives

  • Legitimate Group Policy management and replication latency.

Hardening

  • Restrict GPO management to separate admin groups and change approval.
  • Review read/write permissions separately for GPC and GPT.
  • Monitor SYSVOL replication health and policy processing failures regularly.
  • Maintain GPO change audit with adequate retention.

Read the examples

READ THE EXAMPLE TOGETHER

SYNTHETIC TEACHING EXAMPLE

Which GPC is associated with which SYSVOL path?

Synthetic GPO metadata change: GPC attribute and GPT path show the same policy GUID

01
Directory object classgroupPolicyContainer

groupPolicyContainer identifies the directory-side GPC, not a SYSVOL folder or a client setting.

02
Directory object GUID{11111111-2222-3333-4444-555555555555}

This XML excerpt spells the field ObjectGuid; the raw spelling is preserved. It identifies the directory object; the policy GUID embedded in the path is a separate reference.

03
GPC reference to the GPT pathgPCFileSysPath

Names the gPCFileSysPath change. A recorded path establishes neither file delivery, equal versions nor client retrieval.

04
Recorded path text\\outreason.example\SYSVOL\outreason.example\Policies\{11111111-2222-3333-4444-555555555555}

This is synthetic text referencing a SYSVOL policy folder. Do not equate object GUID and the policy GUID in the path merely because both are GUIDs.

What to take away

This partial 5136 excerpt shows the GPC and its path reference. OperationType, actor and previous value are absent; it establishes neither added/deleted direction nor a GPT/client application outcome.

This guide explains selected fields of the synthetic fixture. Editing returns to generic reading; no Windows operation or event authenticity is verified.

Scope of this example

Synthetic, hand-generated Event XML. Parser only validates the XML format; It does not verify GPC/GPT semantics or actual Windows behavior. UNC path and GUID are training data.

Open the raw record · EVENT-XML
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event"><System><Provider Name="Microsoft-Windows-Security-Auditing"/><EventID>5136</EventID><Version>0</Version><Level>0</Level><Task>14081</Task><Opcode>0</Opcode><Keywords>0x8020000000000000</Keywords><TimeCreated SystemTime="2026-10-01T10:00:00.000000000Z"/><EventRecordID>91001</EventRecordID><Channel>Security</Channel><Computer>DC01.outreason.example</Computer><Security/></System><EventData><Data Name="ObjectClass">groupPolicyContainer</Data><Data Name="ObjectGuid">{11111111-2222-3333-4444-555555555555}</Data><Data Name="AttributeLDAPDisplayName">gPCFileSysPath</Data><Data Name="AttributeValue">\\outreason.example\SYSVOL\outreason.example\Policies\{11111111-2222-3333-4444-555555555555}</Data></EventData></Event>

Two reality checks

Assumption: GPO is just a file folder sitting under SYSVOL.
In fact: GPT files are only one half; a GPT folder is not proof of application without the matching GPC and a site/domain/OU link in the client’s scope.
Assumption: If the GPC change is completed, the client will definitely read the new policy.
In fact: GPC and GPT replication can proceed separately; It should also be verified that the client can read the two halves with the same GUID and appropriate version.

YOUR TURN

Work through this story.

Go beyond recall: change a condition, read evidence, explain the reason for a decision.

1 / 3 · PREDICT

GPO files were updated in SYSVOL. What does that not prove by itself?

Choose an answer

A hint

Even with the same GUID, GPC, GPT and the client outcome are separate.

Read the answer reasoning

That WS01 successfully applied the entire GPO.

Correct. GPC/GPT reads, scope and the CSE outcome are still needed.

2 / 3 · READ EVIDENCE

Which interpretation do these read snapshots support?

New synthetic practice example; independent of the lesson artifact.
GPO kimliği / GPO identity
GPO-R1 — teaching label
Client’ın seçtiği DC / Client-selected DC
DC02
GPC user version read
7
GPT user version read
6
CSE sonucu / CSE outcome
not observed
Choose an answer

A hint

Do not substitute a version mismatch for a CSE failure outcome.

Read the answer reasoning

The two read versions differ; the CSE outcome is unknown.

Correct. A match would not by itself prove processing success either.

3 / 3 · EXPLAIN

Make “one GPO, two stores, a separate client outcome” concrete for Tunahan.

A hint

AD metadata, the SYSVOL file and the WS01 CSE.

Read the answer reasoning

GPC is AD metadata and GPT consists of files in SYSVOL; they share a GPO identity but have separate replication paths. WS01 reading both from its selected DC and the relevant CSE processing the setting require separate evidence.

  • I placed GPC in AD and GPT in SYSVOL.
  • I distinguished both delivery paths from the client outcome.

Your explanation is not automatically graded. Compare the checkpoints with your answer.

Open the case terminal · PowerShell / CMD

Training simulation · Commands and outputs belong to this case.

Read the local task registration. Ready does not mean it has executed.

Run the prepared script as supplied, or try the everyday commands below.

WS01 · Windows PowerShell 5.1SAMPLE SESSION
IYELABS\tunahanstudent0901 · lesson workspace

Ctrl / ⌘ + Enter: run · Shift + Enter: new line

Curious? Try everyday commands

Tap a command, then Run. User and network details follow the selected sample computer.

These are learning practices; they do not affect certification exam scores.

Sources