OSCP AD ACL review should connect a candidate right to the principal, object and property actually observed. Keep directory evidence, effective-rights questions and separately permitted validation distinct.
Open the practical working record for this guideโs task-specific fields and next action.
Resolve the exact ACE before describing impact
Record principal SID, effective group context, target DN, allow/deny entries, inheritance flags and any object/property GUID. A right over one property is not automatically control of the entire object. Preserve the domain controller and query time, and distinguish a directory observation from token refresh or replication effects. Prefer read-only corroboration before a separately permitted state change, with an agreed recovery plan. A scanner label alone is not proof of an end-to-end path. Source and scope.
Manual Active Directory Enumeration: The ACLScanner โ Proof โ Pivot Method
When BloodHound is off-limits, AD doesnโt get โharderโโit gets noisier. The graph vanishes, and suddenly youโre staring at Windows output like itโs weather.
If youโre doing OSCP AD enumeration without BloodHound, the real problem isnโt missing a tool. Itโs losing a rhythm: what to scan, what to trust, and whatโs worth acting on when time is tight. Keep guessing and youโll pay the usual tax: an hour of โenumerationโ that canโt produce one defensible edgeโor one reportable step forward.
Definition: ACLScanner โ Proof โ Pivot is a manual mini-graph method for Active Directory. Quickly surface a few write-like permission candidates, validate one edge with reproducible evidence (principal/right/target/impact), then make the smallest measurable move that changes your position and unlocks the next scan.
This post gives you a calm practice loop that turns permission noise into progress: built around PowerView, high-signal ACL targets, and a proof standard you can re-run under pressure. (If you want the companion โbig pictureโ framing first, start with AD profiling without BloodHound and come back here.)
If you canโt use BloodHound, you can still win AD with a tight loop: scan for likely ACL-based edges, prove one edge with evidence, then pivot into the next permission or credential opportunity. Use PowerView to identify โwho can control what,โ verify with one targeted check (membership, ACL diff, effective rights), and only then consider a specifically permitted action with a documented impact and recovery plan (membership, password or attribute changes can disrupt access). Repeat until your path is undeniableโand reportable. (For the evidence habit, see OSCP proof screenshot standards.)
Table of Contents
1) Scope-first rules (so you donโt train bad habits)
Who this is for / not for
For you if: youโre practicing in authorized environments (OSCP labs, PNPT-style ranges, CTFs youโre allowed to touch) and want a BloodHound-free routine that still produces clean, โgrader-friendlyโ evidence.
Not for you if: youโre looking for real-world intrusion guidance. This article stays intentionally practice-scoped and focuses on decision flow, validation, and documentationโso your habits remain safe, legal, and transferable.
โNo BloodHoundโ doesnโt mean โno graphโ
BloodHound is a graph builder. You can still build a tiny graph manuallyโone edge at a timeโusing a sentence you can paste into your notes:
- Principal โ Right โ Target โ Action โ New Position
That sentence is your compass. If your notes donโt contain it, youโre not navigatingโyouโre sightseeing.
Evidence standard: what counts as โproofโ
In practice labs (and especially in reporting), โI think I canโ is not a finding. Proof is an artifact that answers five questions without drama:
- Who (principal)
- What (target object)
- Which right (permission / attribute)
- Where (domain context + object location)
- How do I reproduce (the exact check you ran)
- Scan fast, but prove precisely.
- Prefer checks that you can re-run in one line.
- Document edges, not vibes.
Apply in 60 seconds: Add a โPrincipal โ Right โ Target โ Action โ New Positionโ line template to your notes before you scan anything.

