
Фреймворк для скриптов PowerShell и PoshSec, предназначенный для управления сетью, обеспечения безопасности и обслуживания.
Чтобы сценарии и модули работали, обратитесь к приведенной ниже документации.
PoshSec Framework (или PSF) — это графическая утилита для запуска сценариев, модулей и командлетов PowerShell. PSF предоставляет PowerShell части своего интерфейса в рамках отдельных PSessions. Каждый выполняемый сценарий или команда запускается в отдельном потоке, что позволяет одновременно запускать несколько сценариев.
PoshSec Framework в основном разрабатывается Беном Теном (Ben0xA). Проект открыт и для других разработчиков, желающих внести свой вклад. Этот проект напрямую связан с проектом PoshSec. Проект PoshSec поддерживается Мэттом Джонсоном (mwjcomputing) и активно разрабатывается несколькими разработчиками. Эти разработчики перечислены ниже.
PoshSec Framework разработан для работы с PowerShell 3.0 и работает с PowerShell 2.0. Хотя PSF будет работать и с более ранними версиями PowerShell, PSF требует .NET 4.5, который стандартно поставляется с PowerShell 3.0. Это рекомендуемые предварительные требования для использования PSF:
Обратите внимание: хотя для «большинства» сценариев не требуется развертывание PowerShell на целевой системе, он должен быть установлен и правильно настроен на той же машине, где установлен PoshSec Framework.
Если вы впервые используете сценарии, функции или командлеты PowerShell, сначала необходимо выполнить несколько подготовительных действий. Их нужно выполнить независимо от того, используете ли вы PoshSec Framework или сами вызываете сценарий, функцию или командлет. Примечание: встроенная в PSF утилита первого запуска ('First Time Utility') сделает все эти шаги автоматически. Однако эти шаги подробно описаны ниже для вашего сведения, а также на случай, если вы захотите выполнить их самостоятельно.
=======Утилита первого запуска в PoshSec Framework автоматически выполнит перечисленные выше шаги. Она также:
Обратите внимание: вы можете выбрать, какие шаги выполнять в утилите первого запуска, или просто нажать кнопку с надписью «Не делать ничего, я сделаю все сам».
По умолчанию PowerShell устанавливает для параметра ExecutionPolicy (политика выполнения), который определяет, какие сценарии могут быть запущены, значение "None". Это предотвращает выполнение неподписанных сценариев в вашей системе. Когда вы используете сценарии из других проектов, например PoshSec, вам необходимо установить эту политику в значение "RemoteSigned". Политика RemoteSigned предназначена для сценариев, которые вы разрабатываете сами или которые разработаны другими. Эта команда должна выполняться с правами локального администратора.
ps C:\> Set-ExecutionPolicy RemoteSigned -Force
С выходом Windows 7 и более поздних операционных систем Microsoft ввела «блокировку» для любых файлов, загруженных из интернета. Это приведет к тому, что при запуске или выполнении загруженного файла появится окно контроля учетных записей (UAC). Когда вы используете сценарии, функции или командлеты с удаленных сайтов, перед запуском их в PowerShell или PSF с них необходимо снять этот флаг «блокировки».
Командлет Unblock-File снимает этот флаг. Самый простой способ разблокировать несколько файлов в каталоге — перебрать каталог и передать каждый файл командлету Unblock-File.
ps C:\> Get-ChildItem | ForEach-Object { Unblock-File $_.Name }
PoshSec Framework использует командлет Get-Help из PowerShell. Он применяется для определения того, есть ли у какой-либо команды или сценария параметры. Прежде чем использовать Get-Help, его необходимо обновить хотя бы один раз. Для этого используется командлет Update-Help. Примечание: для обновления справки требуется активное интернет-соединение.
ps C:\> Update-Help -Force
Вам необходимо убедиться, что при первой загрузке вы выполните команду "Update-Help" в командной оболочке PowerShell. Это необходимо для корректной работы фреймворка!
Откройте файл poshsecframework.sln в Visual Studio 2012+ и соберите проект (F7). Это создаст папку bin\Release в каталоге {каталог вашего github-репозитория}\poshsecframework\poshsecframework\bin\Release.
Скопируйте папки "\Modules" и "\Scripts" из папки "\Scripts and Modules" в каталог bin\Release.
Например:
C:\github\poshsecframework\poshsecframework\bin\Release\Modules\
C:\github\poshsecframework\poshsecframework\bin\Release\Scripts\
В папке binary находится файл poshsecframework.zip.
Извлеките zip-файл в выбранный вами каталог и просто запустите poshsecframework.exe.
Вам не нужно перемещать папки Scripts\ или Modules.
Скопируйте папки Modules и Scripts из папки "Scripts and Modules" в каталог установки.
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
~or~
Get-ChildItem -recurse "C:\Program Files\PoshSecFramework\ | Unblock-File"
Этот проект, начатый Уиллом Стилом (@pen_test) и Мэттом Джонсоном (@mwjcomputing), преследует несколько целей:
PoshSec Framework был
Текущие «основные» разработчики:
В алфавитном порядке:
PoshSec заключается в поддержке сообщества, расширении его возможностей и укреплении уровня безопасности организаций.