PowerSploit README

The project's README from github.com/PowerShellMafia/PowerSploit. As one markdown file: README.md.

This project is no longer supported

PowerSploit is a collection of Microsoft PowerShell modules that can be used to aid penetration testers during all phases of an assessment. PowerSploit is comprised of the following modules and scripts:

CodeExecution

Execute code on a target machine.

Invoke-DllInjection

Injects a Dll into the process ID of your choosing.

Invoke-ReflectivePEInjection

Reflectively loads a Windows PE file (DLL/EXE) in to the powershell process, or reflectively injects a DLL in to a remote process.

Invoke-Shellcode

Injects shellcode into the process ID of your choosing or within PowerShell locally.

Invoke-WmiCommand

Executes a PowerShell ScriptBlock on a target computer and returns its formatted output using WMI as a C2 channel.

ScriptModification

Modify and/or prepare scripts for execution on a compromised machine.

Out-EncodedCommand

Compresses, Base-64 encodes, and generates command-line output for a PowerShell payload script.

Out-CompressedDll

Compresses, Base-64 encodes, and outputs generated code to load a managed dll in memory.

Out-EncryptedScript

Encrypts text files/scripts.

Remove-Comment

Strips comments and extra whitespace from a script.

Persistence

Add persistence capabilities to a PowerShell script

New-UserPersistenceOption

Configure user-level persistence options for the Add-Persistence function.

New-ElevatedPersistenceOption

Configure elevated persistence options for the Add-Persistence function.

Add-Persistence

Add persistence capabilities to a script.

Install-SSP

Installs a security support provider (SSP) dll.

Get-SecurityPackages

Enumerates all loaded security packages (SSPs).

AntivirusBypass

AV doesn't stand a chance against PowerShell!

Find-AVSignature

Locates single Byte AV signatures utilizing the same method as DSplit from "class101".

Exfiltration

All your data belong to me!

Invoke-TokenManipulation

Lists available logon tokens. Creates processes with other users logon tokens, and impersonates logon tokens in the current thread.

Invoke-CredentialInjection

Create logons with clear-text credentials without triggering a suspicious Event ID 4648 (Explicit Credential Logon).

Invoke-NinjaCopy

Copies a file from an NTFS partitioned volume by reading the raw volume and parsing the NTFS structures.

Invoke-Mimikatz

Reflectively loads Mimikatz 2.0 in memory using PowerShell. Can be used to dump credentials without writing anything to disk. Can be used for any functionality provided with Mimikatz.

Get-Keystrokes

Logs keys pressed, time and the active window.

Get-GPPPassword

Retrieves the plaintext password and other information for accounts pushed through Group Policy Preferences.

Get-GPPAutologon

Retrieves autologon username and password from registry.xml if pushed through Group Policy Preferences.

Get-TimedScreenshot

A function that takes screenshots at a regular interval and saves them to a folder.

New-VolumeShadowCopy

Creates a new volume shadow copy.

Get-VolumeShadowCopy

Lists the device paths of all local volume shadow copies.

Mount-VolumeShadowCopy

Mounts a volume shadow copy.

Remove-VolumeShadowCopy

Deletes a volume shadow copy.

Get-VaultCredential

Displays Windows vault credential objects including cleartext web credentials.

Out-Minidump

Generates a full-memory minidump of a process.

Get-MicrophoneAudio

Records audio from system microphone and saves to disk

Mayhem

Cause general mayhem with PowerShell.

Set-MasterBootRecord

Proof of concept code that overwrites the master boot record with the message of your choice.

Set-CriticalProcess

Causes your machine to blue screen upon exiting PowerShell.

Privesc

Tools to help with escalating privileges on a target.

PowerUp

Clearing house of common privilege escalation checks, along with some weaponization vectors.

Recon

Tools to aid in the reconnaissance phase of a penetration test.

Invoke-Portscan

Does a simple port scan using regular sockets, based (pretty) loosely on nmap.

Get-HttpStatus

Returns the HTTP Status Codes and full URL for specified paths when provided with a dictionary file.

