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

Reading an Authorization Graph: Membership, Object Control, Sessions, and Management Relationships.

An authorization graph is not an attack result; it is a hypothesis map of relationships between principals and auditable controls. Membership, an object-control ACE, a session, and a management relationship are not the same kind of edge: each requires different data freshness, authorization scope, and runtime gates.

1. Core mechanism

This lesson ties an edge in the graph back to the directory or runtime evidence on which it rests. A path is only a candidate for applicability once the subject, target, scope, and intervening runtime conditions of every edge have been verified; final resource authorization must still be evaluated separately.

Interfaces and specifications

  • membership edge: a principal's security-group membership or nested-group path.
  • object-control edge: a DACL ACE for a specific object, property, or control-access right.
  • session edge: an observed, time-bounded session for a principal on a manageable target.
  • management edge: the separate authorization boundary required to perform a management operation on the target.
  • AccessCheck: the SIDs in the token, the requested access, and the object's DACL are evaluated together.
  • edge freshness: a directory snapshot, session telemetry, and ACL may not represent reality at the same point in time.

Read the relationship contract, not just the node

The User-A -> Group-B edge in the graph says that User-A may be a member of Group-B; the Group-B -> Object-C edge says that an ACE may grant Group-B a specific right. Collapsing both edges into a single 'admin' label hides which change would break the path.

For an object-control edge, read the ACE trustee, access mask, any object-type GUID, whether it is inherited, and the target object. 'Write Property' and 'Generic All' do not promise the same effect; a property-specific ACE applies only to the relevant attribute.

A graph path is not runtime evidence

The ability to draw a path does not prove that every transition can be used at the same time. Token group membership may have changed, an ACE may be deny-only or restricted to a narrower object type, and the network, service acceptance, or resource ACL may block the path separately.

A session edge is especially different: it is not a persistent directory permission, but a fact bound to the observation time and collection scope. An old session record does not mean that the session still exists today.

State and data flow

  1. Classify each edge as membership, object-control, session, or management.
  2. Record the object, trustee, right, and observation time on which the edge rests.
  3. For the next edge, verify token, ACL, and runtime preconditions separately.
  4. Establish the actual authorization result on the resource independently of the graph.

2. Exploitation

Broken trust assumption

An attacker has obtained control of at least one relationship shown in the graph or is attempting to use an incorrectly interpreted edge; this lesson does not provide operational steps for a real environment.

Technical prerequisites

  • Every object-control edge on the path is genuinely applicable with the correct trustee and required access mask.
  • The runtime portion is current; the target is reachable and later authorization boundaries can also be passed.

Exploitation mechanism

The graph shows an attacker which control planes might be combined. But a broad path is only as real as its weakest edge: a stale session, removed group membership, or an overly broad reading of a property-specific ACE invalidates the path.

The shortest path is not the strongest evidence

A tool may show a short path between two nodes; that is useful for prioritization, but it is not exploit evidence. Labeling the path's impact as 'domain compromise' before reducing its edges to source artifacts leads to the wrong remediation.

Owner, WRITE_DAC, and direct write rights are distinct mechanisms. The assessment must keep the intervening permission-change step visible.

3. Defense & Detection

Telemetry scope

  • For every high-impact graph edge, retain the object DN, trustee SID, ACE type, mask, and object-type information.
  • Separate the membership source, nested-group resolution, and snapshot time.
  • Add the observation source, collector scope, and last-seen time to session edges.
  • Record separately the narrowest permission change that would close the path and its expected business impact.

Events and relevant fields

  • With an appropriate SACL, Event 4662 can record a monitored directory-object operation. ObjectType identifies the class of the object that was accessed; property or property-set GUIDs associated with the operation appear in Properties. The event alone does not prove that the full graph path worked or that later resource access succeeded.
  • Session telemetry depends on visibility coverage; its absence does not show that a session never existed.

Make the graph finding auditable

An edge report should include not only source and target names, but also the artifact that produced it. In this example, the ACE grants Write Property for a specific member-property GUID; the parser reads the ACE but does not perform AccessCheck or change group membership.