2) Loop overview: ACLScanner โ Proof โ Pivot (the rhythm)
Step 1: ACLScanner (find candidates fast)
The goal is not โenumerate all ACLs.โ The goal is find 3 plausible edges quickly. Think of it like triage: groups, service accounts, OUs/GPOs, computersโobjects that tend to create outsized leverage in lab AD.
Step 2: Proof (validate one edge)
Pick one candidate and lock it with a minimal verification. If the environment doesnโt support your assumed action, proof will expose it earlyโbefore you spend 45 minutes โtrying harderโ at the wrong door.
Step 3: Pivot (convert permission into position)
Pivot means: use the smallest reversible action (or the smallest confirmable change) that creates a new surface. Then you re-run the scanner as the new principal/context. (When youโre choosing between approaches, keep a simple rule of thumb from OSCP pivoting tool choice: pick the method that keeps variables isolated and proofable.)
Micro moment: Letโs be honestโฆ
The loop fails when you scan forever. Your brain starts bargaining: โJust one more queryโฆ just one more objectโฆโ And suddenly itโs 2 a.m. and your only achievement is a larger pile of output.
- Healthy loop: 20 minutes scanning โ 25 minutes proof โ 15 minutes pivot & rescan
- Unhealthy loop: 60 minutes scanning โ 0 minutes proof โ 0 minutes progress
- Use a fixed scan/proof/pivot split.
- Stop scanning when you have 3 candidates.
- One locked edge beats ten maybes.
Apply in 60 seconds: Mini calculator: If you have 90 minutes, run 30/40/20 (scan/proof/pivot). If you have 60 minutes, run 20/25/15. Write the split at the top of your notes. If you struggle with โproductive-lookingโ detours, keep the OSCP rabbit hole rule visible while you work.
3) Setup that prevents โPowerView liesโ (context + identity)
Confirm where you are (domain context checks)
Most โPowerView liesโ are actually context lies. Wrong domain. Wrong user token. Wrong time. Wrong idea of what your identity is right now. Before you trust any output, anchor yourself:
- What domain/forest am I in?
- Who am I (and which groups are in my effective token)?
- Is time skew breaking authentication workflows?
PowerView loading + clean session discipline
PowerView is useful in labs because it helps you reason about principals and permissions. But modules can be messy if you import, re-import, and mix versions. Adopt a boring ritual:
- One โcleanโ working directory per session
- One module version per session
- Restart the shell when context changes materially (new creds, new groups, new host)
Normalize outputs for repeatability
If your files are chaos, your brain becomes the databaseโand your brain is not a reliable database when youโre tired. Use consistent filenames that answer: who, what, when. (If you want a ready-to-use structure, adapt your note system from the Obsidian OSCP enumeration template and keep it boring.)
- principal_context.txt
- target_acl.txt
- edge_proof.txt
Show me the nerdy details
โPowerView liesโ often means youโre querying different domain controllers, using a token that hasnโt refreshed, or interpreting inherited/default ACEs as meaningful. A clean session + a consistent proof checklist reduces false confidence and makes your work reproducible under exam pressure. For clean capture habits, pair this with Kali Linux lab logging so your artifacts stay searchable later.

