要使脚本和模块正常工作,请参阅以下文档。
PoshSec Framework(或 PSF)是一个用于运行 PowerShell 脚本、模块和 cmdlet 的图形化前端工具。PSF 在个性化的 PSession 中将其部分接口暴露给 PowerShell。执行的每个脚本或命令都在单独的线程中执行,这使您可以同时运行多个脚本。
PoshSec Framework 主要由 Ben Ten(Ben0xA)开发。该项目也对其他希望为项目做出贡献的开发者开放。该项目与 PoshSec 项目直接关联。PoshSec 项目由 Matt Johnson(mwjcomputing)维护,并有多名开发者积极开发。这些开发者列在下方。
PoshSec Framework 设计用于 PowerShell 3.0,也适用于 PowerShell 2.0。虽然 PSF 可以用于更早版本的 PowerShell,但 PSF 需要 .NET 4.5,而 .NET 4.5 随 PowerShell 3.0 标配。以下是使用 PSF 的推荐前置要求:
请注意,虽然“大多数”脚本不需要在目标系统上部署 PowerShell,但 PowerShell 必须安装在 PoshSec Framework 所在的同一台机器上并进行正确配置。
如果您是第一次使用 PowerShell 脚本、函数或 cmdlet,有几项准备工作必须先完成。无论您是使用 PoshSec Framework,还是自行调用脚本、函数或 cmdlet,都需要完成这些准备工作。注意:PSF 内置的“首次使用工具”会自动为您完成所有这些步骤。不过,以下将详细介绍这些步骤,供您参考,或者如果您希望自行完成这些步骤。
PoshSec Framework 中的首次使用工具会自动执行上述步骤。它还会:
请注意:您可以选择在首次使用工具中执行哪些步骤,也可以直接点击写着“什么也不做,我自己来”的按钮。
默认情况下,PowerShell 的 ExecutionPolicy(确定哪些脚本可以运行)设置为“None”(无)。这会阻止未签名的脚本在您的系统上执行。当您使用来自其他项目(如 PoshSec)的脚本时,您需要将此策略设置为“RemoteSigned”。RemoteSigned 策略专为您自己开发或他人开发的脚本而设计。此命令必须在本地管理员权限下运行。
ps C:\> Set-ExecutionPolicy RemoteSigned -Force
随着微软发布 Windows 7 及更高版本的操作系统,他们对任何从互联网下载的文件引入了“阻止”标记。这会导致在运行或执行该下载文件时弹出用户访问控制(UAC)提示。当您使用来自远程站点的脚本、函数或 cmdlet 时,您需要先移除这个“阻止”标记,然后才能在 PowerShell 或 PSF 中运行它们。
Unblock-File cmdlet 用于移除该标记。取消阻止目录中多个文件的最简单方法是遍历该目录,并将每个文件传递给 Unblock-File cmdlet。
ps C:\> Get-ChildItem | ForEach-Object { Unblock-File $_.Name }
PoshSec Framework 使用 PowerShell 中的 Get-Help cmdlet。它用于查看任何命令或脚本是否具有参数。在使用 Get-Help 之前,必须至少更新一次。为此,您需要使用 Update-Help cmdlet。注意:您需要有效的互联网连接才能更新帮助。
ps C:\> Update-Help -Force
=======
注意:目前至少需要 PowerShell 3.0。
首次加载时,您需要确保在 PowerShell 命令外壳程序中运行“Update-Help”。这是框架正常工作所必需的!
在 Visual Studio 2012+ 中打开 poshsecframework.sln 并构建项目(F7)。这将在 {your github repodirectory}\poshsecframework\poshsecframework\bin\Release 下创建 bin\Release 文件夹。
将“\Scripts and Modules”文件夹中的“\Modules”和“\Scripts”文件夹复制到 bin\Release\ 目录。
例如:
C:\github\poshsecframework\poshsecframework\bin\Release\Modules\
C:\github\poshsecframework\poshsecframework\bin\Release\Scripts\
二进制文件夹中包含 poshsecframework.zip。
将 zip 文件解压到您选择的目录,然后直接运行 poshsecframework.exe。
您无需移动 Scripts\ 或 Modules\ 文件夹。
将“Scripts and Modules”文件夹中的 Modules 和 Scripts 文件夹复制到安装目录。
C:\Program Files\PoshSecFramework\Modules\
C:\Program Files\PoshSecFramework\Scripts\
如果您之前从未在系统上运行过脚本,则需要在以管理员身份运行的 PowerShell 控制台中执行以下命令。
Set-ExecutionPolicy RemoteSigned
然后在提示时键入“Y”。
在某些系统上,您可能需要“取消阻止”这些文件。我们正在努力将此功能直接集成到 PSF 中,但目前您只需在 PowerShell 控制台中输入以下命令:
Get-ChildItem -recurse <path to poshsecframework> | Unblock-File
示例:
Get-ChildItem -recurse "C:\github\poshsecframework\poshsecframework" | Unblock-File
~或~
Get-ChildItem -recurse "C:\Program Files\PoshSecFramework\ | Unblock-File"
这个项目由 Will Steele(@pen_test)和 Matt Johnson(@mwjcomputing)发起,目标如下:
PoshSec Framework 是
当前“核心”开发者包括:
按字母顺序排列:
PoshSec 致力于支持社区、赋能社区,并加强组织的安全态势。