PrivescCheck is a PowerShell script for Windows privilege escalation enumeration that identifies common vulnerabilities and configuration issues on a system.
The tool addresses the need to quickly discover local privilege escalation paths and configuration weaknesses that may not be covered by standard security assessments. It works by running a series of checks against the current system context, examining access controls, permissions, and configurations from the perspective of the executing user. A critical design principle is that it deliberately skips many vulnerability checks when run with administrator privileges to avoid generating false positives, since administrative context masks the actual exploitability of many issues.
The script suits penetration testers conducting privilege escalation assessments, security researchers investigating post-exploitation opportunities, and auditors evaluating configuration compliance. It offers three operational modes: basic checks for identifying obvious escalation paths, extended checks for gathering additional exploitation context, and comprehensive audit checks for configuration issues. The tool generates output in multiple formats—raw text for terminal-like viewing, HTML with interactive sorting and filtering for convenient analysis, and CSV or XML for integration with automated reporting pipelines. Anyone adopting it should understand that its effectiveness depends on running it from a non-administrator account, as administrator execution will suppress many of the checks designed to find vulnerabilities.
Development activity shows consistent engagement with the codebase through regular updates and refinements to the enumeration logic. The project maintains clear documentation of its check types and output formats, with examples demonstrating practical usage across different scenarios. The maintainer has structured the tool to be easily extensible, allowing the check system to be understood and modified by users who need to adapt it for specific environments.