Powershell UAC绕过计划任务失败

时间:2019-04-19 13:52:47

标签: powershell exploit

运行脚本(附加在Hak5视频上概述)时,该脚本在schtasks部分失败

尝试通过命令运行脚本并在Powershell调试器中失败,并显示错误“ schtasks.exe:错误:文件名,目录名...不正确”,我添加了“?”到文件末尾,然后提示以下内容:“为以下参数提供值:FilterScript:”但是,对于每个视频(如下所示),脚本仍然不会创建c:\ Windows \ uacbypass目录

视频: https://www.youtube.com/watch?v=C9GfMfFjhYI

代码: https://forums.hak5.org/topic/45439-powershell-real-uac-bypass/

1 个答案:

答案 0 :(得分:1)

根据设计,并非所有cmdlet在所有OS和/或PowerShell版本上均可用。

Get-ItemPropertyValue在运行PSv5的Win10上

(Get-CimInstance -ClassName CIM_OperatingSystem).Caption
$PSVersionTable
Get-Command -Name 'Get-ItemPropertyValue' | Format-Table -AutoSize

# Results

Microsoft Windows 10 Pro

Name                           Value
----                           -----
PSVersion                      5.1.17763.316
PSEdition                      Desktop      
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0, 5.0, 5.1.17763.316}
BuildVersion                   10.0.17763.316
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1


CommandType Name                  Version Source                         
----------- ----                  ------- ------                         
Cmdlet      Get-ItemPropertyValue 3.1.0.0 Microsoft.PowerShell.Management

但是,如果您在运行PSv4的WS2012R2上尝试过此操作,例如,它将不存在

(Get-CimInstance -ClassName CIM_OperatingSystem).Caption
$PSVersionTable
Get-Command -Name 'Get-ItemPropertyValue' | Format-Table -AutoSize

# Results

Microsoft Windows Server 2012 R2 Standard

Name                           Value
----                           -----
PSVersion                      4.0
WSManStackVersion              3.0
SerializationVersion           1.1.0.1
CLRVersion                     4.0.30319.42000
BuildVersion                   6.3.9600.19170
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0}
PSRemotingProtocolVersion      2.2    

Get-Command : The term 'Get-ItemPropertyValue' is not recognized as the name of a cmdlet, ...

第二,根据您所使用的操作系统,对于windir,需要考虑一些事项。请参阅下面的问题解答。

WINDIR environment variable resolves to %SystemRoot% and not C:\windows

即使采用上述方法,您仍然必须在包装盒上具有管理员身份才能起作用。