首页
社区
课程
招聘
[翻译] 绕过PowerShell 执行策略的15种方法
发表于: 2017-7-5 10:14 7290

[翻译] 绕过PowerShell 执行策略的15种方法

2017-7-5 10:14
7290

在Windows上,PowerShell的默认配置是不允许执行脚本文件的。这对于一些渗透测试人员,系统管理员,程序员等来说,是一个必须面对的障碍。本文中,我将提出15种不需要本地管理员权限就绕过该执行保护策略的方法。我确定依然有许多甚至我不知道的方法没有提到,但是我希望本文对那些需要的人来说是一个良好的开端。 

    PowerShell执行策略是用来限制哪些类型的PowerShell脚本能在系统上直接运行。默认它的设置时Restricted,即任何脚本都不行。但是,我们需要明确该设置从来都没打算设计成为一个安全控制策略,相反,它本来是为了防止系统管理员发生搬起石头砸自己的脚的情况。这就是为什么有许多围绕它的选项。其中包括一些微软自身提供的。若想了解更多PowerShell的执行策略设置和其他默认安全设置,我推荐你读Carlos Perez的博客,它提供了一个比较全面的概述。 

    为什么PowerShell如此流行,我听到过不少的答案,最常听到就是它可以实现自动化,以下是一些管理员,渗透测试人员,黑客之所以喜欢它的一些原因:


    在使用PowerShell的所有惊奇的特性前,攻击者要做的第一件事就是绕过Restricted执行策略。可以通过命令Get-ExectionPolicy来获得当前策略。如果你是第一次使用这个命令,则应该是设置为Restricted的,如下:

 
同样可以将执行策略设置为不同的级别。如下查看支持的所有级别,若想了解更多关于”Set-ExecutionPolicy”的信息,查看 Set-ExecutionPolicy

 

我会使用如下一个脚本来作为例子,runme.ps1,该明白用来向控制台输出一句话:

当我在默认策略的主机上,尝试执行该脚本时,会出现如下错误: 

如果你的策略太open,你想使用更严格的方式来测试如下的方案,你需要切换到管理员身份,执行Set-ExecutionPolicy Restricted。OK,接下来是15种方式:

如下,将你的脚本粘贴到console中。但是,你要记住,你的受限程度取决于你当前用户的权限。假如你有一个可以交互式的窗口,则这是最基本的一种方法,而且不需要做任何的配置改变和写入到磁盘中。 

此方法有个缺点就是会写入脚本到本地磁盘中,但是你可以从一个网络共享中读取脚本,来避免写内容到磁盘中。

此方法和直接粘贴脚本内容执行的方式很像,但是此方法不需要一个交互式的窗口。它适用于简单脚本的执行,对于复杂脚本会发生解析错误。该方法同样不会写内容到磁盘中。

 
你可以将该命令写到一个bat文件中,然后放到启动目录中,来帮助提权。

该方法和上一个方法很相似,但是此方式脚本内容是Unicode/base64 encode的字符串。使用编码的好处是可以让你避免执行使用Command参数时产生一些糟糕的解析问题。以下的例子是摘自Posh-SecMod。该工具套件还包括一个小的压缩方法来减少由于encode后字符串太长的情况。

该方法最cool点在于对抗那些PowerShell remoting开启的Remote系统。


如下命令,可用来从一个远程系统上抓取执行策略同时运用到本地计算机中.

 

这个方法是微软提供的用来绕过执行策略的一种方式。当指定该标志后,即视为什么都不做,什么警告也不提示。

该标志和bypass很像,但是当使用该标志时,即意味着加载所有的配置文件和执行所有的脚本。如果你运行一个从网上下载的未签名的脚本,会给出权限提示。

创建你的脚本,然后按指南签名。最后运行:

非常有创造性的一个。如下函数可以在交互式窗口中使用,也可以在Command参数中指定。一旦该函数被执行,则会换出认证管理器,同时默认策略改为unrestricted。但是该方法只在一个会话范围内有效。

我们之前介绍中提到过,执行策略可以应用到过个级别。其中就包括你完全控制的process。使用该方法仅限于当前session中,执行策略会变为unrestricted


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 1
支持
分享
最新回复 (2)
雪    币: 6112
活跃值: (1212)
能力值: (RANK:30 )
在线值:
发帖
回帖
粉丝
2
2017-7-5 15:24
0
雪    币: 255
活跃值: (138)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不错。    赞一下。      powershell很少用,偶尔用过几次。没想到如此强大。
2017-7-5 18:49
0
游客
登录 | 注册 方可回帖
返回
//