神级脚本大集合之PowerShell-Suite

*本文原创作者:zusheng,本文属FreeBuf原创奖励计划,未经许可禁止转载

PowerShell-Suite简介

PowerShell-Suite是b33f创建的一个GitHub项目,主要收集了目前神器级别的PowerShell攻击脚本。所以个人感觉很值得向大家详细介绍一下里面各个脚本的使用方法。

Windows API

这里主要介绍了调用了Windows API的PowerShell脚本。

Invoke-Runas

功能等同于Windows下的runas.exe,调用Advapi32::CreateProcessWithLogonW。

Invoke-NetSessionEnum

调用Netapi32::NetSessionEnum去枚举域内计算机的活动会话。

Invoke-CreateProcess

调用Kernel32::CreateProcess实现对进程的精准控制。

Detect-Debug

使用多种技术来检查调试器是否存在。

Get-Handles

调用NtQuerySystemInformation::SystemHandleInformation去获取指定进程的句柄列表。

Get-TokenPrivs

打开进程的句柄,并调用Advapi32 :: GetTokenInformation列出与进程相关联的特权。

Get-Exports

获取DLL导出并且可以选择 C++ wrapper输出,它会将DLL读入内存,然后解释它们。所以不管是x32还是x64的DLL都可以解释执行。

pwnd

Bypass-UAC

Bypass-UAC提供了一个能够进行UAC绕过的框架,该框架可以通过调用IFileOperation COM对象所提供的方法来实现自动提权。这其实并不是一种新的技术了,在此之前,我们可以通过向“explorer.exe”进程注入DLL来实现UAC绕过。但是这种方式并不是最有效的,因为向explorer注入DLL很有可能会触发系统的安全警报。不仅如此,利用这种固定的、无法控制的DLL来实现UAC绕过,将会极大地降低操作的灵活性。

Masquerade-PEB

它可以使用PSReflect组件。这个函数可以重写PowerShell的PEB结构,从而实现伪装“explorer.exe”的目的。

Invoke-SMBShell

这是一个基于SMB通信协议的交互式Shell。

Server:

Client:

Conjure-LSASS

使用SeDebugPrivilege复制LSASS访问令牌,然后冒用它调用线程。如果SeDebugPrivilege被禁用,我们可以重新启用它。

Invoke-MS16-032

这是使用powershell实现的MS16-032的漏洞利用脚本,MS16-032是Windows提权漏洞,大家都懂得啊,不解释了。

目标:

Win7-Win10 & 2k8-2k12 <== 32/64 bit!

Tested on x32 Win7, x64 Win8, x64 2k12R2

Subvert-PE

将shellcode注入到PE映像中。

Utility

Trace-Execution

使用Capstone引擎从其入口点递归地拆解PE(x32 / x64),由于反汇编是静态的,x32 / x64 PE都可以反汇编,不管PowerShell的位数。

项目地址:https://github.com/FuzzySecurity/PowerShell-Suite

*本文原创作者:zusheng,本文属FreeBuf原创奖励计划,未经许可禁止转载