4) ACLScanner targets: what to scan first (and why)
High-signal objects list (ordered for OSCP speed)
When time is limited, scan where labs tend to hide leverage:
- Groups with admin-like power (helpdesk, server operators, local admin delegations)
- Service accounts (accounts tied to apps often sit near privileged pathways)
- OUs/GPOs (policy control can outrank local admin in practice)
- Computers (lab paths often involve delegated rights over machine objects)
Candidate rights that actually pivot
Youโre not hunting every permission. Youโre hunting write-like permissions that can change state. Common lab-relevant categories include:
- GenericAll / GenericWrite (broad control; validate scope carefully)
- WriteDACL / WriteOwner (permission to change permissionsโhigh impact)
- AddMember (group membership control)
- ResetPassword (user control; still needs environment validation)
- WriteProperty (specific attribute control; can be decisive or useless)
Curiosity gap: โWhy this โminorโ ACE keeps showing upโ
Labs love delegated permissions because they look harmless. A โminorโ delegated right often appears across multiple objects (reused templates, copied OUs, โtemporaryโ helpdesk workflows). Your job is to spot repetition: repeated delegation is how โone small edgeโ becomes a hub.
- Prioritize write-like rights tied to your principal or its groups.
- Prefer rights on objects that โfan outโ (groups, OUs, GPOs).
- Validate power of the target (what it controls) before you celebrate.
For each candidate, resolve the principal, exact right, object/property scope, inheritance and effective access context. Default or inherited ACEs can matter; do not discard them merely because they are routine. A two-out-of-three heuristic is not an effective-permission calculation.
5) ACLScanner execution: a โsmall listโ that finds big edges
Baseline scan: your current principal โ what can I touch?
Start from yourself (and your effective groups). The goal is to identify objects where your principal appears in a way that suggests control, not merely read access. Think: โWhere do I show up as someone who can change this?โ
Expand to โyour groups โ their rightsโ
Group nesting is where labs hide shortcuts. If a low-looking account is nested into a group that holds delegated rights, your effective reach may be bigger than your username suggests. Treat nested membership as first-class: itโs part of your identity, not an โextra detail.โ
Reduce noise with filters (the OSCP version)
Noise kills momentum. Use heuristics that keep you honest:
- Inspect explicit and inherited ACEs; inheritance is context, not a reason to exclude an entry
- Highlight write-like rights over read-like rights
- Highlight ACEs tied to you or your groups
Curiosity gap: โThe one OU you should always inspectโ
If youโre going to inspect only one OU early, pick the one that feels operational: where workstations, servers, or โmanaged usersโ live. Those OUs often carry delegations intended for IT workflows. In labs, those delegations are frequently your intended path.
Show me the nerdy details
Most AD environments have a lot of routine ACEs that are inherited or default. High-signal lab edges often appear as unusual write-like permissions on a small subset of objects. Your scanner doesnโt need to be โcomplete.โ It needs to be directional. If your scan cadence needs tightening, borrow the timebox structure from a fast enumeration routine for any VM and apply the same discipline here.
6) Proof stage: how to โlockโ an edge (without overacting)
Proof checklist (must capture all 5)
Before you do anything that changes state, lock the edge with proof. Your proof pack should include:
- Principal (who you are, including relevant group membership)
- Target (the object you control)
- Right (the specific permission / attribute)
- Evidence output (the line you can quote)
- Repro check (the minimal command/check you can run again)
Proof patterns by right type
You donโt need a thousand proof patterns. You need a few that cover common edges:
- Group control: prove you can affect membership, then prove the groupโs power (what access it grants)
- User control: prove the specific right, then prove what โcontrolโ would mean here (login viability, scope, constraints)
- OU/GPO control: prove you can change the object and identify its linked scope (what it would influence)
- Computer control: prove the right and where it matters (which machine, which policy surface, which admin boundary)
Micro moment: Hereโs what no one tells youโฆ
โProofโ isnโt just ACL text. Proof is: this right maps to an action in this environment. If the labโs configuration makes the action irrelevant, your proof should say that too. Dead ends are acceptable. Unexplained dead ends are expensive.
- Stop at โlocked edgeโ before any big action.
- Prefer reversible moves or non-destructive validation first.
- Write the edge as a sentence you can defend.
Apply in 60 seconds: Decision card: If you can prove the right and prove the targetโs power, proceed to a minimal pivot. If you can prove the right but canโt explain the power, pause and enumerate the targetโs impact first.
7) Pivot stage: permission-to-position conversions (minimal, repeatable)
Pivot menu (choose the smallest move)
Pivoting is where people get reckless because it feels like โfinally, action.โ The operator move is the opposite: smaller, calmer, more measurable. In authorized labs, common pivot categories include:
- Identity shift: change to a new principal (new creds / new token context) and rescan as that identity
- Membership shift: if you legitimately gain membership, validate that the effective token changed before you assume new reach
- Scope shift: move from a user object edge to an OU/GPO edge (or vice versa) and re-enumerate what that changes
- Host shift: if your new position changes host-level access, use that to expand recon surfaces (again: authorized practice only)
After-action checks (donโt skip)
- Start a fresh session (or refresh context) when the principal changes
- Re-run the scanner as the new principal
- Capture โbefore vs afterโ output in one place
Curiosity gap: โWhen a pivot โworksโ but nothing changesโ
Common reasons in labs:
- Token reality mismatch: your session didnโt pick up new group membership
- Wrong scope assumption: the right applies to an object, but not to the attribute/action you assumed
- Cached context: youโre seeing old state in one tool/shell while the directory reflects new state elsewhere
Show me the nerdy details
In Windows environments, group membership and privilege changes often require a new logon session/token to be reflected in effective access checks. Thatโs why โrescan as the new principalโ is part of the loop, not an optional habit. If time skew is part of your โnothing changesโ story, fix it early with KRB_AP_ERR_SKEW troubleshooting.
8) Common mistakes (the ones that waste an hour)
Mistake 1: scanning every object before proving one edge
This feels productive because output is growing. But output isnโt progress. Fix it with a rule you can say out loud:
- 20-minute timebox: find 3 candidates โ prove 1
Mistake 2: treating inherited/default ACEs like findings
Inherited ACEs can grant real control. Do not discard them just because they are inherited or routine. Resolve the principal SID and effective groups, allow/deny type, object or attribute GUID, and inheritance flags for the exact target and action. An inherit-only ACE may apply to descendants without granting access to its container. See Microsoftโs AD inheritance reference. Treat an ACL line as a candidate until effective access and impact are validated.
Mistake 3: proof without context (no target power validation)
โI can edit Group Xโ means nothing until you can answer: What does Group X control? Does it map to local admin on a host? Does it grant rights over an OU? Does it unlock a workflow? Always pair the ACL finding with the impact statement.
- Write the impact statement next to the ACL line.
- Capture before/after when a pivot changes context.
- Keep checks reproducible and minimal.
Apply in 60 seconds: Proof-pack prep list: (1) principal + groups, (2) target DN/path, (3) permission name, (4) one quoted evidence line, (5) one reproducible verification check. If any item is missing, youโre not done proving.
9) Donโt do this (two failure modes that look โproductiveโ)
Donโt do this: โACL spam screenshotsโ
Keep the exact query, principal SID, target DN, right and relevant GUID beside a screenshot. Label candidate permissions separately from an independently supported effective-access conclusion.
Donโt do this: โbig swing pivotsโ
Big swings feel heroic. They also create breakage and confusion. In practice labs, you want the opposite: boring moves that isolate variables. If a pivot fails, you should know why within 5 minutesโnot within 5 hours.
Upgrade your habit: one edge, one proof, one pivot
If your routine becomes โboringly consistent,โ youโll start compounding skill. Youโll recognize patterns faster, and your notes will become a reference library instead of a graveyard.
Operator mantra: โIf I canโt explain the edge in one sentence, I donโt own it yet.โ
10) The practice loop: 60-minute drills you can repeat weekly
Drill A: 15-minute ACL candidate sprint
Goal: produce 3 candidates and one sentence for each explaining the expected pivot.
- Candidate 1: why it might pivot
- Candidate 2: why it might pivot
- Candidate 3: why it might pivot
Drill B: 25-minute proof pack build
Goal: produce 1 locked edge with a reproducible verification check and an impact statement. If the edge is a dead end, document the dead-end mechanism (thatโs still learning).
Drill C: 20-minute pivot + re-scan
Goal: pivot once (authorized lab context), validate the new context, and generate a fresh โ3 candidatesโ list from the new position.
Scorecard (track improvement)
- Candidates found: ___
- Proofs locked: ___
- Pivots achieved: ___
- Dead ends explained: ___
11) Differentiation map (why this loop feels boringโand thatโs good)
What most guides do (and why it backfires)
- Dump huge command lists with no prioritization
- Treat ACL enumeration as a โone trickโ moment instead of a repeatable cycle
- Show output without a proof standard (so nothing is defensible later)
- Skip the โafter pivotโ rescan, so learning doesnโt compound
What this loop does differently
- Builds a manual mini-graph one edge at a time
- Forces a proof gate before pivoting
- Uses timeboxes so you donโt get trapped in scanning
- Creates notes that are compatible with OSCP-style reporting expectations
The โcommercial entity reality checkโ (so your practice matches your goals)
If your north star is an exam-style environment (think Offensive Security OSCP labs or a TCM Security PNPT-style range), your advantage isnโt secret toolingโitโs a workflow that survives stress. Microsoftโs AD permission model is the underlying physics here, whether youโre using a fancy graph tool or a plain notebook. PowerView is just a flashlight; your loop is the map. (If your end-to-end practice flow starts earlier than AD, keep your front door tight with an OSCP initial access checklist so you arrive at AD with cleaner context.)
Show me the nerdy details
Graph tools accelerate discovery, but they donโt replace reasoning. When you practice the loop, youโre effectively building a graph in slow motionโwith higher comprehension. That comprehension is what transfers when the environment changes.
- Tier 1: โInteresting outputโ (weak; easy to misread)
- Tier 3: ACL line + verified impact statement (solid)
- Tier 5: Before/after + reproducible checks + rescan results (undeniable)
Apply in 60 seconds: Label your current finding Tier 1โ5. If itโs below Tier 3, your next action is proof-building, not pivoting.
12) Next step (one concrete action)
Start your first โProof โ Pivotโ run today
Hereโs a 15-minute start that doesnโt require heroics:
- Pick one principal (your current user).
- Run one ACL-oriented scan pass (enough to produce 3 candidates).
- Choose one candidate and build a 5-point proof pack.
- Decide on one minimal pivot (authorized lab context), then rescan as the new context.
Short personal note: when I started treating โrescanโ as mandatory, my labs stopped feeling like random forests. The path didnโt get easierโmy certainty got stronger. And certainty is what keeps you moving when youโre tired.
Quick win: Even if your first edge is a dead end, write the mechanism of failure. โDead end, explainedโ is a usable asset for your next attempt.

