Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
PowerSploit — PowerSploit - A PowerShell Post-Exploitation Framework | Kitploit
工具/GitHubGitHub/zerodaylab/powersploit
Penetration Testing FrameworksPrivilege EscalationReconnaissanceExploit FrameworksPersistence MechanismsIDS/IPS EvasionData ExfiltrationCommand and ControlRed TeamingPayload Development
GitHubzerodaylab/powersploit
239294年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

PowerSploit

PowerSploit - A PowerShell Post-Exploitation Framework

查看仓库

Fork 以添加一些我通常手动执行的 PowerView.ps1 功能

此项目已不再支持

PowerSploit 是一个 Microsoft PowerShell 模块集合,可用于在评估的各个阶段帮助渗透测试人员。PowerSploit 由以下模块和脚本组成:

CodeExecution

在目标机器上执行代码。

Invoke-DllInjection

将 Dll 注入到你选择的进程 ID 中。

Invoke-ReflectivePEInjection

以反射方式将 Windows PE 文件(DLL/EXE)加载到 PowerShell 进程中,或者以反射方式将 DLL 注入到远程进程中。

Invoke-Shellcode

将 shellcode 注入到你选择的进程 ID 中,或在本地 PowerShell 中注入。

Invoke-WmiCommand

在目标计算机上执行 PowerShell ScriptBlock,并使用 WMI 作为 C2 通道返回其格式化输出。

ScriptModification

修改和/或准备脚本以在受感染的机器上执行。

Out-EncodedCommand

压缩、Base-64 编码,并为 PowerShell 载荷脚本生成命令行输出。

Out-CompressedDll

压缩、Base-64 编码,并输出生成的代码以在内存中加载托管 dll。

Out-EncryptedScript

加密文本文件/脚本。

Remove-Comment

从脚本中去除注释和多余的空格。

Persistence

为 PowerShell 脚本添加持久化功能。

New-UserPersistenceOption

为 Add-Persistence 函数配置用户级持久化选项。

New-ElevatedPersistenceOption

为 Add-Persistence 函数配置提升权限持久化选项。

Add-Persistence

为脚本添加持久化功能。

Install-SSP

安装安全支持提供程序(SSP)dll。

Get-SecurityPackages

枚举所有已加载的安全包(SSP)。

AntivirusBypass

杀毒软件在 PowerShell 面前毫无还手之力!

Find-AVSignature

使用与 “class101” 中 DSplit 相同的方法定位单个字节的 AV 签名。

Exfiltration

你的数据全都属于我!

Invoke-TokenManipulation

列出可用的登录令牌。使用其他用户的登录令牌创建进程,并在当前线程中模拟登录令牌。

Invoke-CredentialInjection

使用明文凭据创建登录,而不触发可疑的事件 ID 4648(显式凭据登录)。

Invoke-NinjaCopy

通过读取原始卷并解析 NTFS 结构,从 NTFS 分区卷中复制文件。

Invoke-Mimikatz

使用 PowerShell 以反射方式将 Mimikatz 2.0 加载到内存中。可用于转储凭据而无需向磁盘写入任何内容。可用于 Mimikatz 提供的任何功能。

Get-Keystrokes

记录按下的键、时间和活动窗口。

Get-GPPPassword

检索通过组策略首选项推送的账户的明文密码和其他信息。

Get-GPPAutologon

如果通过组策略首选项推送,则从 registry.xml 检索自动登录用户名和密码。

Get-TimedScreenshot

按固定时间间隔截取屏幕截图并将其保存到文件夹中的函数。

New-VolumeShadowCopy

创建新的卷影副本。

Get-VolumeShadowCopy

列出所有本地卷影副本的设备路径。

Mount-VolumeShadowCopy

挂载卷影副本。

Remove-VolumeShadowCopy

删除卷影副本。

Get-VaultCredential

显示 Windows 凭据保管库对象,包括明文 Web 凭据。

Out-Minidump

生成进程的全内存转储(minidump)。

Get-MicrophoneAudio

从系统麦克风录制音频并保存到磁盘。

Mayhem

用 PowerShell 制造混乱。

Set-MasterBootRecord

概念验证代码,用你选择的消息覆盖主引导记录。

Set-CriticalProcess

使你的机器在退出 PowerShell 时蓝屏。

Privesc

帮助在目标上进行权限提升的工具。

PowerUp

常见权限提升检查的集散地,同时包含一些武器化利用向量。

Recon

帮助在渗透测试的情报收集阶段进行侦察的工具。

Invoke-Portscan

使用常规套接字进行简单的端口扫描,大致基于 nmap。

Get-HttpStatus

提供字典文件时,返回指定路径的 HTTP 状态代码和完整 URL。

Invoke-ReverseDnsLookup

扫描 IP 地址范围以查找 DNS PTR 记录。

PowerView

PowerView 是一系列用于执行网络和 Windows 域枚举及利用的函数。

Recon\Dictionaries

