Build Requirements
Visual Studio
Visual Studio 2015 Community Edition or later
.NET Framework
.NET Framework 3.5 (required)
Git
For cloning the repository
Windows OS
Windows build environment required
Compilation Steps
1
Clone Repository
2
Open Solution
Open
SharpUp.sln in Visual Studio 2015 or later3
Select Build Configuration
- Choose Release configuration (not Debug)
- Target platform: Any CPU
4
Build Project
- Build → Build Solution (or press Ctrl+Shift+B)
- SharpUp.exe will be compiled
5
Locate Binary
Compiled binary will be in:
SharpUp is built against .NET Framework 3.5 for maximum compatibility with Windows systems.
Binary Distribution
Why no binaries?- Encourages understanding of the code
- Prevents signature-based detection
- Allows for customization
- Avoids potential legal issues
Running SharpUp
- Direct Execution
- PowerShell Wrapper
- Execute-Assembly
Command Line Syntax
Parameters
Enables audit mode, which runs vulnerability checks regardless of process integrity level or local administrator group membership. If no specific checks are provided after
audit, all checks will be executed.Individual vulnerability check to run. Can specify multiple checks. Available checks:
- AlwaysInstallElevated
- CachedGPPPassword
- DomainGPPPassword
- HijackablePaths
- McAfeeSitelistFiles
- ModifiableScheduledTask
- ModifiableServiceBinaries
- ModifiableServiceRegistryKeys
- ModifiableServices
- ProcessDLLHijack
- RegistryAutoLogons
- RegistryAutoruns
- TokenPrivileges
- UnattendedInstallFiles
- UnquotedServicePath
Quick Start Examples
Standard Privilege Escalation Check
Standard Privilege Escalation Check
Audit Mode - Full System Check
Audit Mode - Full System Check
Targeted Service Checks
Targeted Service Checks
Registry-Based Checks
Registry-Based Checks
Credential Discovery
Credential Discovery
Understanding Audit Mode
Audit mode bypasses the default behavior where SharpUp exits early if you’re already running with elevated privileges.
When to Use Audit Mode
Without audit mode:- SharpUp checks if you’re in high integrity or a local administrator
- If yes, it exits with a message suggesting UAC bypass or noting you’re already elevated
- Only runs checks if you’re a non-privileged user
- Runs all checks regardless of current privilege level
- Useful for security auditing
- Helpful for finding additional escalation paths even when already elevated
- Note: Running in high integrity may yield false positives
Troubleshooting
Build Errors
Build Errors
Problem: Solution won’t buildSolutions:
- Ensure Visual Studio 2015+ is installed
- Verify .NET Framework 3.5 is installed
- Clean solution (Build → Clean Solution)
- Rebuild solution (Build → Rebuild Solution)
.NET Framework Not Found
.NET Framework Not Found
Problem: Target system doesn’t have .NET Framework 3.5Solutions:
- Install .NET Framework 3.5:
No Vulnerabilities Found
No Vulnerabilities Found
Problem: SharpUp reports no vulnerabilitiesSolutions:
- This may be accurate - the system may be properly hardened
- Try running with
auditflag to force all checks - Verify you have the necessary permissions for the checks
- Some checks require specific configurations to be present
Access Denied Errors
Access Denied Errors
Problem: Access denied when running certain checksSolutions:
- Some checks require local administrator privileges
- Domain GPP checks require domain connectivity
- File enumeration checks may fail in restricted environments
- This is expected behavior for some checks in limited contexts
Operational Security
- Detection Vectors
- Mitigation Strategies
- Alternative Execution
- Process execution of SharpUp.exe
- Service enumeration via WMI queries
- Registry key enumeration
- File system enumeration
- Token privilege enumeration
- Network SMB access for domain GPP checks
- Reading sensitive file locations
Additional Resources
GitHub Repository
Source code and latest releases
PowerUp (PowerShell)
Original PowerShell version of privilege escalation checks
Visual Studio Community
Download Visual Studio for compilation
Windows Privilege Escalation
Understanding Windows privilege escalation techniques