This record makes it possible to measure the same edge again after remediation. Whether the remediation disrupts endpoint access is a separate change-validation task.

Detection logic · XPath

*[System[(EventID=4662)]]

Query assumptions

  • This XPath example selects Event 4662 records from the chosen channel; it does not filter by the member-attribute GUID.
  • For a property-specific review, ObjectType identifies the object class, while Properties carries class/property-set GUIDs associated with the operation. Look for the member-attribute GUID in Properties and interpret it with AccessMask, Subject, and ObjectName.
  • Producing Event 4662 depends on the relevant directory object's SACL and success/failure audit settings; this query was not run against a live dataset.

False positives

  • Legitimate group administration may produce an event with the same object type.
  • The event does not show that the entire path worked or what the subsequent resource-authorization result was.

Hardening

  • Manage privileged group membership and sensitive-object ACEs with separate owners and change control.
  • Do not replace property-specific delegation with Generic All or broad Write Property.
  • Require stale-data and runtime-verification fields in the graph report.

Read the examples

READ THE EXAMPLE TOGETHER

SYNTHETIC TEACHING EXAMPLE

Which entries describe access, audit or integrity rules?

Group-membership edge · property-specific SDDL

01
S-1-5-21-1987654321-1234567890-2468013579-4101OA · Write Property

Object-specific allow entry. The mask scopes the allow/deny entry for its trustee. Effective access cannot be concluded without the request, token, order and object type.

02
Object ownerBuilt-in Administrators

This section is part of the security descriptor. Owner, primary group, DACL and SACL carry different information.

03
Primary groupBuilt-in Administrators

This section is part of the security descriptor. Owner, primary group, DACL and SACL carry different information.

04
Access entries / DACL(OA;;WP;bf9679c0-0de6-11d0-a285-00aa003049e2;;S-1-5-21-1987654321-1234567890-2468013579-4101)

This section is part of the security descriptor. Owner, primary group, DACL and SACL carry different information.

What to take away

Reading an entry is different from concluding that someone can access the object. The request, token, ACE order and object type also matter.

This view explains SDDL entries; it does not run the Windows access decision. SACL audit and mandatory-label entries do not replace DACL permissions.

Scope of this example

Synthetic artifact for analysis; it is not a live capture and does not establish the complete authorization result.

Open the raw record · SDDL
O:BAG:BAD:(OA;;WP;bf9679c0-0de6-11d0-a285-00aa003049e2;;S-1-5-21-1987654321-1234567890-2468013579-4101)

Two reality checks

Assumption: If a path appears in the graph, every edge is applicable and the result is guaranteed.
In fact: The right's scope, token/ACL evaluation, freshness, and runtime gates for every edge must be verified separately; resource authorization is an independent final decision.
Assumption: Write Property in an ACE means full control over every attribute.
In fact: An object-specific ACE can be narrowed by an object-type GUID; in this example, the right supports only the edge for the member attribute.

YOUR TURN

Work through this story.

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

1 / 3 · PREDICT

A session observation on FS01 was collected yesterday. What does this edge establish today?

Choose an answer

A hint

Separate the session observation time from directory membership.

Read the answer reasoning

It shows yesterday’s observation; the current session needs separate verification.

Correct. A session edge depends on time and collection scope.

2 / 3 · READ EVIDENCE

Which value in this teaching table identifies the narrow scope of the right?

Case relationship table; not Windows output.
Edge type
object-control
Right
Write Property
Attribute scope
member
Resource READ result
not observed
Choose an answer

A hint

Look for the attribute to which Write Property applies.

Read the answer reasoning

The member attribute scope

Yes. A property-specific right is not Generic All over the object.

3 / 3 · EXPLAIN

Why does this graph alone not establish that Tunahan opened the report on FS01?

A hint

Connect the relationship, runtime state and final resource decision.

Read the answer reasoning

The graph shows specific relationships; freshness and token/ACL conditions need separate verification. The READ result on FS01 then requires independent evidence.

  • I distinguished the edge type and narrow right scope.
  • I stated that the current context and FS01 READ outcome need separate evidence.

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

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

Sources