PowerShell脚本渗透测试

PowerShell技术

在浸透测试中,PowerShell是不能疏忽的一个环节,而且在不时地更新和开展,它具有令人难以置信的灵敏性和功用化管理PowerShell脚本文件(.psl)到磁盘中执行,无须写到磁盘中执行,它能够直接在内存中运转。这些特性使得PowerShell在取得和坚持对系统的访问权限时,成为攻击者首选的攻击手腕,应用PowerShell的诸多特性,攻击者能够持续攻击而不被随便发现。

常用的PowerShell攻击工具有以下这几种。

  1. PowerSploit:这是众多PowerShell攻击工具中被普遍运用的PowerShell后期破绽应用框架,常用于信息探测、特权提升、凭证窃取、耐久化等操作。
  2. Nishang:基于PowerShell的浸透测试专用工具,集成了框架、脚本和各种Payload,包含下载和执行、键盘记载、DNS、延时命令等脚本。
  3. Empire:基于PowerShell的远程控制木马,能够从凭证数据库中导出和跟踪凭证信息,常用于提供前期破绽应用的集成模块、凭据窃取、耐久化控制。
  4. PowerCat:PowerShell版的NetCat,有着网络工具中的“瑞士军刀”,它能经过TCP和UDP在网络中读写数据。经过与其他工具分离和重定向。

PowerShell简介

Windows PowerShell是一种命令行外壳程序和脚本环境,它内置在每个受支持的Windows版本中(Windows 7/Windows 2008 R2和更高版本),任务令行用户和脚本编写者能够应用.NET Framework的强大功用。一旦攻击者能够在一台计算机上运转代码,他们就会下载PowerShell脚本文件(.psl)到磁盘中执行,无须写到磁盘中执行,它能够直接在内存中运转,也能够把PowerShell看作命令行提示符cmd.exe的扩大。

PowerShell需求.NET环境的支持,同时支持.NET对象,其可读性、易用性,能够位居当前一切Shell之首。PowerShell的这些特性正在吸收攻击者,使它成为一个十分盛行且得力的攻击工具。

PowerShell有以下这几个优点

  1. Windows 7以上的操作系统默许装置。
  2. PowerShell脚本能够运转在内存中,不需求写入磁盘。
  3. 能够从另一个系统中下载PowerShell开发的。
  4. 很多平安软件并不能检测到PowerShell的活动。
  5. cmd.exe通常会被阻止运转,但是PowerShell不会。
  6. 能够用来管理活动目录。
操作系统 PowerShell版本 能否可晋级
Windows 7/Windows 2008 R2 2.0 能够晋级为3.0、4.0
Windows 8/Windows server 2012 3.0 能够晋级为4.0
Windows 8.1/Windows server 2012 R2 4.0

能够输入Get-Host或者$PSVersionTable.PSVERSION命令查看PowerShell版本。

图片[1]-PowerShell脚本渗透测试-孤勇者社区

PowerShell的根本概念

1.PS1文件

一个PowerShell脚本其实就是一个简单的文本文件,这个文件包含了一系列PowerShell命令,每个命令显现为独立的一行,关于被视为PowerShell脚本的文本文件,它的文件名需求加上.PS1的扩展名。

2.执行战略

为避免歹意脚本的执行,PowerShell有一个执行战略,默许状况下,这个执行战略被设为受限。
在PowerShell脚本无法执行时,能够运用下面的cmdlet命令肯定当前的执行战略。

  1. Get-ExecutionPolicy。
  2. Restricted:脚本不能运转(默许设置)
  3. RemoteSigned:本地创立的脚本能够运转,但从网上下载的脚本不能运转(具有数字证书签名的除外)。
  4. AIISigned:当脚本由受信任的发布者签名时才干运转。
  5. Unrestricted:允许一切的script运转。

cmdlet命令设置PowerShell的执行战略。
Set-ExecutionPolicy

3.运转脚本

运转一个PowerShell脚本,必需键入完好的途径和文件名,例如,你要运转一个名为a.psl的脚本,能够键入C:Scriptsa.psl。最大的例外是,假如PowerShell脚本文件刚好位于你的系统目录中,那么在命令提示符后直接键入脚本文件名即可运转,如.a.psl的前面就加上了“.”,这和在Linux下执行Shell脚本的办法一样。

4.管道

管道的作用是将一个命令的输出作为另一个命令的输入,两个命令之间用管道符号(|)衔接。

举一个例子来看下管道是如何工作的,假定中止一切目前运转中的,以“p”字符开头命名的程序。
ps>get-process p* | stop-process

 

------本页内容已结束,喜欢请分享------

感谢您的来访,获取更多精彩文章请收藏本站。

© 版权声明
THE END
喜欢就支持一下吧
点赞6赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片