Invoke-ReverseDnsLookup

Scans an IP address range for DNS PTR records.

PowerView

PowerView is series of functions that performs network and Windows domain enumeration and exploitation.

Recon\Dictionaries

A collection of dictionaries used to aid in the reconnaissance phase of a penetration test. Dictionaries were taken from the following sources.

License

The PowerSploit project and all individual scripts are under the BSD 3-Clause license unless explicitly noted otherwise.

Usage

Refer to the comment-based help in each individual script for detailed usage information.

To install this module, drop the entire PowerSploit folder into one of your module directories. The default PowerShell module paths are listed in the $Env:PSModulePath environment variable.

The default per-user module path is: "$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules" The default computer-level module path is: "$Env:windir\System32\WindowsPowerShell\v1.0\Modules"

To use the module, type Import-Module PowerSploit

To see the commands imported, type Get-Command -Module PowerSploit

If you're running PowerShell v3 and you want to remove the annoying 'Do you really want to run scripts downloaded from the Internet' warning, once you've placed PowerSploit into your module path, run the following one-liner: $Env:PSModulePath.Split(';') | % { if ( Test-Path (Join-Path $_ PowerSploit) ) {Get-ChildItem $_ -Recurse | Unblock-File} }

For help on each individual command, Get-Help is your friend.

Note: The tools contained within this module were all designed such that they can be run individually. Including them in a module simply lends itself to increased portability.

Contribution Rules

We need contributions! If you have a great idea for PowerSploit, we'd love to add it. New additions will require the following:

Script Style Guide

For all contributors and future contributors to PowerSploit, I ask that you follow this style guide when writing your scripts/modules.

PowerSploit (PowerShellMafia/PowerSploit)

Searching Database…

13.1K ·GitHub
archived
这是什么?PowerSploit 是一组 PowerShell 模块,渗透测试人员在评估的各个阶段都会用到它,涵盖 Windows 系统上的代码执行、持久化、权限提升、凭据窃取、数据外传和信息侦察。
这是独立应用,还是一组 PowerShell 脚本?它是一个由多个脚本组成的 PowerShell 模块/框架(如 CodeExecution、Persistence、Exfiltration、Recon 等),需要导入到 PowerShell 会话中使用,并非独立的可执行程序。
怎么安装和加载它?将 PowerSploit 文件夹放入 $Env:PSModulePath 中列出的任一 PowerShell 模块目录,然后运行 'Import-Module PowerSploit',再运行 'Get-Command -Module PowerSploit' 查看已加载的命令。
除了 Windows PowerShell,还需要别的吗?需要在 Windows 机器上运行 Windows PowerShell;这些脚本针对 WMI、NTFS、SSP 和卷影副本等 Windows 特有功能编写,作者还力求兼容 PowerShell v2。
我现在还能把它用在当前的项目上吗?不建议。该项目已明确标注为不再维护,其中的杀毒软件绕过和漏洞利用技术很可能已无法对抗现代防御。
这是为谁准备的?面向在 Windows 环境中开展经授权安全评估的渗透测试人员和红队成员。
Invoke-Mimikatz 是做什么的?它通过 PowerShell 将 Mimikatz 2.0 完全加载到内存中反射式执行,让你无需将任何内容写入磁盘即可转储凭据并使用 Mimikatz 的全部功能。
PowerView 有什么用?PowerView 是 Recon 模块中内置的一组侦察函数,用于进行网络和 Windows 域的枚举与利用。
PowerUp 能帮我做什么?PowerUp 是一个权限提升模块,集中收录了常见的 Windows 提权检查项,并提供一些武器化向量,用于利用检查中发现的问题。
它是如何躲避杀毒软件的?AntivirusBypass 模块包含 Find-AVSignature,它使用与 DSplit 工具类似的技术定位单字节的杀毒软件特征码;ScriptModification 工具则可以对载荷进行压缩、编码或加密,以帮助规避检测。
Size
10.5 MB
Stars
13.1K
Age
14y
Commits · 90 Days