FAQ
How do I do AD enumeration in OSCP without BloodHound?
Use a repeatable loop: ACLScanner โ Proof โ Pivot. Scan for a small set of write-like edges tied to your principal, prove one edge with reproducible evidence plus an impact statement, pivot with the smallest measurable change (authorized lab context), then rescan as the new context.
What is PowerView used for in Active Directory enumeration?
In labs, PowerView helps you reason about AD objects and relationshipsโespecially around who can control what. The key is not dumping output; itโs using PowerView-like visibility to identify a candidate edge and then proving that edge maps to a real, environment-specific action.
Which ACL permissions matter most for privilege escalation in AD labs?
Prioritize write-like permissions that can change state (broad write permissions, rights related to changing permissions, group membership control, password control, and specific attribute write control). Always validate scope and impact before acting.
How can I tell if an ACL finding is actually exploitable in a lab?
Force a proof gate: capture (1) principal, (2) target, (3) right, (4) one quotable evidence line, and (5) a reproducible verification check. Then add an impact statement (โThis target controls Xโ), and confirm the impact is real in that environment.
Whatโs the fastest way to find โwho can control whatโ without a graph tool?
Start with high-signal objects (groups, service accounts, OUs/GPOs, computers) and limit yourself to three candidates per scan pass. If you canโt explain why a candidate might pivot, itโs probably noiseโpark it and move on.
Why does my group membership change not show up right away?
Because your effective token may not refresh in an existing session. Treat โmembership changesโ as incomplete until you validate the new context in a fresh session and can show before/after evidence (and then rescan as the new principal).
How do I keep enumeration notes that are report-ready for OSCP-style practice?
Write edges as sentences: Principal โ Right โ Target โ Action โ New Position. For each edge you pursue, keep a 5-point proof pack plus a short โwhat changedโ after pivot. That structure makes your work searchable, defensible, and easy to summarize.
What should I scan first: users, groups, OUs, or computers?
For OSCP-style speed, begin with groups and OUs/GPOs, then service accounts, then computers. Groups and policy surfaces tend to โfan out,โ meaning a single edge can unlock multiple downstream opportunities in labs.
How do I reduce noise in ACL results so I only see high-signal edges?
Inspect applicable explicit and inherited entries, resolve object-specific rights, and validate effective access for your principal and groups. If you canโt link the finding to an impact statement, downgrade it until proven.
Conclusion
The curiosity loop from the top was simple: โIf the graph is gone, do I just wander?โ The answer is no. You replace the missing tool with a stronger habit: the loop. Scan just enough to find candidates. Prove one edge so your notes can survive daylight. Pivot with a small, measurable move. Then rescanโbecause rescan is where learning compounds.
If you do one thing in the next 15 minutes, do this: spend 15 minutes preparing the edge template, then reserve a separate hour for a 20/25/15 session. Even if it ends in a dead end, make it an explained dead end. Thatโs how your future self stops guessingโand starts navigating.
Original review: 2026-01.
PowerView naming: โACLScannerโ names the workflow here, not a universal command. The PowerSploit Recon reference documents Find-InterestingDomainAcl and Get-DomainObjectAcl; older forks use different names. Record the module version and verify available commands before following a tutorial. A password reset or GPO change is not inherently reversible; define permitted changes and rollback before any lab mutation.
Technical guidance updated: 2026-10-13. Corrected inherited-ACE filtering, command naming and assumptions about reversible changes.
Directory-right candidate record
Use these fields for your own task. Keep the actual conditions, evidence and unresolved questions beside the next decision.
On a small screen, scroll the table sideways to read all columns.
| Field | What to record | Your evidence / next check |
|---|---|---|
| Principal context | Preserve SID, group context, controller and query time. | To complete |
| Object boundary | Identify the target DN, property GUID and inheritance context. | To complete |
| Observed right | Keep the exact allow or deny entry beside the scanner label. | To complete |
| Validation limit | Record the read-only evidence and any separately permitted state change. | To complete |
Next action: Resolve the principal and property before describing an end-to-end privilege path.
Related task: Use Kioptrix Level 1 Privilege Review: Sudo, SUID and Kernel Evidence for that separate part of the workflow.
Worksheet change record โ October 20, 2026
Added four task-specific fields, a next action and a related guide. This is a blank editorial working aid, not a completed test or validated assessment. Existing source-review dates retain their own scope; this addition is not a new verification of every statement.