aboutsummaryrefslogtreecommitdiff
path: root/Privesc/README.md
blob: bb68a4363dfe7cd3dc10d5b03a6b7b95b91fa0de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
To install this module, drop the entire Privesc folder into one of your module directories. The default PowerShell module paths are listed in the $Env:PSModulePath environment variable.

The default per-user module path is: "$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules"
The default computer-level module path is: "$Env:windir\System32\WindowsPowerShell\v1.0\Modules"

To use the module, type `Import-Module Privesc`

To see the commands imported, type `Get-Command -Module Privesc`

For help on each individual command, Get-Help is your friend.

Note: The tools contained within this module were all designed such that they can be run individually. Including them in a module simply lends itself to increased portability.


## PowerUp

PowerUp aims to be a clearinghouse of common Windows privilege escalation
vectors that rely on misconfigurations.

Running Invoke-AllChecks will output any identifiable vulnerabilities along
with specifications for any abuse functions. The -HTMLReport flag will also
generate a COMPUTER.username.html version of the report.

Author: @harmj0y
License: BSD 3-Clause
Required Dependencies: None
Optional Dependencies: None


### Service Enumeration:
    Get-ServiceUnquoted             -   returns services with unquoted paths that also have a space in the name
    Get-ServiceFilePermission       -   returns services where the current user can write to the service binary path or its config
    Get-ServicePermission           -   returns services the current user can modify
    Get-ServiceDetail               -   returns detailed information about a specified service

### Service Abuse:
    Invoke-ServiceAbuse             -   modifies a vulnerable service to create a local admin or execute a custom command
    Write-ServiceBinary             -   writes out a patched C# service binary that adds a local admin or executes a custom command
    Install-ServiceBinary           -   replaces a service binary with one that adds a local admin or executes a custom command
    Restore-ServiceBinary           -   restores a replaced service binary with the original executable

### DLL Hijacking:
    Find-DLLHijack                  -   finds .dll hijacking opportunities for currently running processes
    Find-PathHijack                 -   finds service %PATH% .dll hijacking opportunities
    Write-HijackDll                 -   writes out a hijackable .dll
    
### Registry Checks:
    Get-RegAlwaysInstallElevated    -   checks if the AlwaysInstallElevated registry key is set
    Get-RegAutoLogon                -   checks for Autologon credentials in the registry
    Get-VulnAutoRun                 -   checks for any modifiable binaries/scripts (or their configs) in HKLM autoruns

### Misc.:
    Get-VulnSchTask                 -   find schtasks with modifiable target files
    Get-UnattendedInstallFile       -   finds remaining unattended installation files
    Get-Webconfig                   -   checks for any encrypted web.config strings
    Get-ApplicationHost             -   checks for encrypted application pool and virtual directory passwords
    Write-UserAddMSI                -   write out a MSI installer that prompts for a user to be added
    Invoke-AllChecks                -   runs all current escalation checks and returns a report