PowerSploit — платформа для пост-эксплуатации на PowerShell
Форкнут, чтобы добавить несколько функций в PowerView.ps1, которые я обычно выполняю вручную
Выполняет код на целевой машине.
Invoke-DllInjectionВнедряет DLL в процесс с выбранным вами идентификатором процесса.
Invoke-ReflectivePEInjectionРефлексивно загружает Windows PE-файл (DLL/EXE) в процесс PowerShell или рефлексивно внедряет DLL в удалённый процесс.
Invoke-ShellcodeВнедряет шелл-код в процесс с выбранным вами идентификатором процесса или локально в PowerShell.
Invoke-WmiCommandВыполняет PowerShell ScriptBlock на целевом компьютере и возвращает его форматированный вывод, используя WMI в качестве C2-канала.
Изменяет и/или подготавливает скрипты для выполнения на скомпрометированной машине.
Out-EncodedCommandСжимает, кодирует в Base-64 и генерирует вывод командной строки для скрипта-полезной нагрузки PowerShell.
Out-CompressedDllСжимает, кодирует в Base-64 и выводит сгенерированный код для загрузки управляемой DLL в память.
Out-EncryptedScriptШифрует текстовые файлы/скрипты.
Remove-CommentУдаляет комментарии и лишние пробелы из скрипта.
Добавляет возможности персистентности в PowerShell-скрипт.
New-UserPersistenceOptionНастраивает параметры персистентности на уровне пользователя для функции Add-Persistence.
New-ElevatedPersistenceOptionНастраивает параметры персистентности с повышением привилегий для функции Add-Persistence.
Add-PersistenceДобавляет возможности персистентности в скрипт.
Install-SSPУстанавливает DLL-библиотеку поставщика поддержки безопасности (SSP).
Get-SecurityPackagesПеречисляет все загруженные пакеты безопасности (SSP).
У антивирусов нет шансов против PowerShell!
Find-AVSignatureНаходит одиночные байтовые сигнатуры антивируса, используя тот же метод, что и DSplit из «class101».
Все ваши данные принадлежат мне!
Invoke-TokenManipulationПеречисляет доступные токены входа. Создаёт процессы с токенами входа других пользователей и имперсонирует токены входа в текущем потоке.
Invoke-CredentialInjectionСоздаёт сеансы входа с учетными данными в открытом виде, не вызывая подозрительное событие с идентификатором 4648 (явный ввод учетных данных).
Invoke-NinjaCopyКопирует файл с раздела NTFS, читая необработанный том и разбирая структуры NTFS.
Invoke-MimikatzРефлексивно загружает Mimikatz 2.0 в память с помощью PowerShell. Может использоваться для дампа учетных данных без записи чего-либо на диск. Может использоваться для любой функциональности, предоставляемой Mimikatz.
Get-KeystrokesЗаписывает нажатые клавиши, время и активное окно.
Get-GPPPasswordИзвлекает пароль в открытом виде и другую информацию для учетных записей, распространяемых через Group Policy Preferences.
Get-GPPAutologonИзвлекает имя пользователя и пароль для автоматического входа из registry.xml, если они распространяются через Group Policy Preferences.
Get-TimedScreenshotФункция, которая делает снимки экрана через регулярные промежутки времени и сохраняет их в папку.
New-VolumeShadowCopyСоздает новую теневую копию тома.
Get-VolumeShadowCopyПеречисляет пути устройств всех локальных теневых копий томов.
Mount-VolumeShadowCopyМонтирует теневую копию тома.
Remove-VolumeShadowCopyУдаляет теневую копию тома.
Get-VaultCredentialОтображает объекты учетных данных Windows Vault, включая веб-учетные данные в открытом виде.
Out-MinidumpСоздает минидамп полной памяти процесса.
Get-MicrophoneAudioЗаписывает звук с системного микрофона и сохраняет на диск.
Устройте общий хаос с помощью PowerShell.
Set-MasterBootRecordКонцепт-код, который перезаписывает главную загрузочную запись сообщением по вашему выбору.
Set-CriticalProcessВызывает синий экран на вашей машине при выходе из PowerShell.
Инструменты, помогающие повышать привилегии на целевой системе.
PowerUpСводный центр типовых проверок на повышение привилегий, а также некоторые векторы вируживания.
Инструменты, помогающие на этапе разведки в ходе пентеста.
Invoke-PortscanВыполняет простой скан портов с использованием обычных сокетов, основанный (весьма) свободно на nmap.
Get-HttpStatusВозвращает коды состояния HTTP и полный URL для указанных путей при передаче файла-словаря.
Invoke-ReverseDnsLookupСканирует диапазон IP-адресов на наличие DNS PTR-записей.
PowerViewPowerView — это серия функций, выполняющих перечисление сети и домена Windows, а также их эксплуатацию.
Набор словарей, используемых для помощи на этапе разведки в ходе пентеста. Словари взяты из следующих источников.
Проект 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 и хотите убрать раздражающее предупреждение «Вы действительно хотите запустить скрипты, загруженные из Интернета?», после того как вы поместили PowerSploit в свой путь модулей, выполните следующую однострочную команду:
$Env:PSModulePath.Split(';') | % { if ( Test-Path (Join-Path $_ PowerSploit) ) {Get-ChildItem $_ -Recurse | Unblock-File} }
Для получения справки по каждой отдельной команде используйте Get-Help.
Примечание: все инструменты, входящие в этот модуль, спроектированы так, чтобы их можно было запускать по отдельности. Включение их в модуль просто повышает переносимость.
Нам нужен ваш вклад! Если у вас есть отличная идея для PowerSploit, мы с радостью её добавим. Новые дополнения должны соответствовать следующим требованиям:
Всех текущих и будущих контрибьюторов PowerSploit я прошу следовать этому руководству по стилю при написании своих скриптов/модулей.