用于辅助渗透测试侦察阶段的字典集合。这些字典取自以下来源。

  • admin.txt - http://cirt.net/nikto2/
  • generic.txt - http://sourceforge.net/projects/yokoso/files/yokoso-0.1/
  • sharepoint.txt - http://www.stachliu.com/resources/tools/sharepoint-hacking-diggity-project/

许可证

除非另有明确说明,PowerSploit 项目和所有单独的脚本均采用 BSD 3-Clause 许可证。

用法

有关详细用法信息,请参阅每个脚本中基于注释的帮助。

要安装此模块,请将整个 PowerSploit 文件夹放入你的某个模块目录中。默认的 PowerShell 模块路径列在 $Env:PSModulePath 环境变量中。

默认的每用户模块路径为:"$Env:HomeDrive$Env:HOMEPATH\Documents\WindowsPowerShell\Modules" 默认的计算机级模块路径为:"$Env:windir\System32\WindowsPowerShell\v1.0\Modules"

要使用该模块,请键入 Import-Module PowerSploit

要查看已导入的命令,请键入 Get-Command -Module PowerSploit

如果你正在运行 PowerShell v3 并希望移除烦人的“是否确实要运行从 Internet 下载的脚本?”警告,在将 PowerSploit 放入模块路径后,请运行以下单行命令: $Env:PSModulePath.Split(';') | % { if ( Test-Path (Join-Path $_ PowerSploit) ) {Get-ChildItem $_ -Recurse | Unblock-File} }

有关每个单独命令的帮助,请使用 Get-Help。

注意:此模块中包含的工具均设计为可以单独运行。将它们包含在模块中只是为了提高可移植性。

贡献规则

我们需要贡献!如果你对 PowerSploit 有很好的想法,我们很乐意添加。新增内容需要满足以下要求:

  • 脚本必须遵循风格指南。任何不符合指南的例外情况都需要明确且有效的理由。
  • 模块清单需要更新以反映新增的函数。
  • 应在本 README.md 中添加对该函数的简要描述。
  • 所有新函数都必须附带 Pester 测试。请参阅 Tests 文件夹中的示例,但我们希望测试至少能通过测试预期/非预期的输入/输出来覆盖基础知识,并确保函数表现出预期的功能。在提交拉取请求之前,请确保函数通过所有测试(最好在多个操作系统中)。谢谢!

脚本风格指南

对于 PowerSploit 的所有贡献者和未来贡献者,请在编写脚本/模块时遵循此风格指南。

  • 无论如何都要避免使用 Write-Host。PowerShell 函数/cmdlet 不是命令行工具!包含使用 Write-Host 的代码的拉取请求将不予考虑。你应该改为输出自定义对象。有关创建自定义对象的更多信息,请阅读以下文章:

    • http://blogs.technet.com/b/heyscriptingguy/archive/2011/05/19/create-custom-objects-in-your-powershell-script.aspx
    • http://technet.microsoft.com/en-us/library/ff730946.aspx
  • 如果你想在屏幕上显示相关的调试信息,请使用 Write-Verbose。用户总是可以在命令后面添加 '-Verbose'。

  • 始终为每个脚本提供描述性的、基于注释的帮助。此外,请务必包含你的姓名和 BSD 3-Clause 许可证(除非存在阻止应用 BSD 许可证的特殊情况)。

  • 确保所有函数遵循正确的 PowerShell 动词-名词约定。使用 Get-Verb 列出 PowerShell 使用的默认动词。对支持动词的例外情况将逐案考虑。

  • 我倾向于变量名大写,并尽可能具有描述性。

  • 在代码之间提供逻辑间隔。缩进代码以使其更具可读性。

  • 如果你发现自己重复代码,请编写一个函数。

  • 捕获所有可预见的错误并提供有意义的输出。如果你有一个应停止脚本执行的错误,请使用 'Throw'。如果你有一个不需要停止执行的错误,请使用 Write-Error。

  • 如果你正在编写与 Win32 API 交互的脚本,请尽量避免使用 Add-Type 内联编译 C#。如果可能,请尝试使用 PSReflect 模块。

  • 不要使用硬编码路径。脚本应开箱即用。除非他们愿意,否则任何人都无需修改代码。

  • 高度期望兼容 PowerShell v2。

  • 在合理的情况下使用位置参数,并使参数成为必填参数。例如,我正在寻找类似以下内容:

    • [Parameter(Position = 0, Mandatory = $True)]
  • 不要使用任何别名,除非接收管道输入需要。对于不熟悉特定别名的人来说,它们会使代码更难阅读。

  • 尽量不要让命令运行得太长。例如,管道是换行的自然位置。

  • 不要过度使用内联注释。只有在代码的某些方面可能让读者感到困惑时才使用它们。

  • 不要使用 Out-Null 来抑制不需要/无关的输出,而是将不需要的输出保存到 $null。这样做可以带来轻微的性能提升。

  • 在合理的情况下为参数使用默认值。理想情况下,你希望脚本无需任何参数即可工作。

  • 如果脚本创建复杂的自定义对象,请包含一个 ps1xml 文件以正确格式化对象的输出。

下载工具